*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). Signet.sh is the name of the repository in reference to the name of the core script (more on the naming bellow). The script can be ran from the command line but I suggest to bind it to a keystroke combination. It produces the following html document : index.html ![a browsable bookmark manager](https://www.martinlemaire.fr/signet.sh/demo.png) 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. # Get started 1. First step Clone this repository, make signet.sh executable and run signet.sh by specifying a file of bookmarks to process and redirect its output to an html file. ``` git clone https://git.vvvvvvaria.org/clemtre/signet.sh.git cd signet.sh chmod +x signet.sh ./signet.sh BOOKMARKS > index.html ``` 2. A sample database of bookmarks You can try signet.sh with this 32kb example BOOKMARKS database : ``` curl -O https://martinlemaire.fr/signet.sh/BOOKMARKS ``` 3. Junicode typeface You might be in search of a condensed font in order to fit more characters per line, if that's the case I can recommend the condensed light version of **Junicode**, an OFL typeface drawn by Peter Baker. You can get mirrored versions Junicode-Condensed.otf and Junicode-CondensedLight.otf (1.8Mb total) from the 50Mb archive here : ``` # from https://github.com/psb1558/Junicode-font/releases/tag/v2.206 curl -O https://martinlemaire.fr/fonts/Junicode-Condensed.otf curl -O https://martinlemaire.fr/fonts/Junicode-CondensedLight.otf ``` 4. jquery Signet.sh webpage requires jquery, you can curl the 72Kb slim, minified version over : ``` curl -O https://code.jquery.com/jquery-3.7.1.slim.min.js ``` 5. dmenu https://askubuntu.com/questions/828450/how-to-install-dmenu # 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 generated by signet.sh ``` \