<liclass="{{ if $currentPage.HasMenuCurrent "main".}}active{{end}}">
<ahref="#">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</li>
<ulclass="sub-menu">
{{ range .Children }}
<liclass="{{ if $currentPage.IsMenuCurrent "main".}}active{{end}}">
<ahref="{{ .URL }}">{{ .Name }}</a>
</li>
{{ end }}
</ul>
{{ else }}
<li>
<ahref="{{ .URL }}">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</li>
{{ end }}
{{ end }}
<li>
<ahref="#"target="_blank">Hardcoded Link 1</a>
</li>
<li>
<ahref="#"target="_blank">Hardcoded Link 2</a>
</li>
</ul>
</aside>
{{</code>}}
{{% note "`absLangURL` and `relLangURL`" %}}
Use the [`absLangURL`](/functions/abslangurl) or [`relLangURL`](/functions/rellangurl) functions if your theme makes use of the [multilingual feature](/content-management/multilingual/). In contrast to `absURL` and `relURL`, these two functions add the correct language prefix to the url.
{{% /note %}}
## Section Menu for Lazy Bloggers
To enable this menu, configure `sectionPagesMenu` in your site `config`:
This will create a menu with all the sections as menu items and all the sections' pages as "shadow-members". Ensure that all first level directories that you would like to show up on this menu are [Branch Bundles](https://gohugo.io/content-management/sections/). Leaf Bundles do not form sections.
The _shadow_ implies that the pages isn't represented by a menu-item themselves, but this enables you to create a top-level menu like this:
<aclass="sidebar-nav-item{{if or ($currentPage.IsMenuCurrent "main".)($currentPage.HasMenuCurrent"main".)}}active{{end}}"href="{{ .URL }}"title="{{ .Title }}">{{ .Name }}</a>
{{ end }}
</nav>
```
In the above, the menu item is marked as active if on the current section's list page or on a page in that section.
## Site Config menus
The above is all that's needed. But if you want custom menu items, e.g. changing weight, name, or link title attribute, you can define them manually in the site config file:
{{<code-togglefile="config">}}
[[menu.main]]
name = "This is the blog section"
title = "blog section"
weight = -110
identifier = "blog"
url = "/blog/"
{{</code-toggle>}}
{{% note %}}
The `identifier`*must* match the section name.
{{% /note %}}
## Menu Entries from the Page's front matter
It's also possible to create menu entries from the page (i.e. the `.md`-file).
<ahref="{{ .URL }}"title="{{ .Title }}"class="{{ with .Params.class }}{{ . }}{{ end }}">
{{- .Name -}}
</a>
{{ end }}
</nav>
```
{{% note %}}
With Menu-level .Params they can easily exist on one menu item but not another. It's recommended to access them gracefully using the [with function](/functions/with).