Reverse
Returns the given menu, reversing the sort order of its entries.
Syntax
MENU.Reverse
Returns
navigation.Menu
The Reverse
method returns the given menu, reversing the sort order of its entries.
Consider this menu definition:
menus:
main:
- name: Services
pageRef: /services
weight: 10
- name: About
pageRef: /about
weight: 20
- name: Contact
pageRef: /contact
weight: 30
[menus]
[[menus.main]]
name = 'Services'
pageRef = '/services'
weight = 10
[[menus.main]]
name = 'About'
pageRef = '/about'
weight = 20
[[menus.main]]
name = 'Contact'
pageRef = '/contact'
weight = 30
{
"menus": {
"main": [
{
"name": "Services",
"pageRef": "/services",
"weight": 10
},
{
"name": "About",
"pageRef": "/about",
"weight": 20
},
{
"name": "Contact",
"pageRef": "/contact",
"weight": 30
}
]
}
}
To sort the entries by name in descending order:
<ul>
{{ range .Site.Menus.main.ByName.Reverse }}
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
Hugo renders this to:
<ul>
<li><a href="/services/">Services</a></li>
<li><a href="/contact">Contact</a></li>
<li><a href="/about/">About</a></li>
</ul>