踩坑
配置了update_option: mtime
和order_by: -updated
,实现文章按最后修改日期排序,但每次部署完发现都会有个hello world不合时宜地出现在最上面😓 打开发现大部分文章的修改日期都变成了同一个——部署的日期,而自己加了updated参数的不受影响,疑似git本身对文件修改日期的判定机制导致。
于是乎,给每个文章都添加了updated参数,例如
1 | --- |
勉强解决,但每次都手动添加太麻烦了。
完美解决方案
修改格式模板
在文章模板中添加updated参数到Front-matter(修改/scaffolds/post.md),如下
1 | --- |
在自动部署脚本加上对时间的矫正
加上一行git ls-files -z | while read -d '' path; do touch -d "\$(git log -1 --format="@%ct" "\$path")" "\$path"; done
来矫正修改日期即可。
已加入本站自动部署workflow | 无愚の日记 (binarydev.top)),可参考。
参考文章:
hexo自动更新文章修改时间 - yyyz - 博客园 (cnblogs.com)
Hexo GitHub Action CI配置(解决文章修改时间问题) | Calvin Cui (unparalleled-calvin.github.io)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 无愚の日记!
评论