đŸ’Ÿ Archived View for bwog-notes.chagratt.site â€ș 2020 â€ș arriv%C3%A9e-dun-blogroll â€ș index.gmi captured on 2021-12-04 at 18:04:22. Gemini links have been rewritten to link to archived content

View Raw

More Information

âŹ…ïž Previous capture (2021-11-30)

âžĄïž Next capture (2021-12-17)

-=-=-=-=-=-=-

Arrivée d'un blogroll

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

.

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 : Forcer uniquement certains tests unitaires avec Jasmine

Retour Ă  l'accueil

Contenu sous licence CC-BY-SA