| 
				 
		
			All checks were successful
		
		
	 
	Lint, test and build / build (push) Successful in 57s 
				
			This needs to support both index and text as output as well.  | 
			||
|---|---|---|
| .forgejo/workflows | ||
| cmd/bibliodrina | ||
| firefox | ||
| internal | ||
| native | ||
| qutebrowser | ||
| .gitignore | ||
| config.scfg | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| README.md | ||
bibliodrina
bibliodrina (portmanteau out of Bibliotheca Alexandrina) is a browser-agnostic tool for managing your bookmarks.
It currently consists of a cli, a Firefox plugin and a qutebrowser user script.
Bookmarks get saved in a SQLite3 database and can be selected/filtered via a dmenu compatible application.
Installation
For the cli, build the binary go build -o . ./cmd/bibliodrina/. 
Setting up the Firefox integration consists of two parts. First the add-on needs to be installed. The second part is the native messaging manifest, which can
be installed under ~/.mozilla/native-messaging-hosts/bibliodrina.json. In this file you need to adjust the path, so that it points to your bibliodrina binary. 
The qutebrowser userscript qute-bibliodrina has to be installed in qutebrowser's userscript directory (e.g. ~/.local/share/qutebrowser/userscripts). Example
key bindings can be found at the top of the file.
Configuration
You can create a configuration file at ~/.config/bibliodrina/config.scfg. See the config example for possible settings.
CLI usage
bibliodrina add <URL> [name] [category]
bibliodrina remove <URL>
bibliodrina open
bibliodrina open --stdout # Will print the URL to stdout
bibliodrina export <file> # Export bookmarks to JSON
You can only list bookmarks that belong to a category with the corresponding flag:bibliodrina open --category music
As an alternative you can tell bibliodrina to display all categories in the chooser, so that one can be selected. The bookmarks of this category will then be displayed as a follow-up: bibliodrina open --show-categories
Development
Temporary addons can be loaded in about:debugging via the "manifest.json".