pg_orrery/docs/astro.config.mjs
Ryan Malloy 12292415ab Starlight docs site for pg_orbit v0.2.0
34 MDX pages covering all 57 functions across 7 domains:
satellites (SGP4/SDP4), planets (VSOP87), Moon (ELP2000-82B),
19 planetary moons (L1.2/TASS17/GUST86/MarsSat), stars,
comets, Jupiter radio bursts, and Lambert transfers.

Site structure:
- Getting Started: overview, installation, 5-query quick start
- Guides: 8 domain-specific walkthroughs with workflow translation
- Workflow Translation: side-by-side comparisons with Skyfield,
  JPL Horizons, GMAT, Radio Jupiter Pro, plus SQL patterns
- Reference: all types, functions, operators, body IDs, constants
- Architecture: Hamilton's principles, constant chain of custody,
  observation pipeline, theory-to-code mapping, thread safety
- Performance: verified benchmarks with reproduction methodology

Stack: Astro 5.17 + Starlight 0.37.6, KaTeX math, Mermaid
diagrams, Pagefind search, Caddy production Docker image.
2026-02-16 03:12:41 -07:00

122 lines
4.5 KiB
JavaScript

import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";
import tailwindcss from "@tailwindcss/vite";
import remarkMath from "remark-math";
import rehypeKatex from "rehype-katex";
import mermaid from "astro-mermaid";
export default defineConfig({
site: "https://pg-orbit.supported.systems",
integrations: [
mermaid(),
starlight({
title: "pg_orbit",
description:
"Solar system computation for PostgreSQL",
favicon: "/favicon.svg",
logo: {
src: "./src/assets/pg-orbit-logo.svg",
replacesTitle: true,
},
social: [
{
icon: "github",
label: "Gitea",
href: "https://git.supported.systems/warehack.ing/pg_orbit",
},
],
customCss: [
"./src/styles/custom.css",
"./src/styles/katex-fixes.css",
"katex/dist/katex.min.css",
],
head: [
{
tag: "meta",
attrs: {
name: "theme-color",
content: "#0a0e17",
},
},
],
sidebar: [
{
label: "Getting Started",
items: [
{ label: "What is pg_orbit?", slug: "getting-started/what-is-pg-orbit" },
{ label: "Installation", slug: "getting-started/installation" },
{ label: "Quick Start", slug: "getting-started/quick-start" },
],
},
{
label: "Guides",
items: [
{ label: "Tracking Satellites", slug: "guides/tracking-satellites" },
{ label: "Observing the Solar System", slug: "guides/observing-solar-system" },
{ label: "Planetary Moon Tracking", slug: "guides/planetary-moons" },
{ label: "Star Catalogs in SQL", slug: "guides/star-catalogs" },
{ label: "Comet & Asteroid Tracking", slug: "guides/comets-asteroids" },
{ label: "Jupiter Radio Burst Prediction", slug: "guides/jupiter-radio-bursts" },
{ label: "Interplanetary Trajectories", slug: "guides/interplanetary-trajectories" },
{ label: "Conjunction Screening", slug: "guides/conjunction-screening" },
],
},
{
label: "Workflow Translation",
items: [
{ label: "From Skyfield to SQL", slug: "workflow/from-skyfield" },
{ label: "From JPL Horizons to SQL", slug: "workflow/from-jpl-horizons" },
{ label: "From GMAT to SQL", slug: "workflow/from-gmat" },
{ label: "From Radio Jupiter Pro to SQL", slug: "workflow/from-radio-jupiter-pro" },
{ label: "The SQL Advantage", slug: "workflow/sql-advantage" },
],
},
{
label: "Reference",
items: [
{ label: "Types", slug: "reference/types" },
{ label: "Functions: Satellite", slug: "reference/functions-satellite" },
{ label: "Functions: Solar System", slug: "reference/functions-solar-system" },
{ label: "Functions: Moons", slug: "reference/functions-moons" },
{ label: "Functions: Stars & Comets", slug: "reference/functions-stars-comets" },
{ label: "Functions: Radio", slug: "reference/functions-radio" },
{ label: "Functions: Transfers", slug: "reference/functions-transfers" },
{ label: "Operators & GiST Index", slug: "reference/operators-gist" },
{ label: "Body ID Reference", slug: "reference/body-ids" },
{ label: "Constants & Accuracy", slug: "reference/constants-accuracy" },
],
},
{
label: "Architecture",
items: [
{ label: "Design Principles", slug: "architecture/design-principles" },
{ label: "Constant Chain of Custody", slug: "architecture/constant-chain-of-custody" },
{ label: "Observation Pipeline", slug: "architecture/observation-pipeline" },
{ label: "Theory-to-Code Mapping", slug: "architecture/theory-to-code" },
{ label: "Memory & Thread Safety", slug: "architecture/memory-thread-safety" },
{ label: "SGP4 Integration", slug: "architecture/sgp4-integration" },
],
},
{
label: "Performance",
items: [
{ label: "Benchmarks", slug: "performance/benchmarks" },
],
},
],
}),
],
markdown: {
remarkPlugins: [remarkMath],
rehypePlugins: [rehypeKatex],
},
vite: {
plugins: [tailwindcss()],
},
telemetry: false,
devToolbar: { enabled: false },
});