Skip to content

Redesign: five-project homepage, serif doc prose, color tokens - #6

Merged
andybons merged 4 commits into
mainfrom
redesign
Sep 28, 2026
Merged

andybons merged 4 commits into
mainfrom
redesign

Conversation

@andybons

Copy link
Copy Markdown
Contributor

Summary

  • Color tokens: every hard-coded color is replaced with a named token (paper, surface, rule, ink, muted, subtle, accent), each with a built-in dark value. The per-product accent comes from a data-product attribute, which replaces the class maps in DocsLayout and TableOfContents. Adds antialiased to <body>.
  • Homepage: a text-only list of Harness, Keep, Moat, Bailey, and Gatekeeper, one line each, plus a "Sponsored by" footer (TheGP, Neptune). Harness links to GitHub until its docs exist; Bailey is marked private.
  • Doc pages: body text in Newsreader at 17/19px with a ~66ch line length; nav, H2s, code, and tables stay mono. Sidebar numbers show only in Getting Started, so filename gaps (01 02 03 05 07) no longer appear. Adds a "Part of Major Context" footer.
  • Fix: the 404 button's text was drawn in the same color as the button, so it was invisible.
  • docs/readme-footer.md has a footer snippet for each product repo's README.

Testing

  • bun run validate (check, lint, full build with doc fetch) and bun run validate:links pass.
  • Compared screenshots of 8 pages in light and dark mode, with antialiasing disabled to isolate color changes: under 0.3% of pixels differ, except the dark 404 page (~1%), whose button now uses the lighter dark-mode accent.

Neutrals (paper, surface, rule, ink, muted, subtle) and a per-product
accent are CSS variables defined in tailwind.config.js. The accent
resolves from a data-product attribute on <html>, which replaces the
per-product class maps in DocsLayout and TableOfContents.

Also enables antialiased font smoothing and fixes the 404 button,
whose label was painted in the prose link color (same as its
background).
The homepage becomes a text-only index: Harness, Keep, Moat, Bailey,
Gatekeeper, each with a one-line summary and links. Rows set
data-product so links pick up each product's accent. Harness links to
GitHub until its docs exist; Bailey is marked private.

Adds a 'Sponsored by' footer with TheGP and Neptune logos, inlined as
currentColor SVGs so they follow the theme.
- Doc prose is set in Newsreader at 17/19px with a ~66ch measure;
  H2s, code, tables, and nav stay mono. Adds Newsreader's opsz axis.
- Sidebar numbers show only for Getting Started and are assigned by
  position, so filename gaps (01 02 03 05 07) no longer leak.
- 'Part of Major Context' footer on doc pages, plus a README footer
  snippet (docs/readme-footer.md) and a dark logo for it.
Copilot AI balanced review requested due to automatic review settings September 28, 2026 22:14

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Small-text color tokens fail accessibility contrast requirements, and prose still bypasses the documented token system.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Redesigns the homepage and documentation UI around shared color tokens, product accents, and serif prose.

Changes:

  • Adds tokenized light/dark and product color styling.
  • Reworks the homepage to list five projects and sponsors.
  • Updates documentation typography, navigation numbering, and branding.
File Description
tailwind.config.js Defines neutral and product accent tokens.
src/​pages/​moat/​index.astro Migrates Moat landing-page colors to tokens.
src/​pages/​moat/​[category]/​[slug].astro Tokenizes Moat category badges.
src/​pages/​keep/​index.astro Migrates Keep landing-page colors to tokens.
src/​pages/​keep/​[category]/​[slug].astro Tokenizes Keep category badges.
src/​pages/​gatekeeper/​index.astro Migrates Gatekeeper landing-page colors to tokens.
src/​pages/​gatekeeper/​[category]/​[slug].astro Tokenizes Gatekeeper category badges.
src/​pages/​index.astro Introduces the project-list homepage and sponsor footer.
src/​pages/​404.astro Fixes button contrast and isolates prose styling.
src/​lib/​products.ts Adds homepage project metadata.
src/​layouts/​DocsLayout.astro Applies product accents, serif prose, and branding footer.
src/​layouts/​BaseLayout.astro Sets product context and global token styling.
src/​config/​navigation.ts Limits sequential numbering to Getting Started.
src/​components/​ThemeToggle.astro Migrates theme controls to tokens.
src/​components/​TableOfContents.astro Uses inherited product accent tokens.
src/​components/​SectionHeader.astro Tokenizes section-header styling.
src/​components/​NavLink.astro Supports unnumbered navigation entries.
src/​assets/​sponsors/​thegp.svg Adds TheGP sponsor artwork.
src/​assets/​sponsors/​neptune.svg Adds Neptune sponsor artwork.
public/​logo-dark.svg Adds a dark-background logo asset.
docs/​style-guide.md Documents the new color and typography system.
docs/​readme-footer.md Provides cross-project README footer markup.
CLAUDE.md Updates repository design guidance.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

<article class="max-w-[46rem] mx-auto px-6 md:px-12 py-8 md:py-12">
<div class:list={[
"prose prose-stone dark:prose-invert max-w-none",
"prose prose-stone max-w-none dark:prose-invert",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in #7: the --tw-prose-* variables now point at the tokens, and prose-stone / dark:prose-invert are removed.

@andybons
andybons merged commit d9957d9 into main Sep 28, 2026
3 checks passed
@andybons
andybons deleted the redesign branch September 28, 2026 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants