Skip to content

Commit e56d458

Browse files
authored
Merge pull request #1031 from crossplane/404_update
Improve the 404 page
2 parents da99598 + 6676dda commit e56d458

3 files changed

Lines changed: 60 additions & 37 deletions

File tree

themes/geekboot/layouts/404.html

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,34 @@ <h1 class="bd-title mb-0" id="content">Page not found</h1>
3434
The page you're looking for couldn't be found.
3535
<br /><br />
3636
Only currently maintained versions of Crossplane are documented. Try
37-
looking one of the following sections-
37+
looking at one of the following sections:
3838
<br /><br />
39+
{{ $sorted_list := partial "utils/sorted-versions" . }}
40+
41+
<strong>Documentation Versions:</strong><br />
42+
{{ range $sorted_list }}
43+
{{ $versionPage := $.Site.GetPage (printf "v%s" .) | default ($.Site.GetPage .) }}
44+
{{ with $versionPage }}
45+
<a href="{{ .Permalink }}">{{ if ne .Page.Params.version "master" }}v{{ end }}{{ .Page.Params.version }}</a>
46+
{{ if eq .Page.Params.version $.Site.Params.latest }}
47+
<span class="badge rounded-pill latest">Latest</span>
48+
{{ end }}
49+
{{ if eq .Page.Params.version "master" }}
50+
<small><em>(unreleased upcoming version)</em></small>
51+
{{ end }}
52+
<br />
53+
{{ end }}
54+
{{ end }}
55+
56+
<br />
57+
<p><small>Looking for an older version? Archived versions are available as tags in the <a href="https://github.com/crossplane/docs/tags">GitHub repository</a> (e.g., v1.19-archive, v1.18-archive).</small></p>
58+
59+
<br />
60+
<strong>Other Resources:</strong><br />
3961
{{ range .Site.Sections }}
40-
{{ if and (.Page.Params.version) (ne .Page.Params.version "0") (ne .Page.Params.version "master") }}
41-
<a href="{{.Permalink}}">v{{ .Page.Params.version }}</a><br />
42-
{{ else }}
43-
{{ if (eq .Page.Params.version "master") }}
44-
{{ else }}
45-
<a href="{{.Permalink}}">{{ .Title }}</a><br />
62+
{{ if and (not .Page.Params.hidden) (eq .Page.Params.version "0") }}
63+
<a href="{{ .Permalink }}">{{ .Title }}</a><br />
4664
{{ end }}
47-
{{ end }}
4865
{{ end }}
4966
</div>
5067
</main>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{{ $majordict := dict }}
2+
{{ $majorlist := slice }}
3+
{{ $sorted_list := slice }}
4+
5+
{{/* Collect all versions and parse semver for sorting */}}
6+
{{ range .Site.Sections }}
7+
{{/* Skip versions marked as hidden */}}
8+
{{ if not .Page.Params.hidden }}
9+
{{ if eq .Page.Params.version "master" }}
10+
{{$sorted_list = $sorted_list | append "master" }}
11+
{{ else if and (.Page.Params.version) (ne .Page.Params.version "0") }}
12+
{{ $splitver := split .Page.Params.version "." }}
13+
{{ if eq (len $splitver) 2 }}
14+
{{ $verlist := (index $majordict (index $splitver 0)) }}
15+
{{ $verlist = $verlist | append (index $splitver 1) }}
16+
{{ $majordict = merge $majordict (dict (index $splitver 0) $verlist) }}
17+
{{ $majorlist = $majorlist | append (index $splitver 0) }}
18+
{{ end }}
19+
{{ end }}
20+
{{ end }}
21+
{{ end }}
22+
23+
{{/* Sort versions by semver (descending) and prepend to sorted_list */}}
24+
{{ $semver_sorted := slice }}
25+
{{ range sort ($majorlist | uniq) "value" "desc" }}
26+
{{ $majorver := . }}
27+
{{ range sort (index $majordict .) "value" "desc" }}
28+
{{$semver_sorted = $semver_sorted | append (printf "%s.%s" $majorver .) }}
29+
{{ end }}
30+
{{ end }}
31+
{{/* Append semver sorted versions after master */}}
32+
{{ $sorted_list = $sorted_list | append $semver_sorted }}
33+
34+
{{ return $sorted_list }}

themes/geekboot/layouts/partials/version-dropdown-menu.html

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,6 @@
1-
{{ $versionList := slice }}
2-
{{ $majordict := dict }}
3-
{{ $majorlist := slice }}
4-
{{ $sorted_list := slice }}
1+
{{ $sorted_list := partial "utils/sorted-versions" . }}
52
{{ $cur_ver := .Page.Params.version | default .Site.Params.latest }}
63

7-
<!-- get all the versions and break out semver order -->
8-
{{ range .Site.Sections }}
9-
{{/* Skip versions marked as hidden */}}
10-
{{ if not .Page.Params.hidden }}
11-
{{ if eq .Page.Params.version "master" }}
12-
{{$sorted_list = $sorted_list | append "master" }}
13-
{{ else if ne .Page.Params.version nil }}
14-
{{ $splitver := split .Page.Params.version "." }}
15-
{{ if eq (len $splitver) 2 }}
16-
{{ $verlist := (index $majordict (index $splitver 0)) }}
17-
{{ $verlist = $verlist | append (index $splitver 1) }}
18-
{{ $majordict = merge $majordict (dict (index $splitver 0) $verlist) }}
19-
{{ $majorlist = $majorlist | append (index $splitver 0) }}
20-
{{ end }}
21-
{{ end }}
22-
{{ end }}
23-
{{ end }}
24-
25-
{{ range sort ($majorlist | uniq) "value" "desc" }}
26-
{{ $majorver := . }}
27-
{{ range sort (index $majordict .) "value" "desc" }}
28-
{{$sorted_list = $sorted_list | append (printf "%s.%s" $majorver .) }}
29-
{{ end }}
30-
{{ end }}
31-
324
<div class="dropdown float-end bd-dropdown">
335
<a class="btn btn-outline-secondary dropdown-toggle bd-dropdown-item text-reset" href="#" role="button" id="dropdownMenuLink" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
346
{{ if ne .Page.Params.version "master" }}v{{ end }}{{ $cur_ver }}

0 commit comments

Comments
 (0)