Archive Manager
pendingby Theo Gregory
Archive and unarchive files/folders with automatic metadata tracking.
Archive Manager
An Obsidian plugin to archive and unarchive files and folders with automatic metadata tracking.
Features
- One-command archiving: Move files or folders to your archive with a single command
- Automatic metadata: Tracks original location and archive date, so you can always restore items to where they came from
- Smart unarchiving: Restore items to their original location with conflict handling
- Browse archive: Fuzzy search through archived items to quickly find and restore what you need
- Undo support: Accidentally archived something? Undo within a configurable time window
- Context menu integration: Right-click any file or folder to archive/unarchive
Usage
Archive an Item
- Open a file or select a folder in the file explorer
- Use one of these methods:
- Command palette:
Archive item - Right-click: Select "Archive" from the context menu
- Hotkey: Assign your own in Settings → Hotkeys
- Command palette:
The item will be moved to your archive folder with metadata recording its original location.
Unarchive an Item
- Navigate to an archived item, or use the "Browse archive" command
- Use one of these methods:
- Command palette:
Unarchive item - Right-click: Select "Unarchive" from the context menu
- Browse archive: Search and select an item to restore
- Command palette:
The item will be moved back to its original location. If the original location no longer exists, you'll be prompted to recreate it.
Browse Archive
Use the command Browse archive to open a fuzzy search modal showing all archived items. Select any item to unarchive it instantly.
How Metadata Works
For Markdown Files
Archive metadata is stored in the file's frontmatter:
---
archived: 2025-01-05T14:30:00.000Z
archived_from: 02 Projects/My Project/notes.md
---
For Folders
An index file (default: _archive.md) is created at the folder root:
---
archived: 2025-01-05T14:30:00.000Z
archived_from: 02 Projects/My Project
is_archive_index: true
---
# My Project
This folder was archived on 2025-01-05.
## Contents at archive time
- file1.md
- file2.md
- subfolder/
For Non-Markdown Files
A sidecar file is created alongside the archived file (e.g., image.png._archive.md).
Settings
| Setting | Description | Default |
|---|---|---|
| Archive folder | Where archived items are stored | 05 Archive |
| Confirm before archive | Show confirmation dialog | Off |
| Confirm before unarchive | Show confirmation dialog | On |
| Undo timeout | Seconds to allow undo after archiving | 5 |
| Show in context menu | Add Archive/Unarchive to right-click menu | On |
| Index file name | Name of metadata file for folders | _archive.md |
| Record contents in index | List folder contents when archiving | On |
Changing the Index File Name
Click the button in settings to change the index file name. The plugin will:
- Check for any naming conflicts
- Rename all existing index files to the new name
- Use the new name for future archives
Edge Cases
Conflict at Destination
If a file already exists at the archive or restore location, you can:
- Replace existing: Move the existing item to trash
- Keep both: Append a number to the name (e.g., "My Project 2")
- Cancel: Abort the operation
Original Path Missing
If the original folder structure was deleted, you can:
- Create path and restore: Recreate the folder structure
- Cancel: Keep the item in the archive
Installation
From Obsidian Community Plugins
- Open Settings → Community plugins
- Click "Browse" and search for "Archive Manager"
- Click "Install", then "Enable"
Manual Installation
- Download
main.jsandmanifest.jsonfrom the latest release - Create a folder
archive-managerin your vault's.obsidian/plugins/directory - Copy the downloaded files into this folder
- Enable the plugin in Settings → Community plugins
Support
License
MIT
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.