Pages

ByLanguage

返回给定页面集合按语言排序后的结果。

签名
PAGES.ByLanguage
返回类型
page.Pages

按语言排序时,Hugo 使用以下优先级对页面集合排序:

  1. 语言权重(升序)
  2. 日期(降序)
  3. LinkTitle(升序)

这个方法几乎用不到。已经包含多种语言的页面集合,例如 Page 对象上的 Rotate、Translations 或 AllTranslations 方法返回的集合,本身就按语言权重排好序了。

下面这个刻意构造的例子先把所有站点的页面汇总起来,再按语言排序:

{{ $p := slice }}
{{ range hugo.Sites }}
  {{ range .Pages }}
    {{ $p = $p | append . }}
  {{ end }}
{{ end }}

{{ range $p.ByLanguage }}
  <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}

要改为降序排列:

{{ range $p.ByLanguage.Reverse }}
  <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}