{{- $currentPage := . }} {{- range .Site.Menus.main.ByWeight -}} {{- template "menu-item" dict "menuEntry" . "currentPage" $currentPage -}} {{- end -}} {{- define "menu-item" -}} {{- $currentPage := .currentPage -}} {{- $showvisitedlinks := .Site.Params.showVisitedLinks -}} {{- with .menuEntry -}} {{- $menuEntry := . -}} {{- $isCurrent := $currentPage.IsMenuCurrent .Menu . -}} {{- $isAncestor := $currentPage.HasMenuCurrent .Menu . -}} {{- $children := .Children -}} {{- $numberOfChildren := (len $children) }} {{- if ne $numberOfChildren 0 -}} {{- if ne .Page nil -}} {{- with .Page -}} {{- $alwaysOpen := .Params.alwaysopen -}}
  • {{safeHTML $menuEntry.Pre}}{{.LinkTitle}}{{safeHTML $menuEntry.Post}} {{- if or $isAncestor (.Params.alwaysopen) }} {{- else -}} {{- end}} {{- if $showvisitedlinks}}{{end}}
    {{- template "menu-children" dict "menuEntry" $menuEntry "currentPage" $currentPage -}}
  • {{- end -}} {{- else -}}
  • {{- safeHTML .Pre -}}{{- safeHTML .Name -}}{{- safeHTML .Post -}}
    {{- template "menu-children" dict "menuEntry" . "currentPage" $currentPage -}}
  • {{- end -}} {{- else -}} {{- if ne .Page nil -}} {{- with .Page -}}
  • {{safeHTML $menuEntry.Pre}}{{.LinkTitle}}{{safeHTML $menuEntry.Post}} {{- if $showvisitedlinks}}{{end}}
  • {{- end -}} {{- else -}}
  • {{- safeHTML .Pre -}}{{- safeHTML .Name -}}{{- safeHTML .Post -}}
  • {{- end -}} {{- end -}} {{- end -}} {{- end -}} {{- define "menu-children" -}} {{- $currentPage := .currentPage -}} {{- end -}}