sort
マップ、配列、スライスをソートし、ソートされたスライスを返します。
KEYはスライスを昇順にソートする場合はオプションですが、そうでない場合は必須です。 スライスをソートするときは、
KEYの代わりに
value` というリテラルを使用します。以下の例を参照してください。
ORDER
は、asc
(昇順) または desc
(降順) のいずれかです。 デフォルトのソート順序は昇順です。
スライスをソートする
以下の例では、このサイト設定を前提としています。
昇順
次の構成のいずれかを使用して、スライス要素を昇順にソートします (並べ替えます)。
layouts/_default/single.html
{{ sort site.Params.grades }} → [a b c]
{{ sort site.Params.grades "value" "asc" }} → [a b c]
上記の例では、value
はスライス要素の値を表す KEY
です。
降順
スライス要素を降順に並べ替えます。
layouts/_default/single.html
{{ sort site.Params.grades "value" "desc" }} → [c b a]
上記の例では、value
はスライス要素の値を表す KEY
です。
マップをソートする
以下の例では、このサイト設定を前提としています。
昇順
次のいずれかの構成を使用して、マップ オブジェクトを昇順に並べ替えます。
layouts/_default/single.html
{{ range sort site.Params.authors "firstname" }}
{{ .firstName }}
{{ end }}
{{ range sort site.Params.authors "firstname" "asc" }}
{{ .firstName }}
{{ end }}
上記のコードは、以下を生成します。
Jean Marius Victor
降順
マップ オブジェクトを降順に並べ替えます。
layouts/_default/single.html
{{ range sort site.Params.authors "firstname" "desc" }}
{{ .firstName }}
{{ end }}
上記のコードは、以下を生成します。
Victor Marius Jean
ページコレクションを並べ替える
ページコレクションをソートするには sort
関数を使いますが、Hugo は、以下の項目で [ページコレクションをソートするための組み込みメソッド]
built-in methods for sorting page collections
を提供しています。
- weight
- linktitle
- title
- front matter parameter
- date
- expiration date
- last modified date
- publish date
- length
この作為的な例では、サイトの通常ページを .Type
の降順でソートします。
layouts/_default/home.html
{{ range sort site.RegularPages "Type" "desc" }}
<h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
{{ end }}