From 5cf568cfc473078b8bc1c78b73bdc32cf45654cb Mon Sep 17 00:00:00 2001 From: Jonatan Antoni Date: Tue, 5 Jul 2022 12:21:03 +0200 Subject: [PATCH] Fixup version selector --- update_versions.sh | 16 ++++++++----- version.js | 5 ++-- version.js.bak | 57 ---------------------------------------------- 3 files changed, 13 insertions(+), 65 deletions(-) delete mode 100644 version.js.bak diff --git a/update_versions.sh b/update_versions.sh index d153ebed..eb0c5736 100755 --- a/update_versions.sh +++ b/update_versions.sh @@ -1,25 +1,29 @@ #!/bin/bash -LINES=($(grep -n 'list of versions' version.js | cut -d: -f1)) +mv -f version.js version.js.bak + +LINES=($(grep -n 'list of versions' version.js.bak | cut -d: -f1)) LINES[0]=$(expr ${LINES[0]} - 1) LINES[1]=$(expr ${LINES[1]} + 1) VERSIONS=($(find -maxdepth 1 -mindepth 1 -type l) $(find -maxdepth 1 -mindepth 1 -type d)) fields=() for version in ${VERSIONS[*]#./}; do - label=$(grep "Version" $version/footer.js | sed -r "s/.*'Version ([^']+)'.*/\1/") - fields+=("\"${version}\": \"${label}\"") + if [ -f "$version/footer.js" ]; then + label=$(grep "Version" $version/footer.js | sed -r "s/.*'Version ([^']+)'.*/\1/") + fields+=("\"${version}\": \"${label}\"") + fi done -mv version.js version.js.bak - head -n ${LINES[0]} version.js.bak > version.js echo "//--- list of versions ---" >> version.js echo "const versions = {" >> version.js echo -n " " >> version.js -echo $(IFS=,; echo "${fields[*]}") | sed 's/,/,\n /' >> version.js +echo $(IFS=,; echo "${fields[*]}") | sed 's/,/,\n /g' >> version.js echo "}" >> version.js echo "//--- list of versions ---" >> version.js tail -n +${LINES[1]} version.js.bak >> version.js +rm version.js.bak + exit 0 diff --git a/version.js b/version.js index 53643165..9c8f54f0 100644 --- a/version.js +++ b/version.js @@ -1,7 +1,8 @@ //--- list of versions --- const versions = { "latest": "1.10.1", - "v1.10.1": "1.10.1","main": "1.10.2-dev1",".git": "" + "v1.10.1": "1.10.1", + "main": "1.10.2-dev1" } //--- list of versions --- @@ -29,7 +30,7 @@ function writeVersionDropdown() { for(var version in versions) { var label = versions[version]; if (label != version) { - label += "("+version+")" + label += " ("+version+")" } document.write(' '+label+''); } diff --git a/version.js.bak b/version.js.bak deleted file mode 100644 index 6b92494e..00000000 --- a/version.js.bak +++ /dev/null @@ -1,57 +0,0 @@ -//--- list of versions --- -const versions = { - "main": "1.10.2-dev1", - "latest": "1.10.1" -} -//--- list of versions --- - -var scripts = document.getElementsByTagName("script"), -scriptUrl = new URL(scripts[scripts.length-1].src); -docUrl = new URL(document.URL); -baseUrl = new URL(scriptUrl) -baseUrl.pathname = baseUrl.pathname.split('/').slice(0,-1).join("/") - -function urlForVersion(url, version) { - url = new URL(url); - pathname = url.pathname.replace(baseUrl.pathname, ""); - parts = pathname.split("/"); - parts[1] = version; - url.pathname = baseUrl.pathname + parts.join("/"); - return url -} - -function writeVersionDropdown() { - currentVersion = document.currentScript.parentNode.innerText; - document.currentScript.parentNode.classList.add("dropdown"); - document.currentScript.parentNode.innerText = ""; - document.write(' '+currentVersion+''); - document.write(' '); -}; - -/* When the user clicks on the button, -toggle between hiding and showing the dropdown content */ -function myFunction() { - document.getElementById("myDropdown").classList.toggle("show"); -} - -// Close the dropdown menu if the user clicks outside of it -window.onclick = function(event) { - if (!event.target.matches('.dropbtn')) { - var dropdowns = document.getElementsByClassName("dropdown-content"); - var i; - for (i = 0; i < dropdowns.length; i++) { - var openDropdown = dropdowns[i]; - if (openDropdown.classList.contains('show')) { - openDropdown.classList.remove('show'); - } - } - } -}