Skip to content

A command-line tool to quickly store and retrieve bookmarks and text snippets (e.g. bash commands) using `yad`, `fzf`.

License

Notifications You must be signed in to change notification settings

clobrano/BookmarkIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BookmarkIt

BookmarkIt is a simple yet powerful command-line tool for managing both URLs and text snippets. Built in Go, it's designed to help you quickly save and retrieve frequently used bash commands, web links, or any other text you want to keep handy.

It integrates seamlessly with popular command-line tools like YAD for a simple graphical interface and FZF for fast, fuzzy searching. When you select an entry, BookmarkIt is smart enough to know what to do next: URLs are opened in your default browser, while text snippets (like bash commands) are automatically copied to your clipboard, ready to be pasted.


Features

  • Quickly Add Bookmarks: Use a simple graphical dialog (YAD) to add new entries with a key and a value. It even pre-fills the value field with content from your clipboard.
  • Fuzzy Find and Select: Use FZF to quickly search and select your saved bookmarks with fuzzy matching.
  • Intelligent Actions:
    • URLs are automatically opened in your default browser.
    • Text snippets (like bash commands) are copied to your system clipboard for immediate use.
  • Simple Storage: All bookmarks are saved in a human-readable YAML file, which you can easily edit or back up.

Prerequisites

BookmarkIt relies on a few external command-line tools to function. Make sure these are installed on your system:

  • YAD (Yet Another Dialog): Provides the graphical dialog for adding new bookmarks.
  • FZF (Fuzzy Finder): Powers the fuzzy search interface for finding bookmarks.
  • Clipboard Tools: For clipboard interaction. On Wayland, wl-clipboard is used, with xclip as a fallback.
  • URL Opener: xdg-open is used to open URLs in your default browser.

Installation

From Source

go install github.com/clobrano/BookmarkIt@latest

Usage

Add a new entry

Use the --action add flag to open the YAD dialog. If you have a URL or command in your clipboard, it will automatically populate the "link" field.

BookmarkIt --action add

Find and use an entry

Use the --action find flag to bring up the FZF search interface. Start typing to filter your bookmarks, then select an entry to either open the URL or copy the text to your clipboard.

BookmarkIt --action find

You can also provide a starting query for FZF:

BookmarkIt --action find --query "git"

Specify a custom bookmark file

By default, bookmarks are stored in ~/.config/BookmarkIt/bookmarks.yaml. If you want to use a different file, use the --file flag.

BookmarkIt --action add --file /path/to/my/custom/bookmarks.yaml
BookmarkIt --action find --file /path/to/my/custom/bookmarks.yaml

Configuration

Bookmarks are stored in a YAML file. The default location is ~/.config/BookmarkIt/bookmarks.yaml. This file is created automatically the first time you add a bookmark.

Here's an example of the file's structure:

bookmarks:
  - key: google
    link: https://www.google.com
  - key: clone_repo
    link: git clone https://github.com/myuser/myrepo.git

About

A command-line tool to quickly store and retrieve bookmarks and text snippets (e.g. bash commands) using `yad`, `fzf`.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages