No description
Find a file
Gary Ritchie 8c6e0eaa2d
Update devDependencies and adapt to eslint-plugin-obsidianmd 0.4.1 (#56)
* Update devDependencies and adapt to eslint-plugin-obsidianmd 0.4.1

* Bump minAppVersion to 1.13.0 and drop deprecated API usage

* Remove dead ESLint config obsoleted by obsidianmd 0.4.1
2026-07-19 17:32:55 -06:00
.claude/skills Fix timer leak on redraw in page-navigation settings example (#55) 2026-05-29 20:09:31 -06:00
.github Attest release artifacts with build provenance (#52) 2026-05-12 18:15:55 -06:00
docs Show ribbon icon inline in README (#45) 2026-04-12 09:17:11 -06:00
reference Remove unneeded permissions prerequisite, fix version bump 2026-03-28 15:21:21 -06:00
src Update devDependencies and adapt to eslint-plugin-obsidianmd 0.4.1 (#56) 2026-07-19 17:32:55 -06:00
.editorconfig Initial commit 2026-03-24 19:27:30 -06:00
.gitignore Add .claude/settings.local.json to .gitignore 2026-03-24 21:45:15 -06:00
.npmrc Initial commit 2026-03-24 19:27:30 -06:00
AGENTS.md Trim AGENTS.md to project-specific guidance 2026-03-27 18:02:49 -06:00
CLAUDE.md Rename baseprop references to bulk-properties 2026-03-26 21:57:53 -06:00
esbuild.config.mjs Update ES target from ES6/ES2018 to ES2022 2026-03-27 09:03:18 -06:00
eslint.config.mts Update devDependencies and adapt to eslint-plugin-obsidianmd 0.4.1 (#56) 2026-07-19 17:32:55 -06:00
LICENSE Fix copyright year to 2026 2026-03-27 13:59:02 -06:00
manifest.json Update devDependencies and adapt to eslint-plugin-obsidianmd 0.4.1 (#56) 2026-07-19 17:32:55 -06:00
package-lock.json Update devDependencies and adapt to eslint-plugin-obsidianmd 0.4.1 (#56) 2026-07-19 17:32:55 -06:00
package.json Update devDependencies and adapt to eslint-plugin-obsidianmd 0.4.1 (#56) 2026-07-19 17:32:55 -06:00
README.md Revise manual installation section in README 2026-05-12 19:35:50 -06:00
styles.css Move delete button to the select/deselect row (#50) 2026-04-22 20:17:33 -06:00
tsconfig.json Update npm dependencies to latest; adapt to TS 6 and Obsidian 1.13 typings (#53) 2026-05-29 19:25:35 -06:00
version-bump.mjs Remove unneeded permissions prerequisite, fix version bump 2026-03-28 15:21:21 -06:00
versions.json 1.0.10 2026-05-29 19:30:32 -06:00

Bulk Properties

An Obsidian plugin that lets you bulk edit properties on, or delete, multiple notes in your vault.

This plugin uses a checkbox property (default: selected) to track which notes are selected. Check the box on the notes you want to work with, run the command, then update a property across all of them at once or delete them. Works well with Obsidian Bases, where the selection property can be displayed as a checkbox column.

Note: The plugin operates on all notes in the vault that have the selection property checked, not just notes visible in a particular Base. Make sure to uncheck the selection property on notes you don't want to modify.

Scale: This plugin is intended for use on relatively small sets of notes at a time. When an operation modifies many notes, Obsidian's metadata cache may take several minutes to re-index the changed frontmatter, during which Bases and other property-driven views can show stale information. The plugin displays a warning when this happens; you can suppress it via Settings → Bulk Properties → Warn after large operations.

Setup

Before using the command, configure the plugin in Settings → Bulk Properties:

  • Selection property — the name of the checkbox property used to mark notes as selected (default: selected). Autocompletes from existing vault properties.
  • Properties — add the properties you want to be available for bulk editing, specifying the name and type for each. Property names autocomplete from the vault. Supported types: Aliases, Checkbox, Date, Date & time, List, Number, Tags, Text.
  • Deselect when finished — the default value for the deselect toggle in the bulk edit dialog (default: on).
  • Show selection count in status bar — displays the number of selected notes in the status bar (default: on). The count updates automatically as you check or uncheck the selection property. Status bar items are not available on mobile.

Usage

  1. Add the selection property to your notes or Base view.
  2. Check the box on each note you want to bulk edit.
  3. Open the bulk edit dialog from the ribbon icon (list-checks icon), the Bulk edit selected notes command, or the editor right-click menu.
  4. Review the note checklist — uncheck any notes you don't want to modify, or re-check notes you do.
  5. Choose a property from the dropdown, enter the new value, and select Update properties. For multi-value properties (Aliases, List, Tags), choose an action: Merge adds new values to existing ones, Replace overwrites the current values, and Delete removes matching values.
  6. To delete the checked notes instead, select Delete selected notes. After a confirmation prompt, the notes are deleted following your Settings → Files and links → Deleted files preference — they may be moved to the system trash, moved to an Obsidian .trash folder, or permanently deleted, depending on how that preference is configured.
  7. Optionally disable Deselect when finished to keep the notes selected after the update.

Commands

  • Bulk edit selected notes — opens the bulk edit dialog showing all notes with the selection property checked. Also available from the editor right-click menu.
  • Deselect all notes — unchecks the selection property on every note in the vault that has it checked.
  • Remove selection property from all notes — removes the selection property entirely from every note in the vault that has it.

Context menus

  • Editor menu — right-click inside an editor to open the bulk edit dialog.
  • File menu — right-click a note in the file explorer or a Base view to toggle its selection. The menu item reads Select for bulk edit or Deselect for bulk edit based on the note's current state.

Manual Installation

For normal use, install from the Obsidian Community Plugins catalog.

For a fully-manual installation, copy main.js, styles.css, and manifest.json to your vault at .obsidian/plugins/bulk-properties/.