Wikilinks

Vaults supports the same [[Page Name]] wikilink syntax as Obsidian, with some Obsidian-flavored extensions. Resolution happens at build time, so broken links surface as warnings during vaults push.

Basic forms

The most common form is just the page's basename. Folders don't need to appear in the link:

MarkdownRenders as
[[Aelar]]Aelar
[[Bram]]Bram
[[The Mossfoot Inn]]The Mossfoot Inn
[[Healing Potion]]Healing Potion

Aliases

Use a pipe to display custom text:

MarkdownRenders as
[[Aelar|the elven ranger]]the elven ranger
[[The Mossfoot Inn|the inn]]the inn

Folder paths

Folder-prefixed paths still work for disambiguation:

MarkdownRenders as
[[NPCs/Aelar]]NPCs/Aelar
[[Lore/The Mossfoot Inn]]Lore/The Mossfoot Inn

In practice you'll rarely need them. Bare names resolve as long as the basename is unique across the vault.

Image embeds

The same syntax with a leading ! embeds an image:

![[aelar-portrait.webp]]
![[aelar-portrait.webp\|240]]   # explicit width

aelar-portrait.webp

Page transclusion

An embed whose target is a page rather than a file pulls that page's rendered body inline. Put it on a line of its own:

![[Bram]]              # the whole page
![[Statblocks#Spellcasting]]   # just that section

Transcluded pages are themselves rendered, so their wikilinks, handlers, and embeds all work. Nesting is capped at three levels, which stops two pages that embed each other from looping.

Role gating applies to the source page: a transclusion of a page above the reader's tier renders as a broken embed, exactly like a link to it.

Cross-tier behavior

Wikilinks to pages above your role tier render as broken rather than working anchors. This is structural: the lower-tier build has no record of the higher-tier page existing, so even guessing the URL would 404. Try this page at each tier to compare:

Created · Updated