发布于 ,更新于 

更改博客主题之后的一些破事

最近因为原来 我的 butterfly 主题 fork 实在改不动了(实际上因为我水平太差),对于 pug 什么的也不太懂,同时由于界面过于花哨看腻了,想换点动态效果少的而又相对简单的博客主题。
又因为之前就观察过 hugo 的主题列表,hugo 的特点是快,大部分的 hugo 主题也非常简洁(比如 c4096 的博客所采用的主题),因此我又双叒叕去 hugo theme 列表挑了个非常符合我审美(大概)的主题,即 stack

最一开始用 test 界面测试主题功能的时候 hugo 的速度就惊艳我了,实在是过于迅速,和我之前所用的 hexo+butterfly 的速度相比,hugo 让我感觉到构建了又好像没构建的构建过程。同时它的即时修改即时预览功能也很好用(但是有的时候并不能做到完全应用新修改)。
但是一起到来的问题也很多,比如 stack 主题的文档并不是很完善,相对于我看过的大部分 hexo 主题来说可能是最不完善的(中英文倒是无所谓),因此我需要一边看文档一边看源码,还得看主题的示例站点的配置文件才让我的博客跑出正常的样子。

主题配置问题还算好解决,对于我这个啥都不懂还贼挑的人来说,改动主题是必须有的部分,但是 hugo 的编写修改维护主题的文档和教程更是少之又少了...因此研究了好久也没研究出来怎么改代码块样式,改配色也没成功,但是把深浅色代码块背景宽度不统一的问题倒是解决了,还得对这个进行进一步更改。当然,主题克隆下来的第一步就是 copyright->copyleft,然后给 &copy 掉个头,文章许可证改为 FDL 1.3 才继续做接下来的修改。

关于写配置,我最开始采用的是网上得到大部分好评的 toml 格式,据说比 yaml 新还好用,在此之前因为 yaml 的缩进问题我痛苦了很长时间,但是折腾了好久 toml 之后感觉 toml 更不容易被人类理解(可能只有我不理解),然后用工具回到了 yaml 的怀抱,在此之前为了研究 toml 的 map 映射语法之类的东西已经折腾不动了...

关于换行,由于之前的 butterfly 主题能够自动换行,但是 stack 主题默认用的是 markdown 的换行规则,即行尾双空格或回车两次为一个换行,于是我博文基本上都炸了,会找时间修(逃

回到 hexo 了,原因很多。

  • hugo 对插件支持较少,脚注之类的加强需要我自己实现。 由于实现不了就直接用了 littlefoot 实际上 littlefoot 也没配好
  • hugo 对第三方渲染器支持程度不高,想用 pandoc 之类的用不了(toc 会有问题)。
  • hugo 语法挺诡异的。
  • goldmark 写 \(\LaTeX\) 语法的时候换行要四个反斜杠,两个反斜杠会被转义而无法换行。
  • hugo 短码写不明白,文件目录挺迷惑的。
  • hugo module 文档也挺缺乏的,想自己写也写不动。

然后选了很多主题,最终发现如果我早用了 一刀斩 fork 的 stellaris 主题,我能少走一年弯路。

  • 博客内支持给自己项目设立一个文档专栏
  • 有很多种标签可以使用,保活但不限于提示框,时间线等
  • 美丽的 fluent 风格
  • 使用 React + JSX,这意味着我可以较低成本地修改这个主题(相对于以前的 pug 和 ejs 来说,这个起码我会一点,而且教程也挺多)
  • 性能较好。样式不算太少,但是相对于 butterfly 等主题,这个主题在我机房电脑上还是非常流畅的。

但是最初还是遇到了一些问题,还好可以直接抄一刀斩的配置。

但是需要不少更改,比如 CDN 之类。(肯定不能用他朋友给他整的 CDN 啊)

Valine 貌似挺过时的了,twikoo 默认样式扔这里挺丑的,然后就直接配了个 Waline 扔上去了。

用 JSX 加入了 MathJax 支持,同时为了更好的数学支持用上了 pandoc 渲染器。不知道为啥进入另一个页面之后数学就寄了,所以如果某一个页面的数学用不了请你刷新 基本上修好了,照着一刀斩给评论写的加载方式抄了一遍。