* bridges: add context to detectParameters
Some bridges did not return the context parameter but they used it in
the parameters
* bridges: add context to detectParameters
Fix test for InstagramBridge
* [SitemapBridge] Add SitemapBridge
This bridge is a variant of CssSelectorBridge.
Instead of retrieving article list from home page,
retrieves article list from SEO sitemap.xml.
Requires CssSelectorBridge to be installed.
* [SitemapBridge] Code linting
* [core] support xhtml content type in FeedExpander
* [FilterBridge] change defaultValue to exampleValue
* [core] support content with child elements in FeedExpander
* added the option for a sessioncookie
with a valid cookie you can get full heise+ (paywall) articles
* formating
* lint
---------
Co-authored-by: Dag <me@dvikan.no>
When using parent element as URL selector:
* If no <a> inside some elements, ignore them
* If no <a> inside ALL elements, report an error
Fixes#3573 #issuecomment-1656943318
* [core] replace everything except bridge name to get a valid whitelist.txt
* [core] do not use hard code repository name to improve working with forks
* [core] trim bridge names from whitelist.txt to reduce chance of failure
* [CssSelectorBridge] Improvements (#3537)
* Improve parameter documentation / add tooltips
* Allow extracting content from home page instead of article page
* Keep titles from home page when every page <title> is the same
* [CssSelectorBridge] Code linting
* [CssSelectorBridge] Code linting (2)
* [CssSelectorBridge] Code linting (3)
— fix cookie pattern
– use data analytics attributes wherever possible to avoid relying on obfuscated class names
— add support for promoted offers
— include sponsored and promoted offers by default
— some additional refactoring
serialize() can return output with null bytes and other
non-text data. The prior behavior truncated data
which later results in unserialize() errors.
This happens when e.g. caching an object with a private field
or when caching e.g. a JPEG file (starts with 0xFFD8FFE1)
Fixes errors such as e.g.:
unserialize(): Error at offset 20 of 24 bytes at caches/SQLiteCache.php line 51
* [TikTokBridge] Use another way to get videos infos to include video link
* [TikTokBridge] Use cover if dynamicCover is empty
* [TikTokBridge] Add support for the rest of item params
It is possible to have a cached item with a very old mtime but it's technically expired.
So, check for presence of time and whether the time it is within 10 days
* refactor(cache): extract and encapsulate cache expiration logic
* fix: logic bug in getSimpleHTMLDOMCached
* fix: silly me, index should of course be on the key column
* silly me again, PRIMARY keys get index by default lol
* comment out the delete portion in loadData
* remove a few log statements
* tweak twitter cache timeout