0. 一切的起源
该文章时效性仅限 2023,建议参看 Obsidian与博客发布-2024版
众所周知,博客的部署、运营、维护和备案并不简单,如通常不会直接在管理系统后台写博文发布,而是选择其它功能更齐全,外观更美观的笔记软件完成后复制粘贴到后台发布,以及备案过期、域名过期、服务器过期等各种迁移问题。选择已有的产品如语雀、飞书等,又始终对数据安全和自定义度有所缺憾。对于 Notion,国内访问不友好始终是绕不开的问题。
与此同时,在实现了除文献外的记录 ALL IN OBSIDIAN 后,有一个明显的问题,就是发布功能是付费服务,并作为 obsidian 难得的盈利点,价格对本穷苦大学生而言并不友好。
幸运的是,Digital Garden 插件很好地解决了上面的两个问题,实现了从笔记到博客发布的一键式流程,尤其是基本无需操心格式差异(markdown 嵌入)问题。
1. 布告天下
1.1 旗开得胜
安装 Digital Garden 插件后,将这个 Github 库 打开,选择 Deploy,平台选择的是 Vercel(免费版完全足够个人使用 + 用户量大解决疑难杂症容易)。
部署成功 ✅(status 转为 ready)后,在 Digital Garden 设置页设定好对应的配置,你就可以开始随心所欲发布文章了。主要通过笔记头部的 properties 控制,dg-publish 表示是否发布,dg-pinned 表示固定在文件目录树头部,dg-home 表示设置为起始页,tag 是自行添加的标签等等。
另外,每次更新也直接通过发布中心控制即可,界面友好美观易操作。
1.2 急转直下
然后,就遇到了一个很尴尬的问题,vercel 由于部分用户的滥用,已经基本被墙在外了,而博客发布就是给人看的,尤其是国内用户,显然无法接受……
好,就知道果然不可能那么顺利,慢慢来 😴
1.2 曲径通幽
首先,买个域名,反正自己博客肯定也要个好看点的域名,vercel 那一长串既不好记也不利于分享。国内各大厂商可买,Namesilo 等国外低价厂商也可,还可以剑走偏锋捞捞免费域名,不选.com 或者.cn 这种应该都挺便宜,一年几块钱。
初心别忘了,是为了国内更好地访问,因此使用 Cloudflare(海外 CDN)来解除封印,虽然 Cloudflare 被称为减速 CDN,但加上后访问 Vercel 的速度还算可以接受,而且白嫖要什么自行车,差不多够用就好。
所以只需要将域名从代理商转到 Cloudflare 接管并配置好 DNS(主要是 A 和 CNAME),其中涉及到 Vercel 域名的记得使用 cname-china.vercel-dns.com
。同样,Vercel 处也对应配上购买的域名,自动生成 SSL 证书并校验通过后,就可以尝试国内访问了,总体速度还行!(下图每次测试随机波动性较大,仅供参考)
突然发现不用魔法 🔮 又上不去了,并且竟然直接跳到反诈中心。
好好好,麻了,直接开 Cloudflare 全代理了(先前选的仅 DNS),牺牲速度换可访问性吧。
只需要文章发布功能,就可以到此为止了,后续章节仅供习惯折腾,并乐在其中的用户参考。
2. 海纳百川
2.1 百家争鸣
博客是不可能缺少评论系统的,幸运的是,Digital Garden 插件提供了充足的自定义空间。本博客选用了 Waline,优势是开箱即用,不需要额外折腾审核和数据存储等。同样,部署到 vercel,再借助域名和 Cloudflare 加速国内访问,这里给 Waline 的域名采用刚刚购买域名的二级域名即可。部署成功后,访问 {你的Waline域名}/ui/register
注册成为管理员,即可进入评论后台管理系统。
接着,就是将你的 Waline 系统嵌入到刚刚发布的博客页面中。参考官方文档,只需要在 {你的笔记路径}\src\site\_includes\components\user\common\footer
文件夹下建立一个 njk
后缀的文件,代码如下:
其中,emoji 为评论系统可用备选表情,dark 为深色模式控制,reaction 则是文章末尾的用户反应,更多 Waline 配置可参考官方文档。
2.2 雁过留痕
实际上是比较鸡肋的功能,但既然 Waline 提供了,那用上无妨。如果是打算写在末尾,直接在刚才的 njk
文件内附加上如下代码即可。除此之外,受几枝插件的启发,在末尾也添上了 今日诗词 API 的调用。
3. 精细入微
3.1 字字珠玑
同样,这次在 header 文件夹下新建对应的 njk
文件,引入对应的字体样式。然后在 {你的笔记路径}\src\site\styles\user
目录下新建 SCSS 文件,调用引用的字体即可。通过这种方式,即使是在 Digital Garden 更新文章发布的主题样式,也不会影响字体修改。如,修改字体为霞鹜文楷屏幕阅读版:
3.2 黑白无间
Waline 配置好跟随系统切换深浅色模式后,主界面自然也要跟进,直接在 header 文件夹下加入脚本代码即可。
3.3 一字千金
粗略一看,官方竟然没有提供字数统计功能,那就只能自己手动写个勉强够用的了,加在 beforeContent 文件夹下最合适,同样是 njk
后缀文件。
4. 微言大义
Memos,一个记录短灵感和备忘录的开源工具,使用 docker 一键部署,和博客完美互补,GitHub 亦有移动端、小程序端、浏览器插件等多平台支持。
界面字体优化和增加表情回应[emaction.cool](https://emaction.cool/)
表情回应效果图如下:
memos 更新后的 1.6 版本已经加入了评论功能。