Add Docs
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
import {defineConfig, sharpImageService} from "astro/config";
|
import { defineConfig, sharpImageService } from "astro/config";
|
||||||
import svelte from "@astrojs/svelte";
|
import svelte from "@astrojs/svelte";
|
||||||
import tailwind from "@astrojs/tailwind";
|
import tailwind from "@astrojs/tailwind";
|
||||||
import configureI18n from "./astro-i18n.adapter";
|
import configureI18n from "./astro-i18n.adapter";
|
||||||
@ -8,6 +8,8 @@ import robotsTxt from "astro-robots-txt";
|
|||||||
import path from "node:path";
|
import path from "node:path";
|
||||||
import mdx from "@astrojs/mdx";
|
import mdx from "@astrojs/mdx";
|
||||||
|
|
||||||
|
import starlight from "@astrojs/starlight";
|
||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
output: "static",
|
output: "static",
|
||||||
@ -18,14 +20,40 @@ export default defineConfig({
|
|||||||
site: "https://steamwar.de",
|
site: "https://steamwar.de",
|
||||||
integrations: [
|
integrations: [
|
||||||
svelte(),
|
svelte(),
|
||||||
|
starlight({
|
||||||
|
disable404Route: true,
|
||||||
|
title: "SteamWar Docs",
|
||||||
|
defaultLocale: "de",
|
||||||
|
logo: {
|
||||||
|
src: "./src/images/logo.png",
|
||||||
|
},
|
||||||
|
social: [
|
||||||
|
{ icon: "discord", label: "Discord", href: "https://steamwar.de/discord" },
|
||||||
|
{ icon: "document", label: "Gitea", href: "https://git.steamwar.de" },
|
||||||
|
],
|
||||||
|
sidebar: [
|
||||||
|
{ label: "Startseite", slug: "docs" },
|
||||||
|
{ label: "Bau", badge: "WIP", items: ["docs/bausystem", { label: "Script System", items: ["docs/bausystem/script"] }] },
|
||||||
|
{ label: "Kampfsystem", badge: "WIP", items: ["docs/fightsystem"] },
|
||||||
|
{ label: "Minigames", badge: "WIP", items: ["docs/minigames"] },
|
||||||
|
{ label: "Schematicsystem", badge: "WIP", items: ["docs/schematicsystem"] },
|
||||||
|
{ label: "API", badge: "WIP", items: ["docs/api"] },
|
||||||
|
],
|
||||||
|
editLink: {
|
||||||
|
baseUrl: "https://git.steamwar.de/SteamWar/Website/src/branch/main/",
|
||||||
|
},
|
||||||
|
}),
|
||||||
tailwind({
|
tailwind({
|
||||||
configFile: "./tailwind.config.js",
|
configFile: "./tailwind.config.js",
|
||||||
|
applyBaseStyles: false,
|
||||||
}),
|
}),
|
||||||
configureI18n(),
|
configureI18n(),
|
||||||
sitemap({
|
sitemap({
|
||||||
i18n: {
|
i18n: {
|
||||||
defaultLocale: "en", locales: {
|
defaultLocale: "en",
|
||||||
en: "en-US", de: "de-DE",
|
locales: {
|
||||||
|
en: "en-US",
|
||||||
|
de: "de-DE",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
@ -49,7 +77,7 @@ export default defineConfig({
|
|||||||
{ userAgent: "omgili", disallow: "/" },
|
{ userAgent: "omgili", disallow: "/" },
|
||||||
{ userAgent: "OmigliBot", disallow: "/" },
|
{ userAgent: "OmigliBot", disallow: "/" },
|
||||||
{ userAgent: "PerplexityBot", disallow: "/" },
|
{ userAgent: "PerplexityBot", disallow: "/" },
|
||||||
{ userAgent: "Timpibot", disallow: "/" }
|
{ userAgent: "Timpibot", disallow: "/" },
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
mdx(),
|
mdx(),
|
||||||
@ -66,8 +94,8 @@ export default defineConfig({
|
|||||||
"@layouts": path.resolve("./src/layouts"),
|
"@layouts": path.resolve("./src/layouts"),
|
||||||
"@repo": path.resolve("./src/components/repo"),
|
"@repo": path.resolve("./src/components/repo"),
|
||||||
"@stores": path.resolve("./src/components/stores"),
|
"@stores": path.resolve("./src/components/stores"),
|
||||||
"$lib": path.resolve("./src"),
|
$lib: path.resolve("./src"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@ -58,6 +58,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/mdx": "^4.3.0",
|
"@astrojs/mdx": "^4.3.0",
|
||||||
"@astrojs/sitemap": "^3.4.0",
|
"@astrojs/sitemap": "^3.4.0",
|
||||||
|
"@astrojs/starlight": "^0.34.4",
|
||||||
|
"@astrojs/starlight-tailwind": "^4.0.1",
|
||||||
"@codemirror/commands": "^6.8.1",
|
"@codemirror/commands": "^6.8.1",
|
||||||
"@codemirror/lang-json": "^6.0.1",
|
"@codemirror/lang-json": "^6.0.1",
|
||||||
"@codemirror/view": "^6.36.8",
|
"@codemirror/view": "^6.36.8",
|
||||||
|
|||||||
@ -17,7 +17,9 @@
|
|||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {defineCollection, reference, z} from "astro:content";
|
import { defineCollection, reference, z } from "astro:content";
|
||||||
|
import { docsLoader } from "@astrojs/starlight/loaders";
|
||||||
|
import { docsSchema } from "@astrojs/starlight/schema";
|
||||||
|
|
||||||
export const pagesSchema = z.object({
|
export const pagesSchema = z.object({
|
||||||
title: z.string().min(1).max(80),
|
title: z.string().min(1).max(80),
|
||||||
@ -55,8 +57,7 @@ export const downloads = defineCollection({
|
|||||||
schema: z.object({
|
schema: z.object({
|
||||||
name: z.string(),
|
name: z.string(),
|
||||||
description: z.string(),
|
description: z.string(),
|
||||||
url: z.string().url()
|
url: z.string().url().or(z.record(z.string(), z.string())),
|
||||||
.or(z.record(z.string(), z.string())),
|
|
||||||
sourceUrl: z.string().url().optional(),
|
sourceUrl: z.string().url().optional(),
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
@ -71,45 +72,50 @@ export const rules = defineCollection({
|
|||||||
|
|
||||||
export const announcements = defineCollection({
|
export const announcements = defineCollection({
|
||||||
type: "content",
|
type: "content",
|
||||||
schema: ({image}) => z.object({
|
schema: ({ image }) =>
|
||||||
title: z.string(),
|
z.object({
|
||||||
description: z.string(),
|
title: z.string(),
|
||||||
author: z.string().optional(),
|
description: z.string(),
|
||||||
image: image().optional(),
|
author: z.string().optional(),
|
||||||
tags: z.array(z.string()),
|
image: image().optional(),
|
||||||
created: z.date(),
|
tags: z.array(z.string()),
|
||||||
key: z.string(),
|
created: z.date(),
|
||||||
}),
|
key: z.string(),
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const publics = defineCollection({
|
export const publics = defineCollection({
|
||||||
type: "data",
|
type: "data",
|
||||||
schema: ({image}) => z.object({
|
schema: ({ image }) =>
|
||||||
"name": z.string(),
|
z.object({
|
||||||
"description": z.string(),
|
name: z.string(),
|
||||||
"id": z.number().positive(),
|
description: z.string(),
|
||||||
"creator": z.string().array().optional(),
|
id: z.number().positive(),
|
||||||
"showcase": z.string().url().optional(),
|
creator: z.string().array().optional(),
|
||||||
"camera": z.object({
|
showcase: z.string().url().optional(),
|
||||||
"fov": z.number().optional(),
|
camera: z
|
||||||
"near": z.number().optional(),
|
.object({
|
||||||
"far": z.number().optional(),
|
fov: z.number().optional(),
|
||||||
"distance": z.number().optional(),
|
near: z.number().optional(),
|
||||||
}).optional(),
|
far: z.number().optional(),
|
||||||
"image": image(),
|
distance: z.number().optional(),
|
||||||
"alt": image().optional(),
|
})
|
||||||
"xray": image().optional(),
|
.optional(),
|
||||||
"gamemode": reference("modes"),
|
image: image(),
|
||||||
"3d": z.boolean().optional().default(true),
|
alt: image().optional(),
|
||||||
}),
|
xray: image().optional(),
|
||||||
|
gamemode: reference("modes"),
|
||||||
|
"3d": z.boolean().optional().default(true),
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const collections = {
|
export const collections = {
|
||||||
"pages": pages,
|
pages: pages,
|
||||||
"help": help,
|
help: help,
|
||||||
"modes": modes,
|
modes: modes,
|
||||||
"rules": rules,
|
rules: rules,
|
||||||
"downloads": downloads,
|
downloads: downloads,
|
||||||
"announcements": announcements,
|
announcements: announcements,
|
||||||
"publics": publics,
|
publics: publics,
|
||||||
|
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
|
||||||
};
|
};
|
||||||
|
|||||||
5
src/content/docs/docs/api/index.md
Normal file
5
src/content/docs/docs/api/index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: Überblick
|
||||||
|
---
|
||||||
|
|
||||||
|
WIP
|
||||||
5
src/content/docs/docs/bausystem/index.md
Normal file
5
src/content/docs/docs/bausystem/index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: Überblick
|
||||||
|
---
|
||||||
|
|
||||||
|
WIP
|
||||||
5
src/content/docs/docs/bausystem/script/index.md
Normal file
5
src/content/docs/docs/bausystem/script/index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: Script Überblick
|
||||||
|
---
|
||||||
|
|
||||||
|
WIP
|
||||||
5
src/content/docs/docs/fightsystem/index.md
Normal file
5
src/content/docs/docs/fightsystem/index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: Überblick
|
||||||
|
---
|
||||||
|
|
||||||
|
WIP
|
||||||
24
src/content/docs/docs/index.mdx
Normal file
24
src/content/docs/docs/index.mdx
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
title: Startseite
|
||||||
|
desciption: Startseite der SteamWar Dokumentation
|
||||||
|
---
|
||||||
|
|
||||||
|
import { Tabs, TabItem } from '@astrojs/starlight/components';
|
||||||
|
|
||||||
|
Herzlich Willkommen in der SteamWar Dokumentation!
|
||||||
|
|
||||||
|
## SteamWar beitreten
|
||||||
|
SteamWar ist ein Minecraft Java Server.
|
||||||
|
|
||||||
|
<Tabs>
|
||||||
|
<TabItem label="Java Edition">
|
||||||
|
- IP: `steamwar.de`
|
||||||
|
- Empholene Version: `1.21.5`
|
||||||
|
</TabItem>
|
||||||
|
<TabItem label="Bedrock Edition">
|
||||||
|
- IP: `steamwar.de`
|
||||||
|
- Port: `19132`
|
||||||
|
- Version: `Aktuellste`
|
||||||
|
</TabItem>
|
||||||
|
</Tabs>
|
||||||
|
|
||||||
5
src/content/docs/docs/minigames/index.md
Normal file
5
src/content/docs/docs/minigames/index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: Überblick
|
||||||
|
---
|
||||||
|
|
||||||
|
WIP
|
||||||
5
src/content/docs/docs/schematicsystem/index.md
Normal file
5
src/content/docs/docs/schematicsystem/index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: Überblick
|
||||||
|
---
|
||||||
|
|
||||||
|
WIP
|
||||||
@ -22,10 +22,7 @@ import { fontFamily } from "tailwindcss/defaultTheme";
|
|||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
const config = {
|
const config = {
|
||||||
darkMode: ["class"],
|
darkMode: ["class"],
|
||||||
content: [
|
content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}", "./node_modules/flowbite-svelte/**/*.{html,js,svelte,ts}"],
|
||||||
"./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}",
|
|
||||||
"./node_modules/flowbite-svelte/**/*.{html,js,svelte,ts}",
|
|
||||||
],
|
|
||||||
safelist: ["dark"],
|
safelist: ["dark"],
|
||||||
theme: {
|
theme: {
|
||||||
container: {
|
container: {
|
||||||
|
|||||||
Reference in New Issue
Block a user