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 }}
|
{{ $page := .page }}
|
||||||
{{ $menu := .menu }}
|
{{ $menu := .menu }}
|
||||||
|
|
||||||
{{ range $menu }}
|
{{ define "recursiveMenu" }}
|
||||||
<li class="nav-category {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
{{ $menuContext := .menu }}
|
||||||
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ end }}
|
{{ $currentPage := .currentPage }}
|
||||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
{{ $depth := add .depth 1 }}
|
||||||
{{ if .HasChildren }}
|
{{ $navClass := cond (gt $depth 1) "item" "category" }}
|
||||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
{{ range $menuContext }}
|
||||||
{{ range .Children }}
|
<li class="nav-{{ $navClass }} {{ if eq $currentPage.RelPermalink .URL }}active{{end}}">
|
||||||
<li class="nav-item {{ if eq $page.RelPermalink .URL }}active{{end}}">
|
{{ if .HasChildren }}<a href="#" class="children-toggle {{ if or ($currentPage.IsMenuCurrent .Menu .) ($currentPage.HasMenuCurrent .Menu .) }}open{{end}}"></a>{{ 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>
|
||||||
<a href='{{ default .URL .Params.url }}'>{{ .Name }}</a>
|
{{ if .HasChildren }}
|
||||||
{{ if .HasChildren }}
|
<ul class="children {{ if or ($currentPage.IsMenuCurrent .Menu .) ($currentPage.HasMenuCurrent .Menu .) }}open{{end}}">
|
||||||
<ul class="children {{ if or ($page.IsMenuCurrent .Menu .) ($page.HasMenuCurrent .Menu .) }}open{{end}}">
|
{{ template "recursiveMenu" (dict "menu" .Children "currentPage" $currentPage "depth" $depth) }}
|
||||||
{{ range .Children }}
|
</ul>
|
||||||
<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>
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</ul>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</li>
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
{{ template "recursiveMenu" (dict "menu" .menu "currentPage" .page "depth" 0) }}
|
||||||
|
|
Loading…
Reference in New Issue