add changelog page

This commit is contained in:
outfoxxed 2025-07-26 21:05:24 -07:00
parent e7c807ac85
commit f3dafd1172
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E
5 changed files with 36 additions and 9 deletions

View file

@ -90,6 +90,11 @@ if (versionName) {
link="/about"
current={currentPath.length === 1 && currentPath[0] === "about"}
/>
<Link
title="Changelog"
link="/changelog"
current={currentPath.length === 1 && currentPath[0] === "changelog"}
/>
{ versionedEntries && <Tree {...versionsTree as TreeEntry}/>}
<hr/>
{ versionedEntries && (

View file

@ -47,8 +47,9 @@ async function readVersionsData(): Promise<VersionsData> {
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),
})));

View file

@ -84,6 +84,7 @@ export interface ModuleData {
export interface VersionData {
name: string;
changelog?: string;
modules: ModuleData[];
}

28
src/pages/changelog.astro Normal file
View file

@ -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,
}));
---
<GuideLayout title="Changelog" description="" headings={headings}>
{versionsMd.map(({ version, changelog }) => (
<div style="display: flex; justify-content: space-between">
<h2 id={version.name}>{version.name}</h2>
<h2><a href={`/docs/${version.name}/guide`}>Documentation</a></h2>
</div>
<hr/>
<Fragment set:html={changelog}/>
))}
</GuideLayout>

View file

@ -1,8 +0,0 @@
---
layout: "@layouts/GuideMdLayout.astro"
title: Changelog
---
## v0.2.0
## v0.1.0