atom.awk : Générer un flux atom à partir de billets texte brut

2022-05-09T12:50:44Z

TL;DR

mkdir site
cd site
mkdir blog
vi blog/entry1.txt
# write something, first line is title
date +'%Y-%m-%dT%TZ' > blog/entry1.txt.pubdate
$ find blog/ | awk -v domain="domain.tld" -v max=100 -v template=template.xml -f atom.awk > atom.xml

Description

Que vous écriviez vos billets de blog en text brut, markdown, gemtext ou je ne sais quel autre langage, vous souhaitez probablement créer un flux atom. Avoir du contenu html est peu pratique (il faut échapper le code html) et ajoute des contraintes inutiles à un flux atom. Je vous propose de publier vos articles avec la même apparence dans le flux que dans le fichier source.

C'est ce qui est d'ailleurs proposé sur le site shinobi.website : publier du contenu via un flux ATOM seulement.

Cet outil va prendre en entrée une liste de fichiers contenant les billets de blog et génère un flux ATOM valide. Chaque objet du flux ATOM a pour description le contenu du billet.

Pas besoin d'échapper du html : c'est du texte brud dans une balise CDATA.

Vous pouvez même écrire "]]>" dans vos billets, ça sera échappé (pas comme le script de shinobi.website).

Pour intégrer un fichier "blogentry.txt" dans le flux, un autre fichier nommé "blogentry.txt.pubdate" doit se trouver juste à côté. Ce dernier contient la date de publication au format '%Y-%m-%dT%TZ' (voir strftime).

Il suffit d'awk pour utiliser atom.awk, disponible sur la plupart des unix-likes.

Téléchargement

atom.awk.tgz

Options

Exemple

$ find blog/ | awk -v domain="domain.tld" -v max=100 -v template=template.xml -f atom.awk > atom.xml

Voir aussi

https://shinobi.website/index.txt

Une réaction?

Envoyez votre commentaire

Voir les instructions pour utiliser la mailing-list