hugo/docs/content/en/methods/menu/ByName.md
Bjørn Erik Pedersen 5fd1e74903
Merge commit '9b0050e9aabe4be65c78ccf292a348f309d50ccd' as 'docs'
```
git subtree add --prefix=docs/ https://github.com/gohugoio/hugoDocs.git master --squash
```

Closes #11925
2024-01-27 10:48:57 +01:00

1.3 KiB

title description categories keywords action
ByName Returns the given menu with its entries sorted by name.
related returnType signatures
navigation.Menu
MENU.ByName

The Sort method returns the given menu with its entries sorted by name.

Consider this menu definition:

{{< code-toggle file=hugo >}} menus.main name = 'Services' pageRef = '/services' weight = 10

menus.main name = 'About' pageRef = '/about' weight = 20

menus.main name = 'Contact' pageRef = '/contact' weight = 30 {{< /code-toggle >}}

To sort the entries by name:

<ul>
  {{ range .Site.Menus.main.ByName }}
    <li><a href="{{ .URL }}">{{ .Name }}</a></li>
  {{ end }}
</ul>

Hugo renders this to:

<ul>
  <li><a href="/about/">About</a></li>
  <li><a href="/contact">Contact</a></li>
  <li><a href="/services/">Services</a></li>
</ul>

You can also sort menu entries using the sort function. For example, to sort by name in descending order:

<ul>
  {{ range sort .Site.Menus.main "Name" "desc" }}
    <li><a href="{{ .URL }}">{{ .Name }}</a></li>
  {{ end }}
</ul>

When using the sort function with menu entries, specify any of the following keys: Identifier, Name, Parent, Post, Pre, Title, URL, or Weight.