feat: add Bosco favicon and styled 404 page #7

Merged
manlycucumber merged 4 commits from feat/e0-favicon-404 into develop 2026-07-04 05:50:24 +00:00
manlycucumber commented 2026-07-04 05:39:54 +00:00 (Migrated from github.com)

Part of E0 — repo hardening (Phase 1a).

What

  • Favicon — replaces the placeholder Svelte-logo with a token-coloured Bosco clubhouse mark. Deliberately art-agnostic (no character/mascot) so it does not preempt the illustration decision (#4). Vite inlines the small SVG as a data: URI, so it adds zero network requests and preserves the offline invariant.
  • Styled 404 — a prerendered, Clubhouse-themed 404 page that reuses RetroWindow and always offers a way back to the Portal. It sets trailingSlash: 'never' so adapter-static emits a flat build/404.html; nginx now serves it via error_page 404 /404.html (the 404 status code is preserved). data-pagefind-ignore keeps it out of the offline search index.

Verification

  • npm run lint ✓ · npm run typecheck ✓ (0 errors)
  • npm run build ✓ — confirmed flat build/404.html emitted (no build/404/ dir)
  • npm run check:offline ✓ — offline invariant holds (favicon is a data URI)

The repo is now public with the main gate + required signatures active; this commit is signed.

Part of **E0 — repo hardening** (Phase 1a). ## What - **Favicon** — replaces the placeholder Svelte-logo with a token-coloured Bosco *clubhouse* mark. Deliberately art-agnostic (no character/mascot) so it does not preempt the illustration decision (#4). Vite inlines the small SVG as a `data:` URI, so it adds **zero** network requests and preserves the offline invariant. - **Styled 404** — a prerendered, Clubhouse-themed 404 page that reuses `RetroWindow` and always offers a way back to the Portal. It sets `trailingSlash: 'never'` so adapter-static emits a flat `build/404.html`; nginx now serves it via `error_page 404 /404.html` (the 404 status code is preserved). `data-pagefind-ignore` keeps it out of the offline search index. ## Verification - `npm run lint` ✓ · `npm run typecheck` ✓ (0 errors) - `npm run build` ✓ — confirmed flat `build/404.html` emitted (no `build/404/` dir) - `npm run check:offline` ✓ — offline invariant holds (favicon is a data URI) The repo is now public with the `main` gate + required signatures active; this commit is signed.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Bosco/bosco!7
No description provided.