diff --git a/.gitignore b/.gitignore
index e6429ce649..c4660c508d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,3 +37,4 @@ man
# generated when running local website build
docs/website/.hugo_build.lock
+docs/website/data/versions
diff --git a/docs/Makefile b/docs/Makefile
index ac328c3ec3..873e1c7434 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -20,20 +20,16 @@ generate-cli-docs:
$(CURDIR)/../build/gen-cli-docs.sh "$(CURDIR)/content"
.PHONY: generate
-generate: generate-cli-docs copy-builtin-metadata copy-hugo-static-content
+generate: generate-cli-docs copy-hugo-static-content
$(CURDIR)/website/scripts/load-docs.sh
-.PHONY: copy-builtin-metadata
-copy-builtin-metadata:
- cp -v $(CURDIR)/../builtin_metadata.json $(CURDIR)/website/data/builtin_metadata.json
-
.PHONY: copy-hugo-static-content
copy-hugo-static-content:
mkdir -p $(CURDIR)/website/generated/
cp -r $(CURDIR)/website/content/* $(CURDIR)/website/generated/
.PHONY: dev-generate
-dev-generate: generate-cli-docs copy-builtin-metadata copy-hugo-static-content
+dev-generate: generate-cli-docs copy-hugo-static-content
DEV=true $(CURDIR)/website/scripts/load-docs.sh
# The website has some npm dependencies saved in ./website/node_modules
@@ -63,7 +59,7 @@ serve-remote: production-build
cd $(CURDIR)/.. && netlify deploy
.PHONY: dev-build
-dev-build: clean dev-generate copy-builtin-metadata hugo-production-build live-blocks-inject
+dev-build: clean dev-generate hugo-production-build live-blocks-inject
######################################################
#
diff --git a/docs/website/layouts/shortcodes/builtin-table.html b/docs/website/layouts/shortcodes/builtin-table.html
index a07ee24f39..19af6a55ba 100644
--- a/docs/website/layouts/shortcodes/builtin-table.html
+++ b/docs/website/layouts/shortcodes/builtin-table.html
@@ -12,12 +12,13 @@
{{- end -}}
{{ $title | title }}
+
+{{- $bimd := index (index site.Data.versions $version) "builtin_metadata" }}
- {{- range $name := index site.Data.builtin_metadata._categories $cat }}
+ {{- range $name := index $bimd._categories $cat }}
{{- $anchor := anchorize (printf "builtin-%s-%s" $cat $name) }}
- {{- $bi := index site.Data.builtin_metadata $name }}
- {{- if in $bi.available $version }}
+ {{- $bi := index $bimd $name }}
|
@@ -95,6 +96,5 @@
|
{{- end }}
- {{- end }}
-
\ No newline at end of file
+
diff --git a/docs/website/layouts/shortcodes/builtin-tags.html b/docs/website/layouts/shortcodes/builtin-tags.html
index 95ff727c58..1ef1cb4854 100644
--- a/docs/website/layouts/shortcodes/builtin-tags.html
+++ b/docs/website/layouts/shortcodes/builtin-tags.html
@@ -1,11 +1,12 @@
{{- $name := .Get 0 -}}
-{{- $metadata := index site.Data.builtin_metadata $name }}
-
{{- $version := index (split $.Page.File.Path "/") 1 -}}
{{- if (eq $version "latest") -}}
-{{- $version = index site.Data.releases 1 -}}
+ {{- $version = index site.Data.releases 1 -}}
{{- end -}}
+{{- $bimd := index (index site.Data.versions $version) "builtin_metadata" }}
+{{- $metadata := index $bimd $name }}
+
{{- if eq $metadata.introduced $version }}
New
@@ -22,4 +23,4 @@
{{- else -}}
SDK-dependent
{{- end -}}
-
\ No newline at end of file
+
diff --git a/docs/website/scripts/load-docs.sh b/docs/website/scripts/load-docs.sh
index ab84fd4962..82ba3daede 100755
--- a/docs/website/scripts/load-docs.sh
+++ b/docs/website/scripts/load-docs.sh
@@ -88,13 +88,18 @@ fi
for release in "${RELEASES[@]}"; do
version_docs_dir=${ROOT_DIR}/docs/website/generated/docs/${release}
+ version_builtin_metadata_dir=${ROOT_DIR}/docs/website/data/versions/${release}
mkdir -p ${version_docs_dir}
+ mkdir -p ${version_builtin_metadata_dir}
echo "Checking out release ${release}"
# Don't error if the checkout fails
set +e
git archive --format=tar ${release} content | tar x -C ${version_docs_dir} --strip-components=1
+ cd ${ROOT_DIR}
+ git archive --format=tar ${release} builtin_metadata.json | tar x -C ${version_builtin_metadata_dir}
+ cd -
errc=$?
set -e
@@ -117,6 +122,11 @@ echo "- edge" >> ${RELEASES_YAML_FILE}
mkdir -p ${ROOT_DIR}/docs/website/generated/docs
ln -s ../../../content ${ROOT_DIR}/docs/website/generated/docs/edge
+# this is a special case for the "edge" version, we must use the builtin_metadata.json from main here
+# otherwise there are no matches when building the tables.
+mkdir -p ${ROOT_DIR}/docs/website/data/versions/edge
+cp ${ROOT_DIR}/builtin_metadata.json ${ROOT_DIR}/docs/website/data/versions/edge/builtin_metadata.json
+
# Create a "latest" version from the latest semver found
if [[ ${DEV} == "" ]]; then
cp -r ${ROOT_DIR}/docs/website/generated/docs/${RELEASES[0]} ${ROOT_DIR}/docs/website/generated/docs/latest