← All changelog entries
June 22, 2026 · Fix

The Docs Pages Get Their Typography

The new how-to pages were rendering their headings bare — Tailwind's preflight reset had stripped every '##' down to body size. Added a single shared docs-prose.css that articulates the LFM/AstroMarkdown output (headings, lists, blockquotes, code, tables), applied across the guide, use-case, and tool pages, and dropped the redundant body title so each doc reads like real long-form content.

Authors
Michael Staton
Augmented with
Claude Code on Opus 4.8 (1M context)
Tags
#Docs-Engine#Typography#Prose-Styles#Tailwind-Preflight#LFM#Markdown-Rendering

The Docs Pages Get Their Typography

Why Care?

A how-to is only as useful as it is scannable, and the new docs pages weren’t scannable — every section heading rendered at the same size as the paragraph under it. If you opened /use-cases/automate-dealflow yesterday, “The problem, in one breath” and “The maturity ladder” looked like body text, not headers. This is the small, unglamorous fix that makes the engine’s content actually readable.

What’s New?

  • A shared docs-prose.css — one stylesheet that articulates the LFM / AstroMarkdown output: h1h4 hierarchy, list bullets/numbers, blockquotes, inline code, tables, rules, images. Applied via a .docs-prose wrapper on the guide, use-case, and tool body, so all three stay consistent from a single source.
  • No more double title — the markdown body’s redundant # Title is gone; the page header already renders the title, and the body now starts at ## (matching how the site’s MarkdownReader pages work).

The Story

The cause was the house gotcha, stated right in the project’s own notes: Tailwind’s preflight resets headings to base size, and any markdown rendered without scoped prose styles inherits that bareness. The site already solves this twice — the session page carries its own scoped prose block, and MarkdownReader carries another for /projects and /working-groups. The docs pages were rendering raw AstroMarkdown with neither.

Rather than copy a third scoped block into three new pages, we factored the treatment into one global stylesheet keyed on .docs-prose. Because it’s imported (not Astro-scoped), plain .docs-prose h2 selectors reach the rendered headings regardless of the component’s scope attribute — and callouts keep their own styling from callout.css untouched. One place to tune the docs typography, three pages styled.

Under the Hood

docs-prose.css mirrors MarkdownReader’s scale (display font for headings, --color-* tokens throughout, so it inherits all three theme modes for free) and adds the pieces the docs need that the reader didn’t bother with — h1, h4, tables, and scroll-margin-top on headings so future in-page anchor links won’t hide under the sticky header. No new type debt; astro check held at baseline.

Files modified (6)
  • src/styles/docs-prose.css
  • src/pages/guides/[...slug].astro
  • src/pages/use-cases/[...slug].astro
  • src/pages/tools/[handle].astro
  • src/content/use-cases/automate-dealflow/index.md
  • src/content/guides/hermes-agent/index.md