# Hugo(Pagermod)で記事にGitのコミット履歴から最終更新日を付与する
3 min read
Table of Contents
レベルが低かろうと技術ブログという矜持を持つ
最終更新日を付与したい。
というのも技術ブログにおいて更新日はとても大きな意味を持つ。
ちゃんと更新されている記事であれば、たとえ公開日が古かろうと問題ない。
ということで、このブログにも更新日を付与することにした。
HogoのテーマであるPagermodのカスタマイズ
当然、サブモジュールとしてインストールしたファイルをカスタマイズすると、本家の更新時に上書きされる。
これはみんな大好きwordpressと同様。
wordpressで子テーマを作るのと同様に、Hugoではサイト名\layouts\partials\というフォルダを用意して、そこにカスタマイズしたいファイルを持ってくる。
更新日を付与する
今回であれば、post_meta.htmlに投稿日の記述等があったので、このファイルをカスタマイズする。
そのため\layouts\partials\post_meta.htmlを作成し、
{{- if not .Date.IsZero -}} {{- $scratch.Add "meta" (slice (printf "<span title="%s" >%s</span>" (.Date) (.Date | time.Format (default "January 2, 2006"site.Params.DateFormat)))) }} {{- end }}という元記述を
{{- if not .Date.IsZero -}}{{- $scratch.Add "meta" (slice "投稿日" (.Date.Format (default "2006-01-02" .Site.Params.DateFormat)) "更新日" (.Lastmod.Format (default "2006-01-02"))) }}{{- end }}に変更した。ついでに日本語にした。
最後にhugo.yamlにenableGitInfo: trueを付与する。
この設定はbuild時に読み込まれるので、ローカルで開発している場合は一度サーバーを止め、再度buildしなおせば更新日が付与されていることが確認できる。
実際に付与されている例 ↓
nextjsで開発中にモックサーバーを立ち上げたいのでnext-swagger-docと@stoplight/prism-cliを比較してみた