Live video on the AT Protocol
1// @ts-check
2import { defineConfig } from "astro/config";
3import starlight from "@astrojs/starlight";
4import starlightOpenAPI, { openAPISidebarGroups } from "starlight-openapi";
5
6// https://astro.build/config
7export default defineConfig({
8 base: "/docs",
9 integrations: [
10 starlight({
11 title: "Streamplace Docs",
12 customCss: [
13 "@fontsource/atkinson-hyperlegible-next/400.css",
14 "@fontsource/atkinson-hyperlegible-next/600.css",
15 "./src/styles/custom-font-face.css",
16 ],
17 social: [
18 {
19 icon: "github",
20 label: "GitHub",
21 href: "https://github.com/streamplace/streamplace",
22 },
23 ],
24 logo: {
25 src: "/src/assets/cube.png",
26 alt: "Streamplace Logo",
27 },
28 plugins: [
29 starlightOpenAPI([
30 {
31 base: "api",
32 label: "Related XRPC API endpoints",
33 schema: "./src/content/docs/lex-reference/openapi.json", // or your json generated from swagger
34 sidebar: {
35 operations: {
36 badges: true,
37 labels: "operationId",
38 },
39 },
40 },
41 ]),
42 ],
43 sidebar: [
44 {
45 label: "Guides",
46 items: [
47 {
48 label: "Start Streaming",
49 autogenerate: { directory: "guides/start-streaming" },
50 },
51 {
52 label: "Start Contributing",
53 autogenerate: { directory: "guides/start-contributing" },
54 },
55 ],
56 },
57 // {
58 // label: "Reference",
59 // autogenerate: { directory: "reference" },
60 // },
61 {
62 label: "Lexicon Reference",
63 autogenerate: { directory: "lex-reference" },
64 },
65 ...openAPISidebarGroups,
66 ],
67 }),
68 ],
69});