Hexo生成错误的永久链接日期
使用 #
从私有代码库自动部署Hexo站到GitHub Pages 之后,真是幺娥子迭出:先是
文章的最后编辑时间不正确
,现在又发现有些页面的永久链接的日期会差一天,比如markdown写的是2020-07-13 00:50:05
,生成的永久链接变成了2020/07/12
。这个错误可能会导致搜索引擎找不到老页面,从而影响搜索展示。
考虑到不是所有文章的permalink日期都生成错误,而仅在那些markdown写作时间在0点之后的文章出现,猜想可能是时区设置导致的问题。
先看了下 # Permalinks 的文档,没发现提及时区。又搜了一下,发现有 类似的讨论 。
问题原因:在 _config.yml
中设置的时区与执行
hexo generate
的机器的时区不一致。
尝试了两种方案:
- 去掉
_config.yml
中timezone: Asia/Shanghai
的设置:发现文章创建时间又差了8小时,不行。 - 设置 GitHub Actions 的机器时区为
Asia/Shanghai
:可行。
后者应该是最佳方案,还是保持CICD的机器配置与本机完全一致的好。
修改.github/workflows/main.yml
,在Restore Timestamps
之后增加一个步骤Set Timezone
,用timedatectl
设置时区,并再次输出确认修改成功:
- name: Restore Timestamps
uses: chetan/git-restore-mtime-action@v1
- name: Set Timezone
run: |
sudo timedatectl set-timezone Asia/Shanghai
timedatectl
- name: Prepare Node env
uses: actions/setup-node@v3
with:
此时,生成错误永久链接日期的问题迎刃而解。