No description
Find a file
Xiaosong Zhang 2e5b58b83f Remove obsolete IPV-Detection specific scripts
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>
2025-10-29 20:02:42 -04:00
.gitignore Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
add-repo.sh Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
config.sh Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
list-repos.sh Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
QUICK_REFERENCE.md Update documentation paths to git location 2025-10-29 19:12:36 -04:00
README.md Update documentation paths to git location 2025-10-29 19:12:36 -04:00
repos.conf Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
shell-aliases.sh Add shell aliases for easy access 2025-10-29 19:13:01 -04:00
start-daemon.sh Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
status.sh Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
sync-all.sh Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
test-sync.sh Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00
watch-all.sh Initial commit: Obsidian sync scripts 2025-10-29 19:10:43 -04:00

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-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 once
  • watch-all.sh - Monitor and auto-sync
  • add-repo.sh - Interactive repo addition
  • list-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

  • .md files (Markdown)
  • .Rmd files (R Markdown)
  • .rmd files (lowercase)
  • PDFs, PNGs, CSVs (binary files)

Target: 30_PROJECTS/Active/{PROJECT}/Code-Documentation/

Current Setup

  • Repos configured: Run ./list-repos.sh to see
  • Total synced: Varies by repo
  • Filter: Markdown-only (95% size reduction)

Configuration-driven, scalable, and easy to maintain!