Aller au contenu

Ajouter des blogs qu'on suit avec openring

J’ai ajouté une section près du bas de page : une liste d’articles de blogs auxquels je m’abonne. Elle est générée par openring, un outil qui reçoit le flux de RSS et génère un webring.

Je l’ai découvert pendant lire le blog de Drew DeVault (qui l’a créé). Comme je pense qu’il est un moyen de soutenir les auteurs qu’on aime et cependant partager des articles géniaux aux lecteurs, alors, je l’ai ajouté dans mon blog.

Ce post va vous apprendre comment l’ajouter à votre blog.

Installer openring

Je ne suis pas sûr qu’il y ait un paquet precompilé pour openring, donc on va l’installer de la source.

Installer des dépendances

Openring dépends de golang. Quand ça marche avec go1.14, la version la plus récente sur le dépôt de mon distro Tumbleweed, mais je recommande installer la plus récente sur golang.

Vous pouvez lire l’instruction de golang.

Compiler openring de la source

D’abord, clonez le dépôt:

git clone https://git.sr.ht/~sircmpwn/openring

Après, compilez le paquet et copiez-le à /usr/local/bin pour l’exécuter :

go build -o openring
sudo cp openring /usr/local/bin/

Customiser l’apparence

Selon le README de openring :

This is a tool for generating a webring from RSS feeds, so you can link to other blogs you like on your own blog. It’s designed to be fairly simple and integrate with any static site generator. The basic usage is:

openring \
  -s https://drewdevault.com/feed.xml \
  -s https://emersion.fr/blog/rss.xml \
  -s https://danluu.com/atom.xml \
  < in.html \
  > out.html

Le fichier in.html est un modèle duquel openring génère le HTML pour le flux.

Je l’ai copié de le blog de DeVault (ne vous inquiétez pas, c’est partagé avec un licence MIT), avec des modifications :

  • J’ai mis le webring dans un div.wrapper. La class wrapper est une class dans le thème minima qui limite la largeur maximum, ce qui aide lisibilité
  • J’ai ajouté footer-col pour chaque article. Cette classe rend les articles en colonne grâce à minima.
  • J’ai ajouté une bordure pour les articles avec sass (le code est aussi basé sur celui de DeVault)
---
---

.webring {
  margin-bottom: 1rem;
  .attribution {
    float: right;
    font-size: .8rem;
    line-height: 3;
  }

  .footer-col.article {
    padding: 0.5rem;

    margin: 0 0.5rem;
    border: 0.01rem solid #333;
    @media(max-width: 640px) {
      margin: 0.5rem 0;
    }   
  }
}

Chose à faire?

Je génère le flux manuellement quand je mis mon blog à jour en ce moment. C’est probablement pas une bonne chose si je veux que le webring soit à jour même quand je ne sois pas actif. Un cronjob peut résoudre ce problème, mais je le laisse comme exercice pour les lecteurs.



Would you like to discuss this post? Email me!