TypeScript Static Site Generator 推荐 ★ 12.3k

Quartz

a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites

📅 2026-05-25 🔗 jackyzha0/quartz ⭐ 综合评分:4.2 / 5

🎯 为什么需要它

你有一个 Obsidian 知识库,里面积累了大量笔记、双向链接和图谱关系。你想把这些笔记发布到网上,让别人也能浏览你的数字花园(Digital Garden),但又不想手动维护一个网站。

Quartz 就是为这个场景而生的。它是一套基于 TypeScript 的静态站点生成器,专门将 Markdown 内容(尤其是 Obsidian 风格的笔记)转化为功能完备的网站,具备双向链接、图谱视图、全文搜索等数字花园核心特性。

一句话定位

把你的 Obsidian 知识库变成一个可在线访问的数字花园,零后端、免费托管。

它解决的核心痛点

✅ 核心优势

优势说明
Obsidian 原生兼容支持 wikilinks、transclusions(嵌入)、backlinks、标签、frontmatter — 你的 Obsidian 笔记无需任何修改即可发布
开箱即用的功能堆栈全文搜索、图谱视图、LaTeX 数学公式、代码高亮、链接预览弹窗、评论系统、国际化 — 全部内置
SPA 级别的页面速度客户端预加载 + SPA 路由,页面切换几乎零延迟,bundle 体积极小
TypeScript 插件系统三层管道架构:Transformers(解析)→ Filters(过滤)→ Emitters(生成),全部可自定义
热重载开发体验配置文件修改即时生效,内容修改增量构建,开发迭代极快
零后端、免费托管纯静态输出,可部署到 GitHub Pages、Cloudflare Pages、Vercel、Netlify 任何静态托管
Docker 支持提供官方 Docker 配置,适合需要容器化部署的团队

⚡ 性能表现

Quartz v4 使用 esbuild 作为构建工具,构建速度极快。

构建性能

运行时性能

实测参考

社区用户反馈:1000+ 笔记的大型知识库,完整构建约 5-10 秒,增量构建 < 1 秒。页面加载 Lighthouse 评分普遍 95+。

🚀 快速上手

前置要求

Step 1:克隆并初始化

git clone https://github.com/jackyzha0/quartz.git
cd quartz
npm i
npx quartz create

npx quartz create 会引导你选择:从现有 Obsidian vault 导入内容,或创建空白项目。

Step 2:放入你的内容

将你的 Markdown 笔记放入 content/ 目录。Quartz 会自动识别 wikilinks、frontmatter、标签等 Obsidian 语法。

content/
  ├── index.md          # 首页
  ├── notes/
  │   ├── my-note.md    # 你的笔记
  │   └── another.md
  └── tags.md           # 标签页

Step 3:本地预览

npx quartz build --serve

访问 http://localhost:8080 即可预览。修改内容会自动热重载。

Step 4:配置你的站点

编辑 quartz.config.ts 自定义站点信息:

const config: QuartzConfig = {
  configuration: {
    pageTitle: "My Digital Garden",
    enableSPA: true,
    enablePopovers: true,
    baseUrl: "yoursite.com",
    // ... 更多配置
  },
  plugins: {
    transformers: [
      Plugin.FrontMatter(),
      Plugin.Latex({ renderEngine: "katex" }),
      // ...
    ],
    filters: [Plugin.RemoveDrafts()],
    emitters: [
      Plugin.AliasRedirects(),
      Plugin.ComponentResources(),
      // ...
    ],
  },
}

Step 5:部署上线

npx quartz build

构建产物在 public/ 目录,推送到 GitHub 后可配置 GitHub Pages / Cloudflare Pages / Vercel 自动部署。

典型部署流程(GitHub Pages)

  1. Fork Quartz 仓库到你的 GitHub 账号
  2. 在 content/ 目录放入你的笔记
  3. 推送到 main 分支
  4. 在仓库 Settings → Pages 中启用 GitHub Actions 部署
  5. 每次 push 自动构建并发布

📦 适用场景

✅ 最佳使用场景

场景为什么适合
个人数字花园Quartz 的核心设计目标,双向链接 + 图谱视图完美匹配
Obsidian 笔记发布原生兼容 Obsidian 语法,零修改直接发布
技术博客支持代码高亮、LaTeX、标签分类,适合技术写作
团队知识库Docker 支持 + 静态托管,适合小团队内部知识共享
学生/研究者主页免费、快速、可自定义,适合学术笔记和研究记录

⚠️ 不太适合的场景

场景原因
大型企业文档站Quartz 定位是个人/小团队工具,缺乏多语言版本管理、权限控制等企业特性
电商 / 动态网站纯静态生成,无服务端渲染,不适合需要动态交互的场景
非 Markdown 内容核心围绕 Markdown 设计,如果你的内容以富文本/视频为主,不是最佳选择
需要极致构建速度的超大站万级页面场景下,Hugo(Go 原生)的构建速度更有优势

⚠️ 已知坑

Node.js 版本要求高

Quartz v4 要求 Node.js >= v22,很多开发者本地环境还是 v18/v20。升级 Node 版本是第一个门槛。建议使用 nvm 或 fnm 管理 Node 版本。

客户端 JavaScript 较重

Quartz 使用了较多客户端 JS 来实现 SPA 路由、搜索、图谱等功能。对于追求「零 JS」的纯静态站场景,这是一个权衡。社区有用户反馈这一点。

v4 是完全重写,v3 不兼容

Quartz v4 是从零开始的重写版本。如果你之前用的是 v3,升级到 v4 几乎等于迁移新项目,配置方式、目录结构、插件系统全部不同。

TypeScript 配置有学习曲线

虽然不需要写代码,但配置文件是 TypeScript 格式(quartz.config.ts),非开发者可能觉得不如 YAML/TOML 直观。好在有 TypeScript 语言服务的 IDE 会提供类型提示。

官方文档偶尔不可达

文档站 quartz.jzhao.xyz 偶尔出现 DNS 解析问题。备用方案:直接阅读仓库中的 docs/ 目录源文件。

发布节奏较慢

最新正式 Release 是 2023 年 8 月的 v4.0.8,此后没有新的 Release tag。但主分支仍在持续 commit(1,600+ commits),说明项目活跃但不频繁发版。使用时建议直接跟踪 main 分支。

🆚 竞品对比

维度 Quartz Hugo + Blowfish Astro Obsidian Publish
定位 数字花园专用 SSG 通用 SSG + 数字花园主题 通用 Web 框架 Obsidian 官方发布服务
语言 TypeScript Go TypeScript 闭源
Obsidian 兼容 ⭐⭐⭐⭐⭐ 原生 ⭐⭐⭐ 需配置 ⭐⭐ 需插件 ⭐⭐⭐⭐⭐ 完美
构建速度 快(esbuild) 极快(Go 原生) 中等 不需要构建
开箱功能 搜索/图谱/backlinks/标签全内置 需主题和插件组合 需自己组装 与 Obsidian 一致
定制能力 高(TypeScript 插件) 高(Go 模板) 极高(任意框架) 低
学习曲线 中等 中等偏高 高 极低
费用 免费 免费 免费 $8/月/用户
社区规模 12.3k stars Hugo 78k+ stars 48k+ stars 官方产品

选型建议

🌍 生态社区

项目数据

指标数据
GitHub Stars12,300+
总 Commits1,626
正式 Releases4 个(v4.0.8 Latest, 2023-08-21)
主语言TypeScript 85.2% / SCSS 8.3%
LicenseMIT
主分支v4(活跃开发中)

社区资源

维护状态评估

虽然最新 Release 停留在 2023 年 8 月,但主分支持续有 commit,Issues 仍在响应。项目由作者 Jacky Zhao 个人维护,社区贡献活跃。属于「个人项目但社区健康」的状态。

💡 引入评估

★★★★☆
综合评分:4.2 / 5 — 推荐使用
上手难度
4.0
文档完善度
3.8
社区活跃
4.2
性能
4.4
稳定性
4.1
定制能力
4.5

值不值得引入?

结论:推荐

如果你使用 Obsidian 管理笔记并想发布为数字花园,Quartz 是当前最佳选择。它在 Obsidian 兼容性、开箱功能、免费三个维度上没有竞品能同时满足。

引入决策树

  1. 你用 Obsidian 吗?→ 是 → 继续
  2. 你想免费发布吗?→ 是 → 继续
  3. 你需要双向链接/图谱/搜索吗?→ 是 → 选 Quartz
  4. 你愿意付费省事吗?→ 是 → 考虑 Obsidian Publish
  5. 你需要极致构建速度(万级页面)?→ 是 → 考虑 Hugo

📝 个人备注