From 0209f2ace763beb778c5e1047174c4168e30c164 Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Sat, 26 Jul 2025 21:05:24 -0700 Subject: [PATCH] add changelog page --- .../navigation/sidebars/nav/RootNav.astro | 5 ++++ src/config/io/generateTypeData.ts | 3 +- src/config/io/types.d.ts | 1 + src/pages/changelog.astro | 28 +++++++++++++++++++ src/pages/changelog.md | 8 ------ 5 files changed, 36 insertions(+), 9 deletions(-) create mode 100644 src/pages/changelog.astro delete mode 100644 src/pages/changelog.md diff --git a/src/components/navigation/sidebars/nav/RootNav.astro b/src/components/navigation/sidebars/nav/RootNav.astro index b10a087..3db3dc0 100644 --- a/src/components/navigation/sidebars/nav/RootNav.astro +++ b/src/components/navigation/sidebars/nav/RootNav.astro @@ -90,6 +90,11 @@ if (versionName) { link="/about" current={currentPath.length === 1 && currentPath[0] === "about"} /> + { versionedEntries && }
{ versionedEntries && ( diff --git a/src/config/io/generateTypeData.ts b/src/config/io/generateTypeData.ts index 82fa4c1..5eade40 100644 --- a/src/config/io/generateTypeData.ts +++ b/src/config/io/generateTypeData.ts @@ -47,8 +47,9 @@ async function readVersionsData(): Promise { const content = await fs.readFile(versionsPath, "utf8"); const data = JSON.parse(content); - const versions = await Promise.all(data.versions.map(async (d: { name: string, types: any }) => ({ + const versions = await Promise.all(data.versions.map(async (d: { name: string, changelog?: string, types: any }) => ({ name: d.name, + changelog: d.changelog ? await fs.readFile(d.changelog, "utf8") : undefined, modules: await readModulesData(d.types), }))); diff --git a/src/config/io/types.d.ts b/src/config/io/types.d.ts index 155b716..6174a7f 100644 --- a/src/config/io/types.d.ts +++ b/src/config/io/types.d.ts @@ -84,6 +84,7 @@ export interface ModuleData { export interface VersionData { name: string; + changelog?: string; modules: ModuleData[]; } diff --git a/src/pages/changelog.astro b/src/pages/changelog.astro new file mode 100644 index 0000000..9e337ad --- /dev/null +++ b/src/pages/changelog.astro @@ -0,0 +1,28 @@ +--- +import GuideLayout from "@layouts/GuideLayout.astro"; +import { getVersionsData } from "@config/io/generateTypeData"; +import { processMarkdown } from "@config/io/markdown"; + +const { versions } = await getVersionsData(); + +const versionsMd = await Promise.all(versions.filter(version => version.changelog).map(async version => ({ + version, + changelog: await processMarkdown(version.name, version.changelog!) +}))); + +const headings = versionsMd.map(({ version }) => ({ + text: version.name, + slug: version.name, + depth: 1, +})); +--- + + {versionsMd.map(({ version, changelog }) => ( +
+

{version.name}

+

Documentation

+
+
+ + ))} +
diff --git a/src/pages/changelog.md b/src/pages/changelog.md deleted file mode 100644 index 1432aea..0000000 --- a/src/pages/changelog.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: "@layouts/GuideMdLayout.astro" -title: Changelog ---- - -## v0.2.0 - -## v0.1.0