// @ts-check import { defineConfig } from 'astro/config'; import starlight from '@astrojs/starlight'; import icon from 'astro-icon'; import rehypeMermaid from 'rehype-mermaid'; import opengraphImages from 'astro-opengraph-images'; import { render as ogRender } from './src/og-image.tsx'; import * as fs from 'node:fs'; const interRegular = fs.readFileSync('node_modules/@fontsource/inter/files/inter-latin-400-normal.woff'); const interBold = fs.readFileSync('node_modules/@fontsource/inter/files/inter-latin-700-normal.woff'); export default defineConfig({ site: 'https://gr-apollo.l.warehack.ing', integrations: [ icon(), starlight({ title: 'gr-apollo', description: 'Apollo Unified S-Band transmitter and decoder for GNU Radio 3.10+', sidebar: [ { label: 'Getting Started', items: [ { label: 'Introduction', slug: 'getting-started/introduction' }, { label: 'Installation', slug: 'getting-started/installation' }, { label: 'Quick Start', slug: 'getting-started/quick-start' }, ], }, { label: 'Understanding Apollo USB', items: [ { label: 'Signal Architecture', slug: 'explanation/signal-architecture' }, { label: 'PCM Frame Structure', slug: 'explanation/pcm-frames' }, { label: 'Virtual AGC Integration', slug: 'explanation/virtual-agc' }, ], }, { label: 'How-To Guides', items: [ { label: 'Tune Demodulator Parameters', slug: 'guides/tuning-parameters' }, { label: 'Generate Test Signals', slug: 'guides/test-signals' }, { label: 'Build a Transmit Signal', slug: 'guides/transmit-signal' }, { label: 'Run the Demos', slug: 'guides/run-demos' }, { label: 'Decode Voice Audio', slug: 'guides/voice-audio' }, { label: 'Modulate SCO Channels', slug: 'guides/sco-modulation' }, { label: 'Connect to Virtual AGC', slug: 'guides/agc-bridge' }, { label: 'Work with PCM Telemetry', slug: 'guides/pcm-telemetry' }, ], }, { label: 'Reference', items: [ { label: 'Block Reference', slug: 'reference/blocks' }, { label: 'Constants & Parameters', slug: 'reference/constants' }, { label: 'Protocol Specification', slug: 'reference/protocol' }, ], }, ], editLink: { baseUrl: 'https://git.supported.systems/warehack.ing/gr-apollo/_edit/main/docs/', }, components: { Head: './src/components/Head.astro', SocialIcons: './src/components/SocialIcons.astro', }, }), opengraphImages({ options: { fonts: [ { name: 'Inter', weight: 400, style: 'normal', data: interRegular, }, { name: 'Inter', weight: 700, style: 'normal', data: interBold, }, ], }, render: ogRender, }), ], markdown: { rehypePlugins: [ [rehypeMermaid, { strategy: 'pre-mermaid' }], ], }, devToolbar: { enabled: false }, });