diff options
Diffstat (limited to 'layouts/partials/navmenu.html')
| -rw-r--r-- | layouts/partials/navmenu.html | 58 |
1 files changed, 31 insertions, 27 deletions
diff --git a/layouts/partials/navmenu.html b/layouts/partials/navmenu.html index 05fd64f..91e53b3 100644 --- a/layouts/partials/navmenu.html +++ b/layouts/partials/navmenu.html @@ -1,45 +1,49 @@ {{- /* +Simplified version of the `hugo new template` menu.html default Renders a menu for the given menu ID. -@context {page} page The current page. -@context {string} menuID The menu ID. +@context {page} page: The current page. +@context {string} menuID: The menu ID. @example: {{ partial "navmenu.html" (dict "menuID" "main" "page" .) }} */}} -{{- $page := .page }} +{{- $currentPage := .page }} {{- $menuID := .menuID }} {{- with index site.Menus $menuID }} - <nav role="navigation" aria-label="{{ i18n "mainNavigation" | default "Main navigation" }}"> - <ul> - {{ range . }} - {{- $attrs := dict "href" .URL }} - {{- if $page.IsMenuCurrent .Menu . }} - {{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }} - {{- else if $page.HasMenuCurrent .Menu .}} - {{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }} - {{- end }} - {{- $name := .Name }} +<nav role="navigation" aria-label="{{ lang.Translate "header.navmenu" | default "Site navigation" }}" class="header__navigation"> + <ul class="header__navigation-list"> + {{- range . }} + {{- $isCurrentPage := $currentPage.IsMenuCurrent .Menu . }} + {{- $isAncestorPage := $currentPage.HasMenuCurrent .Menu . }} + {{- $isActive := or $isCurrentPage $isAncestorPage }} + {{- $menuItemName := .Name }} + + {{- $attrs := dict "href" .URL }} + {{- if $currentPage.IsMenuCurrent .Menu . }} + {{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }} + {{- else if $currentPage.HasMenuCurrent .Menu .}} + {{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }} + {{- end }} + <!-- Translations --> {{- with .Identifier }} - {{- with T . }} - {{- $name = . }} + {{- with lang.Translate . }} + {{- $menuItemName = . }} {{- end }} {{- end }} - <li> + + <li class="header__navigation--list-item"> <a - {{- range $k, $v := $attrs }} - {{- with $v }} - {{- printf " %s=%q" $k $v | safeHTMLAttr }} - {{- end }} - {{- end -}} + href="{{ .URL }}" + class="header__navigation-link{{ if $isActive }} header__navigation-link--active{{ end }}" + aria-current="{{ if $isCurrentPage }}page{{ else if $isAncestorPage }}true{{ end }}" > - {{ $name }} + {{ $menuItemName }} </a> </li> - {{- end }} - </ul> - </nav> -{{- end }} - + {{- end }} + </ul> +</nav> +{{- end -}} |
