2021-01-13 00:31:01 +01:00
{{/*
2021-01-13 05:45:24 +01:00
A version of the sidebar-tree.html partial in Docsy, with a few small
modifications:
2021-01-13 00:31:01 +01:00
* include `div#toc` for the ToC
* start the sidebar at the root (homepage) since for us that is the Matrix
overview page
* omit module pages, which we don't want to be directly accessible
(we only use them as raw material for the client-server spec)
*/}}
{{/* We cache this partial for bigger sites and set the active class client side. */}}
{{ $shouldDelayActive := ge (len .Site.Pages) 2000 }}
< div id = "td-sidebar-menu" class = "td-sidebar__inner{{ if $shouldDelayActive }} d-none{{ end }}" >
< 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 >
< nav class = "collapse td-sidebar-nav" id = "td-section-nav" >
{{ template "section-tree-nav-section" (dict "page" . "section" .Site.Home.CurrentSection "delayActive" $shouldDelayActive "indent" 0) }}
< hr / >
< div id = "toc" > < / div >
< / nav >
< / div >
{{ define "section-tree-nav-section" }}
{{ $s := .section }}
{{ $p := .page }}
{{ $shouldDelayActive := .delayActive }}
{{ $indent := .indent }}
{{ $active := eq $p.RelPermalink $s.RelPermalink }}
{{ $show := or ($p.IsAncestor $s) ($p.IsDescendant $s) }}
{{ $sid := $s.RelPermalink | anchorize }}
< ul class = "td-sidebar-nav__section pr-md-3" >
< li class = "td-sidebar-nav__section-title" >
< a href = "{{ $s.RelPermalink }}" class = "align-left pl-0 pr-2{{ if not $show }} collapsed{{ end }}{{ if $active}} active{{ end }} td-sidebar-link td-sidebar-link__section indent-{{$indent}}" > {{ $s.LinkTitle }}< / a >
{{ $pages := where (union $s.Pages $s.Sections).ByWeight ".Params.toc_hide" "!=" true }}
{{ $pages = where $pages "Type" "!=" "module"}}
{{ $pages := $pages | first 50 }}
{{ if gt (len $pages) 0 }}
< ul >
{{ range $pages }}
{{ if .IsPage }}
{{ $mid := printf "m-%s" (.RelPermalink | anchorize) }}
{{ $active := eq . $p }}
< li class = "collapse {{ if $show }}show{{ end }}" id = "{{ $sid }}" >
< a class = "td-sidebar-link td-sidebar-link__page {{ if and (not $shouldDelayActive) $active }} active{{ end }} indent-{{add $indent 1}}" id = "{{ $mid }}" href = "{{ .RelPermalink }}" > {{ .LinkTitle }}< / a >
< / li >
{{ else }}
{{ $indent := add $indent 1 }}
{{ template "section-tree-nav-section" (dict "page" $p "section" . "indent" $indent) }}
{{ end }}
{{ end }}
< / ul >
{{ end }}
< / li >
< / ul >
{{ end }}