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
a
to add a new record. - Press
u
to update and existing record. - Press
d
to delete a record. - Press
s
to search records. - Press
l
to list all records. - Press
o
to open Urls in browser. - Press
c
to display Configuration values. - Press
t
to display all tags saved in the database. - Press
e
to export records as json, markdown, or html file. - Press
j
to got to next page. - Press
k
to go to previous page. - Press
q
to quit.
You could check all the available commands with
$ fm --help
Your 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 saved
You 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 » 10
You would also check all the tags stored in the db with fm tags
$ fm tags
Tags
----
book github manual multicore ocaml realworldocaml stdlib unix wiki
If 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.