diff options
| author | 2023-11-14 23:28:01 +0100 | |
|---|---|---|
| committer | 2023-11-14 23:28:01 +0100 | |
| commit | 618ce380e7f6a10b481b9cf32f861d1e01689505 (patch) | |
| tree | 260452887226bc698d3f330f23a929ca99f4b41d | |
| parent | 8631d6f80d0705debe0e8861b2633df1760a0c70 (diff) | |
More WebSub doc (#5862)
* More WebSub doc
* UI for WebSub + more documentation
And spellcheck Frech
* Links to WebSub doc from readme
* Add link to WebSub doc in admin interface
* Fix checkbox
* Plural
37 files changed, 191 insertions, 32 deletions
diff --git a/README.fr.md b/README.fr.md index c38d8cc8c..1e2be3dca 100644 --- a/README.fr.md +++ b/README.fr.md @@ -12,7 +12,7 @@ Il se veut léger et facile à prendre en main tout en étant un outil puissant Il permet de gérer plusieurs utilisateurs, dispose d’un mode de lecture anonyme, et supporte les étiquettes personnalisées. Il y a une API pour les clients (mobiles), ainsi qu’une [interface en ligne de commande](cli/README.md). -Grâce au standard [WebSub](https://www.w3.org/TR/websub/) (anciennement [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub)), +Grâce au standard [WebSub](https://freshrss.github.io/FreshRSS/fr/users/08_PubSubHubbub.html), FreshRSS est capable de recevoir des notifications push instantanées depuis les sources compatibles, [Friendica](https://friendi.ca), [WordPress](https://wordpress.org/plugins/pubsubhubbub/), Blogger, Medium, etc. FreshRSS supporte nativement le moissonnage du Web (Web Scraping) basique, basé sur [XPath](https://www.w3.org/TR/xpath-10/), pour les sites Web sans flux RSS / Atom. @@ -22,7 +22,7 @@ Plusieurs [méthodes de connexion](https://freshrss.github.io/FreshRSS/en/admins Enfin, FreshRSS permet l’ajout d’[extensions](#extensions) pour encore plus de personnalisation. * Site officiel : <https://freshrss.org> -* Démo : <http://demo.freshrss.org/> +* Démo : <https://demo.freshrss.org> * Licence : [GNU AGPL 3](https://www.gnu.org/licenses/agpl-3.0.fr.html)  @@ -12,7 +12,7 @@ It is lightweight, easy to work with, powerful, and customizable. It is a multi-user application with an anonymous reading mode. It supports custom tags. There is an API for (mobile) clients, and a [Command-Line Interface](cli/README.md). -Thanks to the [WebSub](https://www.w3.org/TR/websub/) standard (formerly [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub)), +Thanks to the [WebSub](https://freshrss.github.io/FreshRSS/en/users/WebSub.html) standard, FreshRSS is able to receive instant push notifications from compatible sources, such as [Friendica](https://friendi.ca), [WordPress](https://wordpress.org/plugins/pubsubhubbub/), Blogger, Medium, etc. FreshRSS natively supports basic Web scraping, based on [XPath](https://www.w3.org/TR/xpath-10/), for Web sites not providing any RSS / Atom feed. @@ -22,7 +22,7 @@ Different [login methods](https://freshrss.github.io/FreshRSS/en/admins/09_Acces Finally, FreshRSS supports [extensions](#extensions) for further tuning. * Official website: <https://freshrss.org> -* Demo: <https://demo.freshrss.org/> +* Demo: <https://demo.freshrss.org> * License: [GNU AGPL 3](https://www.gnu.org/licenses/agpl-3.0.html)  diff --git a/app/i18n/cz/admin.php b/app/i18n/cz/admin.php index e96e2ddf4..ad67d0b23 100644 --- a/app/i18n/cz/admin.php +++ b/app/i18n/cz/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Aktualizace systému', diff --git a/app/i18n/de/admin.php b/app/i18n/de/admin.php index cf14b3f75..336e7ff02 100644 --- a/app/i18n/de/admin.php +++ b/app/i18n/de/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">sind aktiv</a>', 'help' => 'So werden die <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">Nutzungsbedingungen aktiviert</a>', ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'System aktualisieren', diff --git a/app/i18n/el/admin.php b/app/i18n/el/admin.php index 03cf68227..edceeba9f 100644 --- a/app/i18n/el/admin.php +++ b/app/i18n/el/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Ενημέρωση συστήματος', diff --git a/app/i18n/el/sub.php b/app/i18n/el/sub.php index 6b7867149..6dfc9bffa 100644 --- a/app/i18n/el/sub.php +++ b/app/i18n/el/sub.php @@ -169,7 +169,7 @@ return array( 'useragent_help' => 'Example: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>', // TODO 'validator' => 'Check the validity of the feed', // TODO 'website' => 'Website URL', // TODO - 'websub' => 'Instant notification with WebSub', // TODO + 'websub' => 'Instant notifications with WebSub', // TODO ), 'import_export' => array( 'export' => 'Export', // TODO diff --git a/app/i18n/en-us/admin.php b/app/i18n/en-us/admin.php index 59f9a1a41..54cd42cbd 100644 --- a/app/i18n/en-us/admin.php +++ b/app/i18n/en-us/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // IGNORE 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // IGNORE ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // IGNORE + ), ), 'update' => array( '_' => 'Update system', // IGNORE diff --git a/app/i18n/en-us/sub.php b/app/i18n/en-us/sub.php index 848b929dc..496335e9b 100644 --- a/app/i18n/en-us/sub.php +++ b/app/i18n/en-us/sub.php @@ -169,7 +169,7 @@ return array( 'useragent_help' => 'Example: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>', // IGNORE 'validator' => 'Check the validity of the feed', // IGNORE 'website' => 'Website URL', // IGNORE - 'websub' => 'Instant notification with WebSub', // IGNORE + 'websub' => 'Instant notifications with WebSub', // IGNORE ), 'import_export' => array( 'export' => 'Export', // IGNORE diff --git a/app/i18n/en/admin.php b/app/i18n/en/admin.php index 35d0d8b2a..20fa0e6c6 100644 --- a/app/i18n/en/admin.php +++ b/app/i18n/en/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Update FreshRSS', diff --git a/app/i18n/en/sub.php b/app/i18n/en/sub.php index f57e91537..cb362bda7 100644 --- a/app/i18n/en/sub.php +++ b/app/i18n/en/sub.php @@ -169,7 +169,7 @@ return array( 'useragent_help' => 'Example: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>', 'validator' => 'Check the validity of the feed', 'website' => 'Website URL', - 'websub' => 'Instant notification with WebSub', + 'websub' => 'Instant notifications with WebSub', ), 'import_export' => array( 'export' => 'Export', diff --git a/app/i18n/es/admin.php b/app/i18n/es/admin.php index ef88875f6..1643ed814 100644 --- a/app/i18n/es/admin.php +++ b/app/i18n/es/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">está activado</a>', 'help' => 'Cómo <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">activar las Condiciones de servicio</a>', ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Actualizar sistema', diff --git a/app/i18n/fa/admin.php b/app/i18n/fa/admin.php index 5de49bd14..514074a6a 100644 --- a/app/i18n/fa/admin.php +++ b/app/i18n/fa/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => ' <a href="./?a=tos">فعال است</a>', 'help' => ' نحوه <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">فعال کردن شرایط خدمات </a>', ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => ' FreshRSS را به روز کنید', diff --git a/app/i18n/fr/admin.php b/app/i18n/fr/admin.php index 898921df8..b7178b6d1 100644 --- a/app/i18n/fr/admin.php +++ b/app/i18n/fr/admin.php @@ -161,7 +161,7 @@ return array( 'auto-update-url' => 'URL du service de mise à jour', 'base-url' => array( '_' => 'URL de la racine', - 'recommendation' => 'Recommandation automatique: <kbd>%s</kbd>', + 'recommendation' => 'Recommandation automatique : <kbd>%s</kbd>', ), 'cookie-duration' => array( 'help' => 'en secondes', @@ -187,12 +187,15 @@ return array( ), 'title' => 'Formulaire d’inscription utilisateur', ), - 'sensitive-parameter' => 'Paramètre sensible. Éditez manuallement <kbd>./data/config.php</kbd>', + 'sensitive-parameter' => 'Paramètre sensible. Éditez manuellement <kbd>./data/config.php</kbd>', 'tos' => array( 'disabled' => 'non renseigné', 'enabled' => '<a href="./?a=tos">activées</a>', 'help' => 'Comment <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">activer les conditions d’utilisation</a>', ), + 'websub' => array( + 'help' => 'À propos de <a href="https://freshrss.github.io/FreshRSS/fr/users/08_PubSubHubbub.html" target="_blank">WebSub</a>', + ), ), 'update' => array( '_' => 'Système de mise à jour', diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php index 00d0332c3..5556e468a 100644 --- a/app/i18n/fr/conf.php +++ b/app/i18n/fr/conf.php @@ -204,7 +204,7 @@ return array( 'read' => array( 'article_open_on_website' => 'lorsque l’article est ouvert sur le site d’origine', 'article_viewed' => 'lorsque l’article est affiché', - 'focus' => 'lorsque l’article est selectionné (sauf pour les flux importants)', + 'focus' => 'lorsque l’article est sélectionné (sauf pour les flux importants)', 'keep_max_n_unread' => 'Nombre maximum d’articles conservés non lus', 'scroll' => 'au défilement de la page (sauf pour les flux importants)', 'upon_gone' => 'lorsqu’il n’est plus dans le flux d’actualités en amont', diff --git a/app/i18n/fr/feedback.php b/app/i18n/fr/feedback.php index de80ec367..e24f9c280 100644 --- a/app/i18n/fr/feedback.php +++ b/app/i18n/fr/feedback.php @@ -61,7 +61,7 @@ return array( 'feeds_imported_with_errors' => 'Vos flux ont été importés mais des erreurs sont survenues. Si vous avez fini vos importations, vous pouvez cliquer le bouton <i>Actualiser flux</i>.', 'file_cannot_be_uploaded' => 'Le fichier ne peut pas être téléchargé !', 'no_zip_extension' => 'L’extension ZIP n’est pas présente sur votre serveur.', - 'zip_error' => 'Une erreur est survenue durant le traintement du fichier ZIP.', + 'zip_error' => 'Une erreur est survenue durant le traitement du fichier ZIP.', ), 'profile' => array( 'error' => 'Votre profil n’a pas pu être mis à jour', diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php index 9ec9ad5f7..31499d288 100644 --- a/app/i18n/fr/sub.php +++ b/app/i18n/fr/sub.php @@ -78,7 +78,7 @@ return array( '_' => 'HTML + XPath (Moissonnage du Web)', 'feed_title' => array( '_' => 'titre de flux', - 'help' => 'Exemple : <code>//title</code> ou un text statique : <code>"Mon flux personnalisé"</code>', + 'help' => 'Exemple : <code>//title</code> ou un texte statique : <code>"Mon flux personnalisé"</code>', ), 'help' => '<dfn><a href="https://www.w3.org/TR/xpath-10/" target="_blank">XPath 1.0</a></dfn> est un langage de requête pour les utilisateurs avancés, supporté par FreshRSS pour le moissonnage du Web (Web scraping).', 'item' => array( @@ -169,7 +169,7 @@ return array( 'useragent_help' => 'Exemple : <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>', 'validator' => 'Vérifier la validité du flux', 'website' => 'URL du site', - 'websub' => 'Notification instantanée par WebSub', + 'websub' => 'Notifications instantanée par WebSub', ), 'import_export' => array( 'export' => 'Exporter', diff --git a/app/i18n/he/admin.php b/app/i18n/he/admin.php index 438e8ef36..22a49e126 100644 --- a/app/i18n/he/admin.php +++ b/app/i18n/he/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'מערכת העדכון', diff --git a/app/i18n/he/sub.php b/app/i18n/he/sub.php index 3c1b65b87..7e782b091 100644 --- a/app/i18n/he/sub.php +++ b/app/i18n/he/sub.php @@ -169,7 +169,7 @@ return array( 'useragent_help' => 'Example: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>', // TODO 'validator' => 'בדיקות תקינות ההזנה', 'website' => 'אתר URL', - 'websub' => 'Instant notification with WebSub', // TODO + 'websub' => 'Instant notifications with WebSub', // TODO ), 'import_export' => array( 'export' => 'ייצוא', diff --git a/app/i18n/hu/admin.php b/app/i18n/hu/admin.php index 25254a53e..a1c0590cf 100644 --- a/app/i18n/hu/admin.php +++ b/app/i18n/hu/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">engedélyezve</a>', 'help' => 'Hogyan kapcsoljuk be a <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">Szolgáltatási feltételeket</a>', ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'FreshRSS Frissítése', diff --git a/app/i18n/id/admin.php b/app/i18n/id/admin.php index 6e67f3339..cb7e5c17e 100644 --- a/app/i18n/id/admin.php +++ b/app/i18n/id/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Update system', // DIRTY diff --git a/app/i18n/id/sub.php b/app/i18n/id/sub.php index bc71e086e..76bef3e53 100644 --- a/app/i18n/id/sub.php +++ b/app/i18n/id/sub.php @@ -169,7 +169,7 @@ return array( 'useragent_help' => 'Example: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>', // TODO 'validator' => 'Check the validity of the feed', // TODO 'website' => 'Website URL', // TODO - 'websub' => 'Instant notification with WebSub', // TODO + 'websub' => 'Instant notifications with WebSub', // TODO ), 'import_export' => array( 'export' => 'Export', // TODO diff --git a/app/i18n/it/admin.php b/app/i18n/it/admin.php index cd625c9a3..2d0da2e02 100644 --- a/app/i18n/it/admin.php +++ b/app/i18n/it/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Aggiornamento sistema', diff --git a/app/i18n/ja/admin.php b/app/i18n/ja/admin.php index 5115a569a..98742e744 100644 --- a/app/i18n/ja/admin.php +++ b/app/i18n/ja/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'システムアップデート', diff --git a/app/i18n/ko/admin.php b/app/i18n/ko/admin.php index c24294a3d..4d6dbb1db 100644 --- a/app/i18n/ko/admin.php +++ b/app/i18n/ko/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => '업데이트', diff --git a/app/i18n/lv/admin.php b/app/i18n/lv/admin.php index 222d79091..91ce5a935 100644 --- a/app/i18n/lv/admin.php +++ b/app/i18n/lv/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">ir ieslēgts</a>', 'help' => 'Kā iespējot <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">pakalpojumu sniegšanas noteikumus</a>', ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Atjaunināt sistēmu', diff --git a/app/i18n/nl/admin.php b/app/i18n/nl/admin.php index 86b3610e5..2ce4f19ad 100644 --- a/app/i18n/nl/admin.php +++ b/app/i18n/nl/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is ingeschakeld</a>', 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">algemene voorwaarden inschakelen</a>', ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Versie controle', diff --git a/app/i18n/oc/admin.php b/app/i18n/oc/admin.php index f95f20689..358e8a054 100644 --- a/app/i18n/oc/admin.php +++ b/app/i18n/oc/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Sistèma de mesa a jorn', diff --git a/app/i18n/pl/admin.php b/app/i18n/pl/admin.php index 9bd98e510..695e04010 100644 --- a/app/i18n/pl/admin.php +++ b/app/i18n/pl/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Aktualizacja', diff --git a/app/i18n/pt-br/admin.php b/app/i18n/pt-br/admin.php index cc470b058..b4642a886 100644 --- a/app/i18n/pt-br/admin.php +++ b/app/i18n/pt-br/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Atualização do sistema', diff --git a/app/i18n/ru/admin.php b/app/i18n/ru/admin.php index 6eb26b6ac..399ecf250 100644 --- a/app/i18n/ru/admin.php +++ b/app/i18n/ru/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Обновление системы', diff --git a/app/i18n/sk/admin.php b/app/i18n/sk/admin.php index 9cac5e798..ca42ae032 100644 --- a/app/i18n/sk/admin.php +++ b/app/i18n/sk/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Aktualizácia systému', diff --git a/app/i18n/tr/admin.php b/app/i18n/tr/admin.php index d0132035d..8b34c551e 100644 --- a/app/i18n/tr/admin.php +++ b/app/i18n/tr/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => 'Sistem güncelleme', diff --git a/app/i18n/zh-cn/admin.php b/app/i18n/zh-cn/admin.php index 9160144fb..01654f358 100644 --- a/app/i18n/zh-cn/admin.php +++ b/app/i18n/zh-cn/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => '更新系统', diff --git a/app/i18n/zh-tw/admin.php b/app/i18n/zh-tw/admin.php index 0db45665c..f41634927 100644 --- a/app/i18n/zh-tw/admin.php +++ b/app/i18n/zh-tw/admin.php @@ -193,6 +193,9 @@ return array( 'enabled' => '<a href="./?a=tos">is enabled</a>', // TODO 'help' => 'How to <a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">enable the Terms of Service</a>', // TODO ), + 'websub' => array( + 'help' => 'About <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>', // TODO + ), ), 'update' => array( '_' => '更新系統', diff --git a/app/views/configure/system.phtml b/app/views/configure/system.phtml index 52fd9ee87..b1522749f 100644 --- a/app/views/configure/system.phtml +++ b/app/views/configure/system.phtml @@ -32,6 +32,16 @@ </div> <div class="form-group"> + <label class="group-name" for="websub"><?= _t('sub.feed.websub') ?></label> + <div class="group-controls"> + <input type="checkbox" id="websub" name="websub" disabled="disabled" <?= + FreshRSS_Context::$system_conf->pubsubhubbub_enabled && Minz_Request::serverIsPublic(FreshRSS_Context::$system_conf->base_url) ? 'checked="checked"' : '' ?> /> + <p class="help"><?= _i('help') ?> <?= _t('admin.system.websub.help') ?></p> + <p class="help"><?= _i('help') ?> <?= _t('admin.system.sensitive-parameter') ?></p> + </div> + </div> + + <div class="form-group"> <label class="group-name" for="auto-update-url"><?= _t('admin.system.auto-update-url') ?></label> <div class="group-controls"> <input type="text" id="auto-update-url" name="auto-update-url" value="<?= FreshRSS_Context::$system_conf->auto_update_url ?>" diff --git a/docs/en/users/WebSub.md b/docs/en/users/WebSub.md index e8499b8e5..86abcde20 100644 --- a/docs/en/users/WebSub.md +++ b/docs/en/users/WebSub.md @@ -7,20 +7,64 @@ for instance when a new article is available via RSS / ATOM. FreshRSS supports WebSub natively. Just like for the FreshRSS API to work from a mobile phone, supporting WebSub requires that your FreshRSS instance is routable (that is to say, with a public IP, that can be accessed from third-party servers). -## Examples of feeds +## WebSub terminology -Many individual feeds and platforms already offer instant notifications through WebSub, such as: -[Friendica instances](https://friendi.ca), WordPress (from WordPress.com or with [an extension](https://wordpress.org/plugins/pubsubhubbub/)), Blogger sites, Medium sites, etc. +There are tree main concepts: + +* **publisher**: Web site publishing content such as RSS / ATOM feeds; +* **subscriber**: Feed aggregator such as FreshRSS; +* **hub**: Intermediate technical component in charge of notifying all subscribers instantly when a publisher has some new content. +The same hub can serve several publishers and their subscribers. +Some publishers have a built-in hub. + +## Enabling WebSub in FreshRSS + +FreshRSS supports WebSub natively, but requires a public address (read from the `base_url` configuration), +and requires the `./FreshRSS/p/api/` folder to be publicly accessible (just like for other FreshRSS APIs). + +During the initial Web-based setup, support for WebSub is enabled if the server hosting FreshRSS appears to have a public address. +In any case, check your `./data/config.php` for: -## Test WebSub +```php +'base_url' => 'https://freshrss.example.net/', +'pubsubhubbub_enabled' => true, +``` + +Additional logs about WebSub are available in `./FreshRSS/data/users/_/log_pshb.txt` + +## Test WebSub compatibility of your FreshRSS instance You can test that WebSub works properly in your FreshRSS instance with a service such as: * <http://push-tester.cweiske.de> +When you create a new article, it should instantly be available in your FreshRSS instance. + +## Examples of feeds using WebSub + +Many individual feeds and platforms already offer instant notifications through WebSub, such as: +[Friendica instances](https://friendi.ca), WordPress (from WordPress.com or with [an extension](https://wordpress.org/plugins/pubsubhubbub/)), Blogger sites, Medium sites, etc. + +## Test WebSub compatibility of an RSS / ATOM feed + +* <https://test.livewire.io> (for any feed) +* <https://websub.rocks/publisher> (for feeds you control) + ## Add WebSub to your RSS / ATOM feeds -Your CMS (e.g. WordPress) might already offer WebSub as an option. Otherwise, you can make a solution that notifies a hub such as: +Your CMS (e.g. WordPress) might already offer WebSub as an option, such as: + +* <https://wordpress.org/plugins/pushpress/> + +Otherwise, you can make a solution that notifies a hub, such as: * <https://websubhub.com> * <https://pubsubhubbub.appspot.com> + +Or even deploy your own hub, such as: + +* <https://github.com/flusio/Webubbub> + +## Test WebSub compatibility of a hub + +* <https://websub.rocks/hub/100> diff --git a/docs/fr/users/08_PubSubHubbub.md b/docs/fr/users/08_PubSubHubbub.md index ee46916b4..b1b78330d 100644 --- a/docs/fr/users/08_PubSubHubbub.md +++ b/docs/fr/users/08_PubSubHubbub.md @@ -1,13 +1,13 @@ -# Qu’est-ce que [WebSub](https://www.w3.org/TR/websub/) ? +# Qu’est-ce que WebSub ? -Derrière ce nom (anciennement [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub)) se cache un protocole qui vient compléter Atom et RSS. +Derrière le nom de [WebSub](https://www.w3.org/TR/websub/) (anciennement [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub)) se cache un protocole qui vient compléter Atom et RSS. En effet, le fonctionnement de base de ces deux derniers implique de vérifier à intervalles réguliers s’il existe de nouveaux articles sur les sites suivis. Cela même si le site concerné n’a rien publié depuis la dernière synchronisation. Le [protocole WebSub](https://www.w3.org/TR/websub/) permet d’éviter des synchronisations inutiles en notifiant en temps réel l’agrégateur de la présence de nouveaux articles. ## Fonctionnement de WebSub -On va retrouver trois notions dans WebSub : les éditeurs (les sites qui publient du contenu), les abonnés (les agrégateurs de flux RSS) et les hubs. +On va retrouver trois notions dans WebSub : **les éditeurs** (les sites qui publient du contenu comme des flux ATOM / RSS), **les abonnés** (les agrégateurs de flux RSS comme FreshRSS), et **les hubs**. Lorsqu’un agrégateur s’abonne à un site et récupère son flux RSS, il peut y trouver l’adresse d’un hub. Si c’est le cas — car un site peut ne pas en préciser —, l’agrégateur va s’abonner au hub et non pas à l’éditeur directement. @@ -15,21 +15,54 @@ Ainsi, lorsqu’un éditeur va publier du contenu, il va notifier le hub qui va Pour pouvoir être notifié, les abonnés doivent fournir une adresse accessible publiquement sur Internet. -## WebSub et FreshRSS +## Activer WebSub dans FreshRSS -Depuis la version 1.1.2-beta, FreshRSS supporte officiellement WebSub. -Vous pouvez donc recevoir en temps réel les articles des sites qui affichent dans leur flux RSS un « hub », -tels [Friendica](https://friendi.ca), WordPress (WordPress.com ou avec [une extension](https://wordpress.org/plugins/pubsubhubbub/)), Blogger, Medium, etc. +FreshRSS supporte nativement WebSub, mais requiert une addresse publique (lu depuis la configuration `base_url`), +et requiert aussi aussi que le répertoire `./FreshRSS/p/api/` soit accessible publiquement (comme pour les autres APIs de FreshRSS). + +Durant l’installation Web initiale, le support de WebSub est activé si le serveur semble avoir une adresse publique. +Dans tous les cas, vérifiez votre `./data/config.php` pour : + +```php +'base_url' => 'https://freshrss.example.net/', +'pubsubhubbub_enabled' => true, +``` + +Des logs supplémentaires relatifs à WebSub sont consultables dans `./FreshRSS/data/users/_/log_pshb.txt` + +## Tester la compatibilité WebSub de votre instance FreshRSS + +Vous pouvez tester que le support WebSub de votre instance FreshRSS est correct avec un service comme : + +* <http://push-tester.cweiske.de> + +Quand vous y créez un nouvel article, celui-ci devrait être immédiatement disponible dans votre FreshRSS. -## Tester WebSub +## Tester la compatibilité WebSub d’un flux RSS / ATOM -Vous pouver tester que le support WebSub de votre instance FreshRSS est correct avec un service comme : +* <https://test.livewire.io> (pour n’importe quel flux) +* <https://websub.rocks/publisher> (pour les flux que vous contrôlez) -* <http://push-tester.cweiske.de/> +## Exemples de flux utilisant WebSub + +Vous pouvez recevoir en temps réel les articles des sites qui affichent dans leur flux RSS un « hub », +tels [Friendica](https://friendi.ca), WordPress (WordPress.com ou avec [une extension](https://wordpress.org/plugins/pubsubhubbub/)), Blogger, Medium, etc. ## Ajouter WebSub à votre flux RSS / ATOM -Votre CMS (par exemple WordPress) supporte peut-être déjà WebSub en option. Sinon, vous pouvez faire une solution qui notifie un hub tel : +Votre CMS (par exemple WordPress) supporte peut-être déjà WebSub en option, comme : + +* <https://wordpress.org/plugins/pushpress/> + +Sinon, vous pouvez faire une solution qui notifie un hub, comme : -* <https://websubhub.com/> +* <https://websubhub.com> * <https://pubsubhubbub.appspot.com> + +Ou encore déployer votre propre hub, comme : + +* <https://github.com/flusio/Webubbub> + +## Tester la compatibilité WebSub d’un hub + +* <https://websub.rocks/hub/100> |
