- reviewed
- 2026-06-05
- section
- authoring
- created
- 2026-07-26
- updated
- 2026-10-30
Syntax
Syntax
A note is plain Markdown — CommonMark plus GitHub-Flavored Markdown
(tables, task lists, strikethrough). track is strongly influenced by Obsidian
and borrows its conventions where they fit — [[wiki links]], standalone-image embeds, and $…$ / $$…$$
math — so a note written for Obsidian mostly reads the same here.
Text formatting
Wrap text in ** for bold, a single * or _ for italic, ~~ for strikethrough, and
backticks for inline code:
**bold**, *italic* (or _italic_), ~~strikethrough~~, `inline code`Headings
Start a line with one to five # characters followed by a space for h1–h5:
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5They render as follows. All five levels use the same color and bold weight; size and spacing show their rank. Each level is larger than bold body text, with no decorative line or prefix.
Heading 1
Body text with bold text for comparison.
Heading 2
Body text with bold text for comparison.
Heading 3
Body text with bold text for comparison.
Heading 4
Body text with bold text for comparison.
Heading 5
Body text with bold text for comparison.
Structure
Standard Markdown blocks work as expected:
- a bullet list
- nested item
1. an ordered list
- [ ] an open task
- [x] a done task
> a blockquote
---Task lists (- [ ] / - [x]) render as real checkboxes.
Code blocks
A fenced block is syntax-highlighted when you name the language after the opening fence, and the web reader adds a copy button:
```go
func Title(text string) string {
return strings.TrimSpace(text)
}
```It renders as:
func Title(text string) string {
return strings.TrimSpace(text)
}A ```mermaid fence renders a diagram instead — see Diagrams. Fenced blocks in a real note can
also be run as code; see Babel.
Tables
Pipe tables from GitHub-Flavored Markdown, with : in the divider row to set column alignment:
| Feature | Supported |
| --- | :---: |
| Tables | yes |
| Math | yes || Feature | Supported |
|---|---|
| Tables | yes |
| Math | yes |
Footnotes
GitHub-Flavored footnotes work as written: mark a spot with [^label] and define it anywhere in the
note with [^label]: …. The definitions collect at the end of the rendered note, numbered in the order
they are first referenced, and the two ends link to each other — click a marker to jump to the
definition, click ↩ to jump back:
Zettelkasten favors many small notes.[^atomic] Links do the organizing.[^links]
[^atomic]: One idea per note keeps every note quotable and linkable.
[^links]: See Ahrens, *How to Take Smart Notes*, for the argument in full.The paragraph above the definitions renders like this — the definitions themselves appear at the very bottom of this page:
Zettelkasten favors many small notes.1 Links do the organizing.2
Alerts
A blockquote whose first line is a [!TYPE] marker becomes a colored callout, matching GitHub's alert
syntax. Five types are recognized — NOTE, TIP, IMPORTANT, WARNING, CAUTION:
> [!NOTE]
> Useful context the reader should notice.
> [!WARNING]
> Something that needs care.They render as:
Note
Useful context the reader should notice.
Tip
A helpful suggestion.
Important
Key information the reader must not miss.
Warning
Something that needs care.
Caution
A risky action to think twice about.
A blockquote without a [!TYPE] marker stays an ordinary quote.
Math
Math is written in LaTeX, the same as in Obsidian: single dollars for inline, double dollars for a centered block. It is rendered by KaTeX:
Euler's identity is $e^{i\pi} + 1 = 0$.
$$\int_0^1 x^2 \,dx = \tfrac{1}{3}$$Euler's identity is $e^{i\pi} + 1 = 0$.
$$\int_0^1 x^2 ,dx = \tfrac{1}{3}$$
Links, embeds, and visuals
These are the track-specific constructs, each with its own page:
[[Title]]— a wiki link to another note. See Linking notes.on its own line — a rich embed (image, YouTube, PDF, tweet, Open Graph card, or a text/Mermaid attachment). See Embeds..viewspec.jsonembeds — declarative charts. See Charts./apps/<name>/orapps/<name>/links — open a vault-local browser app as a top-level page. See Static apps.
Everything renders the same in the Web workspace and in the published static export.