[转]Vuepress中Last Updated时间有误
本文最后更新于:2023年8月7日 凌晨
原文出处:ty-peng - VuePress Last Updated 时间有误的解决
此文章为转载
正文
之前一直以为文章Last Updated
的时间每次都是取最新的时间是因为推送Pages分支时强制提交,只有一个最新提交的原因, 所以一直没去管,今天发觉按理编译之前Last Updated
时间就已经确定了才对,于是找了下原因。
去VuePress的文档页面看了下,在默认主题的配置里有说明:
::: tip
VuePress的插件last-updated
是基于git
的,使用git commit
的时间戳作为最后更新时间。
:::
我在本地编译运行了一下,发现Last Updated
时间是对的, 但是通过GitHub Actions编译后的时间有误,都只是最新的时间。
检查workflow文件main.yml
, 其中和之前本地部署不同的步骤应该只有Checkout
那一步,
找到相关文档,查看配置项,其中有一项:
::: tip
1 |
|
fetch-depth
:要获取的提交数,0表示所有历史记录,默认为1。
:::
这就是问题的根源所在,在GitHub Actions中,按之前的配置,fetch-depth
未配置取默认值1, 使用Checkout
插件checkout代码只会fetch一个提交, 所以Last Updated
插件获取不到其他文章的正确提交时间, 最后编译时都使用了最后一次提交时间作为最后更新时间。
修改如下:
1 |
|
提交推送远程仓库,自动部署,Last Updated
时间恢复正常。