gr-apollo/docs/astro.config.mjs
Ryan Malloy 50060e48e9 Add TX chain docs: 3 new guides, 7 block entries, architecture section
New pages:
- guides/transmit-signal: composable TX block walkthrough
- guides/run-demos: loopback, voice, full downlink, AGC demos
- guides/sco-modulation: FM-mode SCO round-trip examples

Updated pages:
- reference/blocks: Transmit Chain section with all 7 TX blocks
- explanation/signal-architecture: TX diagram, Tabs, loopback note
- guides/voice-audio: TX-side modulation section
- guides/test-signals: streaming vs batch comparison
- getting-started/quick-start: loopback example + TX LinkCard
- index: updated tagline and feature card for TX+RX
- astro.config: sidebar entries, updated site description
2026-02-23 14:13:46 -07:00

94 lines
3.2 KiB
JavaScript

// @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://github.com/rpm/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 },
});