Preserve relative path when switching between versions of the documentation

pull/22536/head
Brian Pursley 2020-07-21 10:46:33 -04:00 committed by brianpursley
parent bb7c4de5f8
commit 7bc5ee0710
3 changed files with 14 additions and 1 deletions

View File

@ -1,4 +1,5 @@
{{ define "main" }}
{{ partial "handle-version-switch-404.html" . }}
<div class="container-404">
<h4>
Perhaps you were looking for:

View File

@ -0,0 +1,11 @@
{{/*
If a 404 occurs and the referrer is a different version of the Kubernetes documentation,
don't show the regular 404 error page, but instead redirect to the site root
*/}}
<script type="text/javascript">
var sameBaseUrlRegExp = new RegExp("^" + location.protocol + "//" + location.host.replace(".", "\\.") + "/.*", "i");
var kubernetesDocumentationUrlRegExp = new RegExp("^https?://(.+\\.)?kubernetes.io/.*", "i");
if (!sameBaseUrlRegExp.test(document.referrer) && kubernetesDocumentationUrlRegExp.test(document.referrer)) {
location.replace("/");
}
</script>

View File

@ -2,7 +2,8 @@
{{ T "version_menu" }}
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">
{{ $p := . }}
{{ range .Site.Params.versions }}
<a class="dropdown-item" href="{{ .url }}">{{ .version }}</a>
<a class="dropdown-item" href="{{ .url }}{{ $p.RelPermalink }}">{{ .version }}</a>
{{ end }}
</div>