parasurv@webspace ~ $

Blog: [Site updates] [Linux] [Free Software] [Culture] [Health] [Watches] Learning: [Emacs Journal] [Linux Wiki] Personal: [Contact] [About me]

Shorts: [Microblog] [Linkblog] Important: [Read] [Watch] [Listen] Other pages: [Old games stuff]

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.

Hosted on Neocities and created with Emacs, the world best text editor, operating system. This website doesn't track you. I don't use any javascript or other scripts. I don't store any information about the visitors. It's just pure old fashioned HTML. Some parts of the site is not up-to-date design wise. I may or may not update them in the future. I don't really support mobile stuff, but I bet if you disable the little CSS I have, you can read the site perfectly.