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

114 lines
3.2 KiB
Markdown

---
category: blog
date: 2021-01-11 15:51:31 +0700
lang: fr
tags: [rss, blog, openring, tutorial]
title: "Ajouter des blogs qu'on suit avec openring"
translationKey: "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][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/