Des favoris Nextcloud à twtxt et dmenu
twtxt
J'utilise twtxt pour microblogguer de façon décentralisée et très très très simple.
En effet, nul besoin d'utiliser le logiciel idoine. J'utilise un script qui appelle dmenu en une fraction de secondes, twt :
#!/bin/sh # https://github.com/buckket/twtxt # # check https://galusik.fr/twtxt.txt # test -s $HOME/.dmenurc && . $HOME/.dmenurc OUTDIR=$HOME/code/www TWT=${OUTDIR}/twt/twtxt.txt PROMPT="twtxt: " MSG="$(xclip -o | dmenu -sb ${sb} -sf ${sf} -nb ${nb} -nf ${nf} -fn ${fn} -p "$PROMPT")" test -z "${MSG}" && exit printf '%s\t%s\n' "$(date +%FT%T%:Z)" "${MSG}" >> "${TWT}" # upload cd "${OUTDIR}" make twtxt
Le message formaté est copié sur un fichier local qui lui est ensuite copié sur mon serveur auto-hébergé.
De même, pour le suivi de personnes intéressantes, comme celle-ci par exemple, je me sers du flux ATOM/RSS.
Ainsi, je peux notamment partager les sites que je trouve intéressants rapidement. Je peux y ajouter des tags ou autres commentaires.
Appréciant de plus en plus la simplicité, je trouvais dommage de ne pas me servir de cette base de favoris pour mon utilisation quotidienne. J'utilisais l'application bookmarks de mon instance Nextcloud.
De nextcloud bookmarks à twtxt
J'ai exporté ma base de données Nextcloud vers le fichier bookmark.html. Un script a ensuite nettoyé ce fichier et appliqué le formatage attendu par twtxt. Voici ncbkm2twtxt :
#!/bin/sh # # ncbkm2twtxt - Tool to convert Nextcloud bookmarks.html to twtxt.txt format # date url tags # # fredg <f AT galusik.fr> # # copy this script in your BIN file like $HOME/bin # check your file name and run the script set -ue # Your nextcloud bookmarks file name BKMHTML="bookmarks.html" # OUTFILE="bkm_twtxt.txt" SED=$(whence sed) GREP=$(whence grep) AWK=$(whence awk) NOW=$(date +%FT%T%:Z) # Parse HTML file and keep urls and TAGS parts html2txt() { "${GREP}" http "${BKMHTML}" |\ awk '{ print $2, $3 }' > "${OUTFILE}" } # Cleanup and twtxt format txt2twt() { "${SED}" -i ' 1d s/HREF="//g s/"//g s/TAGS=//g s/,/ /g s/^/'"${NOW}"' /g ' "${OUTFILE}" } html2txt txt2twt # Now, you can check your file, remove unneeded bookmarks and then : # cat bkm_twtxt.txt >> /your/twtxt/file.txt
Vous obtenez le fichier bkmtwtxt.txt. Jetez y un oeil, retirez ce qui ne doit pas être public et copiez son contenu dans votre fichier twtxt.txt.
Gestion des favoris avec dmenu
dmenu est donc utilisé pour lire le fichier twtxt.txt et ne sont affichées que les lignes avec une adresse internet. Les mots clés et commentaires sont conservés afin de faciliter la recherche.
Ensuite dmenu affiche les résultats au fur et à mesure que vous tapez votre recherche. Vous sélectionnez et hop, votre navigateur s'ouvre à l'adresse choisie.
Voici le simple script qui réalise ceci, dtwtbmk :
#!/bin/sh # # use dmenu to open your bookmarks stored in your twtxt file # set -eu test -s "$HOME"/.dmenurc && . "$HOME"/.dmenurc BROWSER=firefox TWTXTPATH="$HOME/code/www/twt/" FILE=twtxt.txt TWTXT="${TWTXTPATH}"/"${FILE}" BMK="/tmp/${FILE}.$$" PROMPT="GO> " # twtxt file cleanup awk '$1 = "" ; $2 ~ /^http*/ { print $0 }' < "${TWTXT}" > "${BMK}" CMD=$(dmenu -l "${l}" -fn "${fn}" -nb "${nb}" -nf "${nf}" -sb "${sb}" -sf "${sf}" -p "${PROMPT}" "$@" < "${BMK}") # remove tags URL=$(echo "${CMD}" | awk ' { print $1 } ') "${BROWSER}" "${URL}" exit 0
Quelques liens
- Annuaire des microbloggueurs twtxt
- Une instance twtxt parmi d'autres twtxt.net