import { defineConfig } from 'astro/config';
import starlight from "@astrojs/starlight";

import { navigation } from "./src/components/navigation.ts";

export default defineConfig({
  site: "https://docs.nhcarrigan.com",
  integrations: [starlight({
    components: {
      Footer: "./src/components/Footer.astro",
      ThemeSelect: "./src/components/ThemeSelect.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://codeberg.org/nhcarrigan/docs/_edit/main/",
      label: "Edit this page on Codeberg"
    },
    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"
    },
    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"
        }
      },
      {
        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: "/logo.png"
        }
      }
    ],
    customCss: [
      "./src/styles/style.css",
      "./src/fonts/font-face.css"
    ],
  })]
});