Markdown Files
Markdown is Monofile's default file type and the one the product is built around. A .md file opens in a live WYSIWYG editor, and the stored file is ordinary markdown you can take anywhere.
What opens as markdown
.md, .mdx and .txt all open in the WYSIWYG editor, as does any file with no extension or an extension Monofile does not recognise. There is no separate "note" type. A markdown file is a text file whose name ends in .md.
Editing is WYSIWYG, not a split preview
You type into the rendered document. A heading looks like a heading, a table is a real table you can tab through, a task list has checkboxes you can tick. Markdown shortcuts still work as you type, so ## starts a heading and - starts a list, and a slash command menu covers the rest.
When you want the source, press Cmd + Shift + V (Ctrl + Shift + V on Windows and Linux). The same file opens in the code editor as raw markdown, and the shortcut toggles back. The raw view is the file itself, so there is no conversion in either direction.
There is no save button. The editor writes a few hundred milliseconds after you stop typing, and every write captures a version.
What is stored is real markdown
Monofile keeps your file as plain markdown text, with no JSON document model, HTML or block database in between. That has a few consequences:
readover the API or the CLI returns markdown.Markdown pasted in from another tool keeps its shape.
Diffs are line diffs of the text you wrote.
Export is a copy of the file.
An agent writing a file writes markdown too, so a saved document looks the same whoever wrote it, and a person and an agent can work on the same file.
The few places Monofile extends markdown
Everything below is stored in the file as literal text, so an editor that does not know the syntax still shows you the source.
| Extension | Syntax | What it does |
|---|---|---|
| Wiki-links | [[Target]] or [[Target|label]] | A real link between files, with autocomplete while you type and backlinks on the other side |
| Mermaid | A fenced block tagged mermaid | Renders as a diagram in place, and can be turned into an editable drawing |
| Math | $inline$ and $$block$$ | Rendered with KaTeX |
| Frontmatter | A --- delimited block at the very top | Stored as metadata; the body starts after it |
A short example, all of it valid markdown:
---
status: draft
---
## Ingest path
See [[Code Files]] for how the workers are edited.
The throughput target is $n = 4k$ events per second.
- [x] Queue drains under load
- [ ] Retry budget documentedA mermaid diagram is a fenced code block whose language is mermaid. Written in a markdown file it renders as a diagram where the block sits, and the source stays in the file as an ordinary fence.
Markdown files and the rest of the product
A markdown file is a text file, so everything general applies. It gets versions on every write, [[wiki-links]] and backlinks, share links and semantic search over its content, and agent edits arrive as a reviewable diff.
A canvas board node can also point at one heading of a markdown file and show only that section. See Canvas Boards.
Next steps
The Markdown EditorLive WYSIWYG editing, slash commands, and how saving works.
Markdown ReferenceEvery markdown feature Monofile renders, with examples.
Wiki-LinksLinks between files: autocomplete, aliases, and links that survive renames.
Supported File TypesThe full extension to editor map, and what each editor can do.