Docs: replace default favicon, add git icon, fix Mermaid direction

- Favicon: MSFN antenna dish with signal arcs (NASA blue/red, dark mode)
- Social icon: generic git-branch replacing GitHub-specific icon
- Mermaid signal chain diagram: flowchart TB for vertical readability
- Add astro-icon (with Lucide icons) and astro-opengraph-images packages
This commit is contained in:
Ryan Malloy 2026-02-21 09:10:07 -07:00
parent 12fb284d5f
commit 9dc52d1a5b
6 changed files with 2397 additions and 5 deletions

View File

@ -1,16 +1,18 @@
// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import icon from 'astro-icon';
import rehypeMermaid from 'rehype-mermaid';
// astro-opengraph-images installed but needs font setup:
// import astroOpenGraphImages, { presets } from 'astro-opengraph-images';
export default defineConfig({
integrations: [
icon(),
starlight({
title: 'gr-apollo',
description: 'Apollo Unified S-Band decoder for GNU Radio 3.10+',
social: [
{ icon: 'github', label: 'GitHub', href: 'https://github.com/rpm/gr-apollo' },
],
sidebar: [
{
label: 'Getting Started',
@ -52,6 +54,7 @@ export default defineConfig({
},
components: {
Head: './src/components/Head.astro',
SocialIcons: './src/components/SocialIcons.astro',
},
}),
],

2326
docs/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,10 @@
},
"dependencies": {
"@astrojs/starlight": "^0.37.6",
"@iconify-json/lucide": "^1.2.92",
"astro": "^5.6.1",
"astro-icon": "^1.1.5",
"astro-opengraph-images": "^1.14.3",
"mermaid": "^11.12.3",
"rehype-mermaid": "^3.0.0",
"sharp": "^0.34.2"

View File

@ -1 +1,28 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill-rule="evenodd" d="M81 36 64 0 47 36l-1 2-9-10a6 6 0 0 0-9 9l10 10h-2L0 64l36 17h2L28 91a6 6 0 1 0 9 9l9-10 1 2 17 36 17-36v-2l9 10a6 6 0 1 0 9-9l-9-9 2-1 36-17-36-17-2-1 9-9a6 6 0 1 0-9-9l-9 10v-2Zm-17 2-2 5c-4 8-11 15-19 19l-5 2 5 2c8 4 15 11 19 19l2 5 2-5c4-8 11-15 19-19l5-2-5-2c-8-4-15-11-19-19l-2-5Z" clip-rule="evenodd"/><path d="M118 19a6 6 0 0 0-9-9l-3 3a6 6 0 1 0 9 9l3-3Zm-96 4c-2 2-6 2-9 0l-3-3a6 6 0 1 1 9-9l3 3c3 2 3 6 0 9Zm0 82c-2-2-6-2-9 0l-3 3a6 6 0 1 0 9 9l3-3c3-2 3-6 0-9Zm96 4a6 6 0 0 1-9 9l-3-3a6 6 0 1 1 9-9l3 3Z"/><style>path{fill:#000}@media (prefers-color-scheme:dark){path{fill:#fff}}</style></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
<defs>
<style>
.s{fill:none;stroke:#0B3D91;stroke-linecap:round;stroke-linejoin:round}
.f{fill:#0B3D91}
.r{fill:none;stroke:#FC3D21;stroke-linecap:round}
@media(prefers-color-scheme:dark){
.s{stroke:#7EB8FF}
.f{fill:#7EB8FF}
}
</style>
</defs>
<!-- Dish reflector -->
<path class="s" d="M18 78Q64 108 110 78" stroke-width="10"/>
<!-- Struts to feed horn -->
<line class="s" x1="34" y1="82" x2="64" y2="42" stroke-width="5"/>
<line class="s" x1="94" y1="82" x2="64" y2="42" stroke-width="5"/>
<!-- Feed horn -->
<circle class="f" cx="64" cy="40" r="6"/>
<!-- Pedestal -->
<line class="s" x1="64" y1="88" x2="64" y2="116" stroke-width="8"/>
<!-- Base plate -->
<line class="s" x1="44" y1="116" x2="84" y2="116" stroke-width="8"/>
<!-- Signal arcs -->
<path class="r" d="M56 30Q64 22 72 30" stroke-width="4"/>
<path class="r" d="M48 22Q64 10 80 22" stroke-width="4" opacity=".65"/>
<path class="r" d="M40 14Q64-2 88 14" stroke-width="4" opacity=".35"/>
</svg>

Before

Width:  |  Height:  |  Size: 696 B

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,33 @@
---
// Generic Git icon replacing Starlight's GitHub-specific social icon
---
<a href="https://github.com/rpm/gr-apollo" rel="me" class="sl-flex git-link" aria-label="Source code">
<svg
aria-hidden="true"
width="1em"
height="1em"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="6" y1="3" x2="6" y2="15" />
<circle cx="18" cy="6" r="3" />
<circle cx="6" cy="18" r="3" />
<path d="M18 9a9 9 0 0 1-9 9" />
</svg>
</a>
<style>
.git-link {
color: var(--sl-color-text-accent);
text-decoration: none;
padding: 0.5em;
}
.git-link:hover {
opacity: 0.66;
}
</style>

View File

@ -31,7 +31,7 @@ gr-apollo provides a set of GNU Radio blocks and pure-Python engines that implem
The downlink receiver processes a phase-modulated carrier through five stages. Each stage has a standalone GNU Radio block, or you can use `usb_downlink_receiver` which chains them together.
```mermaid
flowchart LR
flowchart TB
A["Complex<br/>Baseband<br/>5.12 MHz"] --> B["PM Demod<br/><em>Carrier PLL +<br/>phase extraction</em>"]
B --> C["Subcarrier<br/>Extract<br/><em>BPF + translate<br/>1.024 MHz → DC</em>"]
C --> D["BPSK Demod<br/><em>Costas loop +<br/>symbol sync</em>"]