Buku bookmark manager
if you want your bookmarks offline and browser independent
Date: 2019-11-20
I used to work with a lots of browsers, testing websites in them, how they look and behave. I had a main browser, which was usually Firefox, but over the past few years, I tried many browsers and I sometimes switch between them quickly. One of my big problem was that my bookmarks had to be exported and imported many times, and it sometimes very much slowed down the browser I used.
So I started to look for a browser independent solution. I used to love online bookmarking systems, like delicious, but in this age, you can't even trust your own computer, not just somebody elses. I wanted something local.
Buku
Soon I found buku, a terminal based software, that stores your bookmarks in a local database. The main interface is your terminal window, where you can add, edit, delete and search for your bookmarks. However there are many extensions, and applications that can extend buku, beyond the terminal.
How to install buku?
Most Linux distro has it, under the package name buku, except openSUSE, where it is called python3-buku.
If you are using Ubuntu, or some other Debian based distro, we can use the terminal with this command:
$ sudo apt install buku
We can find our database in our Home directory: ~/.local/share/buku.
Setup an external editor
First we set up an editor for the terminal, to which we add bookmarks. For that open the
~/.bash_profile
file. I assume you use bash.
In that file you have to insert one line:
export EDITOR="favorite text editor"
In the place of "favorite text editor" you have write the editor you would like to handle your bookmarks.
Adding, editing, deleteing and searching for bookmarks
Import HTML bookmark to buku:
I choose HTML, because that's a common export format for bookmarks. Go to terminal, and use this command:
$ buku -i exported_bookmarks.html
You can use the same command for importing from other formats, like orgfile, markdown, etc.
Add and edit bookmarks:
$ buku -w
This starts the default editor, and edit the properties of the site: title, url, tags, description. All of these information are searchable, so I usually fill everything. Note, that buku will get the site title, if you leave it blank.
After exiting the text editor, you will get a nice output of the new bookmark. If you want to edit a bookmark you already have, you need the ID number, which you add after the above command, like this:
$ buku -w 1134
Which means you will edit no. 1134 bookmark in the database.
Searching bookmarks:
$ buku -S keyword1
Deleting bookmarks:
$ buku -d // this will delete all bookmarks in the database
$ buku -d 987 // this will delete no. 987 bookmark in the db.
For other options check out the buku page.
Browser extensions for buku
Personally I have never tried them, and I stick to the terminal interface for simplicity (what if the extension stops working in a specific browser?).
However if you want to use buku via a browser, the webextension is your friend. It is supported in Firefox, Chrome and Chromium.
I wanted to test it for the sake of this post, but I couldn't make it work. Probably some config issues.
Overall experience
I use buku for a while now, with more than 2500 bookmarks. I use it from the terminal only, and it works well, and useful for my computer and hobby. Fast and reliable, and I can switch between browsers without worrying about my bookmark collection. It's easy to manage, once you get the hang of it of the different options.