博客又又又被 Hugo 升级搞崩了。
这次的问题是不能正确渲染 front matter,原因当然还是 hugo 和主题的版本不适配。照着上回的经验局部手动翻新了主题的 layouts 文件夹后,问题反而更严重了——hugo sever -D
直接罢工了。不得以只好手动替换了整个主题文件夹,然后再想办法把自己的客制化的部分加回来。
删除自带的多语言 #
期间又遇到了 Hugo 自带的多语言切换的老问题,上回是顶栏图标间多了一个空格,这次空格变更了国旗,但中英之间无法来回切换,就照着老配方在 theme/blowfish/layouts/partials/header/basic.html
文件中删掉 line 34 的 {{ partial "translations.html" . }}
。
自定义字体 #
修改的字体自然也不见了,最后是照着主题作者在 Discussion 里的回复改的。
Easy way to change the font to local file via CSS #66
https://github.com/nunocoracao/blowfish/discussions/66
> Hello @stamyx , to replace the font you should do 2 things:
> place the font in the static folder as you've done, I would also place it within a folder called fonts.
> create a custom.css file so that you can override the stylesheet, final structure will look like this:
.
├── assets
│ └── css
│ └── custom.css
...
└─── static
└── fonts
└─── font.ttf
import the new font using the newly created custom.css and apply it to the elements you wish (example below does it for html):
@font-face {
font-family: font;
src: url('/fonts/font.ttf');
}
html {
font-family: font;
}
我选的是直接上传字体文件,而非从 Google Fonts 或 CDN 那里拉取在线托管的字体。
具体方法是在博客根目录的 static
文件夹中新建 fonts
文件夹,将字体文件上传到此处;然后在 assets/css
路径下新建 custom.css
文件,填入上文引用的内容。
我用的是 LXGWWenKaiScreenR
,一开始没有写对格式导致没能成功渲染,多试了几次后才算成功了。
@font-face {
font-family: "LXGW WenKai Screen R, Regular";
src: url('/fonts/LXGWWenKaiScreenR.ttf');
}
html {
font-family: "LXGW WenKai Screen R, Regular";
}
修改时间 #
我想把显示的时间格式从 “Jan 2, 2006” 改成 “2006-01-02”,在语言的配置文件中把时间参数修改成
dateFormat = 2006-01-02"
不曾想这和 Gallery 里的模板 html 文件用的参数起了冲突,hugo sever -D
又罢工了。只好灰头土脸地排查报错的两个 html 文件,把 dateform
替换成 dateFormat
,总算解决了问题。
(在这之前我曾尝试在配置文件中同时保留 dateform
和 dateFormat
,但又出现了奇怪的 bug——每篇博文的发布日都成了23号)
小结 #
这次花了小半天修好了 bug。debug 的过程对前端白痴来说实在太痛苦了。既然选择了花里胡哨的客制化就要付出代价,但真的是太痛了。
因为总是在 Hugo 升级后报错,我有想过通过“扼杀” Hugo 的升级来解决问题,在 gitlab-ci.yml
将 hugo 的版本从 latest 替换成了一个指定的旧版本。但是本地的 Hugo 就不好办了,即使不刻意去升级,每次用包管理 upgrade all 的时候肯定会连带把 Hugo 一起升级了,到时候看能不能排除更新 Hugo 或者手动把它降回来吧。
Hugo 真是太难养活了,打算过些天找些轻量的当备胎。
credit
修 bug 的时候也有想过“抄别人的作业”,在修改时间参数的时候有参考小绵尾巴(@cuttontail)的配置文件
https://github.com/miawithcode/blog/blob/main/cuttontail/config/_default/languages.zh-cn.toml