Til ; ;3 min read
The Markdown reference #
Everything the theme knows how to render — headings, inline marks, lists, tables, callouts, math, diagrams, footnotes — shown in context so the type and spacing can be judged together.
Headings
H1 · Heading one
H2 · Heading two
H3 · Heading three
H4 · Heading four
H5 · Heading five
H6 · Heading six
Inline formatting
Text can be bold, italic, bold italic, struck through, or inserted. You can highlight a phrase to draw the eye, drop in inline code, and link to another post.
Scientific bits read cleanly too: H2O, the area πr2, the HTML spec, and keyboard shortcuts like ⌘ K to open search or Esc to close it.
Lists
Unordered, with nesting
- A first idea worth its own line
- A second idea
- with a supporting detail
- and one more beneath it
- A third to close the thought
Ordered, with nesting
- Measure the real workload
- Form a hypothesis
- write down the expected win
- write down how you'll know
- Change one thing, measure again
Task list
- Draft the post
- Add the benchmark numbers
- Get someone to poke holes in it
Definition list
- Amortized cost
- The average cost per operation across a worst-case sequence, not the worst single operation.
- Tail latency
- The slow end of the distribution — the p99 your users actually notice.
Quotes
A blockquote for the borrowed thought — set apart, a touch quieter than the body.
And a nested quote inside it, for the reply to the borrowed thought.
Callouts
Note
Hugo renders GitHub-style alerts natively. Label text stays high-contrast; the type is signalled by the bar and icon color, not by tinting the words.
Tip
A muted green marks advice — the small semantic hue lives on the icon and bar only.
Warning
Warm amber for the thing that will bite you. Still low-saturation, still at home on the paper.
Tables
| Approach | n = 1k | n = 1M | Notes |
|---|---|---|---|
| Linear scan | 0.4 ms | 380 ms | Cache-friendly, tight stride |
| Sort + sweep | 1.1 ms | 240 ms | Wins only past the crossover |
| Hash index | 0.9 ms | 190 ms | Best asymptotically, worst constants |
Code & syntax
Inline go test -bench=. sits in the run of text. Fenced blocks get syntax colors and optional line highlighting — here the highlighted line is the one that allocates:
func BenchmarkFib(b *testing.B) { for i := 0; i < b.N; i++ { _ = Fibonacci(4000) // allocates a slice }}
Terminal
For commands you'd actually run, opt a fenced block into a terminal window — a mac-style frame with traffic lights — by adding {term=true}:
brew install hugo && hugo serverSet the language to console to show a command with its output; the prompt and the output are styled apart:
$ hugo --gc
Start building sites …
Total in 84 ms
Math
Inline math flows with the sentence — the series converges — and display math gets its own line:
Diagrams
Mermaid diagrams render from a fenced ```mermaid block, themed to the warm palette:
flowchart LR
A[Measure real workload] --> B{Hot spot?}
B -- no --> A
B -- yes --> C[Form a hypothesis]
C --> D[Change one thing]
D --> E[Measure again]
E --> B
Collapsible
Show the full benchmark output
Details/summary collapses long asides — raw logs, proofs, the stuff most readers skip but some want.
BenchmarkFib-8 3084 386118 ns/op 32768 B/op 1 allocs/op
Image
Rule
A horizontal rule marks a hard break in thought:
…and the writing picks back up on the other side.
- Footnotes render at the foot of the article, linked both ways. ↩