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 tailwind from "@astrojs/tailwind";
|
||||
import configureI18n from "./astro-i18n.adapter";
|
||||
@ -8,6 +8,8 @@ import robotsTxt from "astro-robots-txt";
|
||||
import path from "node:path";
|
||||
import mdx from "@astrojs/mdx";
|
||||
|
||||
import starlight from "@astrojs/starlight";
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
output: "static",
|
||||
@ -18,14 +20,40 @@ export default defineConfig({
|
||||
site: "https://steamwar.de",
|
||||
integrations: [
|
||||
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({
|
||||
configFile: "./tailwind.config.js",
|
||||
applyBaseStyles: false,
|
||||
}),
|
||||
configureI18n(),
|
||||
sitemap({
|
||||
i18n: {
|
||||
defaultLocale: "en", locales: {
|
||||
en: "en-US", de: "de-DE",
|
||||
defaultLocale: "en",
|
||||
locales: {
|
||||
en: "en-US",
|
||||
de: "de-DE",
|
||||
},
|
||||
},
|
||||
}),
|
||||
@ -49,7 +77,7 @@ export default defineConfig({
|
||||
{ userAgent: "omgili", disallow: "/" },
|
||||
{ userAgent: "OmigliBot", disallow: "/" },
|
||||
{ userAgent: "PerplexityBot", disallow: "/" },
|
||||
{ userAgent: "Timpibot", disallow: "/" }
|
||||
{ userAgent: "Timpibot", disallow: "/" },
|
||||
],
|
||||
}),
|
||||
mdx(),
|
||||
@ -66,8 +94,8 @@ export default defineConfig({
|
||||
"@layouts": path.resolve("./src/layouts"),
|
||||
"@repo": path.resolve("./src/components/repo"),
|
||||
"@stores": path.resolve("./src/components/stores"),
|
||||
"$lib": path.resolve("./src"),
|
||||
$lib: path.resolve("./src"),
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
@ -58,6 +58,8 @@
|
||||
"dependencies": {
|
||||
"@astrojs/mdx": "^4.3.0",
|
||||
"@astrojs/sitemap": "^3.4.0",
|
||||
"@astrojs/starlight": "^0.34.4",
|
||||
"@astrojs/starlight-tailwind": "^4.0.1",
|
||||
"@codemirror/commands": "^6.8.1",
|
||||
"@codemirror/lang-json": "^6.0.1",
|
||||
"@codemirror/view": "^6.36.8",
|
||||
|
||||
@ -17,7 +17,9 @@
|
||||
* 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({
|
||||
title: z.string().min(1).max(80),
|
||||
@ -55,8 +57,7 @@ export const downloads = defineCollection({
|
||||
schema: z.object({
|
||||
name: z.string(),
|
||||
description: z.string(),
|
||||
url: z.string().url()
|
||||
.or(z.record(z.string(), z.string())),
|
||||
url: z.string().url().or(z.record(z.string(), z.string())),
|
||||
sourceUrl: z.string().url().optional(),
|
||||
}),
|
||||
});
|
||||
@ -71,45 +72,50 @@ export const rules = defineCollection({
|
||||
|
||||
export const announcements = defineCollection({
|
||||
type: "content",
|
||||
schema: ({image}) => z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
author: z.string().optional(),
|
||||
image: image().optional(),
|
||||
tags: z.array(z.string()),
|
||||
created: z.date(),
|
||||
key: z.string(),
|
||||
}),
|
||||
schema: ({ image }) =>
|
||||
z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
author: z.string().optional(),
|
||||
image: image().optional(),
|
||||
tags: z.array(z.string()),
|
||||
created: z.date(),
|
||||
key: z.string(),
|
||||
}),
|
||||
});
|
||||
|
||||
export const publics = defineCollection({
|
||||
type: "data",
|
||||
schema: ({image}) => z.object({
|
||||
"name": z.string(),
|
||||
"description": z.string(),
|
||||
"id": z.number().positive(),
|
||||
"creator": z.string().array().optional(),
|
||||
"showcase": z.string().url().optional(),
|
||||
"camera": z.object({
|
||||
"fov": z.number().optional(),
|
||||
"near": z.number().optional(),
|
||||
"far": z.number().optional(),
|
||||
"distance": z.number().optional(),
|
||||
}).optional(),
|
||||
"image": image(),
|
||||
"alt": image().optional(),
|
||||
"xray": image().optional(),
|
||||
"gamemode": reference("modes"),
|
||||
"3d": z.boolean().optional().default(true),
|
||||
}),
|
||||
schema: ({ image }) =>
|
||||
z.object({
|
||||
name: z.string(),
|
||||
description: z.string(),
|
||||
id: z.number().positive(),
|
||||
creator: z.string().array().optional(),
|
||||
showcase: z.string().url().optional(),
|
||||
camera: z
|
||||
.object({
|
||||
fov: z.number().optional(),
|
||||
near: z.number().optional(),
|
||||
far: z.number().optional(),
|
||||
distance: z.number().optional(),
|
||||
})
|
||||
.optional(),
|
||||
image: image(),
|
||||
alt: image().optional(),
|
||||
xray: image().optional(),
|
||||
gamemode: reference("modes"),
|
||||
"3d": z.boolean().optional().default(true),
|
||||
}),
|
||||
});
|
||||
|
||||
export const collections = {
|
||||
"pages": pages,
|
||||
"help": help,
|
||||
"modes": modes,
|
||||
"rules": rules,
|
||||
"downloads": downloads,
|
||||
"announcements": announcements,
|
||||
"publics": publics,
|
||||
pages: pages,
|
||||
help: help,
|
||||
modes: modes,
|
||||
rules: rules,
|
||||
downloads: downloads,
|
||||
announcements: announcements,
|
||||
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} */
|
||||
const config = {
|
||||
darkMode: ["class"],
|
||||
content: [
|
||||
"./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}",
|
||||
"./node_modules/flowbite-svelte/**/*.{html,js,svelte,ts}",
|
||||
],
|
||||
content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}", "./node_modules/flowbite-svelte/**/*.{html,js,svelte,ts}"],
|
||||
safelist: ["dark"],
|
||||
theme: {
|
||||
container: {
|
||||
|
||||
Reference in New Issue
Block a user