diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 77fa9f20..f39a9af4 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -100,6 +100,29 @@ const config: Config = { plugins: [ './src/plugins/csv-loader/index.ts', + [ + '@docusaurus/plugin-client-redirects', + { + redirects: [ + { from: '/getting-started/contribute', to: '/overview/contribute' }, + { from: '/getting-started/project-overview', to: '/' }, + { from: '/getting-started/safety-guide', to: '/overview/safety-guide' }, + ], + createRedirects(existingPath: string) { + const removedInV2 = [ + '/1.0/hardware/assembly-guide', + '/1.0/hardware/bill-of-materials', + '/1.0/hardware/specifications', + '/1.0/hardware/wiring-and-casing-guide', + '/1.0/software', + ]; + if (!removedInV2.some((path) => existingPath.startsWith(path))) { + return; + } + return [existingPath.replace(/^\/1\.0/, '')]; + }, + }, + ], ], themeConfig: { diff --git a/website/package-lock.json b/website/package-lock.json index aa2ab99d..ac842ee3 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@docusaurus/core": "3.10.1", "@docusaurus/faster": "3.10.1", + "@docusaurus/plugin-client-redirects": "3.10.1", "@docusaurus/preset-classic": "3.10.1", "@mdx-js/react": "^3.1.1", "clsx": "^2.0.0", @@ -3626,6 +3627,30 @@ "react-dom": "*" } }, + "node_modules/@docusaurus/plugin-client-redirects": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.10.1.tgz", + "integrity": "sha512-LHgd+YDvkhfOHMAE6XtUng3DQNzVM765RqVRrMJgHtzAvfopQhY6ieprqjxDVBdv21cLma6I0jHr+YCZH8fL9A==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.10.1", + "@docusaurus/logger": "3.10.1", + "@docusaurus/utils": "3.10.1", + "@docusaurus/utils-common": "3.10.1", + "@docusaurus/utils-validation": "3.10.1", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, "node_modules/@docusaurus/plugin-content-blog": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.10.1.tgz", diff --git a/website/package.json b/website/package.json index 702c2575..5549f200 100644 --- a/website/package.json +++ b/website/package.json @@ -20,6 +20,7 @@ "dependencies": { "@docusaurus/core": "3.10.1", "@docusaurus/faster": "3.10.1", + "@docusaurus/plugin-client-redirects": "3.10.1", "@docusaurus/preset-classic": "3.10.1", "@mdx-js/react": "^3.1.1", "clsx": "^2.0.0",