- 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)
87 lines
2.5 KiB
JavaScript
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,
|
|
}),
|
|
],
|
|
});
|