Live video on the AT Protocol
1// @ts-check
2import starlight from "@astrojs/starlight";
3import { defineConfig, passthroughImageService } from "astro/config";
4import starlightOpenAPI, { openAPISidebarGroups } from "starlight-openapi";
5
6// https://astro.build/config
7export default defineConfig({
8 base: "/docs",
9 image: {
10 service: passthroughImageService(),
11 },
12 integrations: [
13 starlight({
14 title: "Streamplace Docs",
15 customCss: [
16 "@fontsource/atkinson-hyperlegible-next/400.css",
17 "@fontsource/atkinson-hyperlegible-next/600.css",
18 "./src/styles/custom-font-face.css",
19 "./src/styles/pre-first-table-col.css",
20 "./src/styles/widths.css",
21 ],
22 social: [
23 {
24 icon: "github",
25 label: "GitHub",
26 href: "https://github.com/streamplace/streamplace",
27 },
28 ],
29 logo: {
30 src: "/src/assets/cube.png",
31 alt: "Streamplace Logo",
32 },
33 favicon: "/favicon.ico",
34 plugins: [
35 starlightOpenAPI([
36 {
37 base: "api",
38 label: "Related XRPC API endpoints",
39 schema: "./src/content/docs/lex-reference/openapi.json", // or your json generated from swagger
40 sidebar: {
41 operations: {
42 badges: true,
43 labels: "operationId",
44 },
45 },
46 },
47 ]),
48 ],
49 sidebar: [
50 { label: "← Back to Streamplace", link: "/back-to-home" },
51 {
52 label: "How Streamplace Works (Blog)",
53 link: "https://blog.stream.place/",
54 attrs: { target: "_blank" },
55 },
56 {
57 label: "Guides",
58 items: [
59 {
60 label: "Start Streaming",
61 autogenerate: { directory: "guides/start-streaming" },
62 },
63 {
64 label: "Installing Streamplace",
65 autogenerate: { directory: "guides/installing" },
66 },
67 {
68 label: "Start Contributing",
69 autogenerate: { directory: "guides/start-contributing" },
70 },
71 ],
72 },
73 {
74 label: "Features",
75 autogenerate: { directory: "features" },
76 },
77 {
78 label: "Video Metadata",
79 autogenerate: { directory: "video-metadata" },
80 },
81 {
82 label: "Components",
83 autogenerate: { directory: "components" },
84 },
85 {
86 label: "Lexicon Reference",
87 autogenerate: { directory: "lex-reference" },
88 },
89 ...openAPISidebarGroups,
90 ],
91 }),
92 ],
93});