{{- $showvisitedlinks := .Site.Params.showVisitedLinks }} {{- define "partials/inline/page-tree" }} {{- $currentNode := .currentnode }} {{- $config := .config }} {{- $showvisitedlinks := .showvisitedlinks }}
{{- $rootObject := site.Home }} {{- if $config.pageRef }} {{- $rootObject = partial "_relearn/refObject.gotmpl" (dict "page" $currentNode "objectRef" $config.pageRef) }} {{- if not $rootObject }} {{- $msg := printf "config option 'pageRef' %q for 'sidebarmenus' %q is not a page or a resource" $config.pageRef $config.identifier }} {{- partial "_relearn/urlErrorReport.gotmpl" (dict "url" $config.pageRef "page" $currentNode "param" "link" "msg" $msg) }} {{- end }} {{- end }} {{- with $rootObject }} {{- $entry := . }} {{- $entries := partialCached "_relearn/pages.gotmpl" (dict "page" $entry) $entry.Path }} {{- $title := "" }} {{- if not ($config.disableTitle | default true) }} {{ $title = $entry.Params.menuTitle | default (T (print $config.identifier "-menuTitle")) }} {{- end }} {{- with $title }} {{- end }} {{- $classes := "space " }} {{- if ($config.main | default true) }} {{- $classes = "enlarge morespace " }} {{- end }}
{{- end }} {{- end }} {{- define "partials/inline/page-walker" }} {{- $currentNode := .currentnode }} {{- $showvisitedlinks := .showvisitedlinks }} {{- $alwaysopen := .alwaysopen }} {{- $isSelf := .isSelf }} {{- $isAncestor := .isAncestor }} {{- $isHidden := .isHidden }} {{- with .sect }} {{- $isActive := $isSelf }} {{- $entry := . }} {{- $entries := partialCached "_relearn/pages.gotmpl" (dict "page" .) .Path }} {{- $hasVisibleChildren := false }} {{- range $entries }} {{- $isSubSelf := eq . $currentNode }} {{- $isSubAncestor := and (not $isSubSelf) (.IsAncestor $currentNode) }} {{- $isSubHidden := or (.Params.hidden) (eq .Title "") }} {{- if or $isSubAncestor $isSubSelf (not $isSubHidden) }} {{- $hasVisibleChildren = true }} {{- break }} {{- end }} {{- end }} {{- $title := partial "title.gotmpl" (dict "page" . "linkTitle" true) }} {{- $url := partial "permalink.gotmpl" (dict "to" .) }} {{- $isCrosslink := false }} {{- $target := "" }} {{- if .Params.menuPageRef }} {{- $isCrosslink = true }} {{- $url = .Params.menuPageRef }} {{- $linkObject := partial "_relearn/refObject.gotmpl" (dict "page" . "objectRef" .Params.menuPageRef) }} {{- if $linkObject }} {{- $url = partial "_relearn/decoratedLink.gotmpl" (dict "url" .Params.menuPageRef "page" . "linkObject" $linkObject "param" "link" "silent" true) }} {{- end }} {{- else if .Params.menuUrl }} {{- $isCrosslink = true }} {{- $url = .Params.menuUrl | relLangURL }} {{- $u := urls.Parse $url }} {{- if $u.IsAbs }} {{- $target = "_blank" }} {{- if isset site.Params "externallinktarget" }} {{- $target = site.Params.externalLinkTarget }} {{- end }} {{- end }} {{- end }} {{- $pre := partial "menu-pre.html" . }} {{- $post := partial "menu-post.html" . }} {{- if and $hasVisibleChildren (not $isCrosslink) }} {{- $isCollapsible := .Params.collapsibleMenu | default site.Params.collapsibleMenu }} {{- $currentAlwaysopen := .Params.alwaysopen | default $alwaysopen }} {{- if and (not $url) (not $isCollapsible) }} {{- $currentAlwaysopen = true }} {{- end }} {{- $entryId := md5 .Path }} {{- $isOpen := or $currentAlwaysopen $isSelf $isAncestor }}
  • {{- if $isCollapsible }}{{ end }} {{- if $url }}{{ else }}{{ end }} {{- $pre }}{{ $title }}{{ $post }} {{- if $url }}{{ if $showvisitedlinks }}{{ end }}{{ else }}{{ end }}
  • {{- else if $url }} {{- end }} {{- end }} {{- end }} {{- define "partials/inline/menu-tree" }} {{- $currentNode := .currentnode }} {{- $config := .config }} {{- $showvisitedlinks := .showvisitedlinks }} {{- with index site.Menus $config.identifier }}
    {{- $topLevelMenu := "" }} {{- $topLevelObject := "" }} {{- $entries := . }} {{- with and (eq (len $entries) 1) (index $entries 0) }} {{- if and (not .PageRef) (not .URL) }} {{- /* because in Hugo menus can not have parameter but menu entries can, we can flag a single top level menu entry as a container; this container entry carrys just meta information and parameter, uses its children to build the "real" menu, and has no own `url` or `pageRef` */}} {{- $topLevelMenu = . }} {{- $topLevelObject = partial "_relearn/menuObject.gotmpl" (dict "page" $currentNode "menu" $topLevelMenu) }} {{- $entries = .Children }} {{- end }} {{- end }} {{- $title := "" }} {{- if not ($config.disableTitle | default false) }} {{- if $topLevelMenu }} {{- $title = partial "_relearn/menuTitle.gotmpl" (dict "page" $currentNode "menu" $topLevelMenu) }} {{- else if eq $config.identifier "shortcuts" }} {{- if not site.Params.DisableShortcutsTitle }} {{- $title = T (print $config.identifier "-menuTitle") }} {{- end }} {{- else }} {{- $title = T (print $config.identifier "-menuTitle") }} {{- end }} {{- end }} {{- with $title }} {{- end }} {{- $classes := "space " }} {{- if ($config.main | default false) }} {{- $classes = "enlarge morespace " }} {{- end }}
    {{- else }} {{ if ne $config.identifier "shortcuts" }} {{- $msg := printf "config option 'identifier' for 'sidebarmenus' %q is not a menu" $config.identifier }} {{- partial "_relearn/urlErrorReport.gotmpl" (dict "url" $config.pageRef "page" $currentNode "param" "link" "msg" $msg "applyErrorIgnore" false) }} {{- end }} {{- end }} {{- end }} {{- define "partials/inline/menu-walker" }} {{- $currentNode := .currentnode }} {{- $showvisitedlinks := .showvisitedlinks }} {{- $alwaysopen := .alwaysopen }} {{- $isSelf := .isSelf }} {{- $isAncestor := .isAncestor }} {{- $isHidden := .isHidden }} {{- $root := .root }} {{- with .menu }} {{- $isActive := $isSelf }} {{- $entryMenu := . }} {{- $entryObject := partial "_relearn/menuObject.gotmpl" (dict "page" $currentNode "menu" $entryMenu) }} {{- $entries := .Children }} {{- $hasVisibleChildren := false }} {{- range $entries }} {{- $entriesObject := partial "_relearn/menuObject.gotmpl" (dict "page" $currentNode "menu" .) }} {{- $isSubSelf := eq $entriesObject $currentNode }} {{- $isSubAncestor := and (not $isSubSelf) ($currentNode.HasMenuCurrent .Menu .) }} {{- $isSubHidden := or (.Params.hidden) (eq (partial "_relearn/menuTitle.gotmpl" (dict "page" $currentNode "menu" .)) "") }} {{- if or $isSubAncestor $isSubSelf (not $isSubHidden) }} {{- $hasVisibleChildren = true }} {{- break }} {{- end }} {{- end }} {{- $title := partial "_relearn/menuTitle.gotmpl" (dict "page" $currentNode "menu" .) }} {{- $url := partial "_relearn/menuPermalink.gotmpl" (dict "page" $currentNode "menu" .) }} {{- $target := "" }} {{- $u := urls.Parse $url }} {{- if $u.IsAbs }} {{- $target = "_blank" }} {{- if isset site.Params "externallinktarget" }} {{- $target = site.Params.externalLinkTarget }} {{- end }} {{- end }} {{- $pre := .Pre }} {{- $post := .Post }} {{- with $entryObject }} {{- $pre = or $pre (partial "menu-pre.html" .) }} {{- $post = or $post (partial "menu-post.html" .) }} {{- end }} {{- if $hasVisibleChildren }} {{- $isCollapsible := .Params.collapsibleMenu | default $root.Params.collapsibleMenu | default site.Params.collapsibleMenu }} {{- $currentAlwaysopen := .Params.alwaysopen | default $root.Params.alwaysopen | default $alwaysopen }} {{- if and (not $url) (not $isCollapsible) }} {{- $currentAlwaysopen = true }} {{- end }} {{- $entryId := md5 (print $entryMenu) }} {{- $isOpen := or $currentAlwaysopen $isSelf $isAncestor }}
  • {{- if $isCollapsible }}{{ end }} {{- if $url }}{{ else }}{{ end }} {{- $pre }}{{ $title }}{{ $post }} {{- if $url }}{{ if $showvisitedlinks }}{{ end }}{{ else }}{{ end }}
  • {{- else if $url }}
  • {{- if $url }}{{ else }}{{ end }} {{- $pre }}{{ $title }}{{ $post }} {{- if $url }}{{ if $showvisitedlinks }}{{ end }}{{ else }}{{ end }}
  • {{- end }} {{- end }} {{- end }}