diff --git a/content/v2.0/reference/flux/functions/all-functions.md b/content/v2.0/reference/flux/functions/all-functions.md
new file mode 100644
index 000000000..49ad31e2a
--- /dev/null
+++ b/content/v2.0/reference/flux/functions/all-functions.md
@@ -0,0 +1,11 @@
+---
+title: Complete list of Flux functions
+description: View the full library of documented Flux functions.
+menu:
+ v2_0_ref:
+ name: View all functions
+ parent: Flux functions
+weight: 299
+---
+
+{{< list-all-functions >}}
diff --git a/layouts/shortcodes/function-list.html b/layouts/shortcodes/function-list.html
deleted file mode 100644
index 34a256068..000000000
--- a/layouts/shortcodes/function-list.html
+++ /dev/null
@@ -1,33 +0,0 @@
-{{ $category := (.Get "category") }}
-{{ $menu := (.Get "menu")}}
-
-{{ range (index .Site.Menus $menu) }}
- {{ if .HasChildren}}
- {{ range .Children }}
- {{ if eq .Parent $category }}
- {{ if not .HasChildren }}
- - {{ .Name }}
- {{ end }}
- {{ end }}
- {{ if .HasChildren}}
- {{ range .Children }}
- {{ if eq .Parent $category }}
- {{ if not .HasChildren }}
- - {{ .Name }}
- {{ end }}
- {{ end }}
- {{ if .HasChildren}}
- {{ range .Children }}
- {{ if eq .Parent $category }}
- {{ if not .HasChildren }}
- - {{ .Name }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
- {{ end }}
-{{ end }}
-
diff --git a/layouts/shortcodes/list-all-functions.html b/layouts/shortcodes/list-all-functions.html
new file mode 100644
index 000000000..9095b4c32
--- /dev/null
+++ b/layouts/shortcodes/list-all-functions.html
@@ -0,0 +1,7 @@
+{{ $currentVersion := (index (findRE "[^/]+.*?" .Page.URL) 0) }}
+{{ $menuID := print (replaceRE `\.` "_" $currentVersion) "_ref" }}
+{{ $functionsPath := print "/" $currentVersion "/reference/flux/functions" }}
+
+{{ $currentVersion}}
+{{ $menuID }}
+{{ $functionsPath }}