diff --git a/docusaurus.config.js b/docusaurus.config.js index 3487b3e..5c1e4c6 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -58,6 +58,15 @@ const subjects = [ new Docs("cpp", "C++"), ]; +const fallbackMapping = [ + { new: "algorithms", old: ["ib002"] }, + { new: "functional", old: ["ib015"] }, + { new: "automata", old: ["ib110"] }, + { new: "foundations", old: ["ib111"] }, + { new: "c", old: ["pb071"] }, + { new: "cpp", old: ["pb161"] }, +]; + /** @type {import('@docusaurus/types').Config} */ const config = { title: "mf", @@ -115,6 +124,22 @@ const config = { }, ], "docusaurus-plugin-sass", + [ + "@docusaurus/plugin-client-redirects", + { + createRedirects(existingPath) { + for (let mapping of fallbackMapping) { + if (existingPath.includes(`/${mapping.new}/`)) { + return mapping.old.map((old) => + existingPath.replace(`/${mapping.new}/`, `/${old}/`) + ); + } + } + + return undefined; // no redirect created + }, + }, + ], ], stylesheets: [ diff --git a/package.json b/package.json index 8a5af4e..1ad8ba4 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ }, "dependencies": { "@docusaurus/core": "^3.0.0", + "@docusaurus/plugin-client-redirects": "^3.0.0", "@docusaurus/preset-classic": "^3.0.0", "@docusaurus/theme-mermaid": "^3.0.0", "@mdx-js/react": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index 55ae7fb..1cd4fa1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1355,6 +1355,21 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@5.5.2" +"@docusaurus/plugin-client-redirects@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.0.0.tgz#983880c467228ed8b1aba5f20ce564696e25f363" + integrity sha512-JcZLod4lgPdbv/OpCbNwTc57u54d01dcWiDy/sBaxls/4HkDGdj6838oBPzbBdnCWrmasBIRz3JYLk+1GU0IOQ== + dependencies: + "@docusaurus/core" "3.0.0" + "@docusaurus/logger" "3.0.0" + "@docusaurus/utils" "3.0.0" + "@docusaurus/utils-common" "3.0.0" + "@docusaurus/utils-validation" "3.0.0" + eta "^2.2.0" + fs-extra "^11.1.1" + lodash "^4.17.21" + tslib "^2.6.0" + "@docusaurus/plugin-content-blog@3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.0.0.tgz#5f3ede003b2b7103043918fbe3f436c116839ca8"