Skip to content

JayanAXHF/obsidian_syncer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Obsidian Syncer

Obsidian Syncer is a command-line tool for synchronizing Obsidian vaults, with a focus on syncing plugins and their configurations. It actively monitors your vaults for any changes and automatically propagates them to your other vaults, ensuring a consistent user experience across all your devices.

How it Works

The tool operates by monitoring the .obsidian/plugins directory and the community-plugins.json file within each of your specified vaults. When a change is detected in one vault, the tool intelligently syncs these changes to the other vaults. To optimize the synchronization process, it employs a delta-based algorithm, which means only the differences between files are transferred, not the entire files themselves. This approach significantly reduces data transfer and speeds up the syncing process.

Additionally, the tool is designed to be mindful of your system's resources. It includes a mechanism to prevent syncing conflicts by ensuring that a sync operation is not initiated while another is already in progress. You can also exclude specific vaults from being synced by creating a file named no_sync in the root of the vault's directory.

Usage

Just run the program, it handles the rest. It finds the vaults from the obsidian.json file in your central obsidian folder, which differs from OS to OS.

Building from Source

To build Obsidian Syncer from source, you will need to have the Rust programming language and its package manager, Cargo, installed on your system.

  1. Clone the repository:
git clone https://github.com/your-username/obsidian_syncer.git
cd obsidian_syncer
  1. Build the project:
cargo build --release
  1. Run the executable:
./target/release/obsidian_syncer

Contributing

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages