Favemarks is a simple command-line bookmark manager.
Favemarks is tested on MacOS and Ubuntu. Windows is not supported 😎.
Please run the following script to install it. You will be asked to provide admin password to actually install it.
curl -fsSL https://github.com/nyinyithann/favemarks/raw/main/script/install.sh | bash- After installing Favemarks, you first need to create a database to store bookmarks.
Please note that the path must be absolute.
$ fm db-new -path "/path/to/favemarks.db" If you run the above command successfully, you would see something like this.
An SQlite db with a table called 'bookmarks' is created.

- You would now start using Favemarks with the following command.
$ fm ls Initally you would see a blank table with menus, and if you add some records, you would see something like this.
NOTE
If you don't see the below screen after running fm ls command. You might probably need to install SQlite to your machine. Favemarks uses SQlite to manage the data.
For Ubuntu user, please run sodo apt install sqlite3.
For Mac use, please run brew install sqlite3.
- Press
ato add a new record. - Press
uto update and existing record. - Press
dto delete a record. - Press
sto search records. - Press
lto list all records. - Press
oto open Urls in browser. - Press
cto display Configuration values. - Press
tto display all tags saved in the database. - Press
eto export records as json, markdown, or html file. - Press
jto got to next page. - Press
kto go to previous page. - Press
qto quit.
You could check all the available commands with
$ fm --helpYour favourite bookmarks at your fingertips
fm SUBCOMMAND
=== subcommands ===
add . add a bookmark
config-info . show config info
config-set . set config
db-new . create a new database
db-switch . switch to another database
ls . list bookmarks
search . search bookmarks
tags . show all tags
version . print version information
help . explain a given subcommand (perhaps recursively)You could set 2 config values - page size and browser if you use Mac. On Linux, only page size can be configured, and the default browser will be used to open links. Default value of page size is 12 and browser is Chrome.
$ fm config-set
» Enter page size between 1 and 20 inclusive (empty to skip): 10
✅ Successfully saved
» Enter a browser name (Chrome, Safari, Edge, Firefox, Brave) (empty to skip): Chrome
✅ Successfully savedYou can add a new record with fm add
$ fm add -url "https://dev.realworldocaml.org/" -tags "ocaml, realworldocaml, book"
✅ https://dev.realworldocaml.org/ is added with id 6.You would check config info with fm config-info
$ fm config-info
Configuration Info
------------------
● Config file path » /Users/jazz/.favemarks.config
● Db file path » /Users/jazz/Library/Mobile Documents/com~apple~CloudDocs/Favemarks/favemarks.db
● Browser to open url » Chrome
● Display records per page » 10You would also check all the tags stored in the db with fm tags
$ fm tags
Tags
----
book github manual multicore ocaml realworldocaml stdlib unix wikiIf you create multiple database, you would switch among them with
fm db-switch -path "/your/db/path/fm.db"You could search records with
$ fm search
or
$ fm search -search-field "tags" -search-term "stdlib, ocaml"
or
$ fm search -search-field "tags" -search-term "stdlib, ocaml" -sort-field "id" -sort-order "asc" you could also list down all records with
$ fm ls
or
$ fm ls -sort-field "tags" -sort-order "asc"
Love your help improving Favemarks!
Distributed under the ISC License. See LICENSE for more information.

