layouts/partials/navbar.html (168 lines of code) (raw):
{{ $cover := .HasShortcode "blocks/cover" }}
<nav
class="js-navbar-scroll navbar navbar-expand navbar-link {{ if $cover}} {{ end }} flex-column flex-md-row td-navbar navbar-parent"
data-auto-burger="primary">
<div class="container-navbar">
<a class="navbar-brand" href="{{ .Site.Home.RelPermalink }}"> <span class="navbar-logo">{{ if
.Site.Params.ui.navbar_logo }}{{ with resources.Get "icons/logo.svg" }}{{ ( . | minify).Content |
safeHTML }}{{ end }}{{ end }}</span><span class="text-uppercase font-weight-bold">{{ .Site.Title
}}</span>
</a>
<div class="td-navbar-nav-scroll menu_navbar_list" id="main_navbar">
<ul class="navbar-nav mt-2 mt-lg-0 ">
{{ $p := . }}
{{ $insertDone := false }}
{{ with .Site.Menus.main }}
{{ range . }}
<li class="nav-item nav-item-line px-2 mb-2 mb-lg-0">
{{ $active := or ($p.IsMenuCurrent "main" .) ($p.HasMenuCurrent "main" .) }}
{{ with .Page }}
{{ $active = or $active ( $.IsDescendant .) }}
{{ end }}
{{ $pre := .Pre }}
{{ $post := .Post }}
{{ $url := urls.Parse .URL }}
{{ $baseurl := urls.Parse $.Site.Params.Baseurl }}
<a class="nav-link{{if $active }} active{{end}}"
href="{{ with .Page }}{{ .RelPermalink }}{{ else }}{{ .URL | relLangURL }}{{ end }}" {{ if ne $url.Host
$baseurl.Host }}target="_blank" {{ end }}>
{{ with .Pre }}{{ $pre }}{{ end }}
<span{{if $active }} class="active mr-1" {{ end }}>{{ .Name }}</span>
{{ with .Post }}{{ $post }}{{ end }}
</a>
</li>
{{ if not $insertDone }}
<!-- 插入的部分 -->
<li class="nav-item dropdown d-lg-block community_after ">
{{ partial "navbar-community-selector.html" $p }}
</li>
{{ $insertDone = true }}
{{ end }}
{{ end }}
{{ end }}
{{ if .Site.Params.versions }}
<li class="nav-item dropdown mx-2 d-none d-lg-block">
{{ partial "navbar-version-selector.html" . }}
</li>
{{ end }}
<li class="nav-item dropdown d-lg-block">
{{ partial "navbar-ecosystem-selector.html" . }}
</li>
</ul>
</div>
<div class="td-navbar-nav-scroll menu_navbar_language_change">
<ul class="navbar-nav mt-2 mt-lg-0 language_change_btn_pc">
{{ if (gt (len .Site.Home.Translations) 0) }}
<li class="nav-item d-lg-block">
{{ partial "navbar-lang-selector.html" . }}
</li>
{{ end }}
<li class="nav-item d-lg-block">
<div class="nav-item d-none d-lg-block">{{ partial "search-input.html" . }}</div>
</li>
</ul>
<ul class="navbar-nav mt-lg-0 language_change_btn_mobile">
<button type="button" data-toggle="collapse" data-target="#main_navbar" aria-controls="main_navbar"
aria-expanded="false" aria-label="Toggle navigation" style="border: 0px;margin-right: 16px;">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-menu-app"
viewBox="0 0 16 16">
<path
d="M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5" />
</svg>
</button>
{{ if (gt (len .Translations) 0) }}
<li class="nav-item d-lg-block" style="background-color: #DDDEE4; ">
<div class="nav-tabs" id="languageTab" role="tablist">
{{ range .Translations }}
<a class="nav-item nav-link" href="{{ .RelPermalink }}" role="tab" style="padding:4px;">
{{ .Language.LanguageName }}
</a>
{{ end }}
</div>
</li>
{{ end }}
<li class="nav-item">
<div class="nav-item d-block">{{ partial "search-input.html" . }}</div>
</li>
</ul>
<a class="btn btn-dark ml-2 github-btn"
href="https://github.com/apache/dubbo/">GITHUB</a>
</div>
</div>
</nav>
<div class="collapse navbar-collapse mobile_navbar_menu" id="main_navbar">
{{ partial "navbar-menu-list-mobile.html" . }}
</div>
<style>
.navbar-parent {
justify-content: center;
background-color: #F4F4F6 !important;
}
.container-navbar {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
@media only screen and (min-width: 768px) {
width: 85.125rem;
}
}
.github-btn {
width: 120px;
height: 40px;
border-radius: 32px;
padding-top: 11px;
color: #F4F4F6;
font-size: 12px;
line-height: 16px;
font-weight: normal;
display: none;
@media only screen and (min-width: 768px) {
display: inline-block;
}
}
.menu_navbar_list {
display: none;
@media only screen and (min-width: 768px) {
display: flex;
}
}
.menu_navbar_language_change {
.language_change_btn_pc {
display: none;
}
.language_change_btn_mobile {
display: flex;
}
@media only screen and (min-width: 768px) {
.language_change_btn_mobile {
display: none;
}
.language_change_btn_pc {
display: flex;
}
}
}
.community_after {
position: relative;
padding-right: 8px;
}
.community_after::after {
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 100%;
width: 1px;
height: 16px;
background-color: #8FA8A6;
}
.mobile_navbar_menu {
top: 64px;
position: fixed;
z-index: 99999999;
background: #F4F4F6;
width: 100vw;
padding-left: 20px;
padding-bottom: 20px;
}
</style>