notable-git-sync-setup
notable-git-sync-setup copied to clipboard
Automatically synchronise your Notable folder to Git every few minutes 🔄
Notable Git Sync
Configures a User LaunchAgent for macOS and Service Manager for Linux that synchronises the ~/.notable folder to a Git repository.
You'll get a nice notification if you have a recent version of Node.js installed.
Requirements
macOS
- A Git repository on GitHub, GitLab, or some Git server.
- Git installed on macOS (Installation options).
- Git SSH keys configured (GitHub Docs for SSH) using default
id_rsanaming scheme. - [Optional] Node.js v12+ is required for macOS notification integration.
Linux
- A Git repository on GitHub, GitLab, or some Git server.
- Git installed (Installation options).
- Git SSH keys configured (GitHub Docs for SSH) using default
id_rsanaming scheme.
OS Support
Currently only macOS and Linux is supported. Pull Requests that add support for other platforms are welcome!
Setup
NOTE: This script assumes you are using the ~/.notable directory for storing notes. After running the script use the Change Data Directory option in Notable to set your data directory to ~/.notable.
Clone the repository, run the setup.sh, and follow the prompts:
macOS
git clone https://github.com/evanshortiss/notable-git-sync-setup notable-sync
cd notable-sync
./setup.sh
Linux
git clone https://github.com/evanshortiss/notable-git-sync-setup notable-sync
cd notable-sync
sudo chmod +x ./setup.sh
# -E preserve environment (for git commands)
sudo -E ./setup.sh
Default Configuration
The configuration for the service is defined in the plist.template.xml.
- Assumes a default
~/.ssh/id_rsaSSH configuration for Git. - Logs are written to
/tmp/notable-sync.stdoutand/tmp/notable-sync.stderrin macOS. sudo journalctl -u notable-syncto see logs in Linux.- By default, notes are synchronised to the Git repository every 10 minutes.
- Fails on Git merge conflicts. Are your notes are not syncing? This might be why.