feat(website): set production site URL (relplay.org); record Phase B decisions

Set Starlight `site` to https://relplay.org (apex) — enables the
sitemap, canonical URLs, and Open Graph URL resolution; clears the
sitemap build warning. Record the resolved STYLE.md decisions:
single-version launch, fixed-dark cast theme (casts bake RGB colours,
so light/dark would need dual-theme recordings), and the site origin.
This commit is contained in:
claude@clouddev1
2026-06-11 15:36:29 +00:00
parent 13c9c1bcd9
commit 6777216e37
2 changed files with 24 additions and 10 deletions
+18 -8
View File
@@ -191,9 +191,12 @@ learners, but is valuable more broadly.) Concretely:
- **Embedding.** `Demo.astro` (the WASM-swap seam, ADR-website-001 §3) wraps - **Embedding.** `Demo.astro` (the WASM-swap seam, ADR-website-001 §3) wraps
`Cast.astro` (asciinema-player island). Call sites use `Demo`. `Cast.astro` (asciinema-player island). Call sites use `Demo`.
- **Conventions.** Terminal geometry per cast (default 90×26); file name = - **Conventions.** Terminal geometry per cast (default 90×26); file name =
cast `name`; player theme `asciinema` for now. **[OPEN]**: light/dark player cast `name`; player theme `asciinema`. **Cast theme — fixed dark for launch
theme sync with the Starlight theme toggle (player theme is currently fixed; (DECIDED 2026-06-11).** Casts bake the app's dark theme into the recording as
refine in Phase B). RGB SGR codes, so the player theme can't recolour them; true light/dark would
require recording light-theme cast variants and swapping via the `Demo` seam.
Deferred as not worth the doubled asset/recording cost for launch; revisit
with the eventual full re-record.
## Formatting [DECIDED, refine] ## Formatting [DECIDED, refine]
@@ -229,9 +232,16 @@ significant).
6. ~~Reference generation vs hand-writing~~**hand-write now** (command 6. ~~Reference generation vs hand-writing~~**hand-write now** (command
surface is settled bar H1a output; small later adjustments expected). surface is settled bar H1a output; small later adjustments expected).
**Resolved (2026-06-11):**
7. ~~Versioning~~**single-version for launch.** No version selector; one can
be added at/after v1 if the docs ever need to diverge by version.
Cast light/dark → **fixed dark for launch** (see *asciinema casts* above).
`site` set to **`https://relplay.org`** (apex) — enables sitemap, canonical,
and Open Graph URL resolution; a `www` host, if used, 301-redirects to apex.
**Still open:** **Still open:**
7. **Versioning.** Version selectors at/after v1, or single-version for 8. **SEO/meta — remaining.** Per-page titles/descriptions are set; canonical +
launch? (Leaning single-version for launch.) basic Open Graph (`og:title`/`og:url`) now auto-generate from `site`. What
8. **SEO/meta conventions.** Title/description patterns, Open Graph — settle remains: **Open Graph social-card images** (`og:image`) — needs a card
with Phase B (landing) and the `site` URL. Also: light/dark player-theme design, so it travels with the branding work (logo + palette, TBD with the
sync for embedded casts. user; the existing favicon is *not* a brand guideline).
+6 -2
View File
@@ -10,8 +10,12 @@ import rdbmsLang, { rdbmsSyntax } from './src/grammars/rdbms.mjs';
// https://astro.build/config // https://astro.build/config
export default defineConfig({ export default defineConfig({
// TODO(Phase B/SEO): set `site` to the production URL once the domain is // Production origin (apex domain). Enables the sitemap, canonical URLs, and
// known — enables the sitemap and canonical/OG URLs. // Open Graph `og:url`/`og:image` resolution. A `www` host, if used, should
// 301-redirect here so a single canonical origin is advertised. Local dev is
// unaffected — this only changes *generated absolute* URLs, not where the
// dev/preview server binds.
site: 'https://relplay.org',
// Bind the dev/preview server to IPv4 loopback. Astro/Vite's default // Bind the dev/preview server to IPv4 loopback. Astro/Vite's default
// `localhost` bind resolves to IPv6 `::1` here, which breaks SSH // `localhost` bind resolves to IPv6 `::1` here, which breaks SSH
// `-L 4321:127.0.0.1:4321` tunnels (they target IPv4). Pinning 127.0.0.1 // `-L 4321:127.0.0.1:4321` tunnels (they target IPv4). Pinning 127.0.0.1