Text & inline
Prose, headings, formatting, colours, maths, callouts and the other inline elements.
#Prose
A line of writing is a paragraph. Nothing marks it; prose is the default state of a Chalk document, and inline formatting, maths and micronodes all live inside it. A paragraph takes one attribute — colour — when a whole block of text should carry a tint.
#Headings, lists, dividers
Headings are written the familiar way: # through #### at the start of a line give h1 to h4. Lists are lines beginning with a marker (list covers ordered and unordered), and a line of --- or ___ is a divider.
#Inline formatting
**bold**— bold*italic*— italic`code`— inline-code!h{marked}(colour: yellow)— highlight, or==marked==for the default tint!link{Open Docs}(href: https://example.com)— link
The !name{...} forms are micronodes — ordinary constructs with heads, implicit attributes and attribute groups, exactly as the Introduction describes.
#Text colours
Nine colour micronodes tint a run of text: !red{...}, !orange{...}, !yellow{...}, !green{...}, !teal{...}, !blue{...}, !purple{...}, !pink{...}, !grey{...}. They are theme-aware palette tokens, not raw colours — the same hue vocabulary every colour attribute accepts.
#Maths
$x^2 + y^2 = r^2$ sets inline LaTeX (latex); the block form is the equation element.
#Substitutions
{{name}} splices an @let constant — or a dataset column, fully qualified as {{#survey.area}} — into the text at compile time. This is substitution syntax, not a micronode: it is a preprocessor over source text, which is why it works identically in prose, attribute values and code bodies.
{{ }} is a compile-time snapshot. For a value that changes while the reader watches — a fit's slope under a draggable degree, a parameter — use !value:#f.slope() instead: a binding, resolved live by the renderer. The Expressions chapter draws the line precisely.#Callouts
Four block callouts set passages apart: note, definition, example and task. Each wraps narrative content in its body:
definition{
A **prime** is a natural number greater than 1 with no
positive divisors other than 1 and itself.
}#Footnotes and icons
!fn{Source}(content: Smith, 2024) attaches a footnote to its text. !icon(name: tick; colour: green) drops a small inline icon — tick or cross — into a sentence. And an inline internote reference, !internote(ref: abc123), renders as a chip that sits inside the line; its block form renders a full card.