Rédigé le 10 septembre 2020 - modifié le 18 septembre 2020. Étiquettes : blog openring
L'idée de faire des liens vers d'autres blogs me trotte dans la tête depuis un moment.
Après tout, le but des blogs c'est le partage, alors renvoyer vers d'autres adresses ça fait partie du truc.
Surtout si, de proche en proche, ça vous fait découvrir d'autres blogs qui vous intéressent.
Et les blogs indépendants, c'est toujours cool.
La question était : comment faire ça bien ?
Une réponse qui me satisfait est : avec
.
Openring est un petit binaire codé en Go.
Vous lui donnez quelques flux RSS en entrée, il vous sort (via un pitit template) un html à inclure où vous voulez sur votre site statique.
L'outil aura prit soin d'aller chercher le dernier article de chaque flux puis d'extraire les URLs, le titre et le début du contenu.
Voilà c'est tout.
Peu importe votre générateur.
Et ça c'est chouette !
J'ai décidé d'inclure ce résultat en bas des articles uniquement (pour le moment, on verra plus tard si ça change).
Je présente 3 sites issus d'une liste de mes RSS.
Il sont tirés au hasard via un script (appelé à la publication, mais pour tests on peut l'utiliser à la main),
honteusement piqué à Lord, que voici :
#!/usr/bin/env bash # idée honteusement pompée sur # https://lord.re/posts/181-deploiement-hugo/ set -euo pipefail readonly BASEDIR=$(pwd) readonly OPENRING="${HOME}/MesDocs/Developpement/openring" selected_feeds="" feeds=( $(awk '/openring/ { print $1 }' "${HOME}/.newsboat/urls") ) rand_feeds=( $(shuf -e "${feeds[@]}") ) choose_feeds(){ for index in 0 1 2 do selected_feeds="-s ${rand_feeds[$index]} $selected_feeds" done } choose_feeds echo $selected_feeds ${OPENRING}/openring -n 3 \ $selected_feeds \ < ${OPENRING}/in.html \ > ${BASEDIR}/layouts/partials/openring.html
Le fichier layouts/partials/openring.html est dans mon gitignore.
Vu qu'il va changer à chaque publication, je ne vais pas m'embêter à le versionner.
Le template in.html de openring ressemble à ça, à date d'écriture de cet article :
<aside class="blogroll"> <h3>Ailleurs sur le ouaibe francophone</h3> <ul> {{range .Articles}} <li> <h4><a href="{{.Link}}" target="_blank" rel="noopener">{{.Title}}</a></h4> {{.Summary}} <br/> Via <a href="{{.SourceLink}}">{{.SourceTitle}}</a> le {{.Date.Format "2006-01-02"}} </li> {{end}} </ul> <p class="attribution"> Généré avec <a href="https://git.sr.ht/~sircmpwn/openring">openring</a> </p> </aside>
Et donc, via un petit {{ partialCached "openring.html" . }} en bas du layout des posts, sous vos yeux ébahis, une liste de 3 autres blogs.
J'utilise partialCached car le contenu ne change pas entre les pages.
J'ai failli oublier le soupçon de CSS :
.blogroll {border-bottom: 1px solid #b3b3b3; font-size:0.9rem;} .blogroll ul {list-style:none; padding: 0px;} .blogroll ul li {margin-bottom: 0.5rem;} .blogroll .attribution {text-align: right; } .blogroll h4 {margin-bottom:0px;}
Bons sauts dans les interouaibes !
-------------------------------
← Plus récent : Compresser ses pages : Le retour
→ Plus ancien : Mise à jour du design
Aléatoire : Erreur REF_NOT_FOUND avec Hugo
Contenu sous licence CC-BY-SA