Internal links & embeds
Links are what turn a folder of notes into a connected body of knowledge. Fable makes linking effortless: type two brackets, pick a note, and you are done. This page covers every kind of link and embed.
Wikilinks and Markdown links
The quickest way to link is a wikilink. Type [[ and start typing a note name; Fable autocompletes existing notes and offers to create a new one if there is no match.
See [[Three laws of motion]] for details.
Link into a folder with [[Physics/Kinematics]].
Link a non-note file by its full name: [[Diagram 1.png]].
Fable also reads standard Markdown links, where the destination is URL-encoded (spaces become %20):
See [Three laws of motion](Three%20laws%20of%20motion.md).
| Setting | Effect |
|---|---|
| Use [[Wikilinks]] (on by default) | Autocomplete writes wikilinks. Turn it off to write Markdown links instead. |
Whatever you choose, Fable always reads both formats, so a vault that mixes them works fine.
Aliases and display text
Add a pipe to show different text than the note name:
[[Internal links|the way links work]]
[[Physics/Kinematics|kinematics]]
To give a note permanent alternative names, list them in the aliases property at the top of the note:
---
aliases:
- JFK
- President Kennedy
---
Now typing [[JFK finds the note. When you pick an alias from autocomplete, Fable writes [[John F. Kennedy|JFK]], keeping the real note as the target and the alias as the display text. Aliases also surface in the quick switcher and in unlinked mentions.
Linking to headings and blocks
Use # to point at a heading and #^ to point at a specific block.
| Target | Syntax |
|---|---|
| A heading in another note | [[About Fable#Philosophy]] |
| A heading in the current note | [[#A later section]] |
| A subheading, by path | [[Guide#Setup#Requirements]] |
| A specific block | [[Daily note#^cell-fact]] |
When you type [[Note#, Fable lists that note's headings; type [[Note#^ to pick a block and it will add a block id if the block does not have one. See block identifiers for how to write ids by hand.
Embeds and transclusion
Put a ! in front of any internal link to embed the target's rendered content inline. Embeds stay live: when the source changes, the embed updates.
| Embed | Syntax |
|---|---|
| A whole note | ![[Internal links]] |
| One heading section | ![[Internal links#Embeds]] |
| A single block | ![[Daily note#^cell-fact]] |
| An image | ![[Diagram 1.png]] |
| A canvas | ![[My board.canvas]] |
Sizing images and PDFs
For an embedded image, add a pixel width, or width and height, after a pipe. For external Markdown images, the size goes inside the alt-text brackets instead.
![[Diagram 1.png|300]] embed at 300px wide
![[Diagram 1.png|300x200]] embed at 300 by 200
 external image, 300px wide
![[Report.pdf#page=3]] open the PDF at page 3
![[Report.pdf#height=400]] constrain the embed height
How links resolve
When Fable writes a link, the path it uses is set by Settings → Files and links → New link format:
| Option | What Fable writes |
|---|---|
| Shortest path when possible (default) | Just the note name when it is unique, falling back to a longer path only to resolve a clash. |
| Relative path to file | A path relative to the current note's folder. |
| Absolute path in vault | The full path from the vault root. |
Note names match case-insensitively, so [[my note]] finds My Note. The .md extension is optional for notes but required for other file types.
Links to notes that do not exist yet
A link whose target is missing is shown in a distinct, muted style. This is a feature, not an error: click it and Fable creates the note and opens it, ready to write. These unresolved links are still tracked, and they appear in the graph as placeholder nodes, so you can see the shape of ideas you have not written yet.
Automatic link updating
With Automatically update internal links on (the default), renaming or moving a note inside Fable rewrites every link and embed that points to it, across the whole vault. You never have to hunt down broken links.
- This covers both wikilink and Markdown-link formats.
- Renaming a heading does not update
#headinglinks; only file renames and moves are covered. - A rename made outside Fable, in another app, cannot trigger the update, because Fable did not perform it.