arthur.bebou

Le site arthur.bebou.netlib.re - retour accueil

git clone git://bebou.netlib.re/arthur.bebou

Log | Files | Refs |

commit 79ce367e5dc39fa0d9da6c74d4b4ac6202c938fb
parent 233e439fd993231921ff0591b2b26e83abf0a4af
Auteurice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Wed, 16 Jul 2025 11:58:46 +0200

Relecture pad-to-html

Diffstat:
Mcontents/pad-to-html/index.sh | 58+++++++++++++++++++++++++++++++++-------------------------
1 file changed, 33 insertions(+), 25 deletions(-)

diff --git a/contents/pad-to-html/index.sh b/contents/pad-to-html/index.sh @@ -10,16 +10,16 @@ Article pas relu ## Le besoin -Imaginons un festival artistico-militanto-écolo du nord de l'Alsace. Il a pour -habitude de communiquer sur facebook et instagram (bouuuh). Il a tout de même -un linktree avec le programme et quelques infos (mieuux). A la fin du festival -une personne fait la remarque que ce serait tout de même chouette d'avoir un -vrai site avec les infos de bases. Sauf que c'est un peu ennuyant à faire, -difficile à éditer etc. +Imaginons un festival artistico-militanto-écolo en Moselle. Il a pour habitude +de communiquer sur facebook et instagram (bouuuh). Il a tout de même un +linktree avec le programme et quelques infos (mieux). A la fin du festival une +personne fait la remarque que ce serait tout de même chouette d'avoir un vrai +site avec les infos de bases. Sauf que c'est un peu ennuyant à faire, difficile +à éditer etc. -De manière générale les personnes sont à l'aise avec l'édition d'un pad. Je le -reconnais c'est un bel outil dont il n'existe pas d'alternative identique dans -le monde termino-unixien. En terme d'appli web y'a vraiment pire d'etherpad. +De manière générale les personnes sont à l'aise avec l'édition d'un pad. C'est +un bel outil dont il n'existe pas d'alternative dans le monde termino-unixien. +En terme d'appli web y'a vraiment pire qu'etherpad. Et si l'on faisait tenir tout le site sur une page, générée depuis le markdown d'un pad édité par tout le monde ? @@ -40,7 +40,7 @@ On peut récupérer le contenu d'un pad en le réquêtant avec `/export/txt` ajo machin -On peut mettre ça dans du `lowdown` pour générer de l'html : +On peut mettre ça dans `lowdown` pour générer de l'html : $ curl -Ls https://pad.unistra.fr/p/ire/export/txt | lowdown <h2 id="blablabla">Blablabla</h2> @@ -57,10 +57,10 @@ quelque chose toutes les N secondes : ### Ne pas spammer le pauvre pad de l'unistra -Sauf que c'est bof de spammer pour rien le pad donc imaginons autre chose. En se -basant sur le système de [qcm](/qcm/) on peut ajouter un lien dans le pad qui, -lorsque l'on clique dessus, déclenchera la mise à jour du site via la détection -du chemin dans les logs du serveur web. Il faudra mettre en place le nécessaire +Sauf que c'est bof de spammer le pad donc imaginons autre chose. En se basant +sur le système de [qcm](/qcm/) on peut ajouter un lien dans le pad qui, lorsque +l'on clique dessus, déclenchera la mise à jour du site via la détection du +chemin dans les logs du serveur web. Il faudra mettre en place le nécessaire pour filtrer les logs et le lien dans le pad : [ -p "notif" ] || mkfifo "notif" @@ -81,21 +81,23 @@ enregistrer le markdown et tester s'il est identique à l'ancien avec un `diff` curl -Ls https://pad.unistra.fr/p/ire/export/txt | grep -v 'http://ire.bebou.netlib.re/mise-a-jour' > index-new.md if ! diff index.md index-new.md 2> /dev/null;then - lowdown > index.html + mv index-new.md index.md + < index.md lowdown > index.html fi done ### Le versionnage automatique -Finalement pour éviter de perdre quoi que ce soit on pourra gitter le tout : +Finalement pour éviter de perdre quoi que ce soit on pourra giter le tout : cat "notif" | while read maj; do + curl -Ls https://pad.unistra.fr/p/ire/export/txt | + grep -v 'http://ire.bebou.netlib.re/mise-a-jour' > index-new.md if ! diff index.md index-new.md 2> /dev/null;then - curl -Ls https://pad.unistra.fr/p/ire/export/txt | - grep -v 'http://ire.bebou.netlib.re/mise-a-jour' | - lowdown > index.html + mv index-new.md index.md + < index.md lowdown > index.html fi - git add index.html + git add index.html index.md git commit -m "Modification" git push done @@ -114,12 +116,13 @@ Au final la version "minimale" du concept pour un serveur `nginx` pourrait être notifpid=$! cat "notif" | while read maj; do + curl -Ls https://pad.unistra.fr/p/ire/export/txt | + grep -v 'http://ire.bebou.netlib.re/mise-a-jour' > index-new.md if ! diff index.md index-new.md 2> /dev/null;then - curl -Ls https://pad.unistra.fr/p/ire/export/txt | - grep -v 'http://ire.bebou.netlib.re/mise-a-jour' | - lowdown > index.html + mv index-new.md index.md + < index.md lowdown > index.html fi - git add index.html + git add index.html index.md git commit -m "Modification" git push done @@ -134,7 +137,7 @@ pages différentes puis de les séparer côté serveur mais ça risque de deveni assez rapidement fastidieux à éditer. On peut intégrer des images déjà en ligne avec `![]()` mais comment fait-on pour -uploader des images, des pdf etc ? +uploader de nouvelles images, pdf etc ? Il n'est pas possible d'éditer le css et l'html depuis le pad, que le contenu. Ça peut éventuellement être un avantage selon le contexte. Avec plus de code @@ -153,3 +156,8 @@ personnes voulant y accéder via un navigateur web *et* des cli 😔. Le script ne redirige pas les erreurs potentielles du script à un endroit où les personnes peuvent les lire et les communiquer à l'admin. Ça devrait pouvoir se modifier assez facilement. + +Les instances d'etherpad peuvent trouver que vous les curler un peu trop +rapidement et vous blacklister pendant un moment. Il vaut donc mieux ne pas +trop fréquemment chercher à voir les résultats des modifications. +