Warning
This repo is a work in progress! Needing both cleaning up and documenting.
gm-menu.mp4
A web interface is currently in development: gmweb
- Powered by
Fzf - Track
bookmarkswithgitwip- Sync
bookmarksasJSONfiles and push to remote - Encrypt
bookmarkswithGPGand push to remote
- Sync
- Encrypt local database with
AES-GCM - Support multiple
databases - Import
bookmarksfromfirefoxbased browsers - Import
bookmarksfromchromiumbased browsers - Import
bookmarksfromgitwip - Fetch
titleanddescriptionfrom new bookmark - Check bookmark
status(http status) - Fetch lasts snapshot from Wayback Machine
- Support for
NO_COLORenv variable. - Configure menu
keybinds,prompt,header,preview(fzf) using aYAMLfile. -
Migrate items from one database to another - Add
docker|podmansupport priority
go install github.com/mateconpizza/gm@latestTo uninstall the program remove the binary in your go env GOPATH
$ gm --help
usage: gm [query] [flags] [command]
commands:
add add bookmark
edit edit bookmark
rm remove bookmark
open open in browser
yank copy URL
notes view/edit notes
qr generate QR
check check URLs HTTP status
tag tags ops
clean strip URL params
archive show archive URL
db database ops
git git sync
config configuration
import import bookmarks
export export bookmarks
flags:
-o, --output string output format [bar|brief|card|flow|mini|minimal|multiline|oneline]
-f, --fields string select fields [id|url|title|tags|desc]
-t, --tag strings filter by tag(s)
-H, --head int limit to first N bookmarks
-T, --tail int limit to last N bookmarks
-m, --menu select interactively
--db string database name (default "main.db")
--color string output with colors [always|never] (default "always")
--force force action
-y, --yes assume yes
-v, --verbose count increase verbosity (-v, -vv, -vvv)
--version version for gm| Name | type | Description | Status |
|---|---|---|---|
GOMARKS_HOME |
str | Path to database/yaml | done |
GOMARKS_EDITOR |
str | Preferred text editor | done |
NO_COLOR |
int | Disable all colors | done |
Configuration file lives in $XDG_CONFIG_HOME if $GOMARKS_HOME is not set.
YAML file structure
menu:
defaults: true
prompt: "βΆ "
preview: true
header:
enabled: true
separator: " / "
keymaps:
edit:
bind: ctrl-e
description: edit
enabled: true
hidden: false
notes:
bind: ctrl-w
description: edit-notes
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: qr-code
enabled: true
hidden: false
open_qr:
bind: ctrl-l
description: open-qr
enabled: true
hidden: false
toggle_all:
bind: ctrl-a
description: toggle-all
enabled: true
hidden: false
yank:
bind: ctrl-y
description: yank
enabled: true
hidden: falseMenu 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
TODO
Use a ORM discontinued- Add multiple databases option (default.db, work.db, client.db)
- [~] Add
Syncto remote repo??? (WIP) - Drop
ErrActionAbortedin packageterminal(usesys.ErrActionAborted) - Move
config/menuto packagemenu- Drop global
Fzf
- Drop global
- Store
dbinXDG_DATA_HOME - Store
menu configinXDG_CONFIG_HOME(WIP: for now inXDG_DATA_HOME)
-
terminalpackage -
colorpackage -
filespackage
- Backups
- Databases
- From firefox
- If
databaseis locked (SQLITE_BUSY), ask user confirmation to copy file totmpdirectory and read from there.
- If
- From
chromechromium
Add a logging library- Support
NO_COLORenv var. no-color - Create a
rmsubcommand- Add
rmdatabase, backup - Add
rmrecords - Add
rmmisc... - Remove
db rm
- Add
