ADR-0007 · Content-First Pages
Status: Accepted
A page can be just .page.md or .page.html — no JavaScript required. The framework's DefaultPageComponent provides a fallback chain so static content needs zero code.
routes/
about.page.md ← drop a markdown file, done
Escalate to .page.ts only when you need data fetching, custom titles, or dynamic rendering.
Why
Documentation sites, blogs, marketing pages, READMEs-as-routes — none of these need a class file per page. Forcing a TypeScript wrapper around "here's some prose" is the kind of friction that pushes content people away from frameworks.
The default fallback chain (.html → .md via <mark-down> → <router-slot>) means most pages never touch TypeScript at all, while the option to drop in .page.ts is always there.