Kitchen sink: how every element looks

A sample post showing headings, code, quotes, lists, tables and footnotes.

· 1 min read

This sample post shows how each theme handles the elements a technical blog uses most. Body text should be comfortable to read for several minutes, with inline code that stands out without shouting, and links that are easy to spot.

A second-level heading

Paragraphs need room to breathe. Most of a post is plain prose, so the line length, size and spacing of body text matter more than anything else on the page.[1]

Simplicity is prerequisite for reliability.

— Edsger W. Dijkstra

A third-level heading

Here is some code:

use std::collections::HashMap;

fn word_counts(text: &str) -> HashMap<&str, usize> {
    let mut counts = HashMap::new();
    for word in text.split_whitespace() {
        *counts.entry(word).or_insert(0) += 1;
    }
    counts
}

And a shell one-liner:

zola serve --drafts

Lists and tables

  • Unordered lists for loose collections
  • Ordered lists when sequence matters
  • Nested items when you must:
    • but sparingly
  1. Write the post
  2. Read it out loud
  3. Cut a third of it
GeneratorLanguageSingle binary
ZolaRustyes
HugoGoyes
JekyllRubyno

That’s everything. The footnote below shows how the theme handles footnotes.

  1. Around 60–75 characters per line is the classic recommendation for comfortable reading. ↩

← All writing