Files
docs/astro.config.mjs
T
naomi cff2380338
Node.js CI / Lint and Test (push) Successful in 1m10s
feat: overhaul entire documentation (#10)
### Explanation

_No response_

### Issue

_No response_

### Attestations

- [x] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [x] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [x] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [x] I have pinned the dependencies to a specific patch version.

### Style

- [x] I have run the linter and resolved any errors.
- [x] My pull request uses an appropriate title, matching the conventional commit standards.
- [x] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

Major - My pull request introduces a breaking change.

Reviewed-on: #10
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-09-15 23:16:01 -07:00

106 lines
3.2 KiB
JavaScript

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 mermaid from "astro-mermaid";
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: [
mermaid(),
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],
},
}),
],
});