发布自动化:从Obsidian到网站的一键流程

发布应该是1秒的事

"创作是复杂的,发布应该是简单的。

在Obsidian写完,一键发布到网站。

这就是MDFriday的魔力。" ——来自 MDFriday 帮助文档

MDFriday发布流程

传统发布 vs MDFriday

从复杂到简单的革命

MDFriday让发布变成1秒的事。

传统发布流程

%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#ffebee','primaryTextColor':'#c62828','primaryBorderColor':'#e53935','lineColor':'#ef5350'}}}%%
graph TB
    A[在Word写作] --> B[复制到网站后台]
    B --> C[重新排版]
    C --> D[添加图片]
    D --> E[设置分类标签]
    E --> F[SEO优化]
    F --> G[预览检查]
    G --> H[发布]
    
    I[总时间: 30-45分钟]
    
    style I fill:#ffcdd2

MDFriday发布流程

%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#e8f5e9','primaryTextColor':'#1b5e20','primaryBorderColor':'#2e7d32','lineColor':'#4caf50'}}}%%
graph TB
    A[在Obsidian写作] --> B[点击发布按钮]
    B --> C[自动部署到网站]
    
    D[总时间: 1秒]
    
    style D fill:#81c784

对比

步骤 传统方式 MDFriday 节省
排版 10分钟 0秒(自动) 100%
图片处理 5分钟 0秒(自动) 100%
分类标签 3分钟 0秒(frontmatter) 100%
SEO设置 5分钟 0秒(自动) 100%
预览 3分钟 0秒(本地预览) 100%
发布 2分钟 1秒 99.9%
总计 28分钟 1秒 99.9%
MDFriday的革命性价值

时间节省

  • 每篇文章节省28分钟
  • 月发布20篇 = 节省560分钟 = 9.3小时
  • 年节省:112小时

价值提升

  • 专注写作,不被技术困扰
  • 发布门槛降到最低
  • 产出频率大幅提升

体验优化

  • 不离开Obsidian
  • 不需要学习后台
  • 所见即所得

MDFriday完整配置

Step 1:安装MDFriday

5分钟完成安装

前提

  • [ ] 已安装Hugo(静态网站生成器)
  • [ ] 已有GitHub账号
  • [ ] 已购买域名(可选)

安装步骤

# 1. 安装Hugo
brew install hugo

# 2. 创建新站点
hugo new site my-website
cd my-website

# 3. 安装MDFriday主题
git init
git submodule add https://github.com/mdfriday/theme themes/mdfriday

# 4. 配置config.toml
echo 'theme = "mdfriday"' >> config.toml

# 5. 测试运行
hugo server

验证

  • 打开浏览器访问 localhost:1313
  • 看到网站首页
  • 安装成功!

Step 2:连接Obsidian

配置Obsidian写作环境

文件夹结构

my-website/
├── content/          # 文章内容
│   ├── posts/        # 博客文章
│   ├── notes/        # 笔记
│   └── pages/        # 页面
├── static/           # 静态文件
│   └── images/       # 图片
├── themes/           # 主题
└── config.toml       # 配置文件

Obsidian设置

1. 打开Obsidian
2. Open folder as vault
3. 选择 my-website/content 文件夹
4. 完成!

现在你在Obsidian写的所有内容
都直接是网站的源文件

Step 3:配置自动部署

设置GitHub Actions自动部署

创建部署配置

# .github/workflows/deploy.yml
name: Deploy to GitHub Pages

on:
  push:
    branches: [ main ]

jobs:
  build-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: true
      
      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: 'latest'
      
      - name: Build
        run: hugo --minify
      
      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./public

配置Git

# 1. 连接GitHub仓库
git remote add origin https://github.com/你的用户名/my-website.git

# 2. 首次推送
git add .
git commit -m "Initial commit"
git push -u origin main

# 3. 等待自动部署(2-3分钟)
# 访问 https://你的用户名.github.io/my-website

Step 4:绑定域名(可选)

使用自己的域名

DNS设置

在域名提供商添加CNAME记录:

类型: CNAME
名称: www (或 @)
值: 你的用户名.github.io
TTL: 自动

GitHub设置

1. 仓库 Settings
2. Pages
3. Custom domain: 输入你的域名
4. Save
5. 等待DNS生效(几分钟到几小时)

一键发布工作流

方式1:命令行发布(推荐)

最快的发布方式

创建发布脚本

# deploy.sh
#!/bin/bash

echo "开始发布..."

# 1. 添加所有更改
git add .

# 2. 提交(使用当前时间作为commit信息)
git commit -m "Update: $(date '+%Y-%m-%d %H:%M:%S')"

# 3. 推送到GitHub
git push

echo "发布完成!"
echo "网站将在2-3分钟后更新"

使用

# 每次写完文章后
./deploy.sh

# 或者设置alias
echo "alias pub='./deploy.sh'" >> ~/.zshrc

# 之后只需输入
pub

效果

  • 1秒完成发布
  • 2-3分钟后网站更新
  • 完全自动化

方式2:Obsidian插件发布

不离开Obsidian发布

安装Git插件

1. Obsidian设置
2. 社区插件
3. 搜索"Obsidian Git"
4. 安装并启用

配置插件

1. 插件设置
2. Commit message: "Update: {{date}}"
3. Auto pull/push: 开启
4. Pull/Push interval: 10分钟

使用

方式1:自动(推荐)
- 每10分钟自动推送
- 无需手动操作
- 持续在线

方式2:手动
- Cmd/Ctrl + P
- 输入"git push"
- 回车

方式3:定时自动发布

完全自动,无需操作

配置自动推送

# .github/workflows/auto-commit.yml
name: Auto Commit

on:
  schedule:
    - cron: '0 */4 * * *'  # 每4小时
  workflow_dispatch:

jobs:
  auto-commit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      
      - name: Auto commit
        run: |
          git config --local user.email "action@github.com"
          git config --local user.name "GitHub Action"
          git add .
          git diff --quiet && git diff --staged --quiet || (git commit -m "Auto update" && git push)

效果

  • 在Obsidian写作
  • 保存即可
  • 每4小时自动发布
  • 完全无感

Frontmatter配置

基础Frontmatter

每篇文章必需的元数据
---
title: 文章标题
date: 2026-03-06
tags:
  - 标签1
  - 标签2
draft: false
---

字段说明

  • title: 文章标题(必需)
  • date: 发布日期(必需)
  • tags: 标签列表(可选)
  • draft: 是否草稿(false=发布)

高级Frontmatter

更多控制选项
---
title: 文章标题
date: 2026-03-06
lastmod: 2026-03-07
tags:
  - 标签1
  - 标签2
categories:
  - 分类1
author: 你的名字
description: SEO描述(150-160字)
keywords:
  - 关键词1
  - 关键词2
image: /images/cover.jpg
toc: true
comments: true
draft: false
weight: 10
---

字段说明

  • lastmod: 最后修改日期
  • categories: 分类
  • description: SEO描述
  • keywords: SEO关键词
  • image: 封面图
  • toc: 是否显示目录
  • weight: 排序权重

Frontmatter模板

创建快速模板

Templater配置

---
title: {{title}}
date: {{date:YYYY-MM-DD}}
tags:
  - 一人公司
draft: false
---

> [!quote] 引言
> 在这里写引言

## 


使用

1. 新建文件
2. 选择模板
3. 填写标题
4. 自动生成

图片处理自动化

图片存储策略

方式 优势 劣势 推荐度
本地存储 简单、快速 增加仓库大小 ⭐⭐⭐
图床 不占仓库空间 依赖外部服务 ⭐⭐⭐⭐
CDN 速度快 需要配置 ⭐⭐⭐⭐⭐

推荐:使用图床

图床配置

选择图床

  • 国外:Cloudinary、Imgur
  • 国内:七牛云、阿里云OSS

Obsidian配置

1. 安装插件:Image auto upload
2. 配置图床API
3. 粘贴图片自动上传
4. 返回CDN链接

效果

  • 粘贴图片
  • 自动上传
  • 自动插入链接
  • 网站图片秒开

发布检查清单

发布前检查

确保质量

内容检查

  • [ ] 标题吸引人
  • [ ] Frontmatter完整
  • [ ] 内部链接正确
  • [ ] 图片正常显示
  • [ ] 代码块格式正确

SEO检查

  • [ ] Meta描述完整
  • [ ] 关键词合理
  • [ ] URL简洁
  • [ ] 图片有alt

格式检查

  • [ ] 小标题清晰
  • [ ] 段落适中
  • [ ] 列表合理
  • [ ] 引用正确

发布后检查

验证结果

功能检查

  • [ ] 网站已更新
  • [ ] 文章可访问
  • [ ] 图片正常
  • [ ] 链接可用
  • [ ] 移动端正常

SEO检查

  • [ ] Google搜索控制台提交
  • [ ] 检查收录状态

推广检查

  • [ ] Buffer定时发布设置
  • [ ] Newsletter通知准备
  • [ ] 社群分享准备

常见问题

Q1: 发布后多久生效?

通常2-3分钟

时间线

0:00 - 推送到GitHub
0:30 - GitHub Actions启动
2:00 - 构建完成
2:30 - 部署完成
3:00 - CDN更新

加速方法

  • 使用GitHub Actions cache
  • 优化构建配置
  • 减少不必要的文件

Q2: 如何撤回已发布内容?

简单回滚

方法1:删除文件

1. 在Obsidian删除文件
2. 重新发布
3. 网站移除该文章

方法2:设为草稿

1. 修改Frontmatter: draft: true
2. 重新发布
3. 文章不显示

方法3:Git回滚

# 回滚到上一个版本
git revert HEAD
git push

Q3: 如何定时发布?

三种方法

方法1:Scheduled发布

---
title: 文章标题
date: 2026-03-10  # 未来日期
publishDate: 2026-03-10 08:00:00
---

方法2:GitHub Actions定时

on:
  schedule:
    - cron: '0 8 * * *'  # 每天8:00

方法3:Buffer定时

  • 发布后手动设置
  • Buffer定时分享
  • 间接达到定时效果

行动指南

今天搭建你的发布系统

2小时完成

Hour 1:基础搭建

  • [ ] 0-15分钟:安装Hugo
  • [ ] 15-30分钟:配置MDFriday
  • [ ] 30-45分钟:连接GitHub
  • [ ] 45-60分钟:配置自动部署

Hour 2:优化配置

  • [ ] 0-20分钟:配置Obsidian
  • [ ] 20-40分钟:创建模板
  • [ ] 40-50分钟:测试发布
  • [ ] 50-60分钟:绑定域名

总结

核心要点

"MDFriday革命性的发布体验:

发布流程:

  1. 在Obsidian写作
  2. 点击发布(或自动)
  3. 2-3分钟后网站更新
  4. 完成!

时间节省:

  • 传统方式:28分钟/篇
  • MDFriday:1秒/篇
  • 节省:99.9%

三种发布方式:

  1. 命令行(1秒)
  2. Obsidian插件(5秒)
  3. 自动发布(0秒)

核心价值:

  • 专注写作,不被技术困扰
  • 所见即所得
  • 发布门槛降到最低
  • 产出频率大幅提升

今天搭建,明天就开始高效发布!"

发布方式对比

方式 速度 便捷度 推荐场景
命令行 1秒 ⭐⭐⭐⭐ 单次发布
插件 5秒 ⭐⭐⭐⭐⭐ 常规使用
自动 0秒 ⭐⭐⭐⭐⭐ 持续写作

关键原则

记住这三点
  1. 保持简单

    • 不过度优化
    • 能用就好
    • 重点是内容
  2. 自动化优先

    • 设置好就忘记
    • 专注创作
    • 让系统工作
  3. 持续迭代

    • 遇到问题就优化
    • 积累自己的模板
    • 不断改进流程

下一步阅读


搭建发布系统,享受1秒发布的快感!