layouts/partials/navbar.html (72 lines of code) (raw):

{{ $cover := and (.HasShortcode "blocks/cover") (not .Site.Params.ui.navbar_translucent_over_cover_disable) -}} {{ $baseURL := urls.Parse $.Site.Params.Baseurl -}} <nav class="td-navbar js-navbar-scroll {{- if $cover }} td-navbar-cover {{- end }}" data-bs-theme="dark"> <div class="container-fluid flex-column flex-md-row"> <a class="navbar-brand" href="{{ .Site.Home.RelPermalink }}"> {{- /**/ -}} <span class="navbar-brand__logo navbar-logo"> {{- if ne .Site.Params.ui.navbar_logo false -}} {{ with resources.Get "icons/logo.svg" -}} {{ (. | minify).Content | safeHTML -}} {{ end -}} {{ end -}} </span> {{- /**/ -}} <span class="navbar-brand__name"> {{- .Site.Title -}} </span> {{- /**/ -}} </a> <div class="td-navbar-nav-scroll ms-md-auto" id="main_navbar"> <ul class="navbar-nav"> {{ $p := . -}} {{ range .Site.Menus.main }} {{ $hasChildren := .HasChildren -}} <!-- Check if this menu item has children --> <li class="nav-item {{ if $hasChildren }}dropdown{{ end }}"> {{ $active := or ($p.IsMenuCurrent "main" .) ($p.HasMenuCurrent "main" .) -}} {{ $href := "" -}} {{ with .Page -}} {{ $active = or $active ($.IsDescendant .) -}} {{ $href = .RelPermalink -}} {{ else -}} {{ $href = .URL | relLangURL -}} {{ end -}} {{ $isExternal := ne $baseURL.Host (urls.Parse .URL).Host -}} <a {{ if $hasChildren }}class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"{{ else }}class="nav-link{{ if $active }} active{{ end }}"{{ end }} href="{{ if not $hasChildren }}{{ $href }}{{ end }}" {{- if $isExternal }} target="_blank" rel="noopener" {{- end -}} > <span>{{ .Name }}</span> </a> {{ if $hasChildren }} <ul class="dropdown-menu"> {{ range .Children }} <li> <a class="dropdown-item" href="{{ .URL | relLangURL }}"> {{ .Name }} </a> </li> {{ end }} </ul> {{ end }} </li> {{ end }} <!-- Additional items (e.g., version, language selectors) --> {{ if .Site.Params.versions -}} <li class="nav-item dropdown d-none d-lg-block"> {{ partial "navbar-version-selector.html" . -}} </li> {{ end -}} {{ if (gt (len .Site.Home.Translations) 0) -}} <li class="nav-item dropdown d-none d-lg-block"> {{ partial "navbar-lang-selector.html" . -}} </li> {{ end -}} </ul> </div> </div> </nav>