about summary refs log tree commit diff
path: root/content/posts/2021-01-11-openring.fr.md
blob: 7a9508ffeaac52368f63d78b4678ac8bc7db8739 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
categories: [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 reç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 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:

```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 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)

```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 sois 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/