blog/content/posts/2021-01-11-openring.fr.md

3.2 KiB

category date lang tags title translationKey
blog 2021-01-11 15:51:31 +0700 fr
rss
blog
openring
tutorial
Ajouter des blogs qu'on suit avec openring openring-tutor

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 réç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 la 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 license 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 le largeur maximum, ce qui aide lisibilité
  • J'ai ajouté footer-col pour chaque article. Cette classe rendre les articles en colonne grâce à minima.
  • J'ai ajouté une bordure pour les article 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 suis pas actif. Un cronjob peut résoudre ce problème, mais je le laisse comme exercice pour les lecteurs.