blob: 88dbf9cc31ec25bbeb97f2eab1c0fa5a085f00a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
<hr>
{{- $page := .page }}
{{- $menuID := cast.ToString .menuID }}
{{- if $menuID }}
{{- with index site.Menus $menuID }}
{{- partial "inline/single/walk.html" (dict "page" $page "menuEntries" . ) }}
{{- end }}
{{- end }}
{{- partial "inline/single/up.html" (dict "page" $page ) }}
{{- define "partials/inline/single/walk.html" }}
{{- $page := .page }}
{{- $found := false }}
<!-- Check if current entries contain current page -->
{{- range .menuEntries }}
{{- if $page.IsMenuCurrent .Menu . }}
{{- $found = . }}
{{- end }}
{{- end }}
{{ if eq $found false}}
<!-- current page not found, go to next levels -->
{{- range .menuEntries }}
{{- with .Children }}
{{- partial "inline/single/walk.html" (dict "page" $page "menuEntries" . ) }}
{{- end }}
{{- end }}
{{- else }}
<!-- current page found -->
{{ $found_weight := $found.Weight }}
{{ $found_url := $found.URL }}
<!-- search for prev page -->
{{- range (where
(where
(where
(where
.menuEntries
"Params.placeholder" "ne" true)
"Params.nonpage" "ne" true)
"URL" "ne" $found_url)
"Weight" "le" $found_weight) | last 1 }}
Prev: <a href="{{.URL}}">{{ .Name }}</a>,
{{- end }}
<!-- search for next page -->
{{- range (where
(where
(where
(where
.menuEntries
"Params.placeholder" "ne" true)
"Params.nonpage" "ne" true)
"URL" "ne" $found_url)
"Weight" "gt" $found_weight) | first 1 }}
Next: <a href="{{.URL}}">{{ .Name }}</a>,
{{- end }}
{{- end }}
{{- end }}
{{- define "partials/inline/single/up.html" }}
{{- $page := .page }}
{{- $nearest := true }}
Up:
{{- range $page.Ancestors }}
{{- if .LinkTitle}}
{{- if $nearest}}
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
{{- $nearest = false }}
{{- else}}
[<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>]
{{- end }}
{{- end }}
{{- end }}
{{- end }}
|