diff --git a/content/en/docs/home/supported-doc-versions.md b/content/en/docs/home/supported-doc-versions.md
index bd368b2b54..b955f95f56 100644
--- a/content/en/docs/home/supported-doc-versions.md
+++ b/content/en/docs/home/supported-doc-versions.md
@@ -1,30 +1,12 @@
---
-title: Supported Versions of the Kubernetes Documentation
-content_type: concept
+title: Available Documentation Versions
+content_type: custom
+layout: supported-versions
card:
name: about
weight: 10
- title: Supported Versions of the Documentation
+ title: Available Documentation Versions
---
-
-
This website contains documentation for the current version of Kubernetes
and the four previous versions of Kubernetes.
-
-
-
-
-
-## Current version
-
-The current version is
-[{{< param "version" >}}](/).
-
-## Previous versions
-
-{{< versions-other >}}
-
-
-
-
diff --git a/i18n/en.toml b/i18n/en.toml
index c59107c7c8..69b6c645e6 100644
--- a/i18n/en.toml
+++ b/i18n/en.toml
@@ -54,6 +54,15 @@ other = "I AM..."
[docs_label_users]
other = "Users"
+[docs_version_current]
+other = "(this documentation)"
+
+[docs_version_latest_heading]
+other = "Latest version"
+
+[docs_version_other_heading]
+other = "Older versions"
+
[examples_heading]
other = "Examples"
diff --git a/layouts/docs/supported-versions.html b/layouts/docs/supported-versions.html
new file mode 100644
index 0000000000..a1c2702741
--- /dev/null
+++ b/layouts/docs/supported-versions.html
@@ -0,0 +1,39 @@
+{{ define "main" }}
+
+ {{ partial "docs/content-page" (dict "ctx" . "page" .) }}
+ {{ $versions := .Page.Param "versions" }}
+ {{ $thisPageRelUri := .Page.RelPermalink }}
+ {{ $thisVersionArray := split (.Page.Param "version") "." }}
+ {{ $.Scratch.Set "version-class" (slice "placeholder") }}
+ {{/* "placeholder" is also used later to check whether we opened the
*/}}
+ {{ range $index, $version := $versions }}
+ {{ $.Scratch.Set "version-class" (slice "") }}
+ {{ $versionArray := split .version "." }}
+
+ {{ if eq $index 0 }}
+ {{ T "docs_version_latest_heading" }}
+
+ {{ $.Scratch.Set "version-class" ($.Scratch.Get "version-class" | append "version-latest" ) }}
+ {{ end }}
+ {{ if eq $index 1 }}
+
+ {{ T "docs_version_other_heading" }}
+
+ {{ end }}
+
+ {{ if eq .version ( delimit $thisVersionArray "." ) }}
+ {{ $.Scratch.Set "version-class" ($.Scratch.Get "version-class" | append "version-current" ) }}
+ {{ end }}
+
+ -
+ {{ .version }}
+ {{ if eq .version ( delimit $thisVersionArray "." ) }}
+ {{ T "docs_version_current" }}
+ {{ end }}
+
+ {{ end }}
+ {{ if ne (index ($.Scratch.Get "version-class") 0) "placeholder" }}
+
+ {{ end }}
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/shortcodes/versions-other.html b/layouts/shortcodes/versions-other.html
index 4f5e3854f2..2b2b2655dd 100644
--- a/layouts/shortcodes/versions-other.html
+++ b/layouts/shortcodes/versions-other.html
@@ -1,3 +1,4 @@
+{{/* this shortcode is DEPRECATED */}}
{{ $versions := .Page.Param "versions" }}
{{ $thisVersion := .Page.Param "version" }}