Skip to content

Bookmarks, stored in Xata, and accessible through FZF.

License

Notifications You must be signed in to change notification settings

snide/rollerball

Repository files navigation

Rollerball

Demo video on my personal site

Rollerball is a bookmark manager inspired by the excellent, feature rich buku. I didn't really use all the features in Buku, and wanted to use Xata as the data store. The rollerball Fish shell script wraps some Node scripts and allows you to search against the Xata database using an FZF CLI.

Rollerball handles data entry through your local $EDTIOR. For me that's Neovim

Dependencies

Rollerball is pretty specific and assumes you're running Fish on a Linux desktop of some sort.

  • Fish
  • Awk
  • Node
  • Xata

Roll your own

  1. Clone the repo, install Xata
  2. cd into the directory
  3. Run xata init --codegen=xata.ts picking TypeScript
  4. Run xata schema upload schema.json and then xata pull main
  5. Set up a way to invoke Rollerball. Here are two ways you could do it.
    • Make a fish alias: alias rollerball "~/path/to/rollerball.fish"
    • Set up a symlink: ln -s /path/to/rollerball.fish /usr/local/bin/rollerball

Now you should be able to run rollerball -e to create your first bookmark.

Commands

Searching

By default running rollerball will search through existing bookmarks through FZF. Passing a parameter to the default command will pre-search results using xata. For example rollerball design will search all fields for "design".

One search is loaded you can hit CTRL-e to edit the currently focused bookmark.

Adding and editing bookmarks

Running rollerball -e will launch your editor and allow you to add a new bookmark. Passing it the bookmark's id (it's incremental number) rollerball -e 2 will allow you to edit that specific bookmark.

Xata

The primary purpose of this tool is to get data into a Xata database. At this point you can access your links from anywhere and build more specific tools.

Key commands in your OS

You might find it usefull to make key commands to load up and then close rollerball quickly at a global level. In gnome I do this by setting a custom shortcut (found in settings / keyboard) using the command alacritty -e fish -c "rollerball". Different Desktops handle key commands differently, but typically you need to open the terminal, and call rollerball from it.

About

Bookmarks, stored in Xata, and accessible through FZF.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published