navbar.html 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. {{ $cover := and
  2. (.HasShortcode "blocks/cover")
  3. (not .Site.Params.ui.navbar_translucent_over_cover_disable)
  4. -}}
  5. {{ $baseURL := urls.Parse $.Site.Params.Baseurl -}}
  6. <nav class="td-navbar js-navbar-scroll
  7. {{- if $cover }} td-navbar-cover {{- end }}" data-bs-theme="dark">
  8. <div class="container-fluid flex-column flex-md-row">
  9. <a class="navbar-brand" href="{{ .Site.Home.RelPermalink }}">
  10. {{- /**/ -}}
  11. <span class="navbar-brand__logo navbar-logo">
  12. {{- if ne .Site.Params.ui.navbar_logo false -}}
  13. {{ with resources.Get "icons/logo.svg" -}}
  14. {{ ( . | minify).Content | safeHTML -}}
  15. {{ end -}}
  16. {{ end -}}
  17. </span>
  18. {{- /**/ -}}
  19. <span class="navbar-brand__name">
  20. {{- .Site.Title -}}
  21. </span>
  22. {{- /**/ -}}
  23. </a>
  24. <div class="td-navbar-nav-scroll ms-md-auto" id="main_navbar">
  25. <ul class="navbar-nav">
  26. {{ $p := . -}}
  27. {{ range .Site.Menus.main -}}
  28. <li class="nav-item">
  29. {{ $active := or ($p.IsMenuCurrent "main" .) ($p.HasMenuCurrent "main" .) -}}
  30. {{ $href := "" -}}
  31. {{ with .Page -}}
  32. {{ $active = or $active ( $.IsDescendant .) -}}
  33. {{ $href = .RelPermalink -}}
  34. {{ else -}}
  35. {{ $href = .URL | relLangURL -}}
  36. {{ end -}}
  37. {{ $isExternal := ne $baseURL.Host (urls.Parse .URL).Host -}}
  38. <a {{/**/ -}}
  39. class="nav-link {{- if $active }} active {{- end }}" {{/**/ -}}
  40. href="{{ $href }}"
  41. {{- if $isExternal }} target="_blank" rel="noopener" {{- end -}}
  42. >
  43. {{- .Pre -}}
  44. <span>{{ .Name }}</span>
  45. {{- .Post -}}
  46. </a>
  47. </li>
  48. {{ end -}}
  49. {{ if .Site.Params.versions -}}
  50. <li class="nav-item dropdown d-none d-lg-block">
  51. {{ partial "navbar-version-selector.html" . -}}
  52. </li>
  53. {{ end -}}
  54. {{ if (gt (len .Site.Home.Translations) 0) -}}
  55. <li class="nav-item dropdown d-none d-lg-block">
  56. {{ partial "navbar-lang-selector.html" . -}}
  57. </li>
  58. {{ end -}}
  59. {{ if .Site.Params.ui.showLightDarkModeMenu -}}
  60. <li class="td-light-dark-menu nav-item dropdown">
  61. {{ partial "theme-toggler" . }}
  62. </li>
  63. {{ end -}}
  64. </ul>
  65. </div>
  66. <div class="d-none d-lg-block">
  67. {{ partial "search-input.html" . }}
  68. </div>
  69. </div>
  70. </nav>