README file from
GithubHeader Filename
Automatically renames notes in Obsidian based on the first # Heading in the document.
Features
- Inserts a default heading (
# untitled) when creating a new empty note - Renames the file to match the first H1 heading on every edit
- Converts names to kebab-case (
My Note Title→My-Note-Title) - Translates diacritics to ASCII equivalents (
ć→c,ż→z, etc.) - Collapses duplicate separators (
ABC - CD→ABC-CD) - Configurable debounce delay to avoid excessive file renames
- Batch rename all files from command palette
Settings
| Setting | Default | Description |
|---|---|---|
| Enabled | true |
Toggle the plugin on/off |
| Default heading | untitled |
Heading text inserted into new notes |
| Debounce delay | 500 ms |
Time to wait after the last edit before renaming |
Install
- Clone this repo into your vault's
.obsidian/plugins/header-filename/directory - Run
npm install && npm run build - Enable the plugin in Obsidian → Settings → Community plugins
Releasing
- Bump version and create a release:
just create-version 1.0.0
This will:
- Update version in
manifest.jsonandpackage.json - Commit the changes
- Create a git tag
- Push to GitHub
- GitHub Actions will automatically build and create a release with the plugin files attached.