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