layouts/taxonomy.html
HUGOのタクソノミーテンプレート解説
このコードは、Hugoのタクソノミー(カテゴリー、タグなど)一覧ページを表示するためのテンプレートです。
$ cat themes/my-theme/layouts/taxonomy.html
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
{{ end }}
{{ define "main" }}: 「main」という名前のブロックを定義します。これはベーステンプレートの対応する「main」ブロックに挿入されます。<h1>{{ .Title }}</h1>:- タクソノミー名(例: “Tags"や"Categories”、または特定のタグ/カテゴリー名)を見出しとして表示します。
{{ .Content }}:- そのタクソノミーに関連するコンテンツがあれば表示します(通常は空か、_index.mdファイルの内容)。
{{ range .Pages }}...{{ end }}:- このタクソノミーに属するすべてのページをループで処理します。
- タグページならそのタグが付いた記事、カテゴリーページならそのカテゴリーに属する記事の一覧です。
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>:- 各記事へのリンクをh2見出しとして表示します。
.RelPermalinkはページの相対URLを出力します。.LinkTitleはページのタイトルを表示します(frontmatterでlinkTitleが設定されていればそれを使用し、なければ通常のtitleを使用)。
このテンプレートは単純ですが、タクソノミーのリスト表示に必要な基本的な要素をカバーしています。