Browse Source

css fix, image and db removed from repo and hosted elsewhere

main
clemtre 8 months ago
parent
commit
cbd811d2c6
  1. 82
      LISEZMOI.md
  2. 15
      README.md
  3. 1
      TODO.md
  4. 2
      script.js
  5. 5
      signet.sh
  6. 35
      style.css

82
LISEZMOI.md

@ -1,5 +1,4 @@
index.html LISEZMOI est peut être en retard sur README
![un gestionnaire de lien navigable](demo.png)
**Travail en cours, si vous rencontrez un soucis ennvoyez un mail à **Travail en cours, si vous rencontrez un soucis ennvoyez un mail à
contact@martinlemaire.fr ou ouvrez une issue ici** contact@martinlemaire.fr ou ouvrez une issue ici**
@ -8,21 +7,36 @@ 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 donnée textuel que l'on peut utiliser en temps que page d'accueil de
navigateur navigateur
Pour essayer avec une base de données BOOKMARKS fourni en exemple :
```
curl -O https://martinlemaire.fr/signet.sh/BOOKMARKS
```
ensuite
```
chmod +x signet.sh
./signet.sh
```
Le script produit le document html suivant :
index.html
![un gestionnaire de lien navigable](https://www.martinlemaire.fr/signet.sh/demo.png)
Un extrait de la base de donnée correspondante, composée d'entrées 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 : séparées par des sauts de lignes avec des champs clé/valeur :
BOOKMARKS BOOKMARKS
``` ```
...
URL: http://fileformats.archiveteam.org/wiki/HEX_(Unifont) URL: http://fileformats.archiveteam.org/wiki/HEX_(Unifont)
Name: HEX (Unifont) - Just Solve the File Format Problem Name: HEX (Unifont) - Just Solve the File Format Problem
Description: Description:
Tags: bbb, hex Tags: bbb, hex
Date: 1704636690 Date: 1704636690
Color: Pink
URL: http://robhagemans.github.io/monobit/ URL: http://robhagemans.github.io/monobit/
Name: Hoard of bitfonts Name: Hoard of bitfonts
Description: Description: A python tool to manipulate bitmap fonts and do format conversions
Tags: bitmap, fonts Tags: bitmap, fonts
Date: 1704639859 Date: 1704639859
@ -32,19 +46,14 @@ Description:
Tags: gui, wish, tcl Tags: gui, wish, tcl
Date: 1704646543 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/ URL: https://www.kreativekorp.com/
Name: Rebecca G. Bettencourt Name: Rebecca G. Bettencourt
Description: Description:
Tags: RGB, people,hide Tags: RGB, people,hide
Date: 1704648764 Date: 1704648764
...
``` ```
Avec cette base de données, signet colore le premier lien en rose et
cache le dernier car il contient le tag "hide"
# Présentation # Présentation
## signet.sh ## signet.sh
@ -57,6 +66,12 @@ firefox insatisfaisant, autant dans sa forme que dans le format utilisé
(sqlite). Ce script et les utilitaires autours proposent une (sqlite). Ce script et les utilitaires autours proposent une
alternative pour archiver ses navigations internet. alternative pour archiver ses navigations internet.
Lecture en lien :
* FR
*
* EN
* https://www.inkandswitch.com/local-first/
## Format de la base de donné ## Format de la base de donné
Seule une Url est requise, le reste des champs sont Seule une Url est requise, le reste des champs sont
facultatifs, on compte les champs suivants : facultatifs, on compte les champs suivants :
@ -67,10 +82,26 @@ facultatifs, on compte les champs suivants :
* Date : heure posix de l'ajout du lien * Date : heure posix de l'ajout du lien
* Color : couleur css (nom, hex, rgb etc...) * Color : couleur css (nom, hex, rgb etc...)
# Autres gestionnaires de marque-pages : # Usage
- nb https://xwmx.github.io/nb/ (AGPL-3.0) ## Ajouter un marque-page :
- ??
Pour ajouter un lien, je séléctionne l'url de la page avec Ctrl + l, la
copie et lance add.sh avec Super + i.
_Si quelqu'un sait récupérer l'url de la page courante du navigateur
sans avoir à la copier, ça économiserait deux étapes sur trois._
En résumé : Ctrl + l, Ctrl + c, Super + i
(ou plus court : Ctrl + l + c, Super + i)
Super + i car dans le fichier de configuration de mon gestionnaire de
fenêtre situé dans ~/.config/awesome/rc.lua j'ai les lignes suivantes :
```
awful.key({modkey}, "i", function()
awful.util.spawn_with_shell("add.sh") end,
{description = "Enregistre le lien copié dans signet.sh"}),
```
# Dependance~~s~~ : # Dependance~~s~~ :
Pour ajouter un lien via l'interface proposée, on aura besoin Pour ajouter un lien via l'interface proposée, on aura besoin
@ -124,25 +155,6 @@ Pour l'instant cette étape est bloquante. Pour peu que la connection
internet coupe lors de l'ajout d'un lien, il faudra attendre la fin de internet coupe lors de l'ajout d'un lien, il faudra attendre la fin de
la tentative de curl pour passer au prochain champs du script :/ sorry ! la tentative de curl pour passer au prochain champs du script :/ sorry !
# Usage :
Pour ajouter un lien, je séléctionne l'url de la page avec Ctrl + l, la
copie et lance add.sh avec Super + i.
_Si quelqu'un sait récupérer l'url de la page courante du navigateur
sans avoir à la copier, ça économiserait deux étapes._
En résumé : Ctrl + l, Ctrl + c, Super + i
(ou plus court : Ctrl + l + c, Super + i)
Super + i car dans le fichier de configuration de mon gestionnaire de
fenêtre situé dans ~/.config/awesome/rc.lua j'ai les lignes suivantes :
```
awful.key({modkey}, "i", function()
awful.util.spawn_with_shell("add.sh") end,
{description = "Enregistre le lien copié dans signet.sh"}),
```
# Structure du répertoire # Structure du répertoire
* BOOKMARKS → Une base de données de liens * BOOKMARKS → Une base de données de liens
@ -173,6 +185,10 @@ starred.sh → Un curl des repos de l'api github
https://api.github.com/users/[user]/starred , formaté de json à une https://api.github.com/users/[user]/starred , formaté de json à une
liste html sans jq ! liste html sans jq !
# Autres gestionnaires de marque-pages :
- nb https://xwmx.github.io/nb/ (AGPL-3.0)
- ??
# Crédits # Crédits
* Junicode (OFL-1.1) * Junicode (OFL-1.1)
https://psb1558.github.io/Junicode-font/ https://psb1558.github.io/Junicode-font/

15
README.md

@ -11,8 +11,13 @@ called BOOKMARKS or by running the provided script called
edit_bookmarks_dmenu.sh (requires dmenu). The script can be ran from the 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. command line but I suggest to bind it to a keystroke combination.
With the provided BOOKMARKS database : If you want to try with an example BOOKMARKS database :
``` ```
curl -O https://martinlemaire.fr/signet.sh/BOOKMARKS
```
then
```
git clone https://git.vvvvvvaria.org/clemtre/signet.sh.git
chmod +x signet.sh chmod +x signet.sh
./signet.sh ./signet.sh
``` ```
@ -20,9 +25,9 @@ chmod +x signet.sh
It produces the following html document : It produces the following html document :
index.html index.html
![a browsable bookmark manager](demo.png) ![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 A sample of its corresponding textual database, in the form of blankline
records with key/value fields : separated records with key/value fields :
BOOKMARKS BOOKMARKS
``` ```
@ -35,7 +40,7 @@ Color: Pink
URL: http://robhagemans.github.io/monobit/ URL: http://robhagemans.github.io/monobit/
Name: Hoard of bitfonts Name: Hoard of bitfonts
Description: A python tool to manipulate bitmap fonts and do format conversions Description: Bitmap fonts collection
Tags: bitmap, fonts Tags: bitmap, fonts
Date: 1704639859 Date: 1704639859

1
TODO.md

@ -2,6 +2,7 @@ unsorted list of things that would be nice to have
* *make a make*file in order to variabilize language in add.sh prompts * *make a make*file in order to variabilize language in add.sh prompts
and make overall config easier and make overall config easier
* write more structured css
* pin links * pin links
→ add an optional boolean to the records implictly false if absent. → add an optional boolean to the records implictly false if absent.
if true, the link sits on top of the pile if true, the link sits on top of the pile

2
script.js

@ -39,7 +39,7 @@ function formatDateFromEpoch(epochTime) {
return `N/A`; return `N/A`;
} }
return `${YY}-${MM}-${DD}`; return `${YY}/${MM}/${DD}`;
} }
const dates = document.querySelectorAll('h4') const dates = document.querySelectorAll('h4')

5
signet.sh

@ -18,7 +18,7 @@ cat <<- EOF > $DEST
</head> </head>
<body> <body>
<div id="cc"></div> <div id="cc"></div>
<textarea autofocus id=""></textarea> <textarea autofocus></textarea>
<nav> <nav>
$( $(
awk '/Tags: ./ {print tolower($0)}' $DB |\ awk '/Tags: ./ {print tolower($0)}' $DB |\
@ -29,7 +29,7 @@ awk '/Tags: ./ {print tolower($0)}' $DB |\
</nav> </nav>
<ol> <ol>
$( $(
awk -v RS= '!/Tags: .*hide/ {print $0 "\n"}' $DB | \ awk -v RS= '!/Tags: .*hide/ {print $0 "\n"}' $DB |\
awk -v RS= ' awk -v RS= '
{ {
if ($0 != "") { if ($0 != "") {
@ -73,6 +73,7 @@ awk -v RS= '
} ' } '
) )
</ol> </ol>
<footer></footer>
</body> </body>
</html> </html>
EOF EOF

35
style.css

@ -9,21 +9,30 @@
--font-size-s:calc(var(--font-size) / 1.5); --font-size-s:calc(var(--font-size) / 1.5);
--line-height:24px; --line-height:24px;
--gutter:0px; --gutter:0px;
--padding:2px;
--height:auto; --height:auto;
--color:black; --color:black;
--selection:purple; --selection:purple;
--background:#FFF; --background:#FFF;
--background-2:#FEFEFE; --background-2:#FEFEFE;
--background-bottom:black;
} }
/* https://github.com/psb1558/Junicode-font/releases */
@font-face { @font-face {
font-family: Junicode; font-family: Junicode;
/* https://github.com/psb1558/Junicode-font/releases */
src: url("Junicode-CondLight.otf") format("opentype"); src: url("Junicode-CondLight.otf") format("opentype");
} }
@font-face {
font-family: Junicode;
src: url("Junicode-CondLightItalic.otf") format("opentype");
font-style:italic;
}
* { * {
font-family: Junicode; font-family: Junicode;
font-variant-numeric: lining-nums;
} }
h1,h2,h3,h4,h5,p, a { h1,h2,h3,h4,h5,p, a {
word-break: break-all;
width:fit-content; width:fit-content;
line-height:var(--line-height); line-height:var(--line-height);
padding:0; padding:0;
@ -31,6 +40,9 @@ h1,h2,h3,h4,h5,p, a {
font-weight:normal; font-weight:normal;
font-size:var(--font-size); font-size:var(--font-size);
} }
nav, section, textarea {
padding: var(--padding) 0;
}
a{ a{
width:100%; width:100%;
display:block; display:block;
@ -53,16 +65,27 @@ textarea{
z-index:10; z-index:10;
width:calc(100vw - 10px); width:calc(100vw - 10px);
font-size:var(--font-size); font-size:var(--font-size);
height:var(--line-height); height:calc(var(--line-height) + var(--padding));
} }
ol { ol {
margin:0; margin:0;
display:flex; display:flex;
gap:var(--gutter); gap:var(--gutter);
flex-direction:column-reverse; flex-direction:column-reverse;
margin-bottom:50vh;
padding-left: 34px; padding-left: 34px;
}
body {
}
footer {
height:100vh;
margin-top:50vh;
background:linear-gradient( var(--background), var(--background-bottom));
width:calc(100% + 20px - 2px);
margin-left:-10px;
margin-bottom:-10px;
overflow:hidden;
} }
li { li {
font-size:var(--font-size); font-size:var(--font-size);
@ -107,7 +130,7 @@ h5,h2,h3,h4 {
} }
h3::before, h2::before, h1::after{content:'\00a0·\00a0'} h3::before, h2::before, h1::after{content:'\00a0·\00a0'}
h4 { h4 {
margin-left:auto margin-left:auto;
} }
html{background:white} html{background:white}
nav p {display:inline; nav p {display:inline;
@ -124,8 +147,8 @@ nav p::after{
nav { nav {
border-top: 1px solid black; border-top: 1px solid black;
border-bottom: 1px solid black; border-bottom: 1px solid black;
margin-top:calc(var(--line-height) + 1px); margin-top:calc(var(--line-height) + 1px + var(--padding));
height:var(--line-height); height:calc(var(--line-height) + var(--padding) * 2);
overflow:hidden; overflow:hidden;
} }

Loading…
Cancel
Save