diff --git a/docs/javascripts/readthedocs.js b/docs/javascripts/readthedocs.js index 9d31343..5f3fe27 100644 --- a/docs/javascripts/readthedocs.js +++ b/docs/javascripts/readthedocs.js @@ -1,3 +1,19 @@ +// NOTE: this is auto-injected by Read the Docs when serving the files. +const metaApiVersion = document.createElement("meta"); +metaApiVersion.setAttribute("name", "readthedocs-addons-api-version"); +metaApiVersion.setAttribute("content", "0"); +document.head.append(metaApiVersion); + +const metaProject = document.createElement("meta"); +metaProject.setAttribute("name", "readthedocs-project-slug"); +metaProject.setAttribute("content", "project"); +document.head.append(metaProject); + +const metaVersion = document.createElement("meta"); +metaVersion.setAttribute("name", "readthedocs-version-slug"); +metaVersion.setAttribute("content", "latest"); +document.head.append(metaVersion); + document.addEventListener("DOMContentLoaded", function(event) { // Trigger Read the Docs' search addon instead of Material MkDocs default document.querySelector(".md-search__input").addEventListener("focus", (e) => { @@ -5,3 +21,29 @@ document.addEventListener("DOMContentLoaded", function(event) { document.dispatchEvent(event); }); }); + + +// Use CustomEvent to generate the version selector +// https://github.com/readthedocs/sphinx_rtd_theme/pull/1526/ +document.addEventListener( + "readthedocs-addons-data-ready", + function (event) { + const versioning = ` +
+ + + +
`; + + document.querySelector(".md-header__topic").insertAdjacentHTML("beforeend", versioning); + });