Tables

Plain <table> markup. The theme styles every table the same way: a thin rule above and below the table, a divider under the header row, and tight vertical rhythm sized down half a step from body text. No striping or grid lines — columns should read by alignment, not borders.

Basic table

A simple three-column reference:

Status HTTP code Meaning
ok 200 Request completed successfully.
created 201 A new resource was created.
not_found 404 The requested resource doesn’t exist.
conflict 409 The request conflicts with the current state.

Header cells (<th> inside <thead>) are centered; body cells (<td>) are left-aligned and top-aligned. Wrap long content however the cell needs.

Cell alignment

Headers are centered by default; body cells are start-aligned. Override either with an explicit style or a class:

Method Description Calls/s
GET /users List users, paginated. 12,400
GET /users/:id Fetch a single user by id. 48,920
POST /users Create a new user. 312

Rich cell content

Cells aren’t restricted to a single paragraph — multi-line prose, lists, and inline code all work:

Option Effect
data-language

Sets the Shiki grammar for the block. When the value is text the block is rendered without highlighting.

Common values:

  • javascript, typescript
  • html, css
  • bash, json, yaml
data-embed

Loads the block’s contents from a file relative to the page. The first line is replaced with the file’s text.

See Embedding files for the path resolution rules.

The first paragraph inside a cell has its top margin trimmed so the content lines up with the header row.