No description
The generic config-driven system (sync-all.sh, watch-all.sh) handles all repos, making these repo-specific scripts redundant. Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> |
||
|---|---|---|
| .gitignore | ||
| add-repo.sh | ||
| config.sh | ||
| list-repos.sh | ||
| QUICK_REFERENCE.md | ||
| README.md | ||
| repos.conf | ||
| shell-aliases.sh | ||
| start-daemon.sh | ||
| status.sh | ||
| sync-all.sh | ||
| test-sync.sh | ||
| watch-all.sh | ||
Obsidian Sync - Multi-Repository Documentation Sync
Automatically sync markdown documentation from git repositories to Obsidian vault.
✨ Features
- Config-driven: Add repos by editing one config file
- Markdown-only: Filters for .md, .Rmd, .rmd files
- Multi-repo: Sync unlimited repositories with one command
- Real-time: Auto-syncs on file changes
- Scalable: No new scripts needed for new repos
🚀 Quick Start
Sync All Repos (Once)
./sync-all.sh
Watch and Auto-Sync (Recommended)
./watch-all.sh
Add New Repository
./add-repo.sh
List Configured Repos
./list-repos.sh
📝 Configuration
File: repos.conf
Format: PROJECT_NAME|SOURCE_PATH|TARGET_FOLDER
Example:
IPV-Detection|/Volumes/DATA/git/IPV_detection_in_NVDRS/docs|IPV-Detection
Fibroid|/Volumes/DATA/git/fibroid/documentation|Fibroid
📂 Files
repos.conf- Configuration (edit this to add repos!)sync-all.sh- Sync all repos oncewatch-all.sh- Monitor and auto-syncadd-repo.sh- Interactive repo additionlist-repos.sh- List configured repos
📚 Documentation
Full documentation:
/Volumes/DATA/git/ObsidianVaults/Ob_xiaosong/30_PROJECTS/Active/Git-Sync-System/
Scripts Location: /Volumes/DATA/git/obsidian-sync-scripts/ (Git versioned)
🔧 Requirements
- GNU rsync (installed via Homebrew)
- fswatch (installed via Homebrew)
- Obsidian vault with PARA structure
💡 Examples
Add a new repo
echo "MyProject|/path/to/myproject/docs|MyProject" >> repos.conf
./sync-all.sh
Watch mode (daily use)
./watch-all.sh
# Runs until Ctrl+C
# Auto-syncs when any file changes in any repo
🎯 What Gets Synced
- ✅
.mdfiles (Markdown) - ✅
.Rmdfiles (R Markdown) - ✅
.rmdfiles (lowercase) - ❌ PDFs, PNGs, CSVs (binary files)
Target: 30_PROJECTS/Active/{PROJECT}/Code-Documentation/
⚡ Current Setup
- Repos configured: Run
./list-repos.shto see - Total synced: Varies by repo
- Filter: Markdown-only (95% size reduction)
Configuration-driven, scalable, and easy to maintain!