Basic formatting syntax
Fable notes are written in Obsidian Flavored Markdown, a superset of standard Markdown. This page is your cheat sheet for the everyday building blocks: headings, emphasis, lists, tasks, tables, quotes and code. Every example is copy-paste ready.
Quick reference
| You type | You get |
|---|---|
# Heading 1 … ###### Heading 6 | Headings, largest to smallest |
**bold** | Bold text |
*italic* or _italic_ | Italic text |
~~struck~~ | Strikethrough |
==highlight== | Highlighted text |
`inline code` | Monospaced inline code |
> quote | Blockquote |
- item / 1. item | Bulleted / numbered list |
- [ ] task | A checkbox |
Headings
Start a line with one to six # characters, followed by a space, then the heading text.
# Top-level heading
## Section
### Subsection
The space after # is required. Without it, #Heading is not a heading at all; it is read as a tag. This is the single most common Markdown surprise, so it is worth remembering.
Bold, italic and highlight
*italic* or _italic_
**bold** or __bold__
***bold and italic***
~~strikethrough~~
==highlight==
You can **nest _italic_ inside bold**.
A note on underscores: _ and __ do not create emphasis in the middle of a word (so snake_case stays intact), while * and ** do. Highlight, with ==, is an Obsidian extension and a Fable favorite for marking passages to revisit.
Lists
Start unordered items with -, * or +. Start ordered items with a number and a . or ). Indent to nest.
- Groceries
- Apples
- Oats
- Errands
1. Wake up
2. Make coffee
3. Write
- The first ordered item sets the starting number; the rest are renumbered when rendered.
- Leave no blank line between items for a tight list, or add blank lines for a looser, more spaced list.
- To write a line that starts with a number and a period without making a list, escape the period:
1\. Not a list.
Task lists
A task is a list item with a checkbox. Use - [ ] for something to do and - [x] for something done. Click the box in Live Preview or Reading view to toggle it.
- [ ] Draft the outline
- [x] Collect references
- [/] Write the introduction
- [-] Abandoned idea
The bracket holds exactly one character. [x] and [X] mean done; any other single character is a custom status that themes can style distinctly. Common conventions:
| Marker | Common meaning |
|---|---|
[ ] | To do |
[x] | Done |
[/] | In progress |
[>] | Forwarded or deferred |
[-] | Cancelled |
[?] | Question or maybe |
The exact look of custom statuses depends on your theme. Only the empty box and x have universal meaning.
Blockquotes
Prefix each line with >. Stack them to nest.
> The palest ink is better than the best memory.
>
> > A nested quote.
A blockquote whose first line begins with [!type] becomes a callout, a colored, titled admonition box. Callouts have their own page: see advanced syntax.
Code
Wrap inline code in single backticks. For a block, fence it with three or more backticks, optionally naming the language for syntax highlighting.
Use `git status` to see changes.
```js
function greet(name) {
return `Hello, ${name}`;
}
```
- To show a literal backtick inline, wrap it in a longer run of backticks.
- To nest a fenced block inside another, the outer fence must use more backticks than the inner one (four around three).
- An unknown language renders as plain monospaced text.
Tables
Build a table with pipes. A header row, then a delimiter row of hyphens, then body rows. Colons in the delimiter row set column alignment.
| Feature | Status | Priority |
| :-------- | :----: | -------: |
| Wikilinks | Done | High |
| Graph | Done | Medium |
:--aligns left,:--:centers,--:aligns right.- The delimiter row is required; without it the text is not a table.
- Cells hold inline formatting only, not block elements. To put a literal pipe in a cell, escape it as
\|. This also matters for wikilink aliases inside tables, written[[Note\|Alias]].
Rules, line breaks and escaping
Three or more -, * or _ on their own line draw a horizontal rule. For line breaks, a single Enter already starts a new line by default; end a line with two spaces or press Shift Enter for an explicit break.
Above the line.
---
Below the line.
To show a character that Markdown would otherwise interpret, put a backslash before it. For example \*not italic\* renders as literal asterisks, and \# keeps a hash from starting a tag or heading.
That covers everyday writing. When you are ready for callouts, math, diagrams, footnotes and block references, head to advanced syntax.