モノラルログ

マツオ ( @matsuoshi / monaural.net ) のざっくりしたブログです

Hugo で関連記事を表示させる

あれ、こんな簡単だったっけ…? というくらい、あっさりできてしまったのです (以前一度試して、全然うまくいかなかった記憶があるんだけど……)

Hugo で、関連記事を表示させたい

いわゆるブログの関連記事、"See Also" 的なやつとして、Hugo では Related Content という機能があります。

gohugo.io

あれー、ここのとおりに書くだけじゃないですか、.Related を使って、ブログ単体記事のテンプレの下あたりに

{{ $related := .Site.RegularPages.Related . | first 4 }}
{{ with $related }}
  <h3>See Also</h3>
  <ul>
    {{ range . }}
      <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
    {{ end }}
  </ul>
{{ end }}

こんな感じで、記事内容に応じた関連記事を出せるようになります。

. RelatedIndices で取得する関連記事を絞り込んだり、.RelatedTo で特定のキーのものだけを取得したりもできそう。

あと、キーワードや日付に対する重み付け(何をより重視するか、みたいな) 指定もできるみたいです。ドキュメントの "Configure Related Content" のとこに書いてあります。

https://gohugo.io/content-management/related/#configure-related-content

なんだー Hugo で関連記事、あっさりできるんだったのかー。