Hugo:补全文章的 ISO 8601 日期

💡 原文中文,约1700字,阅读约需4分钟。
📝

内容提要

本文讨论了在Hugo网站中设置文章日期和时区的正确方法。建议使用ISO 8601格式的日期,包括时间和时区,以避免时区差异带来的问题。提供了批量修改文章日期的脚本示例,并强调在修改前需备份网站,最后建议删除不必要的时区配置。

🔎

延伸解读

为什么需要补全时区信息

文章指出,仅设置全局时区存在隐患:当作者在其他时区写作时,新文章仍会沿用旧时区,导致时间显示错误。因此,为每篇文章单独指定日期、时间和时区(如+08:00)能避免时区差异带来的问题,确保时间准确。

修改日期前的重要准备

在批量修改文章日期前,必须为所有文章添加lastmod字段。否则,修改date后,Hugo可能会将lastmod自动更新为当前日期,导致所有文章的“上次修改时间”失真。这一步骤是保证数据准确性的关键。

批量修改与验证流程

文章提供了一个bash脚本,用于将旧格式的日期批量替换为ISO 8601格式。修改前建议先构建网站并备份public目录,修改后再次构建,使用对比工具检查差异。作者发现一处代码块中的日期也被修改,但认为无碍。最后预览确认效果,再提交更改。

简化配置与后续清理

补全每篇文章的时区后,原先在config.toml中设置的全局时区(如timeZone = "Etc/GMT-8")就不再必要,可以删除以简化配置。完成所有步骤后,记得删除临时脚本,保持项目整洁。

❓

Q&A

在Hugo中如何设置文章的日期格式?

在Hugo中,文章日期应使用ISO 8601格式,示例为:date: 2020-10-02T00:00:00+08:00。

为什么在Hugo中需要使用时区?

使用时区可以避免因时区差异导致的日期混淆,确保每篇文章的时间准确。

如何批量修改Hugo文章的日期?

可以使用bash脚本批量修改日期,脚本会将日期格式更新为ISO 8601格式。

在修改Hugo文章日期前需要注意什么?

在修改前需为所有文章添加lastmod(上次修改时间),以防止修改后lastmod变为今天。

如何删除Hugo中的不必要时区配置?

在config.toml文件中删除timeZone配置行即可。

修改Hugo文章日期后如何验证更改?

可以使用文件对比工具对比修改前后的构建网站,查看日期是否正确更新。

🏷️

标签

➡️

继续阅读