This document describes the Markdown variant that KF implements. The base is CommonMark, with a few differences and additions.
Headers start with one or more `#` characters (up to level 6), followed by a space and the heading text.
# Chapter one ## Section ### Subsection
An optional anchor `{#id}` can be placed at the end of the heading line. It becomes the element's HTML id attribute and can be used as a link target within the document.
## Risk assessment {#risk}
Unordered list — lines starting with `-`:
- item one - item two - nested item
Ordered (numbered) list — lines starting with `+`:
+ step one + step two
Task lists — add a state marker after the bullet:
- [x] completed - [ ] open - [/] in progress
The same markers work with `+` for a numbered task list.
A line starting with `:` is rendered as a definition paragraph (indented, in a distinct style).
: This is a definition or note paragraph.
A paragraph is a sequence of text lines not recognised as any other construct. It ends at an empty line or at the start of a block element.
A line starting with `>` is rendered as a highlighted quote paragraph (left-border accent).
> This is a quoted or highlighted passage.
[link text](url) [](url)
The second form uses the URL itself as the visible text.
 
An optional CSS string can follow the URL to control size and alignment.
A plain table — cells separated by `|`:
| Column A | Column B | | a1 | b1 | | a2 | b2 |
Add a separator row (`---`) to make the first row a column header:
| Column A | Column B | | -------- | -------- | | a1 | b1 | | a2 | b2 |
Double the leading `|` (`||`) to make the first column a row header:
|| Column A | Column B | | -------- | -------- | | a1 | b1 | | a2 | b2 |
Both can be combined for a table with both a header row and a header column.
A plain table with no separator has no header styling:
| a | d | | b | e | | c | f |
Fenced with triple backticks, with an optional language hint:
```go
func main() {}
```
---
Inline formatting supported directly in Markdown:
| Syntax | Result |
|---|---|
| `text` | bold |
| `text` | italic |
| `text` | underline |
| `text` | subscript |
| `text` | superscript |
| `text` | highlight |
| ` | centred block |
For anything else — colour, font size, custom spacing — use HTML inline.
MathJax is integrated. Inline equations use `\(...\)` and display (centred) equations use `\[...\]`:
The formula \(E = mc^2\) is well known.
\[ \int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2} \]
Lines starting with `.` are commands processed server-side:
| Command | Effect |
|---|---|
| `.bp` | Insert a page break (for print/PDF) |