79 lines
1.8 KiB
Markdown
79 lines
1.8 KiB
Markdown
# Obsidian Front Matter Syntax
|
||
|
||
**Obsidian’s front matter follows YAML syntax**, with a few **important caveats**.
|
||
### What works (standard YAML)
|
||
|
||
Obsidian uses **YAML front matter** at the top of a note, delimited by `---`. Most standard YAML features work as expected, see this short example:
|
||
|
||
```YAML
|
||
---
|
||
|
||
title: My Note
|
||
|
||
tags:
|
||
|
||
- obsidian
|
||
|
||
- yaml
|
||
|
||
published: true
|
||
|
||
rating: 4.5
|
||
|
||
created: 2026-04-21
|
||
|
||
---
|
||
```
|
||
|
||
|
||
Obsidian calls these metadata variables 'Properties'. These include:
|
||
|
||
- Key–value pairs
|
||
- Lists (arrays)
|
||
- Booleans, numbers, strings, dates
|
||
- Nested objects
|
||
|
||
|
||
### Obsidian-specific limitations & quirks
|
||
|
||
Although it’s YAML, Obsidian does **not support the full YAML spec equally everywhere**:
|
||
|
||
1. **Tabs are not allowed**
|
||
YAML requires spaces for indentation. Tabs can break parsing.
|
||
|
||
2. **Advanced YAML features may not be recognized** These may technically be valid YAML but are not reliably usable in Obsidian:
|
||
|
||
- Anchors (`&` / `*`)
|
||
- Complex inline objects
|
||
- Multi-document YAML
|
||
|
||
3. **Everything is treated as metadata, not logic** Obsidian doesn’t “execute” YAML — it just reads values for:
|
||
|
||
- Properties panel
|
||
- Search
|
||
- Filters
|
||
- Plugins (e.g., Dataview)
|
||
|
||
4. **Some plugins impose their own expectations** For example:
|
||
|
||
- `tags` should usually be a list of strings
|
||
- Dates may need to be ISO-like (`YYYY-MM-DD`) for queries to work
|
||
|
||
5. **Inline formatting is treated as plain text** Links or markdown inside front matter are just strings:
|
||
|
||
`author: "[[Richard Kranendonk]]"`
|
||
``
|
||
|
||
### ✅ Best practice
|
||
|
||
Think of Obsidian front matter as:
|
||
|
||
> **“Well-behaved, simple YAML meant for metadata, not configuration logic.”**
|
||
|
||
Stick to:
|
||
|
||
- Scalars (strings, numbers, booleans)
|
||
- Lists
|
||
- Simple nesting
|
||
- Spaces (not tabs)
|
||
|