Themes
How a reader-facing theme is put together, and what it's given.
There are three themes — Classic, Longform and App style. A theme renders; it never fetches. Routes load and check the data, then hand the theme a context with everything already resolved.
| It receives | What it is |
|---|---|
site | Name, languages, branding, features. |
lang / dir | The language being read, and its direction (Urdu is right to left). |
tz | The site's time zone, for dates. |
u | Address builders, already carrying the language prefix. |
t | The translator for the theme's own words. |
nav / ads | Sections and breaking headlines; ad placements. |
What a theme draws#
The shell (header and footer), the homepage, a story, listings (section, tag, author and search), a static page, the videos page and a video, and the page shown when a site is paused. Shared parts — pictures, share buttons, ad slots, the ePaper viewer, the newsletter and gallery bands — come from one place, so every theme behaves the same where it should.
Branding#
Brand colour, page background, headline font and the dark page arrive as CSS custom properties on the html element, so a theme styles against tokens rather than reading settings.