No description
Find a file
Benjamin Filip Šikač 9f779588e4
Merge pull request #8 from al0cam/bug-fix-links
fix: links not opening web pages
2025-11-29 11:30:42 +01:00
docs docs: add docs for tags and linked moving rules in projectRules 2025-11-10 09:37:49 +01:00
IO initial creation of RuleIO 2025-08-11 11:16:18 +02:00
Models feat: part of project rules, models and basic rendering 2025-10-27 06:59:03 +01:00
Settings feat: readme update, optimisations and default project behaviour 2025-11-08 12:57:19 +01:00
Utils chore: comment on console.log 2025-11-10 09:46:44 +01:00
.editorconfig Initial commit 2024-09-17 10:23:12 +02:00
.eslintignore Initial commit 2024-09-17 10:23:12 +02:00
.eslintrc Initial commit 2024-09-17 10:23:12 +02:00
.gitignore Added new gitignore 2025-04-10 20:14:30 +02:00
.npmrc Initial commit 2024-09-17 10:23:12 +02:00
biome.json feat: added tag moving 2025-09-27 19:01:00 +02:00
bun.lockb added settings tab 2024-10-01 10:31:49 +02:00
esbuild.config.mjs Initial commit 2024-09-17 10:23:12 +02:00
LICENSE Create LICENSE 2025-03-08 09:23:14 +01:00
main.ts chore: comment on console.log 2025-11-10 09:46:44 +01:00
manifest.json feat: project rules implemented, readme remaining 2025-11-07 17:59:47 +01:00
package-lock.json added settings tab 2024-10-01 10:31:49 +02:00
package.json feat: project rules implemented, readme remaining 2025-11-07 17:59:47 +01:00
README.md fix: links not opening web pages 2025-11-29 11:29:31 +01:00
styles.css feat: work on moving logic 2025-11-02 18:39:34 +01:00
tsconfig.json Initial commit 2024-09-17 10:23:12 +02:00
version-bump.mjs Initial commit 2024-09-17 10:23:12 +02:00
versions.json feat: project rules implemented, readme remaining 2025-11-07 17:59:47 +01:00

AutoMover Plugin

This plugin is used for designating folders in which your files will be moved automatically. It seeks to be an alternative to the https://github.com/farux/obsidian-auto-note-mover plugin from farux. The problem I had with that plugin was the lack of support for regex and regex groups in the destination paths.

Therefore, this plugin supports regex and regex groups to create the destination paths unless they already exist.

Features

  • Automatic file moving based on filename patterns, tags, or project metadata
  • Regex support with capture groups for dynamic folder creation
  • Project-based organization using frontmatter metadata
  • Tag-based rules for organizing files by tags
  • Exclusion rules to protect specific files/folders from being moved
  • Multiple triggers: on file open, manual execution, or time-based automation
  • Collapsible UI for better organization of complex rule sets
  • Import/Export settings for easy backup and sharing

Documentation

  • UI Guide - Complete overview of the plugin interface and settings
  • Moving Rules - Filename-based rules with regex examples
  • Tag Rules - Filename-based rules with regex examples
  • Project Rules - Organize files by project using frontmatter
  • Exclusion Rules - Protect specific files and folders

Quick Start

  1. Install the plugin from the Obsidian Community Plugins
  2. Open Settings → AutoMover
  3. Create your first rule:
    • Search criteria: Enter a filename pattern or regex (e.g., "Meeting")
    • Destination folder: Enter the target folder path (e.g., "Work/Meetings")
  4. Toggle "Move on open" to enable automatic moving
  5. Use the "Move files" button to apply rules to existing files

Rule Priority

The plugin checks rules in this order:

  1. Exclusion rules - Files matching these are never moved
  2. Project rules - Files with Project frontmatter match first
  3. Moving rules - Filename-based pattern matching
  4. Tag rules - Tag-based matching (if no filename rule matched)

Installation

  1. Open Settings → Community Plugins
  2. Browse and search for "AutoMover"
  3. Click Install, then Enable

Manual Installation

  1. Download the latest release from GitHub
  2. Extract files to .obsidian/plugins/AutoMover/
  3. Reload Obsidian
  4. Enable the plugin in Settings → Community Plugins

Requesting Features and Reporting Issues

If you want to request a feature or report an issue, please do so by creating an issue in the issues tab of this repository. In case you for some reason want to contact me directly, you can do so by sending me an email which is displayed in my github profile or via LinkedIn which is also displayed in my github profile.

Contribution

If you want to contribute to this plugin, you can do so by forking this repository and creating a pull request with your changes and an elaboration what they are and why. Thank you!

Future Plans

  • Add excluded folder support

  • Add excluded file support

  • Add regex support for excluded folders and files (must support language accents like ñ, á, š, đ, こ, 猫, etc.)

  • Add time based execution of rule sorting

  • Exposing the move files button to the left toolbar

  • Exposing the move files to the commands accessible via command palette

  • Add import and export of rules

  • Add #tag rule support

  • Add a file like .gitignore which contains all the moving rules (i am assuming the list can grow quite big for some people)

  • Auto tagging of moved files with the destination folder name (last folder in the path)

  • Add undo button to the notification popup for the moved files

  • Add collapse/expand all rules button

  • Add Project moving rules

    • Project name and destination path
    • Subfield that contain the moving rules for the project
  • Add project rules UI

  • Project rules business logic