MD Butler
unlistedby PPeter
Automatically manages YAML frontmatter fields for all notes. A reliable alternative to Templater formulas for consistent metadata.
Updated 24d agoMIT
MD Butler
Automatically manage YAML frontmatter fields for all your notes.
An event-driven, configurable alternative to Templater formulas.
Features
- 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)
Installation
- 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)
Quick Start
# 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
Documentation
| Language | File |
|---|---|
| English | User Guide · ReadMe |
| German | Benutzerhandbuch · ReadMe |
| Technical | Architecture · Future Extensions |
Requirements
- Obsidian v1.8.0+
- Dataview plugin (optional, for
optionsDataviewand DataviewJS features)
Build from source
git clone <repo>
cd md-butler
npm install
npm run build # outputs main.js + manifest.json + styles.css
License
MIT
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.