All inline elements — text formatting, colours, highlights, links, footnotes, and icons
Inline elements appear within a paragraph or list item body. Most use the !name{} prefix syntax; standard formatting uses shorthand symbols.
bold, italic, inline-code, latexCore text formatting applied with Markdown-style shorthand symbols. These work inside any paragraph or list item.
**text** — Strong emphasis*text* — Soft emphasistext` — Monospace, code-style text$expression$ — Rendered maths inline==text== — Yellow highlighted background (shorthand for !h)highlightalias: hHighlighted text with a coloured background. The shorthand ==text== produces a yellow highlight. Use !h{}(colour: ...) for other colours.
colour (colour; default: yellow). Background highlight colourred, orange, yellow, green, teal, blue, purple, pink, greyColour the enclosed text without a background. Available for every named colour in the design system. Syntax: !colour{text}.
linkalias: aA hyperlink that opens a URL. Use for external references, citations, or additional resources.
href (required; string). The destination URLfootnotealias: fnA footnote or sidenote with additional information. The body is the visible anchor text; the content attribute is the footnote text itself.
content (required; string). The footnote texticonAn inline SVG icon. Use for visual cues like correct/incorrect indicators. Currently supports tick and cross.
name (required; tick / cross). Which icon to displaycolour (colour; default: neutral). Icon colourblankA blank slot marker used in wordbank exercises. Place !blank() in the wordbank body to define where students drag word tiles. Each call creates one blank, numbered left-to-right starting from 1.
constantA template constant placeholder for dynamic values that can be substituted at render time, such as student names or question variants.
Write a constant with two opening braces, the variable name, and two closing braces. For example, wrap student_name in double braces to render the current student's name.
Raw double-brace constants are resolved while this documentation is compiled, so the example above spells out the placeholders instead of using live constant syntax.