- écoute freshrss:load-more sur document (script async possiblement exécuté avant le parsing de <body>) - ne replie jamais après coup un article qui commence au-dessus de l'écran : la page sauterait et des articles non vus seraient marqués lus - README : l'image officielle n'a pas git, installation depuis l'hôte Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Read More — extension FreshRSS
Replie les articles du mode lecture à une hauteur réduite, avec un bouton « Lire plus » qui déroule l'article complet sur place.
Objectif : parcourir rapidement une liste d'articles (newsletters de veille, sur smartphone notamment) et passer au suivant d'un geste quand le sujet n'intéresse pas. Le passage automatique en « lu » au défilement continue de fonctionner : un article replié est simplement plus court, il est donc marqué lu plus tôt.
Prérequis
- FreshRSS 1.30.4 ou plus récent.
- Option FreshRSS Configuration → Lecture → Marquer un article comme lu… « au défilement de la page » activée (sinon rien n'est marqué lu au défilement, avec ou sans cette extension).
Installation (Docker)
Le dépôt est directement le dossier de l'extension. L'image officielle
freshrss/freshrss ne contient pas git : on clone depuis l'hôte dans le
volume monté sur /var/www/FreshRSS/extensions.
Volume monté depuis un dossier de l'hôte (./extensions:/var/www/FreshRSS/extensions) :
git clone https://git.siteop.biz/vincentb99/freshrss-read-more.git ./extensions/freshrss-read-more
Volume Docker nommé (ex. freshrss_extensions) :
docker run --rm -v freshrss_extensions:/ext alpine/git \
clone https://git.siteop.biz/vincentb99/freshrss-read-more.git /ext/freshrss-read-more
Les fichiers doivent être lisibles par le serveur web du conteneur (c'est le cas par défaut d'un clone). Puis dans FreshRSS : Configuration → Extensions → Read More → activer.
Mise à jour
Même principe, depuis l'hôte :
git -C ./extensions/freshrss-read-more pull
# ou, volume nommé :
docker run --rm -v freshrss_extensions:/ext alpine/git -C /ext/freshrss-read-more pull
puis recharger la page dans le navigateur.
Réglage
Icône engrenage de l'extension : hauteur repliée en pixels (250 par défaut, entre 100 et 2000). Un article dont le contenu fait moins de 1,5 × cette hauteur n'est pas replié.
Comportement
- Mode lecture uniquement ; vues normale et globale inchangées.
- « Lire plus » déplie sur place, sans recharger ni modifier l'état lu/non lu.
- Les articles chargés au fil du défilement sont repliés aussi.
Développement
npm install
npm run test:unit # tests unitaires (jsdom)
bash tests/e2e/setup.sh # FreshRSS 1.30.4 de test sur http://localhost:8080
npx playwright install chromium
npm run test:e2e # tests bout-en-bout
bash tests/e2e/setup.sh --down # arrêt et nettoyage
Licence
MIT