Click-to-jump references to a tab. Optional variant, color, block, href.
Inject runtime values from agent variable set or auto-injected env vars.
Works inside any string field — cmd:, url:, path:, body Markdown, fenced code blocks, button labels, table cells, image alt-text. Resolved before fence parsing — no escaping needed inside backticks.
Quoted blocks with type tag. Render as colored callouts.
ATX (## Title) and Setext (underlined) both render identically.
```
Setext H1 =========
Setext H2 --------- ```
Text\n--- with no blank line is a Setext H2. \n---\n with blank lines around is a horizontal rule. Both are common; the difference matters when adding step dividers.
Markdown body and notes: slide content accept raw HTML.
Use <details> for opt-in hints. Inline <span> / styling for credential display, brand colors, conditional emphasis.
Images via standard Markdown; video via raw HTML; iframes for external interactive content.
Asset paths use forward slashes (../assets/file). Backslash paths render but are a Windows authoring artifact — normalize before push.
Frontmatter notes: is a list. Render as full-screen overlays before the challenge starts (requires track-level enhanced_loading: false).
type: text |
Markdown contents. Supports inline <style> blocks for per-slide CSS. |
type: video |
YouTube embed URL or local ../assets/*.mp4. YouTube supports ?start=N&end=M clipping. |
type: image |
Image URL. Use a single full-width image as a splash slide. |
notes: slide is a single splash image — - type: text\n contents: '' — followed by a second text slide for welcome copy.
../assets/, HTTPS URLs, or platform CDN paths under https://play.instruqt.com/assets/tracks/<track-id>/... all work. CDN paths are stable across slug renames; relative paths are simplest.✅ <sentence>. Move on to Challenge N to ... — the leading checkmark visually separates the closer from step content. ❌ works as an inline "wrong path" marker within step content.[[ Instruqt-Var ]] resolves before the fence is parsed — no escaping needed inside backticks.copy for the snippet (no run button) plus a <details> "How to substitute" block. Forces learners to think before running.