import { defineConfig } from "astro/config"; import starlight from "@astrojs/starlight"; import { ExpressiveCodeTheme } from "@astrojs/starlight/expressive-code"; import themeJson from "./src/styles/theme.json"; import darkThemeJson from "./src/styles/theme-dark.json"; import { navigation } from "./src/components/navigation.ts"; const sakuraDreams = ExpressiveCodeTheme.fromJSONString( JSON.stringify(themeJson) ); const sakuraDreamsDark = ExpressiveCodeTheme.fromJSONString( JSON.stringify(darkThemeJson) ); export default defineConfig({ site: "https://docs.nhcarrigan.com", integrations: [ starlight({ components: { Footer: "./src/components/Footer.astro", ThemeProvider: "./src/components/ThemeProvider.astro", }, title: "NHCarrigan Docs", sidebar: navigation, tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 4 }, description: "This site contains all of the documentation related to NHCarrigan, its Policies, and its Projects.", editLink: { baseUrl: "https://git.nhcarrigan.com/nhcarrigan/docs/_edit/main/", label: "Edit this page on Naomi's Self-hosted Git instance", }, lastUpdated: true, social: { github: "https://git.nhcarrigan.com", discourse: "https://forum.nhcarrigan.com", mastodon: "https://fedi.nhcarrigan.com/@naomi", matrix: "https://matrix.nhcarrigan.com", rss: "https://irc.nhcarrigan.com", email: "mailto:contact@nhcarrigan.com", }, logo: { src: "./public/logo.png", alt: "NHCarrigan Logo", replacesTitle: true }, head: [ { tag: "script", attrs: { type: "text/javascript", id: "analytics", src: "https://analytics.nhcarrigan.com/js/script.file-downloads.outbound-links.js", defer: true, "data-domain": "nhcarrigan.com", "event-domain": "docs.nhcarrigan.com", }, }, { tag: "script", content: "window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }", }, { tag: "script", attrs: { type: "text/javascript", id: "trees", src: "https://widgets.tree-nation.com/js/widgets/v1/widgets.min.js?v=1.0", defer: true, }, }, { tag: "link", attrs: { rel: "icon", href: "./public/logo.png", }, }, { tag: "script", attrs: { type: "text/javascript", src: "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3569924701890974", async: true, crossorigin: "anonymous", }, }, { tag: "meta", attrs: { property: "og:image", content: "https://cdn.nhcarrigan.com/og-image.png" } } ], customCss: ["./src/styles/style.css", "./src/fonts/font-face.css"], expressiveCode: { themes: [sakuraDreams, sakuraDreamsDark], }, }), ], });