Hugo 文章时区问题导致无法显示
今天发现了一个很奇怪的问题:Hugo 新创建的文章,始终无法看到,也就是无法生成,程序没有正确识别到文章。
但是使用 hugo new
命令创建出的文件确可以正确识别到。
我猜测可能是文章头部出了问题。
挨个文章看,比较每一篇文章的 frontmatter
部分,发现没有任何问题。而在 frontmatter
部分的 date
段,我设置的是像 2024-04-18 17:27:21
这样的时间。
我给时间加上时区:2024-04-18 17:27:21+08:00
,文章恢复正常,可以被加载到了。我又试试将时间往前调整 6 个小时,不行,往前调 8 个小时,可以了。
然后我又把文章加上时区,但是时间设置到第二天,也就是未来:发现又不行了,文章又消失了。
这下基本上可以确定:是时区的问题。
我试着总结一下原因:
Hugo 在生成文章的时候,会略过未来的文章,因为我们所在是东8区,所以文章的时间如果不加上时区,会被默认为是在 0:00
时区。而这个时区相对于我们来说是欧洲,太阳还需要 8 个小时才能抵达,所以会被算作是未来时间。
因此对于未来时间的文章,hugo 就不予生成了。解决方法也很简单,把时间部分加上时区即可,如果不想加时区,也可以在构建文章的时候,添加构建未来文章的参数 hugo --buildFuture
。如果不想每次都加这个参数,也可以直接在配置文件中添加以下配置:
# config.toml
buildfuture = true
PREV 使用 Bun 快速启动一个 Vue + Vite 项目
NEXT Hugo 设置外部链接用新窗口打开