matrix-spec/layouts/partials/navbar.html
2022-06-16 01:57:44 +01:00

78 lines
2.4 KiB
HTML

{{/*
A version of the navbar.html partial in Docsy, only modified
to include the spec version, which is calculated using an
inline `version-string` partial.
*/}}
{{ $cover := .HasShortcode "blocks/cover" }}
<nav class="js-navbar-scroll navbar navbar-expand navbar-light {{ if $cover}} td-navbar-cover {{ end }}flex-column flex-md-row td-navbar">
<span class="navbar-brand">
<a href="{{ .Site.Home.RelPermalink }}">
<span class="navbar-logo">{{ with resources.Get "icons/logo.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }}</span><span class="font-weight-bold">specification</span></a><span class="navbar-version"> &mdash; {{ partial "version-selector" . }}</span>
</span>
<div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar">
<ul class="navbar-nav mt-2 mt-lg-0">
<li class="nav-item mr-4 mb-2 mb-lg-0"><a href="https://matrix.org/foundation/">Foundation</a>
</li>
<li class="nav-item mr-4 mb-2 mb-lg-0"><a href="https://matrix.org/faq/">FAQs</a>
</li>
<li class="nav-item mr-4 mb-2 mb-lg-0"><a href="https://matrix.org/blog/posts">Blog</a>
</li>
{{ 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 class="navbar-nav d-none d-lg-block">{{ partial "search-input.html" . }}</div>
</nav>
{{ define "partials/version-selector" }}
{{ $version := .Site.Params.version }}
{{ $current := partial "current-version-short" . }}
<noscript>{{ partial "current-version-long" . }}</noscript>
<select id="version-selector">
{{ range $version.history }}
{{ if eq . $current }}
<option selected>{{ . }}</option>
{{ else }}
<option>{{ . }}</option>
{{ end }}
{{ end }}
</select>
{{ end }}
{{ define "partials/current-version-long" }}
{{ if eq .Site.Params.version.status "unstable" }}
unstable version
{{ else }}
version {{ partial "current-version-short" . }}
{{ end }}
{{ end }}
{{ define "partials/current-version-short" }}
{{ $ret := "unstable"}}
{{ if ne .Site.Params.version.status "unstable"}}
{{/* produces a string similar to "version v1.5" */}}
{{ $ret = delimit (slice "v" .Site.Params.version.major "." .Site.Params.version.minor) "" }}
{{ end }}
{{ return $ret }}
{{ end }}