/*
 * ArraKISS; 🚀 Capsule;
 * tout; log; twtxt; à propos & contact;
 */

twtxt.txt

Un fichier twtxt est un moyen de publier des messages courts, une sorte de microblogging.  Il est possible de s'abonner aux publications d'une personne, un peu comme avec un flux RSS ou ATOM.

Ce format est très pratique pour au moins ces raisons :

Pour publier un message, il suffit de :

printf '%s\t%s\n' "$(date +%FT%T%Z)" "Message" >> twtxt.txt

Le fichier twtxt.txt peut être dépose n'importe où sur le web : serveur http, dépôt git, gemini...

J'utilise ce format pour publier des liens intéressants.

Je publie en parallèle un flux ATOM convertit avec ce script :

#!/bin/sh
# convert twtxt.txt to atom file

HEADER="<?xml version='1.0' encoding='utf-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'>
<id>https://ybad.name/twtxt.atom</id>
<title>prx's twtxt</title>
<link rel='self' type='application/atom+xml' href='https://ybad.name/twtxt.atom' />
<author><name>prx</name></author>
"

LAST="$(tail -n1 $1 | awk '{print $1}')"

printf '%s' "$HEADER"
printf '<updated>%s</updated>\n' "$LAST"

while read -r TS MSG; do
    ID=$(printf '%s' "$1 $TS $MSG" | sha256)
    printf '<entry>\n'
    printf '<id>urn:hash::sha256:%s</id>\n' "$ID"
    printf '<title type="text">%s</title>\n' "$MSG"
    printf '<updated>%s</updated>\n' "$TS"
    printf '<content type="text">%s</content>\n' "$MSG"
    printf '</entry>\n'
done < "${1}"

printf '%s' '</feed>' 
site officiel parlant du twtxt
prx's twtxt.txt
twtxt.atom