なにをやりたい?

PapaerModは標準で、ページとリストに作成日しか表示されない。

更新日も表示するようにしたい。

環境

  • OS: Windows11
  • Hugo: v0.162.0
  • Papermod: 2026-08-02

やったこと

①layouts_partials\post_meta.htmlの編集

{{- if not .Date.IsZero -}}
    {{- $scratch.Add "meta" (slice (printf "<span title='%s'>%s</span>" (.Date) (.Date | time.Format (default ":date_long" site.Params.DateFormat)))) }}
{{- end }}

+{{/* 更新日の追加 */}}
+{{- if ne .Lastmod .Date -}}
+    {{- $scratch.Add "meta" (slice (printf "(更新:<span title='%s'>%s</span>)" (.Lastmod) (.Lastmod | time.Format (default ":date_long" site.Params.DateFormat)))) }}
+{{- end }}

{{- if (.Param "ShowReadingTime") -}}
    {{- $scratch.Add "meta" (slice (printf "<span>%s</span>" (i18n "read_time" .ReadingTime | default (printf "%d min" .ReadingTime)))) }}
{{- end }}

{{- if ne .Lastmod .Date -}}: .Lastmodと.Dateが同じ場合は表示しない。(.Lastmodが空なら自動的に.Dateに値がセットされる)。

②layouts\list.htmlの編集


{{- if .IsHome }}
{{- $pages = where site.RegularPages "Type" "in" site.Params.mainSections }}
{{- $pages = where $pages "Params.hiddenInHomeList" "!=" "true"  }}
+{{/* 更新日で降順ソート */}}
+{{- $pages = $pages.ByLastmod.Reverse }}
{{- end }}

{{- $paginator := .Paginate $pages }}