gemtext2html
Pour générer ce site, j'écris les pages au format text/gemini puisque publie en priorité via le protocole gemini. Vous pouvez d'ailleurs vous amuser à remplacer l'extension ".html" par ".gmi" dans l'URL pour voir à quoi ça ressemble.
Cependant, afin de conserver un accès en http, je convertis les fichier gmi en html avec l'outil gemtext2html.
Il s'agit d'un bête programme écrit en C qui lit un fichier passé en entrée (ou stdin) pour en sortir le code html correspondant. En bref, il s'utilise ainsi :
gemtext2html file.gmi > file.html
Il suit bêtement les recommandations des spécifications gemini, à savoir :
- Une ligne de texte correspond à un paragraphe "<p>la ligne</p>"
- Une ligne vide est remplacée par "<br>"
- Une ligne commençant par "*" est considérée comme un élément de liste
- Une ligne commençant par ">" est une citation
- Une ligne commençant par "#", "##", "###" est un titre de niveau 1, 2 ou 3.
- Une ligne commençant par "=> " est un lien.
- Une ligne commençant par "```" active/désactive un bloc "<pre>"
De plus, il remplace les symboles réservés pour le html :
- & -> &
- < -> <
- > -> >
- " -> "
- ' -> '
Enfin, il ajoute quelques petits éléments pour les liens et la lecture :
- Un lien avec une extension d'image est affiché comme une image dans une balise "<img>"
- Un lien avec une extension de vidéo est affiché dans "<video>"
Si vous voulez continuer à écrire vos paragraphes sur plusieurs lignes, alors vous voudrez sans doute modifier le CSS pour retirer les marges (ou utiliser l'option "-b").
p, ul, blockquote, pre, h1, h2, h3 {margin:0;}