Text & Prose
Plain Markdown already renders beautifully — every element is mapped to a styled prose component. This page is the reference for the everyday building blocks.
Headings & the table of contents
## … #### become anchored headings. Every ##/### is collected into the
table of contents on the right automatically — no configuration needed.
## Section title
### Subsection
title (frontmatter) is the <h1>. Start body headings at ##.Emphasis & inline marks
inline code.You can write **bold**, *italic*, ~~struck-through~~ and `inline code`.
Lists
- Unordered item
- Another, with nested:
- child one
- child two
- Ordered first
- Ordered second
- Unordered item
- Another, with nested:
- child one
- child two
1. Ordered first
2. Ordered second
Blockquotes
Art-Net and sACN are the two supported lighting transports.
> Art-Net and sACN are the two supported lighting transports.
Tables
Pipe tables support per-column alignment with : in the divider row.
| Device | RDM | Max universes |
|---|---|---|
| KLSTR.one | ✅ | 8 |
| KLSTR.nano | ❌ | 4 |
| Device | RDM | Max universes |
| :----- | :-: | ------------: |
| KLSTR.one | ✅ | 8 |
| KLSTR.nano | ❌ | 4 |
Links (mind the locale prefix)
Internal links must include the locale prefix that matches the file's locale —
/en/… in English files. Image paths stay unprefixed (/images/…). External links get
an icon automatically.
See the [admin dashboard](/en/internal/admin/dashboard) or visit
[klstr.tech](https://klstr.tech).
npm run check:links enforces the prefix rule in CI and exits non-zero on a wrong-locale
link. Run npm run check:links:fix after seeding a locale.Inline components
A few inline helpers earn their keep in prose:
queryCollection().Press :kbd{value="Cmd"} :kbd{value="K"}, tag it :badge[New], and call :code[queryCollection()]{lang="ts"}.
| Component | Syntax | Notes |
|---|---|---|
| Keyboard key | :kbd{value="Cmd"} or :kbd[Esc] | styled <kbd> |
| Badge | :badge[New] | fixed primary/subtle — use :u-badge[New]{color="…"} for other colours |
| Inline code | :code[text]{lang="ts"} | syntax-highlighted inline |
| Icon | :icon{name="i-lucide-rocket"} | any Iconify icon |
Styled spans & attributes
Attach classes, ids or attributes to any inline span with {}:
This word is [important]{.text-primary .font-bold} and this is [muted]{.text-muted}.
Horizontal rule
A --- on its own line (with blank lines around it) renders a divider.
---