Obsidian Flavor
February 1, 2026 ยท View on GitHub
For content created in Obsidian, the popular knowledge management application. Extends standard flavor with Obsidian-specific syntax support.
Supported Patterns
Tags with Hash Syntax
MD018 recognizes Obsidian's tag syntax to avoid false positives:
This is a #tag not a malformed heading.
Multiple #tags #in-one-line are supported.
Nested #tags/with/hierarchy work too.
Callouts (Admonitions)
MD028 recognizes Obsidian callout syntax to prevent false positives when blank lines appear between callout blocks:
> [!NOTE]
> This is a note callout.
> [!WARNING]
> This is a warning.
> [!TIP]+ Foldable (expanded by default)
> Tip content here.
> [!INFO]- Collapsed by default
> Info content here.
Supported callout types include:
note,abstract,summary,tldrinfo,todo,tip,hint,importantsuccess,check,donequestion,help,faqwarning,caution,attentionfailure,fail,missingdanger,error,bugexample,quote,cite
Custom callout types are also supported.
Comments
Rules skip Obsidian comment syntax to avoid false positives inside comments:
This is visible %%this is hidden%% and visible again.
%%
Multi-line
comments are
also supported
%%
Rules affected: MD011, MD012, MD034, MD037, MD044, MD049, MD061, MD064, MD069
Highlights
MD037 and other emphasis-related rules recognize Obsidian highlight syntax:
This is ==highlighted text== in a sentence.
Dataview Inline Queries
MD038 recognizes Dataview plugin inline query syntax:
The file name is `= this.file.name`.
Dynamic content: `$= dv.current().field`.
Dataview Inline Fields
MD011 recognizes Dataview inline field syntax to prevent false positives:
(status:: active)[link text]
(author:: John Doe)[read more]
(date:: 2024-01-01)[view]
These patterns look like reversed links but are valid Dataview inline field syntax.
Extended Task Checkboxes
MD064 recognizes extended task checkbox syntax beyond the standard [ ], [x], and [X]:
- [/] In progress
- [-] Cancelled
- [>] Deferred
- [<] Scheduled
- [?] Question
- [!] Important
- [*] Star/highlight
These extended checkboxes are commonly used in Obsidian with plugins like Tasks or custom CSS.
Templater Syntax
MD033 correctly ignores Templater plugin syntax (not flagged as inline HTML):
<% tp.date.now() %>
<%* javascript code %>
<%+ expression %>
<% tp.file.title %>
Rule Behavior Changes
| Rule | Standard Behavior | Obsidian Behavior |
|---|---|---|
| MD018 | Flag #text without space | Allow #tag syntax |
| MD028 | Flag blanks between blockquotes | Recognize callout blocks |
| MD033 | Flag inline HTML | Ignore Templater <% %> syntax |
| MD037 | Check emphasis spacing | Recognize ==highlight== syntax |
| MD038 | Check code span spacing | Allow = and $= Dataview prefixes |
| MD011 | Check reversed links | Skip %%comments%% and (field:: value) patterns |
| MD012 | Check multiple blanks | Skip content in %%comments%% |
| MD034 | Check bare URLs | Skip content in %%comments%% |
| MD044 | Check proper names | Skip content in %%comments%% |
| MD049 | Check emphasis style | Skip content in %%comments%% |
| MD061 | Check link fragments | Skip content in %%comments%% |
| MD064 | Check multiple consecutive spaces | Skip %%comments%%, allow extended checkboxes [/], [-], etc. |
| MD069 | Check reference links | Skip content in %%comments%% |
Configuration
[global]
flavor = "obsidian"
When to Use
Use the Obsidian flavor when:
- Linting notes from your Obsidian vault
- Using Obsidian-specific syntax like callouts or comments
- Using the Dataview plugin for dynamic content
- Using the Templater plugin for templates
- Using Obsidian's tag syntax extensively
Plugin Compatibility
The Obsidian flavor is designed to work with common Obsidian plugins:
- Dataview: Inline queries with
=and$=prefixes - Templater: Template syntax with
<% %>delimiters - Core plugins: Callouts, tags, wiki-links, block references
See Also
- Flavors Overview - Compare all flavors
- Standard Flavor - Base flavor without Obsidian extensions
- Obsidian Help - Callouts
- Obsidian Help - Tags
- Dataview Documentation
- Templater Documentation