Hint

Digital Garden 更像是一个进阶版的个人博客,因此搭建方式与传统博客差别不大,目前我找到了两种构建框架:hexoquartz,其中我推荐使用 quartz 进行构建,它更适配 obsidian 的功能,同时也是我正在使用的框架

hexo 生成博客

  1. 博客由 Hexo 生成并部署在github(相关部署方法已经有很多,这里不赘述)
  2. 博客主题:hexo-next
  3. 评论插件:gitalk(如果你无法查看评论,可能是因为你无法访问github
  4. 博客撰写:Obsidian
  5. 静态图片资源存储:腾讯云 OSS 存储

我将文章分成了两个部分,notebookquartz 两个文件夹,分别保存了我原始的文章和需要发布的文章,在 Obsidian 中编辑完,只需要将文件复制到 quartz/content 中即可完成发布,这里可以借助Obsidian 插件进行一键插入

博客的创建需要获取笔记 metadata 信息(包括笔记标题、创建时间、更新时间、标签等),Obsidian 默认是没有这些 metadata 信息的,因此我借助了Obsidian 插件实现了这一功能

在使用 hexo 搭建博客时,我发现了几个缺陷:

  1. Obsidian 的双链功能无法在博客中展示
  2. Obsidian callout 无法在博客中展示,缺少对应 css

quartz 生成 Digital Garden

为了能够更好地利用 Obsidian 的特性,我决定改变博客搭建的架构,转向 quartz(其实是自己太菜😭,没办法自己写插件解决上面提到的问题)

quartz 对 Obsidian 的支持度很高,同时支持 Obsidian 中的 graph viewbacklink 功能,基本原理和 hexo 类似,都是通过对笔记处理,生成静态网页进行发布,使用 GitHub Pages 功能可以直接进行博客的部署

Caution

不过需要注意,默认会把所有文件都放到 git 下进行管理,因此如果你有私密的笔记,还是建议你进行分开管理,如果你有私密的笔记,可以通过 Obsidian 插件 Github Publisher 进行管理,并选择是否上传至远程仓库

quartz 的 Component(组件) 使用:

  1. 流量监控
    • umami:为了监控 Digital Garden 的流量信息,我采用了免费开源的 umami 进行数据监控,相关配置信息可以参考 Configuration (jzhao.xyz)
  2. giscus(评论系统)
    • giscus:前端挂载在 <div class="giscus"></div> 下,它会把 github 的 discussions 作为评论的存储空间,用户评论需要登录 github 并通过 giscus app 进行代理实现评论功能,详细配置可参考 giscus
    • remark42:self-hosted 评论系统,最近搞到了一台 serv00 的免费服务器,因此想用来搭建一个评论系统,详细配置流程可参考