github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/themes/docsy/layouts/partials/sidebar-tree.html (about) 1 {{/* We cache this partial for bigger sites and set the active class client side. */}} 2 {{ $sidebarCacheLimit := cond (isset .Site.Params.ui "sidebar_cache_limit") .Site.Params.ui.sidebar_cache_limit 2000 -}} 3 {{ $shouldDelayActive := ge (len .Site.Pages) $sidebarCacheLimit -}} 4 <div id="td-sidebar-menu" class="td-sidebar__inner{{ if $shouldDelayActive }} d-none{{ end }}"> 5 {{ if not .Site.Params.ui.sidebar_search_disable -}} 6 <form class="td-sidebar__search d-flex align-items-center"> 7 {{ partial "search-input.html" . }} 8 <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"> 9 </button> 10 </form> 11 {{ else -}} 12 <div id="content-mobile"> 13 <form class="td-sidebar__search d-flex align-items-center"> 14 {{ partial "search-input.html" . }} 15 <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"> 16 </button> 17 </form> 18 </div> 19 <div id="content-desktop"></div> 20 {{ end -}} 21 <nav class="collapse td-sidebar-nav{{ if .Site.Params.ui.sidebar_menu_foldable }} foldable-nav{{ end }}" id="td-section-nav"> 22 {{ if (gt (len .Site.Home.Translations) 0) -}} 23 <div class="nav-item dropdown d-block d-lg-none"> 24 {{ partial "navbar-lang-selector.html" . }} 25 </div> 26 {{ end -}} 27 {{ $navRoot := cond (and (ne .Params.toc_root true) (eq .Site.Home.Type "docs")) .Site.Home .FirstSection -}} 28 {{ $ulNr := 0 -}} 29 {{ $ulShow := cond (isset .Site.Params.ui "ul_show") .Site.Params.ui.ul_show 1 -}} 30 {{ $sidebarMenuTruncate := cond (isset .Site.Params.ui "sidebar_menu_truncate") .Site.Params.ui.sidebar_menu_truncate 50 -}} 31 <ul class="td-sidebar-nav__section pr-md-3 ul-{{ $ulNr }}"> 32 {{ template "section-tree-nav-section" (dict "page" . "section" $navRoot "shouldDelayActive" $shouldDelayActive "sidebarMenuTruncate" $sidebarMenuTruncate "ulNr" $ulNr "ulShow" (add $ulShow 1)) }} 33 </ul> 34 </nav> 35 </div> 36 {{ define "section-tree-nav-section" -}} 37 {{ $s := .section -}} 38 {{ $p := .page -}} 39 {{ $shouldDelayActive := .shouldDelayActive -}} 40 {{ $sidebarMenuTruncate := .sidebarMenuTruncate -}} 41 {{ $treeRoot := cond (eq .ulNr 0) true false -}} 42 {{ $ulNr := .ulNr -}} 43 {{ $ulShow := .ulShow -}} 44 {{ $active := and (not $shouldDelayActive) (eq $s $p) -}} 45 {{ $activePath := and (not $shouldDelayActive) ($p.IsDescendant $s) -}} 46 {{ $show := cond (or (lt $ulNr $ulShow) $activePath (and (not $shouldDelayActive) (eq $s.Parent $p.Parent)) (and (not $shouldDelayActive) (eq $s.Parent $p)) (not $p.Site.Params.ui.sidebar_menu_compact) (and (not $shouldDelayActive) ($p.IsDescendant $s.Parent))) true false -}} 47 {{ $mid := printf "m-%s" ($s.RelPermalink | anchorize) -}} 48 {{ $pages_tmp := where (union $s.Pages $s.Sections).ByWeight ".Params.toc_hide" "!=" true -}} 49 {{ $pages := $pages_tmp | first $sidebarMenuTruncate -}} 50 {{ $withChild := gt (len $pages) 0 -}} 51 {{ $manualLink := cond (isset $s.Params "manuallink") $s.Params.manualLink ( cond (isset $s.Params "manuallinkrelref") (relref $s $s.Params.manualLinkRelref) $s.RelPermalink) -}} 52 {{ $manualLinkTitle := cond (isset $s.Params "manuallinktitle") $s.Params.manualLinkTitle $s.Title -}} 53 <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"> 54 {{ if (and $p.Site.Params.ui.sidebar_menu_foldable (ge $ulNr 1)) -}} 55 <input type="checkbox" id="{{ $mid }}-check"{{ if $activePath}} checked{{ end }}/> 56 <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> 57 {{ else -}} 58 <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> 59 {{- end }} 60 {{- if $withChild }} 61 {{- $ulNr := add $ulNr 1 }} 62 <ul class="ul-{{ $ulNr }}{{ if (gt $ulNr 1)}} foldable{{end}}"> 63 {{ range $pages -}} 64 {{ if (not (and (eq $s $p.Site.Home) (eq .Params.toc_root true))) -}} 65 {{ template "section-tree-nav-section" (dict "page" $p "section" . "shouldDelayActive" $shouldDelayActive "sidebarMenuTruncate" $sidebarMenuTruncate "ulNr" $ulNr "ulShow" $ulShow) }} 66 {{- end }} 67 {{- end }} 68 </ul> 69 {{- end }} 70 </li> 71 {{- end }}