Custom renderer with NASA-blue theme, Inter font, signal arc decoration. Generates 1200x630 PNG per page at build time via astro-opengraph-images. Head component injects og:image meta tag using getImagePath().
91 lines
2.9 KiB
JavaScript
91 lines
2.9 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 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: 'Decode Voice Audio', slug: 'guides/voice-audio' },
|
|
{ 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 },
|
|
});
|