Automatically manage YAML frontmatter fields for all your notes.
An event-driven, configurable alternative to Templater formulas.
- 5 field types:
text,select,boolean,number,multi - Event-driven: reacts to
open,modify,rename,bulk– configurable per field - Template engine:
{{title}},{{filePath}},{{date:…}},{{lookup:path,field}},{{frontmatter:key}}, pipes (| upper,| lower,| replace:a,b, …) - Nested YAML Groups: dot-notation yamlKeys (
note.NoteID) → hierarchical frontmatter with group dropdown per field - Standardizer: normalize field values vault-wide with preview modal and per-issue selection
- Bulk YAML Key Rename: rename keys across all files with migration tracking and settings sync
- Cross-file lookup: read frontmatter values from any vault file
- Dataview integration: generate select/multi options via DataviewJS queries
- 3 option sources: manual list, external
.mdfile, or DataviewJS - Conditional fields: only set fields when a condition matches (frontmatter, path, filename, folder)
- YAML key migration: automatic when renaming keys in settings
- Orphaned key cleanup: remove obsolete YAML keys across the vault
- Protected keys: "Do Not Touch" list – never overwrite other plugins' keys
- NoteID: auto-generated UUID v4
- Processing modes:
newOnly(skip existing) orallFiles - Folder filters: include/exclude with recursive subfolder matching
- Force-apply: overwrite all existing metadata
- Consistency check: scan the vault for missing fields and value issues
- Full repair: force-apply → cleanup → consistency check (one command)
- Install from Obsidian Community Plugins (or manually copy
main.js,manifest.json,styles.cssto<vault>/.obsidian/plugins/md-butler/) - Enable the plugin in Obsidian settings
- Configure your fields in the plugin settings
- Run "Apply Metadata to all Notes" from the command palette (
Ctrl+P)
# Example: after configuration, every new note automatically gets:
note:
NoteID: a1b2c3d4-e5f6-7890-abcd-ef1234567890
FileName: My Note
dates:
DateCreated: 2026-07-08 ddd 14:30:00| Language | File |
|---|---|
| English | User Guide · ReadMe |
| German | Benutzerhandbuch · ReadMe |
| Technical | Architecture · Future Extensions |
- Obsidian v1.8.0+
- Dataview plugin (optional, for
optionsDataviewand DataviewJS features)
git clone <repo>
cd md-butler
npm install
npm run build # outputs main.js + manifest.json + styles.cssMIT