GitSyncMarks is a browser extension designed to effortlessly sync bookmarks with GitHub. By utilizing per-file storage and a direct connection to the GitHub API, it enables users to manage their bookmarks as readable JSON files. Supporting both Chrome and Firefox, this tool facilitates automation and multi-profile management for a streamlined experience across devices.
GitSyncMarks is a versatile browser extension designed for seamless bidirectional synchronization of bookmarks with a GitHub repository. This extension is compatible with multiple browsers, including Chrome and Firefox, and eliminates the need for a dedicated server by leveraging the GitHub API for direct synchronization.
Key Features:
- Efficient Storage: Each bookmark is stored as an individual JSON file within the user's Git repository, facilitating easy editing, version control, and browsing directly on GitHub.
- Three-Way Merge: Ensures conflict-free sync, allowing simultaneous changes on both local and remote sides without complications.
- Multiple Profiles: Supports up to 10 distinct profiles for managing different bookmark sets (e.g., work and personal), each with its own GitHub repository configuration.
- Automation Capabilities: Users can add bookmarks through Git commands, CLI, or GitHub Actions, streamlining their workflow significantly.
- Configurable Sync Options: Automatic synchronization on every bookmark change can be customized with various sync profiles for different intervals (Real-time, Frequent, Normal, Power Save, and a Custom option).
- User-Friendly Interface: Offers a popup for quick access to profile switching, manual sync options, and immediate feedback on sync status.
- Readable Overview: A
README.mdfile is generated in the repo, providing an organized listing of bookmarks for easy access. - Cross-Browser Compatibility: This extension works effectively across different browsers, including Chrome, Chromium, Brave, Edge, and Firefox.
- Periodic Sync Checks: Users can configure sync checks with specified intervals to ensure their bookmarks remain current with remote changes.
- Debugging & Logging: A debug log is available for troubleshooting, capturing synchronization diagnostics for analysis.
Usage Example:
After a successful sync, bookmarks are organized in your repository like this:
bookmarks/
_index.json # Metadata (format version, device info)
README.md # Auto-generated overview — browse all bookmarks on GitHub
toolbar/ # Bookmarks Bar
_order.json # Defines order of items and subfolders in this folder
bookmark_1.json # Individual bookmark stored as JSON
bookmark_2.json
Automation with GitHub Actions:
You can add bookmarks automatically using GitHub Actions by defining a workflow like this:
name: Add Bookmark
on:
push:
paths:
- bookmarks/**
jobs:
add_bookmark:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Add bookmark via CLI
run: |
gh workflow run add-bookmark.yml \
-f url="https://example.com" \
-f title="Example" \
-f folder="toolbar";
Installation:
To get started with GitSyncMarks, visit the official GitHub repository to download the latest version. An iOS and Android companion app, GitSyncMarks-Mobile, is also available for accessing bookmarks on mobile devices.
No comments yet.
Sign in to be the first to comment.