Hint
Digital Garden 更像是一个进阶版的个人博客,因此搭建方式与传统博客差别不大,目前我找到了两种构建框架:hexo 和 quartz,其中我推荐使用 quartz 进行构建,它更适配 obsidian 的功能,同时也是我正在使用的框架
hexo 生成博客
- 博客由 Hexo 生成并部署在github(相关部署方法已经有很多,这里不赘述)
- 博客主题:hexo-next
- 评论插件:gitalk(如果你无法查看评论,可能是因为你无法访问github)
- 博客撰写:Obsidian
- 静态图片资源存储:腾讯云 OSS 存储
我将文章分成了两个部分,notebook
和 quartz
两个文件夹,分别保存了我原始的文章和需要发布的文章,在 Obsidian 中编辑完,只需要将文件复制到 quartz/content
中即可完成发布,这里可以借助Obsidian 插件进行一键插入
博客的创建需要获取笔记 metadata 信息(包括笔记标题、创建时间、更新时间、标签等),Obsidian 默认是没有这些 metadata 信息的,因此我借助了Obsidian 插件实现了这一功能
在使用 hexo 搭建博客时,我发现了几个缺陷:
- Obsidian 的双链功能无法在博客中展示
- Obsidian callout 无法在博客中展示,缺少对应 css
quartz 生成 Digital Garden
为了能够更好地利用 Obsidian 的特性,我决定改变博客搭建的架构,转向 quartz(其实是自己太菜😭,没办法自己写插件解决上面提到的问题)
quartz 对 Obsidian 的支持度很高,同时支持 Obsidian 中的 graph view
和 backlink
功能,基本原理和 hexo 类似,都是通过对笔记处理,生成静态网页进行发布,使用 GitHub Pages 功能可以直接进行博客的部署
Caution
不过需要注意,默认会把所有文件都放到 git 下进行管理,
因此如果你有私密的笔记,还是建议你进行分开管理,如果你有私密的笔记,可以通过 Obsidian 插件 Github Publisher 进行管理,并选择是否上传至远程仓库
quartz 的 Component(组件) 使用:
- 流量监控,
- umami:为了监控 Digital Garden 的流量信息,我采用了免费开源的 umami 进行数据监控,相关配置信息可以参考 Configuration (jzhao.xyz)
- giscus(评论系统),