Skip to main content

マップ、配列、スライスをソートし、ソートされたスライスを返します。

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 }}