docs/content/en/methods/page/Rotate.md
{{< new-in 0.153.0 />}}
The rotate method on a page object returns a collection of pages that vary along the specified dimension, while holding the other dimensions constant. The result includes the current page and is sorted according to the rules of the specified dimension. For example, rotating along language returns all language variants that share the current page's version and role.
The DIMENSION argument must be one of language, version, or role.
Use the following rules to understand how Hugo sorts the collection returned by the Rotate method.
| Dimension | Primary Sort | Secondary Sort |
|---|---|---|
| Language | Weight ascending | Lexicographical ascending |
| Version | Weight ascending | Semantic version descending |
| Role | Weight ascending | Lexicographical ascending |
To render a list of the current page's language variants, including the current page, while sharing its current version and role:
{}
{{ range .Rotate "language" }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
To render a list of the current page's version variants, including the current page, while sharing its current language and role:
{}
{{ range .Rotate "version" }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
To render a list of the current page's role variants, including the current page, while sharing its current language and version:
{}
{{ range .Rotate "role" }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}