{{ "<!-- details page -->" | safeHTML }}
<section class="pt-5">
  <div class="container shadow section-sm rounded">
    <div class="row">
      <div class="col-lg-3 col-md-4 d-none d-md-block">
        <ul class="sidenav">
          {{ $currentNode := . }}
          {{range .Site.Home.Sections.ByWeight}}
          <!-- not render any single page, like contact page. -->
          {{ $numberOfMainPages := len .Pages }}
          {{ if eq $numberOfMainPages 0 }}
          {{ else }}
          <!-- /not render any single page, like contact page. -->
          {{ template "section-tree-nav" dict "sect" . "currentnode" $currentNode}}
          {{ end }}
          {{ end }}
        </ul>
      </div>
      <div class="col-md-8">
        <div class="px-lg-5 px-sm-4">
          <h1 class="mb-4 fw-bold">{{ .Title }}</h1>
          {{ if .Content }}
          <div class="content">{{ partial "autotooltips.html" . }}</div>
          {{ else }}
          <ul class="list-styled text-start mb-4">
            {{ range .Data.Pages }}
            <li><a href="{{.Permalink}}">{{.Title}}</a></li>
            {{end}}
          </ul>
          {{ end }}
          <nav class="pagination">
            <!-- Next prev page -->
            {{- $currentNode := . -}}
            {{- template "menu-nextprev" dict "menu" site.Home "currentnode" $currentNode -}}
            {{- define "menu-nextprev" -}}
              {{- $currentNode := .currentnode -}}
              {{- if ne .menu.Params.hidden true -}}
                {{- if hasPrefix $currentNode.Permalink .menu.Permalink -}}
                  {{- $currentNode.Scratch.Set "NextPageOK" "OK" -}}
                  {{- $currentNode.Scratch.Set "prevPage" ($currentNode.Scratch.Get "prevPageTmp") -}}
                {{- else -}}
                  {{- if eq ($currentNode.Scratch.Get "NextPageOK") "OK" -}}
                    {{- $currentNode.Scratch.Set "NextPageOK" nil -}}
                    {{- $currentNode.Scratch.Set "nextPage" .menu -}}
                  {{- end -}}
                {{- end -}}
                {{- $currentNode.Scratch.Set "prevPageTmp" .menu -}}
                {{- $currentNode.Scratch.Set "pages" .menu.Pages -}}
                {{- if .menu.IsHome -}}
                  {{- $currentNode.Scratch.Set "pages" .menu.Sections -}}
                {{- else if .menu.Sections -}}
                  {{- $currentNode.Scratch.Set "pages" (.menu.Pages | union .menu.Sections) -}}
                {{- end -}}
                {{- $pages := ($currentNode.Scratch.Get "pages") -}}
    
                {{- range $pages.ByWeight -}}
                  {{- template "menu-nextprev" dict "menu" . "currentnode" $currentNode -}}
                {{- end -}}
              {{- end -}}
            {{- end -}}
            
            {{- with ($.Scratch.Get "prevPage") -}}
            {{- if .Title -}}
            <a class="nav nav-prev" href="{{.RelPermalink }}"><i class="fas fa-chevron-left me-2"></i>
              <span class="d-none d-sm-block">{{.Title}}</span> <span class="d-block d-sm-none">Prev</span>
            </a>
            {{- end -}}
            {{- end -}}

            {{- with ($.Scratch.Get "nextPage") -}}
            {{- if .Title -}}
            <a class="nav nav-next" href="{{.RelPermalink }}">
              <span class="d-none d-sm-block">{{.Title}}</span> <span class="d-block d-sm-none">Next</span><i class="fas fa-chevron-right ms-2"></i>
            </a>
            {{- end -}}
            {{- end -}}
          </nav>
          
          {{ if .Params.Feedback }}
          {{ partial "components/feedback.html" . }}
          {{ end }}
        </div>
      </div>
    </div>
  </div>
</section>
{{ "<!-- /details page -->" | safeHTML }}

<!-- templates -->
{{ define "section-tree-nav" }}
{{ $showvisitedlinks := .showvisitedlinks }}
{{ $currentNode := .currentnode }}
{{with .sect}}
{{safeHTML .Params.head}}
{{ $fileUniqueID := "" }}
{{ with .File }}{{ $fileUniqueID = .UniqueID }}{{ end }}
{{ $currentNodeFileUniqueID := "" }}
{{ with $currentNode.File }}{{ $currentNodeFileUniqueID = .UniqueID }}{{ end }}
<li data-nav-id="{{.Permalink}}" title="{{.Title}}"
  class="sidelist {{if .IsAncestor $currentNode }}parent{{end}} {{if eq $fileUniqueID $currentNodeFileUniqueID}}active parent{{end}}">
  <a href="{{.Permalink}}">{{.Title }}</a>
  {{ $numberOfPages := (add (len .Pages) (len .Sections)) }}
  {{ if ne $numberOfPages 0 }}
  <ul>
    {{ $currentNode.Scratch.Set "pages" .Pages }}
    {{ if .Sections}}
    {{ $currentNode.Scratch.Set "pages" (.Pages | union .Sections) }}
    {{end}}
    {{ $pages := ($currentNode.Scratch.Get "pages") }}

    {{ range $pages.ByWeight }}
    {{ template "section-tree-nav" dict "sect" . "currentnode" $currentNode }}
    {{end}}
  </ul>
</li>
{{ end }}
{{ end }}
{{ end }}