2022-05-09T12:50:44Z
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
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.
$ find blog/ | awk -v domain="domain.tld" -v max=100 -v template=template.xml -f atom.awk > atom.xml
https://shinobi.website/index.txt
Voir les instructions pour utiliser la mailing-list