Broadcast engineers had test patterns. This is ours: every markdown element the theme styles, on one page, so you can see how the phosphor palette handles real content before committing to it.
Headings#
The heading scale is deliberately shallow - terminals didn't do six weights of type, and neither does this.
Third level#
Fourth level#
Fifth level#
Text formatting#
Body copy is bold, italic, both at once, struck through, and
inline code. Links inside a paragraph
are underlined like
classic hypertext; external ones
open in
a new tab. Keyboard shortcuts read naturally as code: Ctrl + C.
Footnotes work too1, including multiple references2.
Images#
Images get a partial-grayscale phosphor treatment so photographs sit naturally against the terminal background. Hover to ease the filter back:

Images are lazy-loaded automatically by the theme's render hook.
Blockquotes#
The terminal is the most efficient interface ever devised for talking to a computer, and every generation rediscovers this about ten years later.
Nested quotes work as well:
Including this one, two levels deep.
Lists#
Unordered lists use a > prompt marker:
- Phosphor persistence
- Horizontal scan lines
- Nested items indent cleanly
- And keep their markers
- Beam brightness falloff at the edges
Ordered lists keep their numerals:
- Power on, wait for the CRT to warm
- Watch the raster stabilize
- Log in
Task lists render with checkboxes:
- Historically accurate phosphor colors
- Pure-CSS effects, zero JavaScript
- Actual 15 kHz flyback whine
Tables#
| Terminal | Year | Phosphor | Resolution | Notes |
|---|---|---|---|---|
| VT52 | 1975 | P4 | 80×24 | The one that started it |
| VT100 | 1978 | P4 | 80×24 | ANSI escape codes |
| VT220 | 1983 | P3 amber | 80×24 | The look this theme copies |
| VT320 | 1987 | P3 amber | 132×24 | Wider text mode |
Tables scroll horizontally on narrow screens rather than breaking the layout.
Code#
Inline const answer = 42 sits in the text. Fenced blocks get line numbers and
class-based highlighting (requires noClasses = false):
| |
Different languages, same monochrome treatment:
| |
| |
With line numbers enabled (as in this demo), an over-long line scrolls horizontally inside the block, so the numbers stay aligned with their code:
| |
Horizontal rules#
Rules render as a terminal divider:
Definition-style content#
Term lists fall back to standard markup:
- Phosphor persistence
- How long the coating keeps glowing after the beam moves on. Long persistence reduces flicker but smears motion.
- Refresh rate
- How often the beam repaints the screen - 60 Hz on most DEC terminals.
That's the whole pattern. If everything above reads cleanly in your chosen scheme, the theme is configured correctly.