Params
Syntax
MENUENTRY.Params
Returns
maps.Params
When you define menu entries in site configuration or in front matter, you can include a params
key to attach additional information to the entry. For example:
hugo.
menus:
main:
- name: About
pageRef: /about
weight: 10
- name: Contact
pageRef: /contact
weight: 20
- name: Hugo
params:
rel: external
url: https://gohugo.io
weight: 30
[menus]
[[menus.main]]
name = 'About'
pageRef = '/about'
weight = 10
[[menus.main]]
name = 'Contact'
pageRef = '/contact'
weight = 20
[[menus.main]]
name = 'Hugo'
url = 'https://gohugo.io'
weight = 30
[menus.main.params]
rel = 'external'
{
"menus": {
"main": [
{
"name": "About",
"pageRef": "/about",
"weight": 10
},
{
"name": "Contact",
"pageRef": "/contact",
"weight": 20
},
{
"name": "Hugo",
"params": {
"rel": "external"
},
"url": "https://gohugo.io",
"weight": 30
}
]
}
}
With this template:
<ul>
{{ range .Site.Menus.main }}
<li>
<a href="{{ .URL }}" {{ with .Params.rel }}rel="{{ . }}"{{ end }}>
{{ .Name }}
</a>
</li>
{{ end }}
</ul>
Hugo renders:
<ul>
<li><a href="/about/">About</a></li>
<li><a href="/contact/">Contact</a></li>
<li><a href="https://gohugo.io" rel="external">Hugo</a></li>
</ul>
See the menu templates section for more information.