Content system fixture
A synthetic specimen page, not an article. It exists so the schema, the layout and the routing can be checked without a real piece of editorial riding on them.
AllForXmas EditorialPublished
This file is not an article. It exists so the content pipeline and the article layout can be proved end to end without a real piece of editorial riding on scaffolding nobody has looked at yet. Delete it once the first genuine article ships.
Every element below is here to be looked at, not read. The copy is synthetic throughout and says nothing about Christmas on purpose — if this page ever starts reading like a real article, someone has used the fixture for the wrong job.
What this proves
The frontmatter above was parsed as YAML and validated against the schema in
lib/content/types.ts and the vocabularies in lib/content/taxonomy.ts. Two
of those fields reach the page: title becomes the heading, and dek becomes
the standfirst under it. description reaches only the <meta> tags, and the
rest — section, topics, keyword, intent, seasonality — stay internal and render
nowhere.
This paragraph contains bold text, italic text, and a link to the affiliate disclosure so the underline treatment can be checked against surrounding body copy. A link has to be obvious without hovering it and without relying on its colour.
A third-level heading
Nested headings confirm that heading levels survive the trip. The layout owns
the page's only h1, so article bodies start at h2 — and validation now
refuses a file that breaks that rule.
Second- and third-level headings should feel like different things at a glance. If they look the same size in the rendered page, the scale has collapsed and long articles will be much harder to navigate.
Lists
An unordered list, which is the shape most editorial copy reaches for:
- A single-line item.
- A longer item that runs past the end of one line, so the wrapped text can be checked against the marker and the indentation on both desktop and a narrow phone screen.
- An item with bold inside it.
- A nested item, one level down.
- A second nested item.
An ordered list, used where the sequence is the point:
- The first step.
- The second step, which also runs long enough to wrap so that the hanging indent can be compared against the unordered list above it.
- The third step.
A quotation
Text immediately before a blockquote, to check the space between them.
A blockquote with no quotation marks, no italics and no tinted panel behind it. A rule and a shift in colour are enough to mark it as somebody else's words.
Text immediately after the blockquote, to check the space on the other side.
A table
Tables need remark-gfm, which is why this one is here. On a narrow screen it
should scroll inside its own column rather than pushing the page sideways.
| Element | Font | Notes |
|---|---|---|
| Body copy | Source Serif 4 | 19px, dropping to 17.5px on small screens |
| Headings | Archivo | The site's type rule: reading versus operating |
| Tables | Archivo | Data is scanned, not read |
| Links | Source Serif 4 | Permanently underlined inside articles only |
What this deliberately does not prove
There are no images, no product recommendations, no citations and no links out to tools here, because none of that is built. Each is its own decision about compliance, layout or data access, and folding them into the proof that the layout works would have meant proving nothing cleanly.
The horizontal rule above separates this closing section from the specimen material, which is the only job a rule has in an article.