Skip to content

Commit 855e765

Browse files
authored
Update docs-nav to dynamically create version dropdown for products (#2012)
1 parent 968fdda commit 855e765

File tree

3 files changed

+77
-7
lines changed

3 files changed

+77
-7
lines changed

.github/workflows/main-staging.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ jobs:
6666
rs_versions=($(find content/operate/rs/ -maxdepth 1 -type d -regex ".*[0-9-]" | awk -F/ '{print $NF}'))
6767
rdi_versions=($(find content/integrate/redis-data-integration/ -maxdepth 1 -type d -regex ".*[0-9-]" | awk -F/ '{print $NF}'))
6868
69+
printf "%s\n" "${kubernetes_versions[@]}" > kubernetes-versions
70+
printf "%s\n" "${rs_versions[@]}" > rs-versions
71+
printf "%s\n" "${rdi_versions[@]}" > rdi-versions
72+
6973
# build latest
7074
for version in "${kubernetes_versions[@]}"; do
7175
rm -r "content/operate/kubernetes/${version}"

.github/workflows/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ jobs:
6666
rs_versions=($(find content/operate/rs/ -maxdepth 1 -type d -regex ".*[0-9-]" | awk -F/ '{print $NF}'))
6767
rdi_versions=($(find content/integrate/redis-data-integration/ -maxdepth 1 -type d -regex ".*[0-9-]" | awk -F/ '{print $NF}'))
6868
69+
printf "%s\n" "${kubernetes_versions[@]}" > kubernetes-versions
70+
printf "%s\n" "${rs_versions[@]}" > rs-versions
71+
printf "%s\n" "${rdi_versions[@]}" > rdi-versions
72+
6973
# build latest
7074
for version in "${kubernetes_versions[@]}"; do
7175
rm -r "content/operate/kubernetes/${version}"

layouts/partials/docs-nav.html

Lines changed: 69 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,42 @@
2323
<span class="menu__version-selector__toggler opener version-selector-control">&#x25BC;</span>
2424
<span class="menu__version-selector__toggler closer version-selector-control">&#x25B2;</span>
2525
</button>
26+
{{- $vers := slice -}}
27+
{{- $lines := slice -}}
28+
29+
{{ if fileExists "kubernetes-versions" }}
30+
{{- $txt := readFile "kubernetes-versions" -}}
31+
{{- $lines = split $txt "\n" -}}
32+
33+
{{- range $lines }}
34+
{{- $v := strings.TrimSpace . -}}
35+
{{- if and (ne $v "") (findRE `^\d+\.\d+\.\d+$` $v) -}}
36+
{{- $p := split $v "." -}}
37+
{{- $key := printf "%03d.%03d.%03d" (int (index $p 0)) (int (index $p 1)) (int (index $p 2)) -}}
38+
{{- $vers = $vers | append (dict "v" $v "key" $key) -}}
39+
{{- end -}}
40+
{{- end -}}
41+
{{ else }}
42+
{{- $entries := readDir "content/operate/kubernetes" -}}
43+
{{- range $e := $entries -}}
44+
{{- if and $e.IsDir (findRE `^\d+\.\d+\.\d+$` $e.Name) -}}
45+
{{- $p := split $e.Name "." -}}
46+
{{- $maj := int (index $p 0) -}}
47+
{{- $min := int (index $p 1) -}}
48+
{{- $pat := int (index $p 2) -}}
49+
{{- $key := printf "%03d.%03d.%03d" $maj $min $pat -}} {{/* for sorting */}}
50+
{{- $vers = $vers | append (dict "v" $e.Name "key" $key) -}}
51+
{{- end -}}
52+
{{- end -}}
53+
{{ end}}
54+
55+
{{- $vers = sort $vers "key" "desc" -}}
56+
2657
<div id="versionDropdownKubernetes" class="menu__version-selector__list version-selector-control">
27-
<a href="{{ absURL "operate/kubernetes/" }}" id="kubernetes-version-select-latest" onclick="_setSelectedVersion('kubernetes', 'latest')">latest</a>
28-
<a href="{{ absURL "operate/kubernetes/7.8.4/" }}" id="kubernetes-version-select-7.8.6" onclick="_setSelectedVersion('kubernetes', 'v7.8.6')">v7.8.6</a>
29-
<a href="{{ absURL "operate/kubernetes/7.8.4/" }}" id="kubernetes-version-select-7.8.4" onclick="_setSelectedVersion('kubernetes', 'v7.8.4')">v7.8.4</a>
30-
<a href="{{ absURL "operate/kubernetes/7.4.6/" }}" id="kubernetes-version-select-7.4.6" onclick="_setSelectedVersion('kubernetes', 'v7.4.6')">v7.4.6</a>
58+
<a href="{{ absURL "operate/kubernetes/" }}" id="kubernetes-version-select-latest" onclick="_setSelectedVersion('kubernetes', 'latest')">latest</a>
59+
{{- range $vers }}
60+
<a href="{{ (absURL "operate/kubernetes/{{ .v }}/") }}" id="kubernetes-version-select-{{ .v }}" onclick="_setSelectedVersion('kubernetes', 'v{{ .v }}')">v{{ .v }}</a>
61+
{{- end }}
3162
</div>
3263
</div>
3364
{{else if (eq (.Params.linkTitle) "Redis Software")}}
@@ -37,10 +68,41 @@
3768
<span class="menu__version-selector__toggler opener version-selector-control">&#x25BC;</span>
3869
<span class="menu__version-selector__toggler closer version-selector-control">&#x25B2;</span>
3970
</button>
71+
{{- $vers := slice -}}
72+
{{- $lines := slice -}}
73+
74+
{{ if fileExists "rs-versions" }}
75+
{{- $txt := readFile "rs-versions" -}}
76+
{{- $lines = split $txt "\n" -}}
77+
78+
{{- range $lines }}
79+
{{- $v := strings.TrimSpace . -}}
80+
{{- if and (ne $v "") (findRE `^\d+\.\d+$` $v) -}}
81+
{{- $p := split $v "." -}}
82+
{{- $key := printf "%03d.%03d" (int (index $p 0)) (int (index $p 1)) -}}
83+
{{- $vers = $vers | append (dict "v" $v "key" $key) -}}
84+
{{- end -}}
85+
{{- end -}}
86+
{{ else }}
87+
{{- $entries := readDir "content/operate/rs" -}}
88+
{{- range $e := $entries -}}
89+
{{- if and $e.IsDir (findRE `^\d+\.\d+$` $e.Name) -}}
90+
{{- $p := split $e.Name "." -}}
91+
{{- $maj := int (index $p 0) -}}
92+
{{- $min := int (index $p 1) -}}
93+
{{- $key := printf "%03d.%03d" $maj $min -}} {{/* for sorting */}}
94+
{{- $vers = $vers | append (dict "v" $e.Name "key" $key) -}}
95+
{{- end -}}
96+
{{- end -}}
97+
{{ end}}
98+
99+
{{- $vers = sort $vers "key" "desc" -}}
100+
40101
<div id="versionDropdownRs" class="menu__version-selector__list version-selector-control">
41-
<a href="{{ absURL "operate/rs/" }}" id="rs-version-select-latest" onclick="_setSelectedVersion('rs', 'latest')">latest</a>
42-
<a href="{{ absURL "operate/rs/7.8/" }}" id="rs-version-select-7.8" onclick="_setSelectedVersion('rs', 'v7.8')">v7.8</a>
43-
<a href="{{ absURL "operate/rs/7.4/" }}" id="rs-version-select-7.4" onclick="_setSelectedVersion('rs', 'v7.4')">v7.4</a>
102+
<a href="{{ absURL "operate/rs/" }}" id="rs-version-select-latest" onclick="_setSelectedVersion('rs', 'latest')">latest</a>
103+
{{- range $vers }}
104+
<a href="{{ (absURL "operate/rs/{{ .v }}/") }}" id="rs-version-select-{{ .v }}" onclick="_setSelectedVersion('rs', 'v{{ .v }}')">v{{ .v }}</a>
105+
{{- end }}
44106
</div>
45107
</div>
46108
</li>

0 commit comments

Comments
 (0)