博客更新

作于: 2024 年 4 月 7 日,预计阅读时间 4 分钟

15分钟,大概介绍下新的博客引擎和主题。

博客换了新引擎 zola (getzola/zola),主要看中构建速度非常快,对比无缓存的 hugo 能达到几十倍的速度。

新主题是 anemone ,但是原主题太粗糙了我自己进行了很多魔改。

原来的 hugo 文章 frontmatter 里有很多字段和 zola 是不匹配的,特别是 categories/tags/date/lastmod 这几个我用到了的。

处理方法是写了一个 python 脚本,读取 frontmatter 内容并解析,然后调整成 zola 的格式。

说道为什么突然开始看构建性能了,其实一直是有关注的,特别是我把博客构建迁移到自己的 vps 上之后,使用 drone ci 进行自动构建和发布。

在调试 drone ci 的时候就注意到了 hugo 的 cpu 和内存使用特别高,但我本机跑就快的一批,但一直没时间去优化。呃,也不是没时间,就是懒得动。

这两天忽然想起来博客构建慢的一批,于是就考虑迁移 drone 到家里闲置的树莓派上,树莓派不能白用电不干活对吧。

结果迁移上去后发现,hugo 构建依然要分配至少 3 个核心,才能在 4 分钟构建完不超时,比在腾讯云的 2C2G 轻量应用服务器上的表现还垃圾。

我这才想起来去查了一下树莓派 4b 的性能,对比居然被 intel 赛扬 j4125 这颗工控机上常见的低端 u 吊打了,n100 干脆能达到树莓派 4b 的 4 倍性能...

哭了。

擦擦眼泪继续折腾。

试了下在 r7 5700x + 固态盘上构建,无缓存差不多要 20 多秒,基本达到不可接受的程度,我文章都才 100 多篇,这点内容就要 20 多秒了我没法接受。于是又捡起了以前玩过一次的 zola ,在 5700x 平台测试是 build 要 800ms 不到,树莓派 4b 平台是 7s 的 build 时间。

考虑到自己建的 gitea 服务器一是没什么内容,二是受限于服务器的下行带宽,开始 clone 的时候基本就访问网页都困难了。于是又把 drone 切换到 gitee 环境,clone 时间从 2 分钟降低到 15s 内。

至此基本就达到预期了,个人体验是非常满意,但老文章有些细节,主要是 katex 公式渲染是有问题的,需要之后处理。

还有个坑是 zola build 的时候会显示未知的语法 mermaid,这个不影响 mermaid.js 渲染。

/杂谈/