如何使用 Obsidian 编写博客并即时发布

2025年4月23日

最近我一直在使用 Obsidian 进行写作,这带来了巨大的改变。 本地优先的模型意味着所有内容都以纯文本形式存储在我的机器上,并且借助 Minimal 主题,界面保持简洁且免受干扰。

我的 vault 存储在 iCloud 中(Dropbox 或 Google Drive 也可以),因此笔记可以在设备之间无缝同步——我经常在手机上开始草稿,然后在笔记本电脑上完成。

对于发布,我使用 Hugo 搭配 Bear Blog 主题(快速、极简),并通过 GitHub 和 Cloudflare Pages 进行部署。 这种技术栈让我拥有完全的控制权:没有订阅费用、没有厂商锁定,也没有平台消失或更改策略的风险。

如果你:

那么这种设置可能正是你所需要的。 设置完成后,发布就像切换草稿标志并推送到 GitHub 一样简单。

Screenshot of my Obsidian vault

设置你的系统

这篇文章是对所有内容如何组合在一起的高级概述。 它不是一个教程,但如果你熟悉基本的开发工具,应该很容易理解。 如果有任何不清楚的地方,像 ChatGPT 或 Claude 这样的 LLM 可以很好地填补空白。

1. 安装和设置 Hugo

首先,你需要在你的机器上安装 Hugo。 安装完成后,创建一个新的站点:

hugo new site myblog
cd myblog

然后添加 Bear Blog 主题(或你喜欢的主题):

git init
git submodule add https://github.com/janraasch/hugo-bearblog.git themes/hugo-bearblog

更新你的 config.toml 文件以使用该主题。 有关配置选项,请参阅 Bear Blog 主题文档

2. 将 Obsidian 连接到 Hugo

这是关键部分。 Hugo 有一个特定的文件夹结构,你需要将你的文章写在 content 文件夹中。 在该文件夹中,我创建了一个 blog 子文件夹来存放我的所有文章。

所以我的文件夹结构看起来像这样:

myblog/
 ├── content/
 │  ├── blog/  <- 这是我写文章的地方
 │  └── ...
 └── ...

要设置 Obsidian:

  1. 打开 Obsidian
  2. 点击“打开文件夹作为 vault”
  3. 导航到你的 Hugo 站点的 blog 文件夹(myblog/content/blog)
  4. 选择此文件夹

这样,你在 Obsidian 中编写的所有内容都会直接进入 Hugo 处理的正确文件夹。

3. 设置 Front Matter 模板

在 Obsidian 中,确保你的文章包含必要的 Hugo front matter:

+++
title= "Your Post Title"
date= YYYY-MM-DD
tags= ["post"]
draft= true
+++

draft: true 标签至关重要——当你准备好发布时,你需要将其切换为 false

4. 在本地预览文章

在写作时,我使用 Hugo 的本地服务器,并启用草稿可见性:

hugo server -D

这让我可以在推送到线上之前,在浏览器中查看所有内容的外观。

5. 连接到 GitHub

为你的博客创建一个新的 GitHub 仓库,然后连接你的本地 Hugo 站点:

git remote add origin https://github.com/yourusername/yourblog.git
git add .
git commit -m "Initial commit"
git push -u origin main

如果你需要帮助,有很多 GitHub 教程

6. 设置 Cloudflare Pages

  1. 如果你还没有 Cloudflare 帐户,请注册一个
  2. 转到 Pages 部分并创建一个新项目
  3. 连接到你的 GitHub 帐户并选择你的博客仓库
  4. 对于构建设置:
    • 构建命令:hugo --minify
    • 构建输出目录:public

Cloudflare 的自有文档很好地涵盖了这个过程。

发布流程

一旦一切都设置好,发布就很简单了:

  1. 在 Obsidian 中编写你的文章
  2. 准备好发布时,在 front matter 中将 draft: true 更改为 draft: false
  3. 提交并推送到 GitHub:
git add .
git commit -m "Publish new post"
git push

Cloudflare Pages 将自动检测到更改并重建你的站点,通常在一两分钟内。

最后的一些想法

这种设置需要一些初始工作,但回报是巨大的。 一旦设置好,这个工作流程就会融入背景——我只需写作、提交和发布。 没有摩擦,没有费用,一切都掌握在我手中。 如果你正在寻找一种轻量级、可持续的博客方式,这可能值得一试。

#notes #guide #programming