birdcage-docs/astro.config.mjs
Ryan Malloy 9f2e88ecdd Add OG images, sitemap, and fix Dashboard description
- astro-opengraph-images: auto-generates 1200x630 PNG for all 50 pages
- Starlight Head override injects og:image via getImagePath helper
- site URL enables sitemap-index.xml generation
- Fix F1 Dashboard description (action cards, not satellite list)
2026-02-17 21:02:47 -07:00

87 lines
2.5 KiB
JavaScript

import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import opengraphImages, { presets } from 'astro-opengraph-images';
import * as fs from 'fs';
export default defineConfig({
site: 'https://birdcage.warehack.ing',
telemetry: false,
devToolbar: { enabled: false },
integrations: [
starlight({
title: "Birdcage",
description: 'A generic AZ/EL positioner that doesn\'t care about wavelength',
social: [
{
icon: 'github',
label: 'GitHub',
href: 'https://github.com/saveitforparts/Travler_Rotor',
},
],
components: {
Head: './src/components/Head.astro',
},
customCss: ['./src/styles/custom.css'],
sidebar: [
{ label: 'Home', link: '/' },
{
label: 'Getting Started',
autogenerate: { directory: 'getting-started' },
},
{
label: 'Guides',
autogenerate: { directory: 'guides' },
},
{
label: 'Reference',
autogenerate: { directory: 'reference' },
},
{
label: 'Understanding',
autogenerate: { directory: 'understanding' },
},
{
label: 'Experiments',
badge: { text: 'New', variant: 'tip' },
items: [
{ label: 'Overview', slug: 'experiments' },
{ label: 'SDR Hardware Setup', slug: 'experiments/sdr-hardware' },
{
label: 'On-Board DVB (Ku-Band)',
autogenerate: { directory: 'experiments/dvb' },
},
{
label: 'External SDR (Multi-Band)',
autogenerate: { directory: 'experiments/sdr' },
},
],
},
{
label: 'Project Journal',
badge: { text: 'Living', variant: 'note' },
autogenerate: { directory: 'journal' },
},
],
}),
opengraphImages({
options: {
fonts: [
{
name: 'Inter',
weight: 400,
style: 'normal',
data: fs.readFileSync('node_modules/@fontsource/inter/files/inter-latin-400-normal.woff'),
},
{
name: 'Inter',
weight: 700,
style: 'normal',
data: fs.readFileSync('node_modules/@fontsource/inter/files/inter-latin-700-normal.woff'),
},
],
},
render: presets.blackAndWhite,
}),
],
});