Skip to content
6e69616c6c

Theme verification: a test post

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:

A numbered list:

  1. Install the dependencies with npm install
  2. Start the development server with npm run dev
  3. Open http://localhost:4321 in your browser
  4. Edit src/content/posts/ and the page will hot-reload

Table

OperationTime complexitySpace complexityNotes
LookupO(1) averageHash table
InsertO(1) amortizedO(n)May trigger resize
DeleteO(1) averageTombstone or compact
IterationO(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.



Next Post
A small static blog, the easy way