記事の更新日にモヤッとしている
これまで記事に2つの日付を表示していました。
投稿日(Posted 2024-xx-xx)と、更新日(Update 2024-xx-xx)です。
記事本文の更新があったときは更新日が役に立ちますが、あとから『タグを追加した』とか、『アイキャッチ画像を変更した』とかの、本文に変更がない場合も更新日が上書きされます。
そんなときはモヤッとするわけです。
後日まとめて過去の記事を書いたときなんかは、最初から投稿日(過去の日付)と更新日(後日の日付)が並びます。
うーん、やっぱりモヤッとする。
更新日を外そう
該当パーツの説明
サイト構築には Hugo を使い、テンプレートは PaperMod を利用しています。
ここから先はこの組み合わせでの話です。
更新日の取得と表示は partials
というパーツ群の中にある post_meta.html
というファイルで行っています。
該当部分はここの2行目です。
/layouts/_default/partials/post_meta.html
{{- if not .Date.IsZero -}}
{{- $scratch.Add "meta" (slice (printf "Posted %s / Updated %s " (.Date | time.Format (default "2006-01-02")) (.Lastmod.Format (default "2006-01-02")))) }}
{{- end }}
(.Lastmod.Format (default "2006-01-02"))
で最終更新日を取得して、Updated %s
の %s
部分に表示させています。
修正作業
あとで戻したくなるかもしれないので、コメントアウトで残しておきます。
/layouts/_default/partials/post_meta.html
{{- if not .Date.IsZero -}}
<!-- {{- $scratch.Add "meta" (slice (printf "Posted %s / Updated %s " (.Date | time.Format (default "2006-01-02")) (.Lastmod.Format (default "2006-01-02")))) }} -->
{{- $scratch.Add "meta" (slice (printf "Posted %s / " (.Date | time.Format (default "2006-01-02")))) }}
{{- end }}
動作確認
更新日出ますけど。
調査
htmlのコメントアウト <!-- hoge -->
ってHugoのテンプレート内で動作しないっぽいです。
hogeはコメント部分
やり方は公式に書いてありました。
🔗 Comments
{{/* hoge */}}
ってするんだって。
修正作業(2回目)
2行目をコメントアウトしました。
/layouts/_default/partials/post_meta.html
{{- if not .Date.IsZero -}}
{{/* {{- $scratch.Add "meta" (slice (printf "Posted %s / Updated %s " (.Date | time.Format (default "2006-01-02")) (.Lastmod.Format (default "2006-01-02")))) }} */}}
{{- $scratch.Add "meta" (slice (printf "Posted %s / " (.Date | time.Format (default "2006-01-02")))) }}
{{- end }}
動作確認(2回目)
無事に期待通りの動作となりました。
勉強になりましたね。
すぐ忘れるけど