--- layout: post title: "Ajouter des blogs qu'on suit avec openring" date: 2021-01-11 15:51:31 +0700 tags: rss blog openring tutorial lang: fr ref: openring-tutor categories: tech tutorial --- 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][ddvault] (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: ```bash git clone https://git.sr.ht/~sircmpwn/openring ``` Après, compilez le paquet et copiez-le à `/usr/local/bin` pour l'exécuter: ```bash 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: > > ```bash > 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][ring-tmpl] (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) ```scss --- --- .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. [openring]: https://git.sr.ht/~sircmpwn/openring [ddvault]: https://drewdevault.com/ [golang]: https://golang.org/doc/install [ring-tmpl]: https://git.sr.ht/~sircmpwn/drewdevault.com/tree/master/item/webring-in.template [whence]: /menglish/