add changelog page
This commit is contained in:
parent
e7c807ac85
commit
0209f2ace7
5 changed files with 36 additions and 9 deletions
|
@ -90,6 +90,11 @@ if (versionName) {
|
||||||
link="/about"
|
link="/about"
|
||||||
current={currentPath.length === 1 && currentPath[0] === "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}/>}
|
{ versionedEntries && <Tree {...versionsTree as TreeEntry}/>}
|
||||||
<hr/>
|
<hr/>
|
||||||
{ versionedEntries && (
|
{ versionedEntries && (
|
||||||
|
|
|
@ -47,8 +47,9 @@ async function readVersionsData(): Promise<VersionsData> {
|
||||||
const content = await fs.readFile(versionsPath, "utf8");
|
const content = await fs.readFile(versionsPath, "utf8");
|
||||||
const data = JSON.parse(content);
|
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,
|
name: d.name,
|
||||||
|
changelog: d.changelog ? await fs.readFile(d.changelog, "utf8") : undefined,
|
||||||
modules: await readModulesData(d.types),
|
modules: await readModulesData(d.types),
|
||||||
})));
|
})));
|
||||||
|
|
||||||
|
|
1
src/config/io/types.d.ts
vendored
1
src/config/io/types.d.ts
vendored
|
@ -84,6 +84,7 @@ export interface ModuleData {
|
||||||
|
|
||||||
export interface VersionData {
|
export interface VersionData {
|
||||||
name: string;
|
name: string;
|
||||||
|
changelog?: string;
|
||||||
modules: ModuleData[];
|
modules: ModuleData[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
28
src/pages/changelog.astro
Normal file
28
src/pages/changelog.astro
Normal 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>{version.name}</h2>
|
||||||
|
<h2><a href={`/docs/${version.name}/guide`}>Documentation</a></h2>
|
||||||
|
</div>
|
||||||
|
<hr/>
|
||||||
|
<Fragment set:html={changelog}/>
|
||||||
|
))}
|
||||||
|
</GuideLayout>
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
layout: "@layouts/GuideMdLayout.astro"
|
|
||||||
title: Changelog
|
|
||||||
---
|
|
||||||
|
|
||||||
## v0.2.0
|
|
||||||
|
|
||||||
## v0.1.0
|
|
Loading…
Add table
Add a link
Reference in a new issue