2020-06-15 19:09:57 +00:00
{{/* We cache this partial for bigger sites and set the active class client side. */}}
2021-06-21 01:10:36 +00:00
{{ $sidebarCacheLimit := cond (isset .Site.Params.ui "sidebar_cache_limit") .Site.Params.ui.sidebar_cache_limit 2000 }}
{{ $shouldDelayActive := ge (len .Site.Pages) $sidebarCacheLimit }}
2020-06-15 19:09:57 +00:00
< div id = "td-sidebar-menu" class = "td-sidebar__inner{{ if $shouldDelayActive }} d-none{{ end }}" >
{{ if not .Site.Params.ui.sidebar_search_disable }}
< form class = "td-sidebar__search d-flex align-items-center" >
{{ partial "search-input.html" . }}
< button class = "btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type = "button" data-toggle = "collapse" data-target = "#td-section-nav" aria-controls = "td-docs-nav" aria-expanded = "false" aria-label = "Toggle section navigation" >
< / button >
< / form >
2021-06-21 01:10:36 +00:00
{{ else }}
< div id = "content-mobile" >
< form class = "td-sidebar__search d-flex align-items-center" >
{{ partial "search-input.html" . }}
< button class = "btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type = "button" data-toggle = "collapse" data-target = "#td-section-nav" aria-controls = "td-docs-nav" aria-expanded = "false" aria-label = "Toggle section navigation" >
< / button >
< / form >
< / div >
< div id = "content-desktop" > < / div >
2020-06-15 19:09:57 +00:00
{{ end }}
2021-06-21 01:10:36 +00:00
< nav class = "collapse td-sidebar-nav{{ if .Site.Params.ui.sidebar_menu_foldable }} foldable-nav{{ end }}" id = "td-section-nav" >
2020-06-15 19:09:57 +00:00
<!-- {{ if (gt (len .Site.Home.Translations) 0) }}
< div class = "nav-item dropdown d-block d-lg-none" >
{{ partial "navbar-lang-selector.html" . }}
< / div >
{{ end }} -->
2021-06-21 01:10:36 +00:00
<!-- {{ $navRoot := cond (and (ne .Params.toc_root true) (eq .Site.Home.Type "docs")) .Site.Home .FirstSection }} -->
{{ $ulNr := 0 }}
{{ $ulShow := cond (isset .Site.Params.ui "ul_show") .Site.Params.ui.ul_show 1 }}
{{ $sidebarMenuTruncate := cond (isset .Site.Params.ui "sidebar_menu_truncate") .Site.Params.ui.sidebar_menu_truncate 50 }}
2020-06-15 19:09:57 +00:00
{{ $currentLang := .Site.Language }}
2021-06-21 01:10:36 +00:00
< ul class = "td-sidebar-nav__section pr-md-3 ul-{{ $ulNr }}" >
2021-06-25 08:50:53 +00:00
{{ template "section-tree-nav-section" (dict "page" . "section" .FirstSection "shouldDelayActive" $shouldDelayActive "sidebarMenuTruncate" $sidebarMenuTruncate "ulNr" $ulNr "ulShow" (add $ulShow 1) "currentLang" $currentLang) }}
2021-06-21 01:10:36 +00:00
< / ul >
2020-06-15 19:09:57 +00:00
< / nav >
< / div >
{{ define "section-tree-nav-section" }}
2021-06-21 01:10:36 +00:00
{{ $s := .section }}
{{ $p := .page }}
{{ $shouldDelayActive := .shouldDelayActive }}
{{ $sidebarMenuTruncate := .sidebarMenuTruncate }}
{{ $treeRoot := cond (eq .ulNr 0) true false }}
{{ $ulNr := .ulNr }}
{{ $ulShow := .ulShow }}
{{ $active := and (not $shouldDelayActive) (eq $s $p) }}
{{ $activePath := and (not $shouldDelayActive) ($p.IsDescendant $s) }}
{{ $show := cond (or (lt $ulNr $ulShow) $activePath (and (not $shouldDelayActive) (eq $s.Parent $p.Parent)) (and (not $shouldDelayActive) (eq $s.Parent $p)) (and (not $shouldDelayActive) ($p.IsDescendant $s.Parent))) true false }}
{{ $mid := printf "m-%s" ($s.RelPermalink | anchorize) }}
{{ $pages_tmp := where (union $s.Pages $s.Sections).ByWeight ".Params.toc_hide" "!=" true }}
{{ $pages := $pages_tmp | first $sidebarMenuTruncate }}
{{ $withChild := gt (len $pages) 0 }}
{{ $manualLink := cond (isset $s.Params "manuallink") $s.Params.manualLink ( cond (isset $s.Params "manuallinkrelref") (relref $s $s.Params.manualLinkRelref) $s.RelPermalink) }}
{{ $manualLinkTitle := cond (isset $s.Params "manuallinktitle") $s.Params.manualLinkTitle $s.Title }}
< li class = "td-sidebar-nav__section-title td-sidebar-nav__section{{ if $withChild }} with-child{{ else }} without-child{{ end }}{{ if $activePath }} active-path{{ end }}{{ if (not (or $show $p.Site.Params.ui.sidebar_menu_foldable )) }} collapse{{ end }}" id = "{{ $mid }}-li" >
{{ if (and $p.Site.Params.ui.sidebar_menu_foldable (ge $ulNr 1)) }}
< input type = "checkbox" id = "{{ $mid }}-check" { { if $ activePath } } checked { { end } } / >
< label for = "{{ $mid }}-check" > < a href = "{{ $manualLink }}" { { if ne $ s . LinkTitle $ manualLinkTitle } } title = "{{ $manualLinkTitle }}" { { end } } { { with $ s . Params . manualLinkTarget } } target = "{{ . }}" { { if eq . " _blank " } } rel = "noopener" { { end } } { { end } } class = "align-left pl-0 {{ if $active}} active{{ end }} td-sidebar-link{{ if $s.IsPage }} td-sidebar-link__page{{ else }} td-sidebar-link__section{{ end }}{{ if $treeRoot }} tree-root{{ end }}" id = "{{ $mid }}" > {{ with $s.Params.Icon}}< i class = "{{ . }}" > < / i > {{ end }}< span class = "{{ if $active }}td-sidebar-nav-active-item{{ end }}" > {{ $s.LinkTitle }}< / span > < / a > < / label >
{{ else }}
2021-06-25 08:50:53 +00:00
{{ if not $treeRoot }}
< a href = "{{ $manualLink }}" { { if ne $ s . LinkTitle $ manualLinkTitle } } title = "{{ $manualLinkTitle }}" { { end } } { { with $ s . Params . manualLinkTarget } } target = "{{ . }}" { { if eq . " _blank " } } rel = "noopener" { { end } } { { end } } class = "align-left pl-0{{ if $active}} active{{ end }} td-sidebar-link{{ if $s.IsPage }} td-sidebar-link__page{{ else }} td-sidebar-link__section{{ end }}" id = "{{ $mid }}" > {{ with $s.Params.Icon}}< i class = "{{ . }}" > < / i > {{ end }}< span class = "{{ if $active }}td-sidebar-nav-active-item{{ end }}" > {{ $s.LinkTitle }}< / span > < / a >
{{ end }}
2021-06-21 01:10:36 +00:00
{{ end }}
{{if $withChild }}
{{ $ulNr := add $ulNr 1 }}
< ul class = "ul-{{ $ulNr }}{{ if (gt $ulNr 1)}} foldable{{end}}" >
{{ $pages := where (union $s.Pages $s.Sections).ByWeight ".Params.toc_hide" "!=" true }}
{{ with site.Params.language_alternatives }}
{{ range . }}
{{ with (where $.section.Translations ".Lang" . ) }}
{{ $p := index . 0 }}
{{ $pages = $pages | lang.Merge (union $p.Pages $p.Sections) }}
{{ end }}
2020-06-15 19:09:57 +00:00
{{ end }}
{{ end }}
2021-06-21 01:10:36 +00:00
{{ $pages := $pages | first 50 }}
{{ range $pages }}
{{ if (not (and (eq $s $p.Site.Home) (eq .Params.toc_root true)) ) }}
{{ $mid := printf "m-%s" (.RelPermalink | anchorize) }}
{{ $active := eq . $p }}
{{ $isForeignLanguage := (ne (string .Lang) (string $.currentLang)) }}
{{ if (and $isForeignLanguage ($p.IsDescendant $s)) }}
< a class = "td-sidebar-link td-sidebar-link__page {{ if and (not $shouldDelayActive) $active }} active{{ end }}" id = "{{ $mid }}" { { if $ isForeignLanguage } } target = "_blank" { { end } } href = "{{ .RelPermalink }}" >
{{ .LinkTitle }}{{ if $isForeignLanguage }} < small > ({{ .Lang | upper }})< / small > {{ end }}
< / a >
{{ else }}
{{ template "section-tree-nav-section" (dict "page" $p "section" . "currentLang" $.currentLang "shouldDelayActive" $shouldDelayActive "sidebarMenuTruncate" $sidebarMenuTruncate "ulNr" $ulNr "ulShow" $ulShow) }}
{{ end }}
{{ end }}
2020-06-15 19:09:57 +00:00
{{ end }}
2021-06-21 01:10:36 +00:00
< / ul >
{{ end }}
< / li >
2020-06-15 19:09:57 +00:00
{{ end }}