* feat(plugin-md-power): compat obsidian official markdown syntax * chore: tweak * chore: tweak * chore: tweak * chore: tweak
7.1 KiB
title, icon, createTime, permalink
| title | icon | createTime | permalink |
|---|---|---|---|
| Obsidian Compatibility | simple-icons:obsidian | 2026/04/17 21:56:55 | /en/guide/markdown/obsidian/ |
Overview
The theme provides compatibility support for Obsidian's official Markdown extension syntax through the vuepress-plugin-md-power plugin,
enabling Obsidian users to write documentation using familiar syntax.
Currently supported Obsidian extension syntax includes:
- Wiki Links - Syntax for inter-page linking
- Embeds - Embed content from other files into the current page
- Comments - Add comments visible only during editing
::: warning No plans to support extension syntax provided by Obsidian's third-party community plugins :::
Wiki Links
Wiki Links are syntax for linking to other notes in Obsidian.
Syntax
[[filename]]
[[filename#heading]]
[[filename#heading#subheading]]
[[filename|alias]]
[[filename#heading|alias]]
Filename Search Rules
When using Wiki Links, filenames are matched according to the following rules:
Match Priority:
- Page Title - Priority matching against page titles
- Full Path - Exact match against file paths
- Fuzzy Match - Match filenames at the end of paths
Path Resolution Rules:
- Relative paths (starting with
.): Resolved relative to the current file's directory - Absolute paths (not starting with
.): Searched throughout the document tree, with shortest path taking precedence - Directory form (ending with
/): MatchesREADME.mdorindex.htmlwithin that directory
Example:
Assuming the following document structure:
docs/
├── README.md (title: "Home")
├── guide/
│ ├── README.md (title: "Guide")
│ └── markdown/
│ └── obsidian.md
In docs/guide/markdown/obsidian.md:
| Syntax | Match Result |
|---|---|
[[Home]] |
Matches docs/README.md (via title) |
[[Guide]] |
Matches docs/guide/README.md (via title) |
[[./]] |
Matches docs/guide/markdown/README.md (relative path) |
[[../]] |
Matches docs/guide/README.md (parent directory) |
[[guide/]] |
Matches docs/guide/README.md (directory form) |
Examples
External Links:
Input:
[[https://example.com|External Link]]
Output:
Internal Anchor Links:
Input:
[[QR Code]] <!-- Search by title -->
[[npm-to]] <!-- Search by filename -->
[[guide/markdown/math]] <!-- Search by file path -->
[[#Wiki Links]] <!-- Heading on current page -->
[[file-tree#configuration]] <!-- Search by filename, link to heading -->
Output:
Obsidian Official - Wiki Links{.readmore}
Embeds
The embed syntax allows you to insert other file resources into the current page.
Syntax
![[filename]]
![[filename#heading]]
![[filename#heading#subheading]]
Filename search rules are the same as Wiki Links.
::: info Resources starting with / or having no path prefix like ./ are loaded from the public directory
:::
Image Embeds
Syntax:
![[image.png]]
![[image.png|300]]
![[image.png|300x200]]
Supported formats: jpg, jpeg, png, gif, avif, webp, svg, bmp, ico, tiff, apng, jfif, pjpeg, pjp, xbm
Input:
![[images/custom-hero.jpg]]
Output:
PDF Embeds
Note
PDF embeds require the
markdown.pdfplugin to be enabled for proper functionality.
Syntax:
![[document.pdf]]
![[document.pdf#page=1]] <!-- #page=1 means first page -->
![[document.pdf#page=1#height=300]] <!-- #height=300 means height of 300px -->
Audio Embeds
Note
Audio embeds require the file path to be correct and the file to exist in the document directory.
Input:
![[audio.mp3]]
Output:
Supported formats: mp3, flac, wav, ogg, opus, webm, acc
Video Embeds
Note
Video embeds require the
markdown.artPlayerplugin to be enabled for proper functionality.
Input:
![[video.mp4]]
Output:
!https://artplayer.org/assets/sample/video.mp4
Supported formats: mp4, webm, mov, etc.
Content Fragment Embeds
Content fragments under a specified heading can be embedded using #heading:
Input:
![[my-note]]
![[my-note#heading-one]]
![[my-note#heading-one#subheading]]
Obsidian Official - Embeds{.readmore} Obsidian Official - File Formats{.readmore}
Comments
Content wrapped in %% is treated as a comment and will not be rendered on the page.
Syntax
Inline Comments:
This is an %%inline comment%% example.
Block Comments:
%%
This is a block comment.
It can span multiple lines.
%%
Examples
Inline Comments:
Input:
This is an %%inline comment%% example.
Output:
This is an %%inline comment%% example.
Block Comments:
Input:
Content before the comment
%%
This is a block comment.
It can span multiple lines.
%%
Content after the comment
Output:
Content before the comment
%% This is a block comment.
It can span multiple lines. %%
Content after the comment
Related Documentation: Obsidian Official - Comments
Configuration
You can enable or disable these plugins in the theme configuration:
export default defineUserConfig({
theme: plumeTheme({
plugins: {
mdPower: {
// Obsidian compatibility plugin configuration
obsidian: {
wikiLink: true, // Wiki Links
embedLink: true, // Embeds
comment: true, // Comments
},
pdf: true, // PDF embed functionality
artPlayer: true, // Video embed functionality
}
}
})
})
Configuration Options
:::: field-group
::: field name="wikiLink" type="boolean" default="true" optional Enable Wiki Links syntax :::
::: field name="embedLink" type="boolean" default="true" optional Enable embed content syntax :::
::: field name="comment" type="boolean" default="true" optional Enable comment syntax :::
::::
Notes
- These plugins provide compatibility support and do not fully implement all of Obsidian's functionality
- Some Obsidian-specific features (such as the graph view for internal links, bidirectional links, etc.) are outside the scope of this support
- When embedding content, the embedded page also participates in the theme's build process
- PDF embeds require the
pdfplugin to be enabled simultaneously - Video embeds require the
artPlayerplugin to be enabled simultaneously
