背景
Hugoで作ったサイトでは、変数.Lastmod
で更新日時を扱える。
たとえば、Stack
のテーマでは、
layouts/partials/article/components/footer.html
で.Lastmod
を用いて更新日時を表示している。
変数.Lastmod
は、記事のヘッダでlastmod
を設定することで、任意の値に変更できる。
これを設定しない場合は、デフォルトで1下記が利用される。
config.yaml
frontmatter:
lastmod:
- :git
- lastmod
- date
- publishDate
このうち:git
は、Hugoで使える変数.GitInfo.AuthorDate
を指す。
この変数.GitInfo.AuthorDate
は、HugoのconfigファイルでenableGitInfo
をtrue
にすると有効化される。
config.yaml
enableGitInfo: true
つまりHugoでは、変数.GitInfo.AuthorDate
を利用することで、ファイルの更新日時を手動で変更せずとも、
gitの履歴からファイル更新日時を自動で取得してくれる。
問題
背景で述べたように、適切な設定をすれば、gitの履歴からファイル更新日時を自動で取得できる。
しかし、筆者の環境では、手元でhugo serve
するとgitの履歴が反映されるにもかかわらず、
Netlifyでホスティングして公開すると反映されない不具合が生じた。
何が原因だったのか
Stackのテーマでは、content/post/<folder name>/index.md
に記事を格納する。
不具合の原因は、この<folder name>
に日本語が含まれていたことだった。
どうやらパスに日本語が含まれていると、gitの履歴をうまく取得できないらしい。
解決策
記事を格納するフォルダ名をASCII文字のみ2で構成されるように変更した。