Replace variables across your Obsidian vault using HTML comment markers. Configure key-value pairs in settings, and Expander will automatically substitute them throughout your notes, and keep those updated too.
- Variable Replacement: Define key-value pairs that get expanded throughout your vault
- Dynamic Values: Use function expressions like
now().format("YYYY-MM-DD")for dynamic content - Update Modes: Control when expansions update
- Auto: Updates automatically on file changes
- Manual: Updates only via command or button
- Once: Updates once, then never again
- Once-and-Eject: Updates once, removes markers
- Folder Filtering: Choose which folders to scan or ignore
- Visual Feedback: Mode badges and refresh buttons in the editor
- Commands: Replace values in current note or entire vault, add new expansion, ...
- Install the plugin from Obsidian Community Plugins (NOT supported yet; install manually or use BRAT)
- Open Settings → Expander
- Add a replacement (e.g., key:
today, value:now().format("YYYY-MM-DD")) - In your note, add:
<!-- expand: today --> - The value and closing tag will be automatically inserted
Just add an opening tag - the closing tag is added automatically:
<!-- expand: key -->After expansion:
<!-- expand: key -->value<!---->Update mode variants:
<!-- expand: key -->- Auto mode (updates on file change)<!-- expand-manual: key -->- Manual mode (update via command only)<!-- expand-once: key -->- Once mode (fills once, never updates)<!-- expand-once-and-eject: key -->- Once-and-eject mode (fills once, removes markers)
Dynamic values using function expressions:
| Function | Description | Example |
|---|---|---|
now() |
Current date/time | now().format("YYYY-MM-DD") |
today() |
Today at midnight | today().format("MM/DD/YYYY") |
format(pattern) |
Format date | now().format("HH:mm") |
lower() |
Lowercase | now().format("MMMM").lower() |
upper() |
Uppercase | now().format("MMMM").upper() |
trim() |
Trim whitespace | |
replace(old, new) |
Replace text | replace("-", "/") |
Full documentation available at docs/.
See DEVELOPMENT.md for build instructions, testing setup, and contribution guidelines.
If you find this plugin useful, consider supporting my work:
MIT License - see LICENSE for details.
To stay up to date about this plugin, Obsidian in general, Personal Knowledge Management and note-taking:
- Subscribe to my newsletter
- Follow me on X/Twitter
Created by Sébastien Dubois (@dSebastien)