Markdown Reference
This page lists the markdown Monofile renders. The same rules apply in the editor, in a share link, in an embed, and on these documentation pages. A small set of designed blocks (titled code, tabs, callouts, steps and cards) sits on top of this syntax. Rich Markdown documents them.
Headings
All six levels work, # through ######.
# Page title
## Section
### SubsectionText formatting
| Syntax | Result |
|---|---|
**bold** or __bold__ | bold |
*italic* or _italic_ | italic |
~~strike~~ | struck through |
`code` | inline code |
Monofile normalizes the spelling on save. __bold__ comes back as **bold** and _italic_ as *italic*. The meaning is identical. The original characters are not kept.
Links
An [inline link](https://monofile.ai) and a bare URL like https://monofile.ai.
A [reference link][home] also works.
[home]: https://monofile.aiBare URLs become links automatically. Reference-style links render, but the next save rewrites them as inline links and drops link titles ([x](url "title")).
To link to another file in your workspace, write a wiki-link instead of a URL. See Wiki-Links.
Lists
- a bullet
- another bullet
- nested one level
1. first
2. secondBullets accept -, * or +, and all three save as -. Ordered lists keep their starting number, so a list that begins at 3. stays at 3.. Indentation nests, and the two kinds mix, so a bullet list can sit inside a numbered item.
Task lists
- [ ] not done yet
- [x] doneTick a checkbox in the editor and the file changes to - [x]. - [X] is accepted on the way in and saved as lowercase.
Tables
Pipe tables with a header row.
| Field | Type | Required |
|---|---|---|
| `name` | string | yes |
| `count` | number | no |Cells take inline formatting, inline code, links and wiki-links. Column alignment markers such as |:---:| render, but the file comes back with plain --- separators. In the editor, drag a column border to resize it, and press Tab to move to the next cell. Tab in the last cell adds a row.
Code blocks
Fence with three backticks or three tildes, and add a language for syntax highlighting. The highlighting follows your editor theme.
```ts
const total = items.reduce((a, b) => a + b, 0)
```A fence with no language renders as plain monospaced text. A block indented by four spaces also becomes a code block, without a language.
Mermaid diagrams
A fence tagged mermaid renders as a diagram.
See Diagrams for the diagram types, how failures are shown, and how to turn a diagram into an editable drawing.
Blockquotes
> A quote.
>
> > A quote inside a quote.Nesting works. A quote whose first line is [!NOTE], [!TIP], [!IMPORTANT], [!WARNING] or [!CAUTION] renders as a callout, in the editor and everywhere a file is shown. The rest of the designed blocks (titled code, tabs, steps, cards) are on Rich Markdown.
Images
The HTML form also works, and it is how a resized image is stored: <img src="..." width="400">. Drag an image file into the editor and Monofile uploads it and inserts the markdown. See Uploads and Media.
Horizontal rules
---, *** and ___ all render as a divider and are all saved as ---.
Line breaks
A single newline inside a paragraph renders as a line break. This differs from strict markdown, which collapses it to a space.
Line one
Line twoThat renders as two lines. A blank line still starts a new paragraph. Two trailing spaces and a literal <br> also produce a line break.
Frontmatter
A YAML block at the top of the file is frontmatter. The editor shows it as its own block and preserves it exactly on save.
---
title: Release notes
tags: [changelog, v2]
---What does not render
Monofile parses a defined set of syntax. Anything outside it stays in your file as literal text.
| Syntax | What happens |
|---|---|
$x^2$ and $$...$$ math | Typed as text, it stays text. In the editor, /math inserts a KaTeX block that saves as $$...$$. These docs pages do not render math |
==highlight==, H~2~O, 2^10^ | Left as literal text |
Definition lists (Term then : value) | Left as literal text |
Block-level HTML (<div>, <details>) | The tags are dropped and only the text inside survives. For a collapsible section use :::details Title from Rich Markdown |
Inline HTML (<b>, <em>, <u>, <br>, <img>, <kbd>) | Converted to the matching formatting |
An HTML <table> | Converted to a real table, without a header row |
Next steps
Rich MarkdownTitled code, tabs, callouts, details, steps, cards, prompts and more: plain markdown that renders designed everywhere.
The Markdown EditorLive WYSIWYG editing, slash commands, and how saving works.
Wiki-LinksLinks between files: autocomplete, aliases, and links that survive renames.
DiagramsMermaid in markdown, and turning mermaid into an editable drawing.
Themes and AppearanceTheme families, light and dark modes, and importing VS Code or base16 themes.