diff options
author | Nick Brassel <[email protected]> | 2024-06-03 08:55:03 +1000 |
---|---|---|
committer | GitHub <[email protected]> | 2024-06-03 08:55:03 +1000 |
commit | 282253a7e0c51717234bd64159a37ee527d16dc2 (patch) | |
tree | a8f1dd6f74418aaa41e61974af462aebb3dc0a4e /builddefs | |
parent | 41dbb4c86c2afd45480ed38c0d5f058eef41a92f (diff) | |
download | qmk_firmware-282253a7e0c51717234bd64159a37ee527d16dc2.tar.gz qmk_firmware-282253a7e0c51717234bd64159a37ee527d16dc2.zip |
[docs] Add ability to redirect based on input path. (#23851)
Diffstat (limited to 'builddefs')
-rw-r--r-- | builddefs/docsgen/.vitepress/theme/QMKLayout.vue | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/builddefs/docsgen/.vitepress/theme/QMKLayout.vue b/builddefs/docsgen/.vitepress/theme/QMKLayout.vue index 30d0780d7c..9d7a41f9e2 100644 --- a/builddefs/docsgen/.vitepress/theme/QMKLayout.vue +++ b/builddefs/docsgen/.vitepress/theme/QMKLayout.vue @@ -2,11 +2,22 @@ import DefaultTheme from 'vitepress/theme' import { useRouter } from 'vitepress' import { onBeforeMount } from 'vue'; +import aliases from "../../../../docs/_aliases.json"; const router = useRouter() onBeforeMount(async () => { - if (window.location.href.includes('/#/')) { - const newUrl = window.location.href.replace(/\/#\//, '/').replace(/\?id=/, '#'); + // Convert from docsify-style to vitepress-style URLs + let newUrl = window.location.href.replace(/\/#\//, '/').replace(/\?id=/, '#'); + + // Convert any aliases + let testUrl = new URL(newUrl); + while (testUrl.pathname in aliases) { + testUrl.pathname = aliases[testUrl.pathname]; + } + newUrl = testUrl.toString(); + + // Redirect if required + if (newUrl != window.location.href) { window.history.replaceState({}, '', newUrl); await router.go(newUrl); } |