From 62c121da42d3cbd8a9890f9217c72db3f5b61345 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Fri, 11 Aug 2023 00:57:07 +0200 Subject: [PATCH] fix: pages of synonyms --- website/src/pages/ref/[ref].astro | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/website/src/pages/ref/[ref].astro b/website/src/pages/ref/[ref].astro index 31524af91..3f7837e41 100644 --- a/website/src/pages/ref/[ref].astro +++ b/website/src/pages/ref/[ref].astro @@ -3,12 +3,30 @@ import ReferenceLayout from '../../layouts/ReferenceLayout.astro'; import { docs } from '../../../../doc.json'; import JsDoc from '../../docs/JsDoc.astro'; +export const getSynonyms = (doc) => { + const synonyms = doc.tags?.find((t) => t.title === 'synonyms'); + if (synonyms) { + return synonyms.text?.split(', '); + } + return []; +}; + export function getStaticPaths() { - return docs.map((doc) => [{ params: { ref: doc.name } }]); + let paths: any = []; + docs.forEach((doc) => { + paths.push({ params: { ref: doc.name } }); + const synonyms = getSynonyms(doc); + if (synonyms) { + synonyms.forEach((synonym) => { + paths.push({ params: { ref: synonym } }); + }); + } + }); + return paths; } const { ref } = Astro.params; -const entry = docs.find((d) => d.name === ref); +const entry = docs.find((d) => d.name === ref || getSynonyms(d).includes(ref)); if (!entry) { return; }