本文主要介绍如何结合 Obsidian 的本地笔记管理功能和 Quartz 的静态网站生成能力,将你的个人知识库免费发布并托管在 GitHub Pages 上。

为什么选择这种方式?
- 完全免费:利用 GitHub Pages 进行托管,无需支付服务器或托管平台费用。
- 掌控数据:所有的 Markdown 文件都在你的本地 Obsidian 库中,数据完全属于你。
- 高度定制:Quartz 是一个功能强大的静态网站生成器(Static Site Generator),支持深色模式、图谱视图、双向链接等 Obsidian 核心特性。
准备工作
在开始之前,请确保你已经安装并注册了以下工具:
步骤一:克隆并配置 Quartz
Quartz v4 是目前推荐使用的版本,它是基于 Node.js 重新构建的。
- 打开终端。
- 将 Quartz 仓库克隆到本地目录。你可以直接在终端中运行:
git clone https://github.com/jackyzha0/quartz.git cd quartz - 运行以下命令安装所需的依赖包:
npm i
步骤二:连接到 Obsidian Vault
Quartz 通过读取其目录下的 content 文件夹来生成静态网页。
- 推荐做法:你可以直接将整个
quartz文件夹在 Obsidian 中打开作为一个 Vault;或者在 Obsidian 中仅打开quartz/content文件夹。 - 这样,你在 Obsidian 中对
content文件夹内笔记的任何创建和修改,都会自动同步到 Quartz 需要构建的内容中。
步骤三:本地预览网站
在将网站发布到互联网之前,你可以在本地实时预览效果:
- 在
quartz目录的终端中运行:npx quartz build --serve - 命令执行后,在浏览器中访问
http://localhost:8080即可查看你的个人博客。你在 Obsidian 中所做的修改通常也会在浏览器中实时刷新。
步骤四:配置并部署到 GitHub Pages
- 登录你的 GitHub 账号,创建一个新的空仓库(Repository),例如命名为
my-personal-blog。不要初始化 README 或 .gitignore。 - 将本地的 Quartz 项目与你的 GitHub 仓库关联(在
quartz目录下运行,将链接替换为你自己的仓库地址):git remote remove origin git remote add origin https://github.com/你的用户名/my-personal-blog.git - Quartz 提供了一个非常方便的命令来同步并发布你的网站。运行:
这个命令会自动将你的本地笔记 commit 并 push 到 GitHub。npx quartz sync - 在 GitHub 上设置 Pages:
- 打开你的 GitHub 仓库页面。
- 进入 Settings → Pages。
- 在 Build and deployment 下的 Source 下拉菜单中,选择 GitHub Actions。
- Quartz 的代码中已经包含了一个自动部署的 Action 工作流配置。只要配置好,以后每次你运行
npx quartz sync提交更改时,GitHub Pages 就会自动构建并更新你的博客。
总结
通过上述步骤,你就搭建好了一个强大且免费的个人博客!之后你只需要两步:
- 在 Obsidian 中尽情写作(文件存放在
content目录下)。 - 在终端运行
npx quartz sync进行发布。
参考来源: How to publish Obsidian notes with Quartz on GitHub Pages - Nicole van der Hoeven