This post exists to verify that every element the theme must handle renders correctly: headings, long prose, code blocks, blockquotes, lists, tables, inline math, and display math. It is not meant to be read; it is meant to be looked at.
Headings and prose measure
The goal is a comfortable reading measure of around 65–75 characters per line. This paragraph is long enough to wrap several times on a typical desktop viewport, which makes it easy to check whether the measure is right. If lines stretch all the way to the edge of the content column, something is wrong with the max-width. A well-set paragraph feels like a book page, not a spreadsheet row.
A third-level heading
Below the third-level heading, another paragraph. The heading hierarchy should be visually clear: h2 is a major section break, h3 is a sub-section within it. Both should feel like natural punctuation in a long technical document, not decorative elements fighting for attention.
Code
Inline code looks like this: const x = 42. It should be legible at body size and distinguishable from surrounding text without being jarring.
A fenced code block in Python:
import math
def newton_sqrt(n: float, tol: float = 1e-10) -> float:
"""Compute sqrt(n) by Newton's method."""
if n < 0:
raise ValueError("negative input")
x = float(n)
while True:
x1 = 0.5 * (x + n / x)
if abs(x1 - x) < tol:
return x1
x = x1
print(newton_sqrt(2)) # 1.4142135623730951
Syntax highlighting should be active — keywords, strings, comments, and function names each in a distinct colour. The block should scroll horizontally on long lines rather than breaking the layout.
A longer line to test wrapping behaviour: result = some_very_long_function_name(argument_one, argument_two, argument_three, keyword=True)
Blockquote
The purpose of computing is insight, not numbers.
— Richard Hamming
Blockquotes should be visually set off from body text with a clear left indicator, but should not shout.
Lists
An unordered list:
- First item, with enough text to potentially wrap on a narrow viewport and verify that the bullet stays aligned with the first line
- Second item
- Third item with a nested list:
- Nested first
- Nested second
A numbered list:
- Install the dependencies with
npm install - Start the development server with
npm run dev - Open
http://localhost:4321in your browser - Edit
src/content/posts/and the page will hot-reload
Table
| Operation | Time complexity | Space complexity | Notes |
|---|---|---|---|
| Lookup | O(1) average | — | Hash table |
| Insert | O(1) amortized | O(n) | May trigger resize |
| Delete | O(1) average | — | Tombstone or compact |
| Iteration | O(n) | O(1) | In insertion order |
Tables should be readable and not overflow horizontally on desktop. On narrow viewports, horizontal scroll is acceptable.
Mathematics
Inline math: the quadratic formula is .
Euler’s identity in inline form: .
A display equation with a summation, fractions, and Greek letters — the canonical test for whether KaTeX is rendering and whether it remains legible in dark mode:
A more complex display equation:
And the Fourier transform pair, to verify that Greek letters, sub/superscripts, and large operators all render at the right weight:
If any of the display equations appear faint, washed out, or clipped in dark mode, the dark-mode KaTeX override is not working.