A text-based bookmark manager rendered in a web page
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

7.0 KiB

FR → LISEZMOI.md

Work in progress, if you encounter any issues regarding installation or understanding what this is all about, please send an email to contact@martinlemaire.fr or open an issue here and i'll be happy to answer

A browsable webpage generated from a textual database you might want to use as a browser homepage. You can edit the database by editing the file called BOOKMARKS or by running the provided script called edit_bookmarks_dmenu.sh (requires dmenu). The script can be ran from the command line but I suggest to bind it to a keystroke combination.

If you want to try with an example BOOKMARKS database (32kb) :

curl -O https://martinlemaire.fr/signet.sh/BOOKMARKS

then

git clone https://git.vvvvvvaria.org/clemtre/signet.sh.git
chmod +x signet.sh
./signet.sh

It produces the following html document :

index.html a browsable bookmark manager A sample of its corresponding textual database, in the form of blankline separated records with key/value fields :

BOOKMARKS

URL: http://fileformats.archiveteam.org/wiki/HEX_(Unifont)
Name: HEX (Unifont) - Just Solve the File Format Problem
Description: 
Tags: bbb, hex
Date: 1704636690
Color: Pink

URL: http://robhagemans.github.io/monobit/
Name: Hoard of bitfonts
Description: Bitmap fonts collection
Tags: bitmap, fonts
Date: 1704639859

URL: https://en.wikipedia.org/wiki/Wish_(Unix_shell)
Name: wish (Unix shell) - Wikipedia
Description:  a Tcl interpreter extended with Tk commands for unix.
Tags: gui, wish, tcl
Date: 1704646543

URL: https://www.kreativekorp.com/
Name: Rebecca G. Bettencourt
Description: 
Tags: RGB, people, hide
Date: 1704648764

Given this database, signet will color the first link in pink and hide the last one because of its "hide" tag.

Presentation

signet.sh

Signet.sh is a shell script parsing a bookmark database to a webpage. It uses awk inside a here-doc declaration redirected to an html file.

I have created this script because I found the bookmarks manager from firefox not great to use, to the point where I did not have the habit to bookmark my browsing journeys. Firefox stores bookmarks in a sqlite which is not human readable. Although it allows an export in json and html, I wanted something text based and personal.

Bookmarks database format

Only a Url is required, the rest of the fields are optional :

  • URL : the url pasted from the clipboard (exits if no url given)
  • Name : grabs from the bookmarked page with curl
  • Description : a description from the user
  • Tags : comma separated keywords
  • Date : posix time of the bookmarked link
  • Color : css color (name, hex, rgb etc...)

index.html structure