-- Leo's gemini proxy

-- Connecting to unbon.cafe:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;

Gemfeed


2023-04-23


Les flux Atom ou RSS sont des outils de syndication permettant, entre autres, l'échange de contenu via XML ainsi que son agrégation dans une idée d'abonnement.


Plus simple, le protocole Gemini permet de créer un flux automatiquement à partir de quelques conventions de syntaxe[1]. Ancré dans la philosophie du protocole, cela constitue un moyen complémentaire et allégé aux technologies classiques.


Après une petite mise en conformité de l'index de ma capsule, me voilà donc heureux propriétaire d'un gemfeed aux normes et référencé par l'agrégateur Gemini Francophonie[2].


Structure


La spécification est relativement claire, mais manque d'une version résumée :


Le flux nécessite une URL où la première en-tête `#` sert de titre ;

Les entrées sont générées à partir des liens où le texte doit à minima débuter par une date ISO 8601 au format étendu (comprendre « avec des traits d'union »). Le reste du texte est utilisé comme titre d'entrée.


Pour le texte d'un lien comme ailleurs, je déconseille d'utiliser des caractères comme séparateur décoratif. Les différentes méthodes ont été décrites et comparées[3] en soulignant que l'usage d'un séparateur entre la date et le titre ne facilite pas le travail des liseuses (pour ne pas dire que cela constitue un obstacle).


ISO 8601 basique ou étendu


Initialement, ma capsule ne suivait pas les normes permettant d'en générer un Gemfeed automatiquement. Qu'à cela ne tienne, la conversion est facilement réalisable à l'aide de sed[4].


Les séquences à transformer sont sélectionnables à l'aide du regex étendu (acronyme ERE, différant du BRE notamment par les parenthèses et les crochets) de type `([0-9]{4})([0-9]{2})([0-9]{2}) `, une suite de 8 chiffres – découpés en 3 groupes en vue de leur division – précédés d'un espace – cet espace est important puisque permet d'écarter les dates utilisées pour les noms de fichiers. Un premier modèle était plus élégant en indiquant les chiffres via `\d` mais cela ne semble pas pris en charge dans mon cas.


La séquence de remplacement fait usage des groupes définis entre parenthèses soit `\1-\2-\3 `.


Ainsi, la commande complète de modification est `sed -E 's/([0-9]{4})([0-9]{2})([0-9]{2}) /\1-\2-\3 /g' index.gmi` (le suffixe `g` permettant de modifier toutes les séquences et pas uniquement la première).


Références


[1] Subscribing to Gemini pages, Solderpunk 2020

[2] Gemini Francophonie - Agrégateur de capsules francophone, Bacardi55 2023

[3] Gemlog Index Styles, Nordmeyer 2022

[4] Stream EDitor, LeJun 2023

-- Response ended

-- Page fetched on Sun May 19 01:34:39 2024