Rendez-vous sur Arrakiss
Le 08/10/2019 à 15:14 dans /Logiciel-libre/Code/

LGBT : Let’s Go, Blog This

lgbt est un script permettant de gérer un blog statique. Un site statique ne présente aucun danger en terme de sécurité contrairement à un site écrit en PHH, et nécessite moins de puissance de calcul sur le serveur.

Il est écrit entièrement en shell avec des commandes présentes de bases sur un système UNIX (OpenBSD par exemple). Il ne nécessite donc pas l'installation de dépendances particulières mis à part un convertisseur markdown.

Le script traite toute l'arborescence d'un site. Il copie tous les fichiers (images, vidéos) et convertit les pages écrites avec la syntaxe markdown en html. Un modèle (template) est utilisé pour garder une forme cohérente sur tout le site.

La première “génération” est la plus longue. Ensuite, seules les pages ajoutées ou modifiées sont converties/copiées, ce qui rend les performances plus que raisonnables.

Voyons un peu plus en détail ce que fait lgbt :

Utilisation

Récupérez la dernière version de lgbt ici : https://dev.ybad.name/lgbt.tgz

Décompressez l'archive dans un dossier.

Éditez le fichier lgbt.conf à votre guise, ainsi que le fichier modèle “lgbt.template”.

Créez votre site dans un dossier “source”. Vous pouvez faire des arborescences de fichiers tant que vous voulez.

Lorsque vous avez terminé, lancez lgbt dossier_source.

Un dossier “dossier_source.static” est alors créé : il contient votre nouveau site.

La prochaine fois que lgbt sera exécuté, il ne s'occupera que des nouveaux fichiers.

Configuration

La configuration se déroule dans le fichier lgbt.conf qui doit être présent dans le même dossier que lgbt. Voici à quoi correspondent les différentes variables disponibles :

Dans le fichier modèle “template”, vous pouvez insérer toutes les variables citées ci-dessus tant qu'elles sont écrites sous la forme ${_VARIABLE_}. Elles ne sont pas toutes intéressantes, c'est pourquoi il en existe certaines autres si vous en avez besoin :

BUGS

Merci de les signaler à l'aide de ma page Contact

Le script a été entièrement développé et utilisé sous OpenBSD. Il est donc possible que de légères différences soient présentes sur un système GNU malgré toute mon attention.

FAQ

Suis-je obligé d'utiliser markdown ?

Que nenni. Si la syntaxe markdown n'est pas votre tasse de thé, vous pouvez tout à fait utiliser un autre convertisseur. Veillez à bien modifier la configuration pour adapter les variables suivantes :

CONVERTER='' # Le programme pour convertir les pages
EXT="md" # Extension des fichiers à convertir en html

Quel convertisseur markdown choisir ?

Par ordre de préférence :

Vous pouvez aussi consulter la liste des implémentations de markdown sur la liste du w3 : https://www.w3.org/community/markdown/wiki/MarkdownImplementations.

D'où vient l'idée ?

J'avais développé swx, mais il ne convenait pas tellement à un blog, plus à un simple site statique. Et puis j'ai vu le travail de Roman Zolotarev : ssg que j'ai trouvé excellent de simplicité. Un mélange des deux a donné lgbt.