Repository navigation
Releases: jmedzen/ezindex
Release list
0.9.6
EzIndex 0.9.6
Clears the remaining advisory about a deprecated settings method.
Changed
- Re-rendering now goes through
update()where the host provides it. After a setting changes, the tab asks Obsidian to rebuild through the declarative API, which re-evaluates the conditional rows — the custom folder path field appears and disappears correctly — instead of tearing down and rebuilding the page by hand. On versions before 1.13.0, whereupdate()does not exist, it falls back to the previous behaviour, so the minimum app version stays at 1.4.0.
Fixed
- The output preview no longer paints into a detached element after a declarative rebuild. It now skips stale references, and a guard on
isConnected === falsekeeps it rendering in browsers that do not expose the property.
Unchanged
Same six groups, same eleven options, same order and wording. Generated indexes, filenames and note contents are untouched.
Review status
The community directory review for 0.9.5 reports Review: Passed and Health: Excellent, with no risks or warnings. Two advisory notes remain by choice: release artifact attestations would mean moving the build to CI, and vault enumeration is inherent to generating an index — the plugin has to know which files exist.
Installation
Download main.js, manifest.json and styles.css into <Vault>/.obsidian/plugins/ezindex/, then enable EzIndex in Settings → Community plugins.
0.9.5
EzIndex 0.9.5
Makes the settings discoverable from Obsidian's settings search.
Added
- Declarative settings definitions. The settings tab now describes its options through
getSettingDefinitions(), so on Obsidian 1.13.0 and later every option can be found with settings search.getControlValue()andsetControlValue()read and persist the same values the page always used.
The imperative display() page remains as the fallback for versions before 1.13.0, so the minimum app version stays at 1.4.0 — nothing is taken away from users on older builds.
Unchanged
Same six groups, same eleven options, same order and wording. Generated indexes, filenames and note contents are untouched.
Review status
The community directory review for 0.9.4 is down to a single warning, which this release addresses. One advisory note remains by choice: release artifact attestations would require moving the build to CI.
Installation
Download main.js, manifest.json and styles.css into <Vault>/.obsidian/plugins/ezindex/, then enable EzIndex in Settings → Community plugins.
0.9.4
EzIndex 0.9.4
Resolves the last code issue from the community directory review.
Fixed
- Typed settings load —
Plugin.loadData()is declared to returnany, so merging its result directly into the settings object gave up type checking on every later read ofthis.settings. The stored data is now read as aPartial<EzIndexSettings>and falls back to an empty object when nothing is saved. Defaults still fill in any field an older version did not write, so existingdata.jsonfiles load unchanged.
Review status
The two high-severity findings — an understated minAppVersion and direct style assignments — are gone, along with the prefixed command ID and untyped catch binding.
Two advisory notes are intentionally left in place:
getSettingDefinitions()requires app version 1.13.0. Adopting it would raise the minimum from 1.4.0 to 1.13.0, which blocks installation on older builds — a worse trade than a settings-search gap.- Release artifact attestations would mean moving the build to CI.
Installation
Download main.js, manifest.json and styles.css into <Vault>/.obsidian/plugins/ezindex/, then enable EzIndex in Settings → Community plugins.
0.9.3
EzIndex 0.9.3
Corrects the declared minimum app version. This release changes no plugin behaviour.
Fixed
minAppVersionraised to1.4.0. The plugin creates the index folder withVault.createFolder, which does not exist before app version 1.4.0. The previous value (0.16.2in 0.9.2,0.15.0before that) advertised support for versions that would fail at runtime when a custom index folder had to be created.
The full floor, auditing every API the plugin calls:
| API | Minimum |
|---|---|
Vault.createFolder |
1.4.0 |
MenuItem.setIcon |
0.16.2 |
Menu.addItem |
0.15.3 |
Workspace.on('file-menu') |
0.9.12 |
Also corrected in 0.9.2
The remaining findings from the 0.9.1 review were already resolved there: inline style assignments replaced with a CSS class, the redundant plugin prefix dropped from the command ID, the index-generation call awaited, and the untyped catch binding removed.
Installation
Download main.js, manifest.json and styles.css into <Vault>/.obsidian/plugins/ezindex/, then enable EzIndex in Settings → Community plugins.
0.9.2
EzIndex 0.9.2
Addresses the findings from the community directory's automated review.
Fixed
- Correct
minAppVersion— the folder context menu uses APIs introduced in0.15.3and0.16.2, but the manifest declared0.15.0. Users on the declared minimum would have hit a missing method. Raised to0.16.2, the highest version actually required. - No more inline style assignments — the exclude textarea now uses a CSS class instead of setting
styleproperties directly. - Description no longer contains the word "Obsidian", as the submission requirements specify.
- Command ID — dropped the redundant plugin prefix, so it is now
open-generator-modal; Obsidian adds the prefix itself. - Removed the last development logging call — a failed custom-folder creation now shows a notice and raises a named error.
- Awaited the index generation call in the command callback.
Unchanged
Settings, generated output and note contents are identical to 0.9.1. This release changes only how the plugin declares and wires itself.
Installation
Download main.js, manifest.json and styles.css into <Vault>/.obsidian/plugins/ezindex/, then enable EzIndex in Settings → Community plugins.
0.9.1
EzIndex 0.9.1
This release focuses on preparing the plugin for the Obsidian community directory.
Changes
- Manifest cleanup — removed the empty
authorUrlfield and reworded the description to open with an action statement. - Added
versions.json— lets Obsidian resolve a compatible release for users on earlier app versions. - Removed development logging — the
console.logcalls on load and unload are gone; genuine errors are still reported. - README — states clearly that the plugin makes no network requests and collects no telemetry.
Features
- 🌲 Recursive subfolder and file indexing with hierarchical Markdown headings.
- 🔍 Live output preview showing the exact path and whether the note will be created, overwritten or skipped.
- 🚫 Exclude list accepting file names, folder names or extensions, separated by commas, newlines,
;or、. - 🌐 English / 繁體中文 descriptions following the Obsidian interface language, or pinned manually.
- 🎯 Three ways to run: settings page, modal, or right-click a folder in the file explorer.
Installation
Download main.js, manifest.json and styles.css into <Vault>/.obsidian/plugins/ezindex/, then enable EzIndex in Settings → Community plugins.
0.9.0
What's new
Bilingual descriptions — English / 繁體中文
Every label, description, section heading, modal string and notice is now available in both English and Traditional Chinese, stored in a new src/i18n.ts module.
- Text follows the Obsidian interface language by default.
- A new Description language setting can pin it to English or 繁體中文 regardless of the interface language.
- Only UI wording is affected — note content, filenames, index headers and output paths are unchanged, so existing vaults generate identical indexes.
Reworked settings page layout
The settings tab is grouped into five sections that follow the actual workflow: Target & Output → Output Preview → Index Content → Filtering & Overwrite → Run. Previously all eight options were listed flat, with the execute button separated from the target folder selector it acts on.
Live output preview
The settings page reports the resulting location, filename, full path, and whether the note will be created, overwritten or skipped. Preview and generation share the same path resolution, so the displayed path is exactly what gets written.
Bug fixes
- Folder context menu never appeared — it listened for a non-existent
folder-menuevent; Obsidian firesfile-menu. - Exclude list only split on commas — the Chinese enumeration comma
、was swallowed. Commas, semicolons, newlines and、are now all accepted.
Installation
Download main.js, manifest.json and styles.css, place them in <Vault>/.obsidian/plugins/ezindex/, then enable EzIndex in Settings → Community plugins.
Compatibility
Settings saved by earlier versions load unchanged; the new language option defaults to following the interface.