docs: add changelogs system
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
e1b67b977c
commit
278d8ac5de
|
|
@ -1,5 +1,6 @@
|
||||||
import { defineConfig } from "astro/config"
|
import { defineConfig } from "astro/config"
|
||||||
import starlight from "@astrojs/starlight"
|
import starlight from "@astrojs/starlight"
|
||||||
|
import markdownIntegration from "@astropub/md"
|
||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
|
@ -33,5 +34,6 @@ export default defineConfig({
|
||||||
],
|
],
|
||||||
customCss: ["./src/styles/custom.css"],
|
customCss: ["./src/styles/custom.css"],
|
||||||
}),
|
}),
|
||||||
|
markdownIntegration(),
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,11 @@
|
||||||
"astro": "astro"
|
"astro": "astro"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@astrojs/check": "^0.7.0",
|
||||||
"@astrojs/starlight": "^0.24.0",
|
"@astrojs/starlight": "^0.24.0",
|
||||||
|
"@astropub/md": "^0.4.0",
|
||||||
"astro": "^4.8.6",
|
"astro": "^4.8.6",
|
||||||
"sharp": "^0.32.5",
|
"sharp": "^0.32.5",
|
||||||
"@astrojs/check": "^0.7.0",
|
|
||||||
"typescript": "^5.4.5"
|
"typescript": "^5.4.5"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@9.1.1+sha256.9551e803dcb7a1839fdf5416153a844060c7bce013218ce823410532504ac10b"
|
"packageManager": "pnpm@9.1.1+sha256.9551e803dcb7a1839fdf5416153a844060c7bce013218ce823410532504ac10b"
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,9 @@ importers:
|
||||||
'@astrojs/starlight':
|
'@astrojs/starlight':
|
||||||
specifier: ^0.24.0
|
specifier: ^0.24.0
|
||||||
version: 0.24.0(astro@4.10.1(typescript@5.4.5))
|
version: 0.24.0(astro@4.10.1(typescript@5.4.5))
|
||||||
|
'@astropub/md':
|
||||||
|
specifier: ^0.4.0
|
||||||
|
version: 0.4.0(@astrojs/markdown-remark@5.1.0)
|
||||||
astro:
|
astro:
|
||||||
specifier: ^4.8.6
|
specifier: ^4.8.6
|
||||||
version: 4.10.1(typescript@5.4.5)
|
version: 4.10.1(typescript@5.4.5)
|
||||||
|
|
@ -79,6 +82,11 @@ packages:
|
||||||
resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==}
|
resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==}
|
||||||
engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0}
|
||||||
|
|
||||||
|
'@astropub/md@0.4.0':
|
||||||
|
resolution: {integrity: sha512-f0kJIfywRKLcVqlizqUPModBBuJ7WwBEIWJEt1Eq/ksSYixtOl8HQWMZKJhv9Xtc9OKHhkQf0AQc56EV1xNUnw==}
|
||||||
|
peerDependencies:
|
||||||
|
'@astrojs/markdown-remark': ^4
|
||||||
|
|
||||||
'@babel/code-frame@7.24.7':
|
'@babel/code-frame@7.24.7':
|
||||||
resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
|
resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
@ -2670,6 +2678,10 @@ snapshots:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
'@astropub/md@0.4.0(@astrojs/markdown-remark@5.1.0)':
|
||||||
|
dependencies:
|
||||||
|
'@astrojs/markdown-remark': 5.1.0
|
||||||
|
|
||||||
'@babel/code-frame@7.24.7':
|
'@babel/code-frame@7.24.7':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/highlight': 7.24.7
|
'@babel/highlight': 7.24.7
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
version:
|
||||||
|
code: 1001001
|
||||||
|
name: 1.1.1-beta+gp20
|
||||||
|
title: Post-Beta Patch
|
||||||
|
date:
|
||||||
|
publish: 2024-06-22T12:57:44.148Z
|
||||||
|
summary: Customise your corners and look at the new tabs.
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exciting new Features ✨
|
||||||
|
|
||||||
|
- **📷 Avatar Corner Radius** You can now customise the corner radius of user avatars. Whether in chat, profiles or anywhere else, give your avatars the perfect look.
|
||||||
|
- **🎨 Tabs Makeover** bs now look more modern, even when Material You is disabled. Major glow-up!
|
||||||
|
|
||||||
|
## Tweaks and Fixes 🔧
|
||||||
|
|
||||||
|
- **🧹 Dependency Updates** Freshened up dependencies to keep things neat.
|
||||||
|
- **🛑 On Timeout** Temporarily removed multimedia-related frameworks to save on app size. Don't worry, they're just on a short vacation.
|
||||||
|
|
@ -1,6 +1,19 @@
|
||||||
import { defineCollection } from 'astro:content';
|
import { defineCollection, z } from "astro:content"
|
||||||
import { docsSchema } from '@astrojs/starlight/schema';
|
import { docsSchema } from "@astrojs/starlight/schema"
|
||||||
|
|
||||||
export const collections = {
|
export const collections = {
|
||||||
docs: defineCollection({ schema: docsSchema() }),
|
docs: defineCollection({ schema: docsSchema() }),
|
||||||
};
|
changelogs: defineCollection({
|
||||||
|
schema: z.object({
|
||||||
|
version: z.object({
|
||||||
|
code: z.number(),
|
||||||
|
name: z.string(),
|
||||||
|
title: z.string(),
|
||||||
|
}),
|
||||||
|
date: z.object({
|
||||||
|
publish: z.date(),
|
||||||
|
}),
|
||||||
|
summary: z.string(),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
import type { APIRoute } from "astro"
|
||||||
|
import { getCollection } from "astro:content"
|
||||||
|
|
||||||
|
export const GET: APIRoute = async () => {
|
||||||
|
const changelogs = await getCollection("changelogs")
|
||||||
|
return new Response(
|
||||||
|
JSON.stringify({
|
||||||
|
changelogs: changelogs.map((changelog) => ({
|
||||||
|
...changelog.data,
|
||||||
|
})),
|
||||||
|
}),
|
||||||
|
{
|
||||||
|
headers: {
|
||||||
|
"content-type": "application/json; charset=utf-8",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getStaticPaths = async () => {
|
||||||
|
const changelogs = await getCollection("changelogs")
|
||||||
|
return changelogs.map((changelog) => ({
|
||||||
|
params: {
|
||||||
|
versioncode: changelog.data.version.code.toString(),
|
||||||
|
},
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
import { markdown } from "@astropub/md"
|
||||||
|
import type { APIRoute } from "astro"
|
||||||
|
import { getCollection, getEntry } from "astro:content"
|
||||||
|
|
||||||
|
export const GET: APIRoute = async ({ params }) => {
|
||||||
|
const { versioncode } = params
|
||||||
|
const changelog = await getEntry("changelogs", versioncode!)
|
||||||
|
const rendered = await markdown(changelog?.body!)
|
||||||
|
return new Response(JSON.stringify({ ...changelog, rendered }), {
|
||||||
|
headers: {
|
||||||
|
"content-type": "application/json; charset=utf-8",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getStaticPaths = async () => {
|
||||||
|
const changelogs = await getCollection("changelogs")
|
||||||
|
return changelogs.map((changelog) => ({
|
||||||
|
params: {
|
||||||
|
versioncode: changelog.data.version.code.toString(),
|
||||||
|
},
|
||||||
|
}))
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue