Add OG images, sitemap, and fix Dashboard description

- 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)
This commit is contained in:
Ryan Malloy 2026-02-17 21:02:47 -07:00
parent bcfb86637e
commit 9f2e88ecdd
5 changed files with 1855 additions and 3 deletions

View File

@ -1,7 +1,10 @@
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: [
@ -15,6 +18,9 @@ export default defineConfig({
href: 'https://github.com/saveitforparts/Travler_Rotor',
},
],
components: {
Head: './src/components/Head.astro',
},
customCss: ['./src/styles/custom.css'],
sidebar: [
{ label: 'Home', link: '/' },
@ -57,5 +63,24 @@ export default defineConfig({
},
],
}),
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,
}),
],
});

1816
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -12,6 +12,12 @@
"dependencies": {
"@astrojs/starlight": "^0.37.6",
"astro": "^5.17.2",
"astro-opengraph-images": "^1.14.3",
"astro-seo-meta": "^5.2.0",
"sharp": "^0.34.5"
},
"devDependencies": {
"@fontsource/inter": "^5.2.8",
"react": "^19.2.4"
}
}

View File

@ -0,0 +1,9 @@
---
import Default from '@astrojs/starlight/components/Head.astro';
import { getImagePath } from 'astro-opengraph-images';
const ogImageUrl = getImagePath({ url: Astro.url, site: Astro.site });
---
<Default {...Astro.props}><slot /></Default>
<meta property="og:image" content={ogImageUrl} />

View File

@ -79,7 +79,7 @@ Type a name, get a position.
Six screens, one terminal. Everything from pass prediction to raw firmware commands:
- **F1 — Dashboard:** Satellite list, pass predictions, active tracking status, position readout
- **F1 — Dashboard:** Four action cards — Point Dish, Monitor Signal, Scan Sky, and Stow — each jumping to the relevant screen
- **F2 — Control:** Motor nudging, presets, velocity controls, step size selector
- **F3 — Signal:** RSSI plots, DVB tuner status, sweep peaking, LNB diagnostics
- **F4 — System:** NVS settings, firmware identification, motor lifetime stats