index.html ![un gestionnaire de lien navigable](demo.png) **Travail en cours, si vous rencontrez un soucis ennvoyez un mail à contact@martinlemaire.fr ou ouvrez une issue ici** Un gestionnaire de marque-page navigable généré à partir d'une base de donnée textuel que l'on peut utiliser en temps que page d'accueil de navigateur Un extrait de la base de donnée correspondante, composée d'entrées séparées par des sauts de lignes avec des champs clé/valeur : BOOKMARKS ``` ... URL: http://fileformats.archiveteam.org/wiki/HEX_(Unifont) Name: HEX (Unifont) - Just Solve the File Format Problem Description: Tags: bbb, hex Date: 1704636690 URL: http://robhagemans.github.io/monobit/ Name: Hoard of bitfonts Description: Tags: bitmap, fonts Date: 1704639859 URL: https://en.wikipedia.org/wiki/Wish_(Unix_shell) Name: wish (Unix shell) - Wikipedia Description: Tags: gui, wish, tcl Date: 1704646543 URL: https://en.wikipedia.org/wiki/Tk_(software) Name: Tk (software) - Wikipedia Description: Tags: gui, bsd Date: 1704646583 URL: https://www.kreativekorp.com/ Name: Rebecca G. Bettencourt Description: Tags: RGB, people,hide Date: 1704648764 ... ``` # Présentation ## signet.sh Signet.sh est un script shell qui transforme une base de donnée de liens en une page web. La conversion est faite par une commande awk au sein d'une déclaration here-doc qui est redirigé dans une page html. J'ai créé ce script car je trouve le gestionnaire de marque-page de firefox insatisfaisant, autant dans sa forme que dans le format utilisé (sqlite). Ce script et les utilitaires autours proposent une alternative pour archiver ses navigations internet. ## Format de la base de donné Seule une Url est requise, le reste des champs sont facultatifs, on compte les champs suivants : * URL : ... * Name : Par défaut la balise de la page * Description : ... * Tags : mots-clés séparés d'une virgule * Date : heure posix de l'ajout du lien * Color : couleur css (nom, hex, rgb etc...) # Autres gestionnaires de marque-pages : - nb https://xwmx.github.io/nb/ (AGPL-3.0) - ?? # Dependance~~s~~ : Pour ajouter un lien via l'interface proposée, on aura besoin d'installer dmenu ~~et htmlq~~. * dmenu https://tools.suckless.org/dmenu/ (MIT/X) * ~~htmlq https://github.com/mgdm/htmlq (MIT)~~ remplacé par une commande awk ## dmenu Dmenu est un menu interactif qui permet de sélectionner et d'écrire des valeurs dans un menu. Ces valeurs peuvent provenir d'un programme fournit en entrée un *pipe* "|", par exemple : ``` ls | dmenu ``` affiche un menu déroulant avec les fichiers de mon répertoire. Dans notre script, pour stocker le choix dans une variable, on peut faire : ``` tags=$(echo "" | dmenu -p "Enter comma-separated tags:") ``` ## ~~htmlq~~ Htmlq est un parseur d'html écrit en go. Peu importe quel parseur on utilise, on dirait que chaque langage a le sien. Il s'agit ici de fournir au programme une chaîne de caractère en entrée et d'en filtrer des éléments html Si en javascript pour récupérer tous les \