テンプレート内での変数の使い方

メモ:  Category:hugo

Hugo のテンプレートで変数を定義するには、$ で始まる変数名を用意します。

変数

テンプレートで変数を定義するには、$ で始まる変数名を使って次のように記述します。

{{ $変数名 := 初期値 }}

テンプレートでの記述例を見てみます。この例では、数値変数 $val と、文字列変数 $str を定義し、それぞれの値を出力しています。

{{ $val := 100 }}
{{ $str := "Hello World" }}
<p>{{ $val }}</p>
<p>{{ $y }}</p>

出力結果

<p>100</p>
<p>Hello World</p>

range (ループ処理)での変数の使い方

range (ループ処理)で変数を指定すると、各要素の値を変数に取り出しながら処理することができます。

<ul>
  {{ range $page := .Site.AllPages }}
    <li><a href="{{ $page.Permalink }}">{{ $page.LinkTitle }}</a>
  {{ end }}
</ul>

次のように、2つの変数を用意することで、インデックスと値を取得しながらループ処理することもできます。

<ul>
  {{ range $index, $page := .Site.AllPages }}
  <li><a href="{{ $page.Permalink }}">{{ printf "%d. %s" (add $index 1) $page.LinkTitle }}</a>
  {{ end }}
</ul>

bluenote by BBB