用 Obsidian Digital Garden 选择性发布笔记
用 Obsidian Digital Garden 将显式标记的 Vault 笔记发布为 Web 数字花园;重点是公开边界、dg-publish、GitHub/Vercel 发布链、链接/附件验证与私密内容隔离。
[!info] related notes
- 上层架构: Obsidian 同步、版本控制与发布架构
- 发布选型: Obsidian 静态发布方案选择
- Git: Obsidian Git
- Quartz: Quartz 静态部署指南
用 Obsidian Digital Garden 选择性发布笔记
核验日期:2026-09-30。当前主项目仍以“显式选择公开笔记”为核心,并支持 GitHub + Vercel 发布链。
目标与成功状态
完成后应该能验证:
private Vault
→ 只有显式 dg-publish 的笔记进入 public garden
→ wikilink / asset 正常
→ site deploy 成功
→ 未发布笔记无法从 public site 访问
最重要的不是“网站能打开”,而是public boundary 正确。
1. 先理解它不是 Sync
Digital Garden 解决:
哪些 Obsidian 内容要投影为公开网站?
它不负责:
- Windows ↔ 手机双向编辑同步;
- Vault 全量备份;
- 实时 collaborative editing。
这些问题见 同步、版本控制与发布架构。
2. 当前公开模型:显式 dg-publish
主流工作流使用 frontmatter:
---
dg-publish: true
---
只有明确标记的笔记才应该离开私人 Vault。
这比:
整个 Vault 默认公开
→ 再维护 blacklist
更安全。
3. 发布前先做隐私分类
至少识别:
- secret / token;
- 私人日志;
- 公司内部信息;
- 身份信息;
- 本地路径;
- 尚未准备公开的草稿;
- 附件中的敏感内容。
不要只检查 Markdown 正文。
图片/PDF/嵌入资产同样可能被发布。
4. 建立网站端
当前官方主线通常需要:
- GitHub account;
- 网站 repository;
- Vercel account;
- Digital Garden 插件与 repository 访问凭据。
官方项目也在探索更简化的托管入口,因此具体按钮流程可能变化。
稳定心智模型是:
Obsidian plugin
→ publish selected source to repo/service
→ site build
→ Vercel/hosting deploy
5. 安装插件
Obsidian:
Settings
→ Community plugins
→ Browse
→ Digital Garden
→ Install / Enable
配置 repository / publishing target 时,凭据属于 secret。
不要:
- 写进公开笔记;
- 截图后公开 token;
- 提交到 Git repository。
6. 发布第一篇测试笔记
不要一开始批量发布整个库。
建立:
---
dg-publish: true
---
# Garden Smoke Test
This links to [[Another Public Note]].
然后验证:
- 页面存在;
- 标题正确;
- WikiLink 正确;
- backlinks/graph(如启用)正确;
- 图片正确;
- private note 没被带出去。
7. 内部链接
Vault 中:
[[note]]
[[note|Label]]
发布器需要把它投影成 Web URL。
关键检查:
- target 是否也 public;
- slug/file name 是否稳定;
- rename 后 URL 如何处理;
- broken links 是否可检测。
一个公开页面链接到私人笔记时,要明确最终行为,而不是默认“应该没问题”。
8. 嵌入与附件
当前 Digital Garden 支持多类 Obsidian 内容,包括链接、callout、Dataview、图片、transclusion 等,但具体能力仍应以当前文档为准。
对于重要资产,实际 smoke test:
image
PDF
canvas / diagram
embedded note
code block
math
不要仅凭插件 feature list 推断所有复杂笔记都能无损发布。
9. 更新与删除
发布系统至少应支持三个动作:
publish
update
unpublish/delete
隐私边界最重要的是第三个。
把某篇笔记的 dg-publish 去掉后,应确认:
- public site 不再提供它;
- build/cache/CDN 是否仍残留;
- 搜索索引是否需要等待刷新。
10. Public Note Contract
建议公开笔记至少检查:
- title;
- description;
- stable filename/slug;
- public links;
- asset ownership;
- no secret;
- no private backlinks/content leak;
- mobile rendering。
11. 与 Quartz 的区别
不要按“哪个更高级”比较。
大致可以理解:
Digital Garden plugin
→ Obsidian authoring 内的选择性 publish workflow
Quartz
→ Markdown/Vault → static knowledge site build system
如果你想全面控制 build pipeline、theme 和 deployment architecture,Quartz 路径更自然。
如果核心需求是从 Obsidian 中快速选择笔记公开,Digital Garden workflow 更直接。
详见 静态发布方案选择。
常见失败
页面 404
检查:
- 笔记是否真的 publish;
- site build 是否完成;
- slug/path;
- deployment 是否指向最新 build。
WikiLink broken
确认 target note 是否公开,以及发布器生成的 slug 是否一致。
修改后网站还是旧内容
分层检查:
plugin publish
→ repository/service state
→ build
→ deploy
→ CDN/browser cache
私密内容意外公开
这属于 severity 高的问题。
立刻:
- unpublish/remove;
- rotate 泄漏 secret;
- 检查 Git history/build artifact;
- 检查其他被链接/嵌入内容;
- 加发布前 secret/privacy check。
验证清单
- 默认 private;
- 只有显式
dg-publish: true内容公开; - 第一篇 smoke test 成功;
- WikiLinks 正常;
- assets 正常;
- unpublish 已演练;
- secrets 不进入 publication path;
- private note 无法从网站访问;
- build/deploy/cache 失败可分层排查。
无提示执行检查
- 从私人 Vault 发布两篇互链测试笔记;
- 保留第三篇 private note,并证明网站无法访问;
- 发布一张图片;
- 修改并重新发布;
- unpublish 一篇并验证删除;
- 解释 Digital Garden 与 Sync、Git、Quartz 各自职责;
- 设计一条发布前 privacy/secret gate。