aboutsummaryrefslogtreecommitdiff
path: root/builddefs
diff options
context:
space:
mode:
authorNick Brassel <[email protected]>2024-06-03 08:55:03 +1000
committerGitHub <[email protected]>2024-06-03 08:55:03 +1000
commit282253a7e0c51717234bd64159a37ee527d16dc2 (patch)
treea8f1dd6f74418aaa41e61974af462aebb3dc0a4e /builddefs
parent41dbb4c86c2afd45480ed38c0d5f058eef41a92f (diff)
downloadqmk_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.vue15
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);
}