* More PHP type hints for Fever
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/4201
Related to https://github.com/FreshRSS/FreshRSS/issues/4200
* Detail
* Draft
* Progress
* More draft
* Fix thumbnail PHP type hint
https://github.com/FreshRSS/FreshRSS/issues/4215
* More types
* A bit more
* Refactor FreshRSS_Entry::fromArray
* Progress
* Starts to work
* Categories
* Fonctional
* Layout update
* Fix relative URLs
* Cache system
* Forgotten files
* Remove a debug line
* Automatic form validation of XPath expressions
* data-leave-validation
* Fix reload action
* Simpler examples
* Fix column type for PostgreSQL
* Enforce HTTP encoding
* Readme
* Fix get full content
* target="_blank"
* gitignore
* htmlspecialchars_utf8
* Implement HTML <base>
And fix/revert `xml:base` support in SimplePie e49c578817
* SimplePie upstream PR merged
https://github.com/simplepie/simplepie/pull/723
@ -15,6 +15,8 @@ Il y a une API pour les clients (mobiles), ainsi qu’une [interface en ligne de
Grâce au standard [WebSub](https://www.w3.org/TR/websub/) (anciennement [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub)),
FreshRSS est capable de recevoir des notifications push instantanées depuis les sources compatibles, telles [Mastodon](https://joinmastodon.org), [Friendica](https://friendi.ca), [WordPress](https://wordpress.org/plugins/pubsubhubbub/), Blogger, FeedBurner, 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.
Enfin, il permet l’ajout d’[extensions](#extensions) pour encore plus de personnalisation.
Les demandes de fonctionnalités, rapports de bugs, et autres contributions sont les bienvenues. Privilégiez pour cela des [demandes sur GitHub](https://github.com/FreshRSS/FreshRSS/issues).
@ -15,6 +15,8 @@ There is an API for (mobile) clients, and a [Command-Line Interface](cli/README.
Thanks to the [WebSub](https://www.w3.org/TR/websub/) standard (formerly [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub)),
FreshRSS is able to receive instant push notifications from compatible sources, such as [Mastodon](https://joinmastodon.org), [Friendica](https://friendi.ca), [WordPress](https://wordpress.org/plugins/pubsubhubbub/), Blogger, FeedBurner, 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.
Finally, it supports [extensions](#extensions) for further tuning.
Feature requests, bug reports, and other contributions are welcome. The best way to contribute is to [open an issue on GitHub](https://github.com/FreshRSS/FreshRSS/issues).
'keep_min' => 'Minimální počet článků pro ponechání',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Vymazat mezipaměť',
'clear_cache_help' => 'Vymazat mezipaměť pro tento kanál.',
'keep_min' => 'Minimale Anzahl an Artikeln, die behalten wird',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Zwischenspeicher leeren',
'clear_cache_help' => 'Zwischenspeicher für diesen Feed leeren.',
'keep_min' => 'Minimum number of articles to keep', // IGNORE
'kind' => array(
'_' => 'Type of feed source', // IGNORE
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // IGNORE
'feed_title' => array(
'_' => 'feed title', // IGNORE
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // IGNORE
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // IGNORE
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // IGNORE
),
'item_title' => array(
'_' => 'item title', // IGNORE
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // IGNORE
'keep_min' => 'Minimum number of articles to keep',
'kind' => array(
'_' => 'Type of feed source',
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)',
'feed_title' => array(
'_' => 'feed title',
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>',
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.',
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>',
),
'item_title' => array(
'_' => 'item title',
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>',
'keep_min' => 'Número mínimo de artículos a conservar',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Borrar caché',
'clear_cache_help' => 'Borrar la memoria caché de esta fuente.',
'keep_min' => 'Nombre minimum d’articles à conserver',
'kind' => array(
'_' => 'Type de source de flux',
'html_xpath' => 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' => '<dfn><ahref="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).',
'help' => 'Le résultat sera passé à la fonction <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>',
),
'item_title' => array(
'_' => 'titre de l’article',
'help' => 'Utiliser en particulier l’<ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">axe XPath</a><code>descendant::</code> comme <code>descendant::h2</code>',
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Clear cache', // TODO
'clear_cache_help' => 'Clear the cache for this feed.', // TODO
'keep_min' => 'Numero minimo di articoli da mantenere',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Clear cache', // TODO
'clear_cache_help' => 'Clear the cache for this feed.', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'keep_min' => 'Minimum aantal artikelen om te houden',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Cache leegmaken',
'clear_cache_help' => 'Cache voor deze feed leegmaken.',
'keep_min' => 'Nombre minimum d’articles de servar',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Escafar lo cache',
'clear_cache_help' => 'Escafar lo cache d’aqueste flux sul disc',
'keep_min' => 'Minimalna liczba wiadomości do do przechowywania',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Wyczyść pamięć podręczną',
'clear_cache_help' => 'Czyści pamięć podręczną tego kanału.',
'keep_min' => 'Número mínimo de artigos para manter',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Limpar o cache',
'clear_cache_help' => 'Limpar o cache em disco deste feed',
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Очистить кэш',
'clear_cache_help' => 'Очистить кэш для этой ленты.',
'keep_min' => 'Minimálny počet článkov na uchovanie',
'kind' => array(
'_' => 'Type of feed source', // TODO
'html_xpath' => array(
'_' => 'HTML + XPath (Web scraping)', // TODO
'feed_title' => array(
'_' => 'feed title', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'xpath' => 'XPath for:', // TODO
),
'rss' => 'RSS / Atom (default)', // TODO
),
'maintenance' => array(
'clear_cache' => 'Vymazať vyrovnáciu pamäť',
'clear_cache_help' => 'Vymazať vyrovnáciu pamäť pre tento kanál.',
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO
'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>', // TODO
),
'help' => '<dfn><ahref="https://www.w3.org/TR/xpath-10/"target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.', // TODO
'item' => array(
'_' => 'finding news <strong>items</strong><br/><small>(most important)</small>', // TODO
'help' => 'Example: <code>//div[@class="news-item"]</code>', // TODO
),
'item_author' => array(
'_' => 'item author', // TODO
'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>', // TODO
),
'item_categories' => 'items tags', // TODO
'item_content' => array(
'_' => 'item content', // TODO
'help' => 'Example to take the full item: <code>.</code>', // TODO
),
'item_thumbnail' => array(
'_' => 'item thumbnail', // TODO
'help' => 'Example: <code>descendant::img/@src</code>', // TODO
),
'item_timestamp' => array(
'_' => 'item date', // TODO
'help' => 'The result will be parsed by <ahref="https://php.net/strtotime"target="_blank"><code>strtotime()</code></a>', // TODO
),
'item_title' => array(
'_' => 'item title', // TODO
'help' => 'Use in particular the <ahref="https://developer.mozilla.org/docs/Web/XPath/Axes"target="_blank">XPath axis</a><code>descendant::</code> like <code>descendant::h2</code>', // TODO
),
'item_uri' => array(
'_' => 'item link (URL)', // TODO
'help' => 'Example: <code>descendant::a/@href</code>', // TODO
),
'relative' => 'XPath (relative to item) for:', // TODO