utiliser la dernière photo provenant de pixelfed comme image opengraph
09.09.26 · dernière modification : 09.09.26
#eleventy #open graph #javascript
Open Graph est un microformat qui fait officiel de protocole pour indiquer quelques informations affichées quand une page d'un site est partagée sur un autre site, plus spécifiquement un réseau social comme Mastodon ou un réseau publicitaire comme Facebook ou Twitter.
Cela demande d'avoir accès au code source de l'entête HTML du site, ce qu'il y a dans la balise <head />, pour y ajouter quatre balises <meta /> pour le titre, l'url, le type de contenu et une image pour faire jolie.
Ce site ne fournissait qu'une partie des informations. Il manquait une image par indécision de savoir laquelle et si éventuellement il fallait faire un peu de graphisme.
En attendant, j'avais dans l'idée d'utiliser les photos postées sur mon compte pixelfed, la version fedivers d'Instagram.
Pour faire cela bien, je voulais aussi prendre le temps d'utiliser un système de cache afin de ne pas surcharger inutilement l'instance qui héberge gracieusement mes quelques clichés.
Eleventy propose tout cela.
11ty/eleventy-fetch me permet de récupérer la liste de mes photos sous la forme d'un flux json et 11ty/eleventy-img fait la même chose avec la première photo indiquée dans le flux.
Simple as that.
Pour les détails, le code source est dans ce commit sur codeberg.
Il est un tout petit plus compliqué que nécessaire.
Les fichiers _11ty/opengraph.js et data/opengraph.js pourraient être réunis.
👋
📣
🕵️
📜