PitchHut logo
GitSyncMarks
Seamless bidirectional bookmark syncing with GitHub.
Pitch

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.

Description

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.md file 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.

0 comments

No comments yet.

Sign in to be the first to comment.