ページの種類を確認したい(.Kind)
{{ .Kind }}
Hugoは/content/以下のファイル構成から、ページの「種類(Kind)」を自動的に判定します。
.Kindや.IsHomeなどの変数を使うと、テンプレート内でページの種類ごとに表示を出し分けられます。
{{ if .IsHome }}
<p>ここはトップページです</p>
{{ else if .IsSection }}
<p>ここは一覧ページです</p>
{{ else }}
<p>ここは記事ページです</p>
{{ end }}
_default/list.htmlや_default/single.htmlのような共通テンプレートの中で、
ページの種類に応じて表示を切り替えたいときに使います。
種類の一覧を確認したい
ページ階層 |
コンテンツ |
テンプレート |
パーマリンク |
|
|
|
|
|
|---|---|---|---|---|---|---|---|---|
トップページ |
|
|
|
|
|
|
|
|
カスタム404 |
|
|
|
|
|
|
|
|
セクション |
|
|
|
|
|
|
|
|
サブセクション |
|
|
|
|
|
|
|
|
記事リスト |
|
|
|
|
|
|
|
|
記事 |
|
|
|
|
|
|
|
|
記事 |
|
|
|
|
|
|
|
|
タクソノミー名 |
(frontmatter) |
|
|
|
|
|
|
|
タクソノミー |
(frontmatter) |
|
|
|
|
|
|
|
.Kindはページの種類を表す文字列を返します。
.IsHome・.IsNode・.IsSection・.IsPageは、それぞれ真偽値を返す便利変数です。
注釈
.IsNodeは「一覧系のページ(記事そのものではないページ)」でtrueになります。
トップページ・セクション・タクソノミーは.IsNodeがtrueですが、
404ページだけは.IsNodeも.IsPageもfalseになる特殊なケースです。