aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2023-11-14 23:28:01 +0100
committerGravatar GitHub <noreply@github.com> 2023-11-14 23:28:01 +0100
commit618ce380e7f6a10b481b9cf32f861d1e01689505 (patch)
tree260452887226bc698d3f330f23a929ca99f4b41d
parent8631d6f80d0705debe0e8861b2633df1760a0c70 (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
-rw-r--r--README.fr.md4
-rw-r--r--README.md4
-rw-r--r--app/i18n/cz/admin.php3
-rw-r--r--app/i18n/de/admin.php3
-rw-r--r--app/i18n/el/admin.php3
-rw-r--r--app/i18n/el/sub.php2
-rw-r--r--app/i18n/en-us/admin.php3
-rw-r--r--app/i18n/en-us/sub.php2
-rw-r--r--app/i18n/en/admin.php3
-rw-r--r--app/i18n/en/sub.php2
-rw-r--r--app/i18n/es/admin.php3
-rw-r--r--app/i18n/fa/admin.php3
-rw-r--r--app/i18n/fr/admin.php7
-rw-r--r--app/i18n/fr/conf.php2
-rw-r--r--app/i18n/fr/feedback.php2
-rw-r--r--app/i18n/fr/sub.php4
-rw-r--r--app/i18n/he/admin.php3
-rw-r--r--app/i18n/he/sub.php2
-rw-r--r--app/i18n/hu/admin.php3
-rw-r--r--app/i18n/id/admin.php3
-rw-r--r--app/i18n/id/sub.php2
-rw-r--r--app/i18n/it/admin.php3
-rw-r--r--app/i18n/ja/admin.php3
-rw-r--r--app/i18n/ko/admin.php3
-rw-r--r--app/i18n/lv/admin.php3
-rw-r--r--app/i18n/nl/admin.php3
-rw-r--r--app/i18n/oc/admin.php3
-rw-r--r--app/i18n/pl/admin.php3
-rw-r--r--app/i18n/pt-br/admin.php3
-rw-r--r--app/i18n/ru/admin.php3
-rw-r--r--app/i18n/sk/admin.php3
-rw-r--r--app/i18n/tr/admin.php3
-rw-r--r--app/i18n/zh-cn/admin.php3
-rw-r--r--app/i18n/zh-tw/admin.php3
-rw-r--r--app/views/configure/system.phtml10
-rw-r--r--docs/en/users/WebSub.md54
-rw-r--r--docs/fr/users/08_PubSubHubbub.md57
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)
![Logo de FreshRSS](docs/img/FreshRSS-logo.png)
diff --git a/README.md b/README.md
index 02fc0ac01..b1fb83446 100644
--- a/README.md
+++ b/README.md
@@ -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)
![FreshRSS logo](docs/img/FreshRSS-logo.png)
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>