Page

Rotate

返回沿指定维度变化、而在其他维度上与当前页面取值相同的一组页面(含当前页面),并按该维度的默认排序顺序排列。

签名
PAGE.Rotate DIMENSION
返回类型
page.Pages

(0.153.0 新增)

页面对象上的 rotate 方法返回沿指定维度变化的一组页面,其他维度保持不变。结果包含当前页面,并按指定维度的规则排序。例如,沿语言旋转会返回所有与当前页面共享同一版本和角色的语言变体。

DIMENSION 参数必须是 language、version 或 role 之一。

排序顺序

用以下规则来理解 Hugo 如何对 Rotate 方法返回的集合排序。

维度 主排序 次排序
Language 权重升序 字典序升序
Version 权重升序 语义化版本降序
Role 权重升序 字典序升序

示例

要渲染当前页面各语言变体的列表(含当前页面),且这些变体共享当前版本和角色:

{{/* Returns languages sorted by weight ascending, then lexicographically ascending */}}
{{ range .Rotate "language" }}
  <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}

要渲染当前页面各版本变体的列表(含当前页面),且这些变体共享当前语言和角色:

{{/* Returns versions sorted by weight ascending, then semantic version descending */}}
{{ range .Rotate "version" }}
  <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}

要渲染当前页面各角色变体的列表(含当前页面),且这些变体共享当前语言和版本:

{{/* Returns roles sorted by weight ascending, then lexicographically ascending */}}
{{ range .Rotate "role" }}
  <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}