capyBearista/ObsiWiki
View on GitHubImplement bidirectional syncing (GitHub Wiki → Obsidian)
Open
#2 opened on Jul 30, 2025
advancedenhancementhelp wanted
Repository metrics
- Stars
- (7 stars)
- PR merge metrics
- (PR metrics pending)
Description
Remember, the entire feature doesn't need to be implemented at once for you to contribute!! Creating prototypes or even just sharing ideas is enough :)
Currently, the sync only works in one direction: Obsidian → GitHub Wiki. We need to implement the reverse direction to create true bidirectional synchronization.
Current behavior:
- ✅ Obsidian changes → GitHub Wiki (working)
- ❌ GitHub Wiki changes → Obsidian (no implementation)
What needs to be implemented:
- Git hook for GitHub Wiki changes, if possible: Create a post-commit hook for the wiki repository
- Reverse transformation logic: Convert GitHub Wiki syntax back to Obsidian syntax
- Conflict resolution: Handle cases where both sides have been modified
- Sync detection: Detect when changes come from GitHub Wiki vs local Obsidian
- Merge strategy: Decide how to handle concurrent edits
Technical challenges to solve:
-
Syntax conversion:
- GitHub Wiki:
[[title|filename]]→ Obsidian:[[filename|title]] - GitHub Wiki:
[[image.ext]]→ Obsidian:![[image.ext]]- I expect this to be more complicated than the others.
- GitHub Wiki:
[custom display text](#some-header)→ Obsidian:[[#Some Header|custom display text]]
- GitHub Wiki:
-
Branch management:
- How to handle the reverse sync without creating conflicts
- When to trigger the reverse sync
-
Conflict detection:
- Detect if local Obsidian has uncommitted changes
- Prevent data loss during sync
How to contribute:
- Research existing bidirectional sync patterns in Git workflows
- Design the reverse transformation logic
- Implement a new git hook for the wiki repository
- Create conflict resolution strategies
- Test with real-world scenarios
- Update documentation with bidirectional workflow
Expected outcomes:
- True bidirectional sync between Obsidian and GitHub Wiki
- Robust conflict resolution
- Clear documentation of the bidirectional workflow
- Improved user experience with seamless sync in both directions