Hugo(Pagermod)で記事にGitのコミット履歴から最終更新日を付与する
レベルが低かろうと技術ブログという矜持を持つ 最終更新日を付与したい。 というのも技術ブログにおいて更新日はとても大きな意味を持つ。 ちゃんと更新されている記事であれば、たとえ公開日が古かろうと問題ない。 ということで、このブログにも更新日を付与することにした。 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を比較してみた