🛠 Hugo × PaperMod|ブログ冒頭のメタ情報(投稿日・更新日・読了時間・著者)を美しくカスタマイズする完全ガイド
🎯 この記事で得られること この記事では、Hugo + PaperMod を使ったブログの冒頭に表示される メタ情報(投稿日・更新日・読了時間・著者) を、次のようにカスタマイズする方法を解説します。 📅 投稿日 🔄 更新日 ⏱ 読了目安 ✍️ 著者(リンク付き) 🇯🇵 日本語 / 🇺🇸 英語の自動切り替え PaperMod のアップデートに強い「上書きレイアウト方式」 ポイント:PaperMod のテーマファイルは直接編集せず、 layouts/partials/post_meta.html を上書きする方法が最も安全です。 📘 1. PaperMod のメタ情報はどこで生成されている? PaperMod の記事ページ(single.html)では、メタ情報は次の partial で生成されています。 themes/PaperMod/layouts/partials/post_meta.html このファイルを直接編集すると、テーマ更新時に上書きされてしまうため、 プロジェクト側にコピーして上書きするのが正しい方法です。 📁 2. post_meta.html をプロジェクト側にコピーする まずは PaperMod の元ファイルを確認し、プロジェクト側にコピーします。 # プロジェクトのルートで実行 mkdir -p layouts/partials cp themes/PaperMod/layouts/partials/post_meta.html layouts/partials/post_meta.html 補足:Hugo は「プロジェクト側の layouts を優先」して読み込むため、 このコピーがそのまま上書きとして機能します。 🛠 3. 日本語・英語対応のカスタム post_meta.html を作成する 以下は、メタ情報(投稿日・更新日・読了時間・著者)を、次のようにカスタマイズする 完全版 post_meta.html です。 📅 投稿日 🔄 更新日(変更がある場合のみ表示) ⏱ 読了目安 ✍️ 著者(リンク付き) 🇯🇵 日本語 / 🇺🇸 英語の自動切り替え {{- /* =============================== カスタム Post Meta(日本語/英語対応) 表示内容: 📅 投稿日 | 🔄 更新日 | ⏱ 読了目安 | ✍️ 著者(リンク) =============================== */ -}} {{- $lang := .Site.Language.Lang | default "ja" -}} {{- $date := .Date -}} {{- $lastmod := .Lastmod -}} {{- $readingTime := .ReadingTime -}} {{- $authorName := or .Params.author .Site.Author.name "[UserName]" -}} {{- $authorURL := or .Params.authorLink .Site.Author.link "#" -}} <div class="post-meta"> {{- if eq $lang "ja" -}} <span class="post-meta-item">📅 投稿日:{{ $date.Format "2006年1月2日" }}</span> {{- if ne $lastmod $date -}} <span class="post-meta-separator">|</span> <span class="post-meta-item">🔄 更新日:{{ $lastmod.Format "2006年1月2日" }}</span> {{- end }} <span class="post-meta-separator">|</span> <span class="post-meta-item">⏱ 読了目安:{{ $readingTime }}分</span> <span class="post-meta-separator">|</span> <span class="post-meta-item">✍️ 著者:<a href="{{ $authorURL }}">{{ $authorName }}</a></span> {{- else -}} <span class="post-meta-item">📅 Published: {{ $date.Format "Jan 2, 2006" }}</span> {{- if ne $lastmod $date -}} <span class="post-meta-separator">|</span> <span class="post-meta-item">🔄 Updated: {{ $lastmod.Format "Jan 2, 2006" }}</span> {{- end }} <span class="post-meta-separator">|</span> <span class="post-meta-item">⏱ Reading time: {{ $readingTime }} min</span> <span class="post-meta-separator">|</span> <span class="post-meta-item">✍️ Author: <a href="{{ $authorURL }}">{{ $authorName }}</a></span> {{- end }} </div> 注意:著者リンクは front matter の authorLink: または config の .Site.Author.link で設定できます。 ...