Live video on the AT Protocol
at next 124 lines 3.7 kB view raw
1// @ts-check 2import starlight from "@astrojs/starlight"; 3import { defineConfig, passthroughImageService } from "astro/config"; 4import starlightOpenAPI, { openAPISidebarGroups } from "starlight-openapi"; 5import starlightSidebarSwipe from "starlight-sidebar-swipe"; 6import starlightSidebarTopics from "starlight-sidebar-topics"; 7 8// https://astro.build/config 9export default defineConfig({ 10 base: "/docs", 11 image: { 12 service: passthroughImageService(), 13 }, 14 integrations: [ 15 starlight({ 16 title: "Streamplace Docs", 17 customCss: [ 18 "@fontsource/atkinson-hyperlegible-next/400.css", 19 "@fontsource/atkinson-hyperlegible-next/600.css", 20 "./src/styles/custom-font-face.css", 21 "./src/styles/pre-first-table-col.css", 22 "./src/styles/widths.css", 23 ], 24 social: [ 25 { 26 icon: "github", 27 label: "GitHub", 28 href: "https://github.com/streamplace/streamplace", 29 }, 30 ], 31 logo: { 32 src: "/src/assets/cube.png", 33 alt: "Streamplace Logo", 34 }, 35 favicon: "/favicon.ico", 36 plugins: [ 37 //starlightLinksValidator(), 38 starlightSidebarSwipe(), 39 starlightOpenAPI([ 40 { 41 base: "/api", 42 label: "Related XRPC API endpoints", 43 schema: "./src/content/docs/lex-reference/openapi.json", // or your json generated from swagger 44 sidebar: { 45 operations: { 46 badges: true, 47 labels: "operationId", 48 }, 49 }, 50 }, 51 ]), 52 starlightSidebarTopics( 53 [ 54 { 55 label: "For Streamers & Viewers", 56 link: "/", 57 icon: "open-book", 58 items: [ 59 { 60 label: "Start Streaming", 61 autogenerate: { directory: "guides/start-streaming" }, 62 }, 63 { 64 label: "Features", 65 autogenerate: { directory: "features" }, 66 }, 67 ], 68 }, 69 { 70 label: "For Developers", 71 link: "/developers/", 72 icon: "seti:config", 73 id: "developers", 74 items: [ 75 { 76 label: "Start Contributing", 77 autogenerate: { directory: "guides/start-contributing" }, 78 }, 79 { 80 label: "Installing Streamplace", 81 autogenerate: { directory: "guides/installing" }, 82 }, 83 { 84 label: "Features (Dev)", 85 autogenerate: { directory: "features-dev" }, 86 }, 87 { 88 label: "Video Metadata", 89 autogenerate: { directory: "video-metadata" }, 90 }, 91 { 92 label: "Components", 93 autogenerate: { directory: "components" }, 94 }, 95 { 96 label: "Localize Streamplace", 97 autogenerate: { directory: "guides/localizing" }, 98 }, 99 ], 100 }, 101 { 102 label: "API Reference", 103 link: "/reference/", 104 icon: "seti:json", 105 id: "ref", 106 items: [ 107 { 108 label: "Lexicon Reference", 109 autogenerate: { directory: "lex-reference" }, 110 }, 111 ...openAPISidebarGroups, 112 ], 113 }, 114 ], 115 { 116 topics: { 117 ref: ["/api", "/api/**/*"], 118 }, 119 }, 120 ), 121 ], 122 }), 123 ], 124});