diff --git a/website/STYLE.md b/website/STYLE.md index 139fe74..631a787 100644 --- a/website/STYLE.md +++ b/website/STYLE.md @@ -191,9 +191,12 @@ learners, but is valuable more broadly.) Concretely: - **Embedding.** `Demo.astro` (the WASM-swap seam, ADR-website-001 §3) wraps `Cast.astro` (asciinema-player island). Call sites use `Demo`. - **Conventions.** Terminal geometry per cast (default 90×26); file name = - cast `name`; player theme `asciinema` for now. **[OPEN]**: light/dark player - theme sync with the Starlight theme toggle (player theme is currently fixed; - refine in Phase B). + cast `name`; player theme `asciinema`. **Cast theme — fixed dark for launch + (DECIDED 2026-06-11).** Casts bake the app's dark theme into the recording as + 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] @@ -229,9 +232,16 @@ significant). 6. ~~Reference generation vs hand-writing~~ → **hand-write now** (command 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:** -7. **Versioning.** Version selectors at/after v1, or single-version for - launch? (Leaning single-version for launch.) -8. **SEO/meta conventions.** Title/description patterns, Open Graph — settle - with Phase B (landing) and the `site` URL. Also: light/dark player-theme - sync for embedded casts. +8. **SEO/meta — remaining.** Per-page titles/descriptions are set; canonical + + basic Open Graph (`og:title`/`og:url`) now auto-generate from `site`. What + remains: **Open Graph social-card images** (`og:image`) — needs a card + design, so it travels with the branding work (logo + palette, TBD with the + user; the existing favicon is *not* a brand guideline). diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 67d6583..d6a6a4f 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -10,8 +10,12 @@ import rdbmsLang, { rdbmsSyntax } from './src/grammars/rdbms.mjs'; // https://astro.build/config export default defineConfig({ - // TODO(Phase B/SEO): set `site` to the production URL once the domain is - // known — enables the sitemap and canonical/OG URLs. + // Production origin (apex domain). Enables the sitemap, canonical URLs, and + // 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 // `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