feat(html): recursive left nav (#6220)
* feat(html): resursive lef nav * Update layouts/partials/sidebar/nested-menu.html Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * add depth to left nav template to assign category or item class --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>pull/6222/head
parent
e9cd577a72
commit
b64e83a44e
|
@ -1,74 +1,22 @@
|
|||
{{ $page := .page }}
|
||||
{{ $menu := .menu }}
|
||||
|
||||
{{ range $menu }}
|
||||
<li class="nav-category {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
|
||||
<!-- Begin nested block -->
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ range .Children }}
|
||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
<!-- To add more nested layers, copy the nested block and paste it here -->
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
<!-- End nested block -->
|
||||
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ define "recursiveMenu" }}
|
||||
{{ $menuContext := .menu }}
|
||||
{{ $currentPage := .currentPage }}
|
||||
{{ $depth := add .depth 1 }}
|
||||
{{ $navClass := cond (gt $depth 1) "item" "category" }}
|
||||
{{ range $menuContext }}
|
||||
<li class="nav-{{ $navClass }} {{ if eq $currentPage.RelPermalink .URL }}active{{end}}">
|
||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($currentPage.IsMenuCurrent .Menu .) ($currentPage.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
||||
{{ if .HasChildren }}
|
||||
<ul class="children {{ if or ($currentPage.IsMenuCurrent .Menu .) ($currentPage.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||
{{ template "recursiveMenu" (dict "menu" .Children "currentPage" $currentPage "depth" $depth) }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</li>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ template "recursiveMenu" (dict "menu" .menu "currentPage" .page "depth" 0) }}
|
||||
|
|
Loading…
Reference in New Issue