Markdown syntax
Context Raven reads and writes standard Markdown plus a small set of extensions, and never rewrites what you didn't touch.
What's understood
- GitHub Flavored Markdown as the base: headings, emphasis, lists, blockquotes, code spans and blocks, links, images.
- Tables, including column alignment. See Tables.
- Task lists —
- [ ]and- [x]. - Footnotes —
[^label]with its[^label]: definition— see Diagrams, math and footnotes. - Wikilinks —
[[target]], or[[target|display text]]for a different display text.targetresolves against every tracked folder, not just the one the link lives in — if the same name exists in more than one folder, the note in the SAME folder as the link wins. Add a heading to jump straight to it:[[target#Heading]](or[[target#Heading|display text]]) opens the note scrolled to that heading; an unmatched heading just opens the note at the top. - Math — inline
$…$, display$$…$$,\(…\)and\[…\], or a fenced```mathblock — see Diagrams, math and footnotes. - Mermaid diagrams in a fenced
```mermaidblock. - HTML comments (
<!-- … -->). - Raw HTML, including tags written with HTML entities.
- Reference-style links —
[text][id], with[id]: https://…defined elsewhere in the document. - YAML frontmatter, between
---lines at the top of the file. See Frontmatter.
Preserved byte for byte
Saving rewrites only the lines you actually changed. Reference-link definitions, raw HTML blocks, frontmatter, blank lines, and the exact list markers you used all round-trip unchanged, so a document you didn't mean to touch never shows up as a diff in Git or another editor.
HTML comments
An HTML comment shows as a small, non-editable chip in the editor rather than raw text — you can't type inside it, and it's invisible to anyone reading the rendered document.
Raw HTML
Raw HTML tags, including ones written with HTML entities, pass through as you wrote them. Context Raven doesn't sanitize or reformat them, so a hand-written HTML block keeps its exact structure.
Not supported
Definition lists (Term on one line, : Definition on the next) aren't recognized. Writing that
syntax leaves it as plain text rather than rendering a definition list.