Quartz 静态知识库部署与 Cloudflare Pages 构建 SOP

本卡片记录知识库静态发布引擎 Quartz (v4/v5) 的本地构建、配置规范以及在 Cloudflare Pages 上实现零成本自动化 CI/CD 部署的完整 SOP 指南。


一、 架构设计与方案对比

1. 为什么选择 Quartz + Cloudflare Pages

  • 零服务器开销:替代昂贵的自托管图形 Web 版 Obsidian(如已废弃的 Ignis 容器),无需在服务器驻留进程或消耗内存。
  • 极致加载速度:底层基于 Node.js/TypeScript 构建,生成的纯 HTML/CSS 部署至 Cloudflare 边缘 CDN,毫秒级响应。
  • Git 驱动与 CI/CD:只需在本地或 Agent 端编辑 Markdown,向 GitHub 执行 git push 即可自动触发边缘云端增量构建与发布。

二、 本地环境与目录结构

Quartz 安装在知识库根目录 ~/wiki/ 下,核心结构如下:

~/wiki/
├── content/               # Markdown 核心内容源目录 (对应知识库卡片)
│   ├── concepts/          # 概念与技术 SOP
│   ├── entities/          # 实体与档案
│   └── index.md           # 知识库首页与双链主目录
├── quartz/                # Quartz 框架核心解析组件与插件配置
├── public/                # 编译生成的最终静态网页目录
├── quartz.config.ts       # 核心样式、主题、语言及插件配置文件
├── package.json           # 项目依赖定义文件
└── wrangler.toml          # (可选) Cloudflare 部署配置文件

三、 Cloudflare Pages 自动化构建配置

在 Cloudflare Dashboard 中创建 Pages 项目,连接至 GitHub 仓库 HermesAgent/wiki,具体构建参数配置如下:

1. 基础构建设置 (Build Settings)

  • Framework preset:None (或选择 Quartz)
  • Build command:git fetch --unshallow && npx quartz build
  • Build output directory:public
  • Root directory:/ (留空)

2. 环境变量 (Environment Variables)

  • NODE_VERSION: 20 (或 22.x)

四、 本地与 Cloudflare 常见构建报错与防坑指南 (Pitfalls)

1. 致命报错:duplicated mapping key (YAML 标头重复)

  • 现象:构建在解析 Markdown 时抛出 ERROR: Failed to process markdown ... duplicated mapping key 并退出(Exit Code 1)。
  • 根因:Markdown 顶部的 Frontmatter 中存在相同的 YAML 键(例如重复定义了两行 title:)。
  • 规避方案:任何编辑 Markdown 头部的自动化脚本或模版,必须确保 Frontmatter 格式严谨且无重复键:
    ---
    title: 正确的唯一标题
    created: 2026-07-31
    type: concept
    ---

2. 知识库全局去重与脱敏规范

在部署上线公网知识库前,必须强制执行防泄漏检查:

  • 脱敏规则:
    • 公网 IP 地址:一律隐去前三段,保留最后一段方便识别(如 *.*.*.114)。
    • 姓名与特定园区:统一采用通用代称(如 老大、海外园区)。
    • 密钥与凭证:绝对禁止落盘至 Markdown,必须统一替换为 [REDACTED]。

五、 本地手动编译与调试命令

在对 ~/wiki 进行了本地批量卡片新增或修改后,可通过以下命令测试编译:

cd ~/wiki
 
# 1. 本地增量编译测试 (验证 Markdown 语法与 YAML Frontmatter)
npx quartz build
 
# 2. 提交更改并触发 Cloudflare 自动部署
git add -A
git commit -m "docs: update wiki cards"
git push origin main

相关链接