Skip to content

New type system (Fraunces + Hanken Grotesk) + defect fixes - #8

Merged
HumbleBee14 merged 4 commits into
mainfrom
feature/fonts-and-polish
Jul 13, 2026
Merged

New type system (Fraunces + Hanken Grotesk) + defect fixes#8
HumbleBee14 merged 4 commits into
mainfrom
feature/fonts-and-polish

Conversation

@HumbleBee14

Copy link
Copy Markdown
Member

Refreshes the type system to look like an editorial publication instead of a generated template, plus two small fixes. Build + type-check pass; verified in the browser in light and dark on the home and blog pages.

New type system

The old pairing — Instrument Serif + Geist — is the ubiquitous 2024–25 AI-startup default (Geist is Vercel's font), which is exactly why it read "generated." Replaced with a more distinctive, editorial system:

Role Before After
Display / headings Instrument Serif Fraunces (characterful old-style serif, optical sizing)
UI / nav / summaries Geist Hanken Grotesk (warm humanist grotesque)
Article body Source Serif 4 (kept)
Labels / code JetBrains Mono (kept)

Changed in one place each: the font <link> in BaseLayout, the --font-* tokens, and the editorial/modern typeset modes. Because it's all tokens, swapping again later is a one-line change.

Also

  • 3 objective defects fixed (from the latest review): undefined --ink-1 token (7× in editor CSS → --ink), hardcoded #c0392b editor red (→ var(--tc-red)), and a .tool-tag-live white-on-accent contrast miss (→ var(--paper)).
  • /write newcomer link: a small "First time? See how it works →" pointing to /contribute, so a first-timer gets context at the blank editor — without adding Contribute to the primary nav (kept minimal).

Follow-up (not in this PR)

  • OG images still use Instrument Serif — the generated social-card PNGs (lib/og.tsx) embed @fontsource/instrument-serif, so social previews won't match the new Fraunces headline until that's swapped (needs @fontsource/fraunces). Small, separate task.
  • Self-hosting the fonts for perf (drops the Google Fonts third-party request) — worth doing now that the faces are settled.

Best judged on the Cloudflare preview — look at the homepage hero and the blog archive titles in both themes.

…trast miss

- editor-theme.css referenced an undefined --ink-1 (7×) — the color-mix
  hover tint was silently dead; point at the defined --ink
- editor error red was hardcoded #c0392b (muddy on the dark editor
  surface) — use var(--tc-red) with a color-mix tint
- playground/[tool].astro .tool-tag-live was #fff on accent (low contrast
  in dark) — use var(--paper)
Replace the Instrument Serif + Geist pairing (the ubiquitous AI-startup
default) with a more distinctive, editorial system:
- Display/headings: Instrument Serif → Fraunces (characterful old-style
  serif, optical sizing)
- UI/nav/summaries: Geist → Hanken Grotesk (warm humanist grotesque)
- Body (articles): Source Serif 4 — kept
- Labels/code: JetBrains Mono — kept
Updated the font <link>, the --font-* tokens, and the editorial/modern
typeset modes. Verified in light + dark on home and blog.

Also add a 'First time? See how it works →' link on /write pointing to
/contribute, so newcomers get context without cluttering the primary nav.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 12, 2026

Copy link
Copy Markdown

Deploying mlsystems with  Cloudflare Pages  Cloudflare Pages

Latest commit: 79bc36f
Status: ✅  Deploy successful!
Preview URL: https://2477e674.mlsystems.pages.dev
Branch Preview URL: https://feature-fonts-and-polish.mlsystems.pages.dev

View logs

The horizontal scrollbar under the homepage topic explorer had an
unstyled (white) track. Make the track transparent, theme the thumb with
--line-2 (darker --ink-4 on hover), round it, and set scrollbar-color for
Firefox — so it reads as a subtle, theme-aware rail instead of a bright
white bar.
- Style the horizontal scrollbars on article tables, KaTeX display math,
  and code blocks: transparent track (was a bright white default) +
  token/theme-aware thumb; code blocks get a light low-opacity thumb to
  suit their fixed-dark background
- OG social images now render titles in Fraunces (was Instrument Serif),
  matching the new site headline font; add @fontsource/fraunces and drop
  the dead Geist->mono alias in the OG font set
@HumbleBee14
HumbleBee14 merged commit 75be184 into main Jul 13, 2026
2 checks passed
@HumbleBee14
HumbleBee14 deleted the feature/fonts-and-polish branch July 13, 2026 00:44
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.

1 participant