Warning
This repo is a work in progress! Needing both cleaning up and documenting.
- Support multiple
databases
- Restore
deleted
bookmarks - Import
bookmarks
fromfirefox
based browsers - Import
bookmarks
fromchromium
based browsers - Fetch
title
anddescription
from added URL - Check bookmark
status
(http status) - Support for
NO_COLOR
env variable. - Configure menu
keybinds
,prompt
,header
,preview
(fzf) using aYAML
file. - Migrate items from one database to another
- Encrypt database priority
- Add
docker|podman
support priority - ...
git clone "https://github.com/haaag/gm" && cd gm
# build using make
make
# or build using `go build`
go build -o ./bin
This will create a ./bin/gm
binary in your current directory.
This must be simplified a bit.
$ gm --help
Simple yet powerful bookmark manager for your terminal
Available Commands:
add add a new bookmark
bk backup management
db database management
help Help about any command
import import bookmarks from browser/database
restore restore deleted bookmarks
version print version information
Flags:
--color string output with pretty colors [always|never] (default "always")
-c, --copy copy bookmark to clipboard
-e, --edit edit with preferred text editor
-f, --field string output by field [id|url|title|tags]
--force force action | don't ask confirmation
-H, --head int the <int> first part of bookmarks
-h, --help help for gm
-j, --json output in JSON format
-m, --menu menu mode (fzf)
-M, --multiline output in formatted multiline (fzf)
-n, --name string database name (default "bookmarks.db")
-O, --oneline output in formatted oneline (fzf)
-o, --open open bookmark in default browser
-q, --qr generate qr-code
-r, --remove remove a bookmarks by query or id
-s, --status check bookmarks status
-t, --tag strings list by tag
-T, --tail int the <int> last part of bookmarks
-v, --verbose verbose mode
Name | type | Description | Status |
---|---|---|---|
GOMARKS_HOME |
str | Path to database/yaml | done |
GOMARKS_EDITOR |
str | Preferred text editor | done |
GOMARKS_BACKUP_MAX |
int | Maximum number of backups (def: 3) | done |
NO_COLOR |
int | Disable all colors | done |
π Menu support
Single/multiple selection for open, copy, edit, delete, check status.
gm-menu.mp4
β Add a bookmark
gm-add.mp4
π Edit a bookmark
gm-edit.mp4
π³ Create QR-Code
gm-qr.mp4
βοΈ Check status
gm-status.mp4
βοΈ Configuration
-
$GOMARKS_HOME/menu.yml
file
prompt: "ο Gomarks> "
header: true
preview: true
keymaps:
edit:
bind: ctrl-e
description: edit
enabled: true
hidden: false
open:
bind: ctrl-o
description: open
enabled: true
hidden: false
preview:
bind: ctrl-/
description: toggle-preview
enabled: true
hidden: false
qr:
bind: ctrl-k
description: QRcode
enabled: true
hidden: false
toggle_all:
bind: ctrl-a
description: toggle-all
enabled: true
hidden: true
yank:
bind: ctrl-y
description: yank
enabled: true
hidden: false
β³ TODO
- Use a ORM
- Add multiple databases option (default.db, work.db, client.db)
- Add
Sync
to remote repo???
- Store
db
inXDG_DATA_HOME
- Store
menu config
inXDG_CONFIG_HOME
(WIP: for now inXDG_DATA_HOME
)
-
terminal
package -
color
package -
files
package
- Backups
- Databases
- From firefox
- From
chromechromium
- Add a logging library
- Support
NO_COLOR
env var. no-color