Skip to content

About

Archive Obsidian notes instead of deleting them, with optional metadata.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Integrated Archive

Integrated Archive moves files out of active work without treating them as disposable.

Archive below Delete in the file menu Archive or delete prompt

Features

  • Archive current file command and optional file-menu action.
  • Restore archived files to their original locations, or undo the latest available archive operation.
  • Archive or restore multiple selected files at once, or archive every file in a folder.
  • Choose whether Delete asks each time, archives automatically, or uses Obsidian’s normal delete flow.
  • The optional prompt offers Archive / Delete / Cancel. Delete follows your configured Obsidian trash setting and may be permanent.
  • Configurable archive folder with optional original folder structure.
  • Optionally delete folders that become empty after archiving.
  • Optional archive tag and archived, created, and last-edited frontmatter dates.
  • Optionally write the original path into archived notes so they can be restored even when archive history is lost or synced to another device.
  • Protect paths that should never be archived.
  • Collision-safe names such as note (1).md; existing files are never overwritten.
  • Files already inside the archive use Obsidian's normal delete flow.
  • Existing created and last-edited properties are preserved by default.

Use

Right-click a file and select Archive, or run Integrated Archive: Archive current file from the command palette. Right-click a folder and select Archive, or run Integrated Archive: Archive all files in current folder, to archive every eligible file inside it. Configure the folder, delete prompt, tag, property names, folder structure, empty-folder cleanup, and date format under Settings → Integrated Archive.

Right-click an archived file and select Restore from archive, or run Integrated Archive: Restore current file from archive. Restores return files to their recorded original paths, reverse metadata added or replaced by that archive operation while preserving subsequent edits (for new archive records), and use collision-safe names if those paths are occupied. Integrated Archive: Undo last file archive restores the newest archived file that is still available. Undo works one file at a time: archiving N files takes N undos.

Enable Store original path in notes under the Restore settings to write each note's original location into its frontmatter. Restores fall back to this value when archive history is unavailable, for example after syncing the vault to another device. Only Markdown notes store this property; images, PDFs, and other files rely on archive history.

Add vault-relative paths under Protected paths to keep files or folders out of the archive. Archive actions are hidden for protected files, and batch commands skip them. Restores into protected paths are blocked, and the archive folder itself cannot sit inside a protected path.

Archiving more than 10 files at once asks for confirmation. Archive all files in current folder is hidden at the vault root so it cannot archive the whole vault, and folder deletes always use Obsidian's normal delete flow (the archive-on-delete setting applies to files only).

Archive history keeps the newest 200 records; older restores are evicted first.

The plugin works locally inside your vault. It has no network access, accounts, telemetry, or external services.

Install

Integrated Archive requires Obsidian 1.13 or later.

Community plugins

Once Integrated Archive is listed in the Obsidian Community Plugins directory:

  1. Open Settings → Community plugins.
  2. Select Browse, search for Integrated Archive, and select Install.
  3. Select Enable.

Manual installation

  1. Download main.js and manifest.json from the latest GitHub release.
  2. Create <vault>/.obsidian/plugins/integrated-archive/.
  3. Copy both downloaded files into that folder.
  4. Reload Obsidian, then enable Integrated Archive under Settings → Community plugins.

Install for development

bun install
bun run build

Copy manifest.json and main.js into:

<vault>/.obsidian/plugins/integrated-archive/

Then enable Integrated Archive under Settings → Community plugins.

Run bun run dev while developing and bun run check before committing. Run bun run test:coverage for a coverage report.

bun run check verifies release versions, type-checks and bundles the plugin, runs the official Obsidian ESLint rules, and executes the test suite.

Release

Bump package.json, manifest.json, and versions.json together, then push a tag with that exact version and no v prefix:

bun run bump 0.2.0
bun run check
git add package.json manifest.json versions.json
git commit -m "Release 0.2.0"
git tag 0.2.0
git push origin main 0.2.0

GitHub Actions verifies the version, builds the plugin, and creates a release containing the files Obsidian needs.

License

MIT

About

Archive Obsidian notes instead of deleting them, with optional metadata.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages