├── .github ├── ISSUE_TEMPLATE.md └── PULL_REQUEST_TEMPLATE.md ├── LICENSE ├── README.md └── general ├── abgeordnetenwatch.de.json ├── aljazeera.com.json ├── androidpolice.com.json ├── apnews.com.json ├── apod.nasa.gov.json ├── arstechnica.json ├── bangkokpost.com.json ├── bbc.com.json ├── bgr.com.json ├── bleepingcomputer.com.json ├── breitbart.com.json ├── cnet.com.json ├── dailymail.co.uk.json ├── dailytech.com.json ├── der-farang.com.json ├── der-postillon.com.json ├── dilbert.com.json ├── discovermagazine.json ├── dorkly.com.json ├── eetimes.com.json ├── epitition.bundestag.de.json ├── explosm.net.json ├── feedblitz.com.json ├── foxnews.com.json ├── fredericksburg.com.json ├── geek.com.json ├── github.com-releases.json ├── golem.de.json ├── hackaday.com.json ├── heise.de-developer.json ├── heise.de-newsticker.json ├── heise.de-tp.json ├── heise.de-tr.json ├── heise.de.json ├── heise.de.tr.json ├── japantimes.co.jp.json ├── japantoday.com.json ├── jsonline.com.json ├── koreaherald.com.json ├── lesjoiesducode.fr-image.json ├── linuxinsider.com.json ├── managewp.org.json ├── massivelyop.com.json ├── merkur.de.json ├── moderntokyotimes.com.json ├── muckrock.com.json ├── nakedsecurity.sophos.com.json ├── nba.com.json ├── nbc12.com.json ├── networkworld.com.json ├── npr.org.json ├── oglaf.com.json ├── opensource.com.json ├── recode.net.json ├── sankakucomplex.com.json ├── scienexx.de.json ├── secureworks.com.json ├── security.nl.json ├── securityfocus.com.json ├── smashingmagazine.com.json ├── smbc-comics.com.json ├── soundandvision.com.json ├── spiegel.de.json ├── stereophile.com.json ├── sz.de.json ├── tagesspiegel.de.json ├── theatlantic.com.json ├── theguardian.com.json ├── thehill.com.json ├── thehindu.com.json ├── thehiveworks.com.json ├── themoscowtimes.com.json ├── thenewslens.com.json ├── theoatmeal.com.json ├── thestandard.com.hk.json ├── threatpost.com.json ├── time.com.json ├── titanic-magazin.de.json ├── toonpool.com.json ├── upi.com.json ├── wired.com.json ├── wonderhowto.com.json ├── wsj.com.json ├── xkcd.com.json ├── yahoo.com.json ├── zdnet.com.json └── zeit.de.json /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | **DELETE THE PREREQUISITES SECTION PRIOR TO SUBMISSION.** 3 | 4 | Please answer the following questions for yourself before submitting an issue. 5 | 6 | - [ ] I am running the latest version 7 | - [ ] I checked the documentation and found no answer 8 | - [ ] I checked to make sure that this issue has not already been filed 9 | 10 | # Expected Behavior 11 | 12 | Please describe the behavior you are expecting 13 | 14 | # Current Behavior 15 | 16 | What is the current behavior? 17 | 18 | # Recipe Code 19 | 20 | > Please help provide information about the recipe. 21 | 22 | ```json 23 | Paste recipe code here 24 | ``` 25 | 26 |
27 | Logs 28 | 29 | ``` 30 | Paste Logs here 31 | ``` 32 |
33 | 34 | ## Context 35 | 36 | Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions. 37 | 38 | * Operating System: 39 | * TTRSS version/git version: 40 | * PHP version: 41 | * Feediron Configuration: 42 | 43 | ```json 44 | Paste Global Configuration here 45 | ``` 46 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Please answer the following questions for yourself before submitting a pull request. **YOU MAY DELETE UNUSED SECTIONS.** 2 | 3 | # Recipe Submission 4 | 5 | Website: example.tld 6 | 7 | * [ ] I have made the Recipe as simple as possible ( K.I.S.S ) 8 | * [ ] I have run the Recipe myself for a period of time to spot any bugs 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 feediron 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Recipes for FeedIron a TT-RSS Plugin 2 | Reforge your feeds with help from the comunity. 3 | 4 | This repository is for the [Tiny Tiny RSS (tt-rss)](https://tt-rss.org/) plugin for [FeedIron](https://github.com/feediron/ttrss_plugin-feediron) and contains community derived recipies you can add in the [configuration tab](https://github.com/feediron/ttrss_plugin-feediron/blob/master/README.md#configuration-tab). 5 | 6 | ## Please read the [Submitting a new Recipe](https://github.com/feediron/feediron-recipes/wiki/Submitting-a-new-Recipe) wiki page 7 | 8 | For further details visit the main FeedIron repository 9 | -------------------------------------------------------------------------------- /general/abgeordnetenwatch.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "abgeordnetenwatch.de", 3 | "url": "abgeordnetenwatch.de", 4 | "author": "jreming85", 5 | "match": "abgeordnetenwatch.de", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@class='blog__content__inner']", 9 | "cleanup": "div[@class='well well--tabs']" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /general/aljazeera.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Jazeera", 3 | "url": "http://www.aljazeera.com", 4 | "match": "aljazeera.com", 5 | "author": "cwmke, updated by jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='article-heading']", 10 | "figure[@class='main-article-mediaCaption']", 11 | "div[@class='article-p-wrapper']" 12 | ], 13 | "cleanup": [ 14 | "div[@class='article-readToMe-share-block']", 15 | "div[@class='article-more-on-block article-shaded-blocks article-embedded-card hidden-xs']" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/androidpolice.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "androidpolice.com", 3 | "url": "androidpolice.com", 4 | "stamp": 1431452386, 5 | "author": "GoodSoulGermany", 6 | "match": "androidpolice.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "img[@class='img-hero']", 11 | "div[@class='post-content']" 12 | ], 13 | "cleanup": [ 14 | "toc", 15 | "div[contains(@class,'gallery-slider')]", 16 | "li[contains(@class,'red-bg')]", 17 | "li[contains(@class,'black-bg')]", 18 | "ul[contains(@class,'horizontal-boxes-tags')]" 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /general/apnews.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Associated Press", 3 | "url": "http://www.apnews.com", 4 | "match": "apnews.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='dtTitleContainer']", 10 | "img[@class='afkl-lazy-image primaryImage']", 11 | "div[@class='articleBody']" 12 | ], 13 | "cleanup": [ 14 | "style", 15 | "div[@class='ad-placeholder']", 16 | "script", 17 | "meta", 18 | "div[@class='ad-placeholder']", 19 | "div[@id='imageModal']", 20 | "div[@class='modal-body']", 21 | "div[@class='leftRailTags']", 22 | "div[@id='outerShareContainer']" 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /general/apod.nasa.gov.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "APOD", 3 | "url": "https://apod.nasa.gov/", 4 | "stamp": 1571047372, 5 | "author": "GregTh", 6 | "match": "apod.nasa.gov", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "body\/center[1]\/p[2]", 11 | "body\/p[1]" 12 | ], 13 | "join_element": "

" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /general/arstechnica.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "arstechnica.com", 3 | "url": "arstechnica.com", 4 | "stamp": 1470889961, 5 | "author": "cwmke", 6 | "match": "arstechnica.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[contains(@class, 'article-content')]", 10 | "multipage": { 11 | "xpath": "nav[contains(@class, 'page-numbers')]\/span\/a[last()]", 12 | "append": true, 13 | "recursive": true 14 | }, 15 | "modify": [ 16 | { 17 | "type": "regex", 18 | "pattern": "\/\\s*.*?(?:(.*?)<\\\/div>.*?<\\\/figcaption>)?\\s*<\\\/figure>\\s*<\\\/li>\/s", 19 | "replace": "
$2<\/figcaption><\/figure>" 20 | } 21 | ], 22 | "cleanup": [ 23 | "aside", 24 | "div[contains(@class, 'sidebar')]" 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /general/bangkokpost.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bangkok Post", 3 | "url": "http://www.bangkokpost.com", 4 | "match": "bangkokpost.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@class='articleContents']", 9 | "cleanup": [ 10 | "div[@class='text-size']", 11 | "div[@class='relate-story']", 12 | "div[@class='text-ads']", 13 | "script", 14 | "ul" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /general/bbc.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BBC", 3 | "url": "http://www.bbc.com", 4 | "match": "bbc.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='story-body__inner']" 10 | ], 11 | "cleanup": [ 12 | "form", 13 | "div[@class='bbccom_advert']", 14 | "script", 15 | "div[@id='topic-tags']", 16 | "div[@class='share share--lightweight show ghost-column']", 17 | "div[@id='story-more']", 18 | "div[@class='callout-box']" 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /general/bgr.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BGR", 3 | "url": "http://www.bgr.com", 4 | "match": "bgr.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "h1[@class='entry-title']", 10 | "div[@class='entry-content']" 11 | ], 12 | "cleanup": [ 13 | "div[@class='dont-miss pink-gradient']", 14 | "div[@class='embed-twitter']", 15 | "div[@class='entry-tags']" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/bleepingcomputer.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bleepingcomputer.com", 3 | "url": "bleepingcomputer.com", 4 | "author": "mcbyte-it", 5 | "match": "bleepingcomputer.com", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@class='articleBody']", 9 | "cleanup": [ 10 | "div[@class='cz-related-article-wrapp']" 11 | ] 12 | }, 13 | "modify": [ 14 | { 15 | "type": "replace", 16 | "search": [ 17 | "src=\"data:image", 18 | "data-src=" 19 | ], 20 | "replace": [ 21 | "src-old=\"data:image", 22 | "src=" 23 | ] 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /general/breitbart.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Breitbart", 3 | "url": "http://www.breitbart.com", 4 | "match": "breitbart.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "section[@id='MainW']", 9 | "cleanup": [ 10 | "footer", 11 | "div[@id='rev-content-bottom-main-column-mix']", 12 | "div[@id='cin_ps_in_article']", 13 | "section[@id='comments']", 14 | "script" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /general/cnet.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "c|net", 3 | "url": "http://www.cnet.com", 4 | "match": "cnet", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "multipage": { 9 | "xpath": "span[@section='nextpage']\/a", 10 | "append": true, 11 | "recursive": true 12 | }, 13 | "xpath": "body", 14 | "cleanup": [ 15 | "header", 16 | "div[@class='articleHead']\/h1", 17 | "nav", 18 | "div[contains(@class, 'ad-')]", 19 | "ul[@class='breadcrumb']", 20 | "div[contains(@class, 'article-byline')]", 21 | "span[@class='productSpan']", 22 | "div[contains(@class, 'related')]", 23 | "div[contains(@class, 'productList')]", 24 | "div[contains(@data-component, 'Ad')]", 25 | "span[@section='relatedFullReview']", 26 | "section[@class='dontMissRight']", 27 | "div[@class='metaData']", 28 | "div[contains(@class, 'controls')]", 29 | "div[@class='wrapper']", 30 | "li[contains(@class, 'videoSlide')]", 31 | "div[@id='loadingCircle']", 32 | "div[@class='popControls']", 33 | "div[@class='autoplayControls']", 34 | "div[@section='reviewSideNav']", 35 | "div[@data-update-area='breadcrumb']", 36 | "span[@class='credit']", 37 | "div[@section='lwrcomparable']", 38 | "div[@data-update-area='pagination']", 39 | "div[contains(@class, 'latestNews')]", 40 | "div[contains(@class, 'livefyreWrapper')]", 41 | "div[@section='author']", 42 | "div[contains(@class, 'Ad')]", 43 | "script", 44 | "a[@class='clickToEnlarge']", 45 | "div[@section='topSharebar']", 46 | "div[contains(@class, 'related')]", 47 | "div[@section='shortcodeGallery']", 48 | "footer" 49 | ] 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /general/dailymail.co.uk.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "name": "dailymail.co.uk", 4 | "url": "http://www.dailymail.co.uk", 5 | "match": "dailymail.co.uk", 6 | "author": "jreming85", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "div[@itemprop='articleBody']" 11 | ], 12 | "cleanup": [ 13 | "div[@id='inread_player_top']", 14 | "div[@class='related-carousel with-fb-or-tw news']", 15 | "div[@class='rotator bdrcc']", 16 | "div[@class='fb']" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /general/dailytech.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Daily TECH", 3 | "url": "http://www.dailytech.com", 4 | "match": "dailytech.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='NewsBodyImage']", 10 | "span[@id='lblSummary']", 11 | "span[@id='lblBody']" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /general/der-farang.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "der-farang.com", 3 | "url": "der-farang.com", 4 | "stamp": 1431452438, 5 | "author": "GoodSoulGermany", 6 | "match": "der-farang.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@id='content']", 10 | "cleanup": [ 11 | "h1", 12 | "div[@class='article-meta-wrapper']", 13 | "div[@class='share-wrapper']", 14 | "div[@class='online-subscription-wrapper']", 15 | "div[@class='banner_content_end']", 16 | "div[@class='bc-showmore-result]", 17 | "div[@class='comment-wrapper']" 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /general/der-postillon.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "der-postillon.com", 3 | "url": "der-postillon.com", 4 | "author": "GoodSoulGermany", 5 | "match": "der-postillon.com|feedproxy.google.com\/~r\/blogspot\/rkEL\/", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[contains(@class,'entry-content')]", 9 | "cleanup": "a[contains(@name,'more')]", 10 | "force_unicode": true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /general/dilbert.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dilbert Comic feed", 3 | "url": "http://dilbert.com/", 4 | "match": "feed.dilbert.com", 5 | "author": "Matthias Bilger", 6 | "stamp": 1419361984, 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "img[contains(@class,'img-comic')]/..", 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /general/discovermagazine.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AllDiscovermagazinecomContent", 3 | "url": "AllDiscovermagazinecomContent", 4 | "stamp": 1470847417, 5 | "author": "cwmke", 6 | "match": "AllDiscovermagazinecomContent", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='contentWell']", 10 | "cleanup": [ 11 | "script", 12 | "div[@class='breadcrumbs']", 13 | "div[@class='fromIssue']", 14 | "div[contains(@class, 'belowDeck')]", 15 | "h1", 16 | "div[@class='meta']", 17 | "div[@class='shareIcons']", 18 | "div[@class='categories']", 19 | "div[@class='navigation']", 20 | "div[@class='heading']", 21 | "div[contains(@id, '-ad')]", 22 | "div[@class='relatedArticles']" 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /general/dorkly.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "www.dorkly.com", 3 | "url": "www.dorkly.com", 4 | "stamp": 1424411024, 5 | "author": "Matthias Bilger", 6 | "match": "www.dorkly.com", 7 | "config": { 8 | "type": "xpath", 9 | "multipage": { 10 | "xpath": "a[contains(@data-ga-category,'Pagination') and text() = 'Next']", 11 | "append": true, 12 | "recursive": true 13 | }, 14 | "xpath": "div[contains(@class,'post-content')]" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /general/eetimes.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eetimes.com", 3 | "url": "eetimes.com", 4 | "match": "eetimes.com", 5 | "config": { 6 | "type": "xpath", 7 | "xpath": "div[@class='articleBody']", 8 | "multipage": { 9 | "xpath": "a[contains(@rel,'next')]", 10 | "append": true, 11 | "recursive": true 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /general/epitition.bundestag.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "epetitionen.bundestag.de", 3 | "url": "epetitionen.bundestag.de", 4 | "stamp": 1431452118, 5 | "author": "GoodSoulGermany", 6 | "match": "epetitionen.bundestag.de", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='detail']", 10 | "cleanup": [ 11 | "div[contains(@class,'backbutton')]", 12 | "h2", 13 | "div[contains(@class,'spacer')]", 14 | "p[contains(@class,'linkbutton')]" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /general/explosm.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "explosm.net", 3 | "url": "explosm.net", 4 | "match": "explosm.net", 5 | "config": { 6 | "type": "xpath", 7 | "xpath": "div[contains(@id,'comic-wrap')]" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /general/feedblitz.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "feedblitz.com", 3 | "url": "feedblitz.com", 4 | "stamp": 1470847946, 5 | "author": "cwmke", 6 | "match": "feedblitz.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "div[@itemprop='articleBody']" 11 | ], 12 | "cleanup": [ 13 | "script", 14 | "span[contains(@class, 'share')]", 15 | "div[contains(@class, 'share')]", 16 | "div[contains(@class, 'gallery-asset')]" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /general/foxnews.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Fox News", 3 | "url": "http://www.foxnews.com", 4 | "match": "foxnews.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='article-body']" 10 | ], 11 | "cleanup": [ 12 | "div[@class='ad-container tablet']", 13 | "div[@class='ad-container mobile']", 14 | "div[@id='ad-inread-1x1']", 15 | "div[@class='article-meta']", 16 | "div[@class='article-footer']" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /general/fredericksburg.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fredericksburg.com", 3 | "url": "http://www.fredericksburg.com", 4 | "match": "fredericksburg.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@class='main-content-wrap']", 9 | "cleanup": [ 10 | "div[@id='tncms-region-article_top']", 11 | "div[@id='tncms-region-article_top_content'", 12 | "div[@class='tncms-region hidden-print']", 13 | "div[@class='share-container content-above'", 14 | "div[@data-subscription-required-remove='']", 15 | "div[@class='expand hidden-print'", 16 | "style", 17 | "div[@id='tncms-region-article_body_top']", 18 | "div[@id='tncms-region-article_instory_top'", 19 | "div[@class='share-container content-below'", 20 | "div[@id='asset-below']" 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /general/geek.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Geek", 3 | "url": "http://www.geek.com", 4 | "match": "geek.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='articleinfo']\/figure", 10 | "div[@class='articleinfo']\/article", 11 | "span[@class='by']" 12 | ], 13 | "cleanup": [ 14 | "span[@class='red']" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /general/github.com-releases.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "\/releases\/tag\/", 3 | "url": "\/releases\/tag\/", 4 | "stamp": 1470847530, 5 | "author": "cwmke", 6 | "match": "\/releases\/tag\/", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[contains(@class, 'release-body')]", 10 | "cleanup": [ 11 | "h1" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /general/golem.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "golem.de Newsticker", 3 | "url": "http://www.golem.de/ticker/", 4 | "match": "golem0Bde0C", 5 | "author": "Matthias Bilger", 6 | "stamp": 1419361984, 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "article", 10 | "multipage": { 11 | "xpath": "ol\/li\/a[contains(@id,'atoc_')]", 12 | "append": true 13 | }, 14 | "reformat": [ 15 | { 16 | "type": "regex", 17 | "pattern": "\/(?:.*?)golem0Bde0C(.*)0Erss0Bhtml\\\/story01.htm\/", 18 | "replace": "http:\/\/www.golem.de\/$1.html" 19 | }, 20 | { 21 | "type": "replace", 22 | "search": [ 23 | "0A", 24 | "0C", 25 | "0B", 26 | "0E" 27 | ], 28 | "replace": [ 29 | "0", 30 | "\/", 31 | ".", 32 | "-" 33 | ] 34 | } 35 | ], 36 | "cleanup": [ 37 | "script", 38 | "div[contains(@class,'iqadcenter')]", 39 | "div[contains(@id,'iqadtile4')]", 40 | "div[contains(@id,'rl_afcbeco1')]", 41 | "style", 42 | "comment()", 43 | "div[starts-with(@class,'iqadtile')]", 44 | "section[@id='comments']", 45 | "header\/div[contains(@class,'htmlinline')]", 46 | "div[contains(@id,'iqadtile4gol')]", 47 | "li\/div[contains(@class,'inherititem')]", 48 | "li\/div[contains(text(),'Anzeige')]", 49 | "ul[contains(@class,'golem-gallery2-nav')]", 50 | "li[contains(@class,'golem-gallery2-footer-hide')]", 51 | "li[contains(@class,'golem-gallery2-footer-fullscreen')]", 52 | "a[contains(@class,'golem-gallery2-nojs')]\/ul\/li[not(contains(@class,'golem-gallery2-show'))]", 53 | "iframe", 54 | "ol[contains(@class,'list-pages')]", 55 | "div[contains(@class,'iqadcenter')]", 56 | "table[contains(@id,'jtoc')]" 57 | ] 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /general/hackaday.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hackaday.com", 3 | "url": "hackaday.com", 4 | "match": "hackaday.com", 5 | "config": { 6 | "type": "xpath", 7 | "xpath": "article", 8 | "cleanup": [ 9 | "ul[@class='sharing']", 10 | "ul[@class='share-post']" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /general/heise.de-developer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "heise.de\/developer", 3 | "url": "heise.de\/developer", 4 | "stamp": 1441097731, 5 | "author": "Philipp A. Baer", 6 | "match": "heise.de\/developer", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "article", 10 | "cleanup": [ 11 | "p[contains(@class,'news_datum')]", 12 | "div[contains(@class,'readspeakerr')]", 13 | "h1[contains(@class,'clear')]", 14 | "noscript", 15 | "comment()", 16 | "script", 17 | "footer" 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /general/heise.de-newsticker.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "heise.de\/newsticker", 3 | "url": "heise.de\/newsticker", 4 | "stamp": 1441097907, 5 | "author": "Philipp A. Baer", 6 | "match": "heise.de\/newsticker", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "article", 10 | "cleanup": [ 11 | "p[contains(@class,'news_datum')]", 12 | "div[contains(@class,'readspeakerr')]", 13 | "h1[contains(@class,'clear')]", 14 | "noscript", 15 | "comment()", 16 | "script", 17 | "footer" 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /general/heise.de-tp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "heise.de\/tp", 3 | "url": "heise.de\/tp", 4 | "stamp": 1441097949, 5 | "author": "Philipp A. Baer", 6 | "match": "heise.de\/tp", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[contains(@class, 'artikel')]", 10 | "multipage": { 11 | "xpath": "a[@rel='next' and text()='N\u00e4chste Seite']", 12 | "append": true, 13 | "recursive": true 14 | }, 15 | "cleanup": [ 16 | "div[@id='theodor']", 17 | "p[contains(@class, 'np')]", 18 | "div[@id='tp-bottomleiste-nt']", 19 | "p[@class='vp-top']", 20 | "p[@class='vp-bottom']", 21 | "h4[@class='hnp']" 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /general/heise.de-tr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "heise.de\/tr", 3 | "url": "heise.de\/tr", 4 | "stamp": 1441097936, 5 | "author": "Philipp A. Baer", 6 | "match": "heise.de\/tr", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@id='mitte_links']", 10 | "multipage": { 11 | "xpath": "a[contains(@class, 'seite_weiter')]", 12 | "append": true 13 | }, 14 | "cleanup": [ 15 | "ul[@class='optionen_beitrag']", 16 | "p[@class='ausgabe']", 17 | "p[@class='printversion']", 18 | "p[@class='permalink']", 19 | "nav[@class='pagenavi']" 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /general/heise.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "heise.de", 3 | "url": "heise.de", 4 | "stamp": 1599066467, 5 | "author": "uqs", 6 | "match": "heise.de", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "article", 10 | "reformat": [ 11 | { 12 | "type": "regex", 13 | "pattern": "\/\\.html\/", 14 | "replace": ".html?seite=all" 15 | } 16 | ], 17 | "modify": [ 18 | { 19 | "type": "regex", 20 | "pattern": "\/<.?noscript>\/", 21 | "replace": "" 22 | }, 23 | { 24 | "type": "regex", 25 | "pattern": "\/<.?a-(lightbox|bilderstrecke)[^>]*?>\/", 26 | "replace": "" 27 | } 28 | ], 29 | "cleanup": [ 30 | "h1[contains(@class,'a-article-header__title')]", 31 | "div[contains(@class,'a-article-header__service')]", 32 | "figure[@class='branding']", 33 | "a-collapse[contains(@class,'a-box--collapsable')]", 34 | "a-teaser", 35 | "a-ad", 36 | "aside", 37 | "a-script", 38 | "a-img", 39 | "footer" 40 | ] 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /general/heise.de.tr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "heise.de\/tr", 3 | "url": "heise.de\/tr", 4 | "stamp": 1426875509, 5 | "author": "radlerandi", 6 | "match": "heise.de\/tr", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@id='mitte_links']", 10 | "multipage": { 11 | "xpath": "a[contains(@class, 'seite_weiter')]", 12 | "append": true 13 | }, 14 | "cleanup": [ 15 | "ul[@class='optionen_beitrag']", 16 | "p[@class='ausgabe']", 17 | "p[@class='printversion']", 18 | "p[@class='permalink']", 19 | "nav[@class='pagenavi']" 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /general/japantimes.co.jp.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The Japan Times", 3 | "url": "http://www.japantimes.co.jp", 4 | "match": "japantimes.co.jp", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "article[@role='main']", 9 | "cleanup": [ 10 | "script", 11 | "div[contains(@class, 'meta')]", 12 | "header", 13 | "div[@class='clearfix']", 14 | "div[@class='OUTBRAIN']", 15 | "ul[@id='content_footer_menu']", 16 | "div[@class='article_footer_ad']", 17 | "div[@id='disqus_thread']" 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /general/japantoday.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Japan Today", 3 | "url": "http://www.japantoday.com", 4 | "match": "japantoday.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@id='article_container']", 9 | "cleanup": [ 10 | "h2", 11 | "div[@id='article_info']" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /general/jsonline.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jsonline.com", 3 | "url": "jsonline.com", 4 | "stamp": 1470847312, 5 | "match": "jsonline.com", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='main']" 10 | ], 11 | "cleanup": [ 12 | "script", 13 | "div[contains(@class, 'header')]", 14 | "div[@class='module--headline']", 15 | "div[@class='main--inlinemeta']", 16 | "div[contains(@class, 'leftcol--')]", 17 | "p[@class='main--author']", 18 | "div[@class='story--rightcol']", 19 | "div[contains(@class, 'footer')]", 20 | "div[contains(@class, 'rightcol--')]", 21 | "div[contains(@class, 'author')]", 22 | "div[@id='columnArchive']" 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /general/koreaherald.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The Korea Herald", 3 | "url": "http://www.koreaherald.com", 4 | "match": "koreaherald.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@class='content_view']", 9 | "force_charset": "utf-8" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /general/lesjoiesducode.fr-image.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lesjoiesducode image", 3 | "url": "http://lesjoiesducode.fr/", 4 | "match": "lesjoiesducode.fr", 5 | "author": "Sébastien DESTRE", 6 | "stamp": 1421759182 , 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "p[@class ='e']//img/..", 10 | "modify": [ 11 | { 12 | "type": "replace", 13 | "search": "jpg", 14 | "replace": "gif" 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/linuxinsider.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LinuxInsider", 3 | "url": "http://www.linuxinsider.com", 4 | "match": "linuxinsider.com, 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@id='story']", 9 | "cleanup": [ 10 | "h1", 11 | "div[@id='story-toolbox1']", 12 | "div[@id='story-byline']", 13 | "div[@id='story']\/p", 14 | "script", 15 | "div[@class='story-advertisement']" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/managewp.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "managewp.org", 3 | "url": "managewp.org", 4 | "stamp": 1434612232, 5 | "author": "Nguyễn Đình Quân - NARGA.NET", 6 | "match": "managewp.org", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='content']", 10 | "cleanup": [ 11 | "div[@class='details']", 12 | "ul[@class='articleinfo']" 13 | ] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /general/massivelyop.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Massively Overpowered", 3 | "url": "http://www.massivelyop.com", 4 | "match": "massivelyop.com", 5 | "author": "spinda", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "article[contains(concat(' ', normalize-space(@class), ' '), ' post ')]", 9 | "cleanup": [ 10 | "div[@class='osd-sms-wrapper']", 11 | "div[@id='wp_rp_first']", 12 | "div[@class='postinfo clearfix']" 13 | ] 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /general/merkur.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "merkur", 3 | "url": "merkur", 4 | "stamp": 1431452406, 5 | "author": "GoodSoulGermany", 6 | "match": "merkur", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "article", 10 | "cleanup": [ 11 | "div[@class='id-Article-dateActionboxCombo']" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /general/moderntokyotimes.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Modern Tokyo Times", 3 | "url": "http://moderntokyotimes.com", 4 | "match": "moderntokyotimes.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[contains(@class, 'entry-content')]", 9 | "modify": [ 10 | { 11 | "type": "replace", 12 | "search": [ 13 | "Modern Tokyo News is part of the Modern Tokyo Times group", 14 | "Modern Tokyo Times \u2013 International News and Japan News", 15 | "Modern Tokyo Times \u2013 Fashion", 16 | "Modern Tokyo News \u2013 Tokyo News and International News", 17 | "Global Security News \u2013 Geopolitics and Terrorism", 18 | "PLEASE JOIN ON TWITTER", 19 | "Modern Tokyo Times", 20 | "PLEASE JOIN ON FACEBOOK" 21 | ], 22 | "replace": [ 23 | "", 24 | "", 25 | "", 26 | "", 27 | "", 28 | "", 29 | "", 30 | "" 31 | ] 32 | } 33 | ], 34 | "cleanup": [ 35 | "a[@target='_parent']", 36 | "a[@href='http:\/\/moderntokyotimes.com\/wp-content\/uploads\/2014\/07\/mtt3.png']", 37 | "a[@href='https:\/\/twitter.com\/MTT_News']", 38 | "a[@href='https:\/\/www.facebook.com\/moderntokyotimes']" 39 | ] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /general/muckrock.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Muckrock", 3 | "url": "http://www.muckrock.com", 4 | "stamp": 1459198579, 5 | "match": "muckrock.com", 6 | "author": "cwmke", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='content']", 10 | "cleanup": [ 11 | "h1", 12 | "div[@class='secondary']", 13 | "aside" 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /general/nakedsecurity.sophos.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Naked Security by Sophos ", 3 | "url": "http://nakedsecurity.sophos.com", 4 | "match": "nakedsecurity.sophos.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "header[@class='entry-header']", 10 | "div[@class='entry-featured-image']", 11 | "div[@class='entry-content']" 12 | ], 13 | "join_element": "

", 14 | "cleanup": [ 15 | "nav[@class='navigation post-navigation']", 16 | "div[@id='newsletter-signup']", 17 | "div[@class='entry-sharing']", 18 | "div[@class='free-tools-block']", 19 | "iframe[@class='twitter-follow-button twitter-follow-button-rendered']", 20 | "div[@class='entry-tags']" 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /general/nba.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NBA", 3 | "url": "http://www.nba.com", 4 | "match": "nba.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "section[@id='nbaArticleContent']", 9 | "cleanup": [ 10 | "div[@id='nbaArticleSocialWrapper_bot']", 11 | "h5" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /general/nbc12.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NBC12", 3 | "url": "http://www.nbc12.com", 4 | "match": "nbc12.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "*[@id='WNStoryRelatedBox']", 10 | "*[@id='WNStoryBody']" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /general/networkworld.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NETWORKWORLD", 3 | "url": "http://www.networkworld.com", 4 | "match": "networkworld.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@itemprop='articleBody']", 10 | "figure[@class='hero-img']" 11 | ], 12 | "cleanup": [ 13 | "aside" 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /general/npr.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npr", 3 | "url": "http://www.npr.org", 4 | "match": "npr.org", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@id='storytext']", 9 | "cleanup": [ 10 | "div[@class='credit-caption']", 11 | "div[@class='enlarge_html']", 12 | "div[contains(@id, 'pullquote')]", 13 | "div[contains(@class, 'bucketwrap')]", 14 | "div[contains(@class, 'video')]", 15 | "div\/div\/a", 16 | "div[@class='simplenodate']" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /general/oglaf.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "oglaf.com", 3 | "url": "oglaf.com", 4 | "stamp": 1599066621, 5 | "author": "uqs", 6 | "match": "oglaf.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "img[@id='strip']", 11 | "img[@id='strip']\/@title", 12 | "img[@id='strip']\/@alt" 13 | ], 14 | "multipage": { 15 | "xpath": "a[@class='button next' and contains(translate(@href, '1234567890', '@@@@@@@@@@'),'@\/')]", 16 | "append": true, 17 | "recursive": true 18 | }, 19 | "join_element": "
" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /general/opensource.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "opensource.com", 3 | "url": "http://www.opensource.com", 4 | "match": "opensource.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "img[@class='image-full-size']", 10 | "div[contains(@class, 'field-type-text-with-summary')]" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /general/recode.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "recode.net", 3 | "url": "recode.net", 4 | "stamp": 1470847254, 5 | "match": "recode.net", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@class='l-col__main']", 9 | "cleanup": [ 10 | "script", 11 | "cite", 12 | "h4[@class='marker ']", 13 | "div[contains(@class, 'article-meta')]", 14 | "div[contains(@class, 'share')]", 15 | "div[contains(@class, 'inner-related-article')]", 16 | "div[@class='post-send-off']", 17 | "div[@class='large-12 columns']", 18 | "div[@class='section-title']", 19 | "div[@class='top-story row']", 20 | "div[@class='entry-meta']" 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /general/sankakucomplex.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sankakucomplex.com", 3 | "url": "sankakucomplex.com", 4 | "stamp": 1429730463, 5 | "author": "", 6 | "match": "sankakucomplex.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@id='posts']", 10 | "force_charset": "utf-8", 11 | "modify": [ 12 | { 13 | "type": "replace", 14 | "search": [ 15 | "\"\/\/" 16 | ], 17 | "replace": [ 18 | "\"http:\/\/" 19 | ] 20 | } 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /general/scienexx.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "scinexx.de", 3 | "url": "scinexx.de", 4 | "stamp": 1431452510, 5 | "author": "GoodSoulGermany", 6 | "match": "scinexx.de", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='standard_news']", 10 | "cleanup": [ 11 | "h2", 12 | "iframe", 13 | "script", 14 | "div[@class='g-plusone']", 15 | "a[@class='twitter-share-button']", 16 | "p[@class='copyright']", 17 | "div[@class='print_link']", 18 | "div[contains(@style,'clear:both')]", 19 | "div[contains(@class,'wide_teaser_box')]" 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /general/secureworks.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Associated Press", 3 | "url": "http://www.secureworks.com", 4 | "match": "secureworks.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "article[@id='content']" 10 | ], 11 | "cleanup": [ 12 | "ul[@class='social-networks']" 13 | ] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /general/security.nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "security.nl", 3 | "url": "security.nl", 4 | "stamp": 1640700061, 5 | "author": "Hugo Ideler", 6 | "match": "security.nl", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='posting_content']" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /general/securityfocus.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SecurityFocus", 3 | "url": "http://www.securityfocus.com", 4 | "match": "securityfocus.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "multipage": { 9 | "xpath": "div[@align='right']\/a", 10 | "append": true, 11 | "recursive": false 12 | }, 13 | "xpath": "span[@class='body']", 14 | "cleanup": [ 15 | "div[@align='right']" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/smashingmagazine.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "smashingmagazine.com", 3 | "url": "smashingmagazine.com", 4 | "stamp": 1467307920, 5 | "author": "Nguyễn Đình Quân", 6 | "match": "smashingmagazine.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "article[contains(@class,'status-publish')]", 10 | "cleanup": [ 11 | "ul[contains(@class,'pmd')]", 12 | "div[contains(@class,'ad ed')]", 13 | "div[contains(@id,'editors-note')]", 14 | "div[contains(@class,'lt')]", 15 | "a[contains(@class,'sot')]" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/smbc-comics.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "smbc-comics.com", 3 | "url": "smbc-comics.com", 4 | "stamp": 1602769833, 5 | "author": "OverZealous", 6 | "match": "smbc-comics.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "img[@id='cc-comic']", 11 | "div[@id='aftercomic']\/img", 12 | "img[@id='cc-comic']\/@title" 13 | ], 14 | "start_element": "

", 15 | "join_element": "<\/p>

", 16 | "end_element": "<\/p>" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/soundandvision.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sound & Vision", 3 | "url": "http://www.soundandvision.com", 4 | "match": "soundandvision.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "multipage": { 9 | "xpath": "a[contains(@title,'Next Page')]", 10 | "append": true, 11 | "recursive": true 12 | }, 13 | "xpath": "div[@id='left']", 14 | "cleanup": [ 15 | "div[@class='meta']", 16 | "h1", 17 | "h2", 18 | "addthis", 19 | "comment-links", 20 | "div[@class='book-navigation']", 21 | "div[@class='comment-links']" 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /general/spiegel.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "spiegel.de", 3 | "url": "spiegel.de", 4 | "stamp": 1426786325, 5 | "author": "radlerandi", 6 | "match": "spiegel.de", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@id='content-main']", 10 | "cleanup": [ 11 | "div[@id='footer']", 12 | "div[@id='spVeeseo']", 13 | "div[@id='js-article-comments-box-form']", 14 | "div[@class='spTopicMultimedia']", 15 | "div[@class='article-copyright']", 16 | "div[@class='home-link-box']", 17 | "div[@class='module-title']", 18 | "div[@class='module-subtitle']", 19 | "div[@class='blog-pager']", 20 | "div[@class='top-anchor']", 21 | "div[contains(@class, 'asset-box')]", 22 | "div[contains(@class, 'function-box')]", 23 | "div[contains(@class, 'article-newsfeed-box')]", 24 | "div[contains(@class, 'js-article-post-teaser')]", 25 | "div[contains(@class, 'social-media-box')]", 26 | "div[contains(@class, 'top-anchor')]", 27 | "div[contains(@class, 'home-link-box')]", 28 | "ul[@class='article-function-box']" 29 | ] 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /general/stereophile.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stereophile", 3 | "url": "http://www.stereophile.com", 4 | "match": "stereophile.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "div[@class='content clear-block']" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /general/sz.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sz.de", 3 | "url": "sz.de", 4 | "stamp": 1431452330, 5 | "author": "GoodSoulGermany", 6 | "match": "sz.de", 7 | "config": { 8 | "type": "xpath", 9 | "multipage": { 10 | "xpath": "a[contains(@class,'arrow') and text() = 'n\u00e4chste Seite']", 11 | "append": true, 12 | "recursive": true 13 | }, 14 | "xpath": "section[contains(@class,'body')]", 15 | "cleanup": [ 16 | "div[@class='iqad']", 17 | "span[@class='imagelabel']" 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /general/tagesspiegel.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tagesspiegel", 3 | "url": "tagesspiegel", 4 | "stamp": 1426874822, 5 | "author": "radlerandi", 6 | "match": "tagesspiegel", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "article", 10 | "multipage": { 11 | "xpath": "a[contains(@class, 'hcf-forward')]", 12 | "append": true 13 | }, 14 | "reformat": [ 15 | { 16 | "type": "regex", 17 | "pattern": "\/(?:[a-z0-9A-Z\\\/.\\:]*?)tagesspiegel0Bde0C(.*)\\\/ia1.htm\/", 18 | "replace": "http:\/\/www.tagesspiegel.de\/$1" 19 | }, 20 | { 21 | "type": "replace", 22 | "search": [ 23 | "0A", 24 | "0C", 25 | "0B", 26 | "0E" 27 | ], 28 | "replace": [ 29 | "0", 30 | "\/", 31 | ".", 32 | "-" 33 | ] 34 | } 35 | ], 36 | "cleanup": [ 37 | "div[contains(@class, 'hcf-inline-right')]", 38 | "div[contains(@class, 'hcf-links')]", 39 | "div[contains(@class, 'hcf-inline-gallery')]", 40 | "div[contains(@class, 'hcf-hidden')]", 41 | "span[contains(@class, 'date')]", 42 | "span[@class='hcf-author author']", 43 | "div[@class='hcf-subpage-titles']", 44 | "div[@class='hcf-checkpoint-wrapper']" 45 | ] 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /general/theatlantic.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TheAtlantic", 3 | "url": "TheAtlantic", 4 | "stamp": 1470847749, 5 | "author": "cwmke", 6 | "match": "TheAtlantic", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@id='site']", 10 | "cleanup": [ 11 | "div[@id='notes-branding']", 12 | "script", 13 | "gpt-ad", 14 | "header", 15 | "h1", 16 | "div[@class='byline-wrapper']", 17 | "div[@itemprop='headline']", 18 | "div[contains(@id, 'ad-')]", 19 | "div[contains(@class, 'ad-')]", 20 | "div[contains(@class, 'share')]", 21 | "div[contains(@class, 'article-cover-extra-wrapper')]", 22 | "aside[@class='callout']", 23 | "span[@class='credit']", 24 | "aside[contains(@class,'partner-box')]", 25 | "div[contains(@class, 'bottom')]", 26 | "div[contains(@id, 'bottom')]", 27 | "div[@class='right-rail-wrapper']", 28 | "div[contains(@id, 'popular')]", 29 | "div[contains(@class, 'article-tools')]", 30 | "div[@id='article-comments']", 31 | "footer", 32 | "div[@class='nav-article-wrapper']" 33 | ] 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /general/theguardian.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The Guardian", 3 | "url": "https://www.theguardian.com", 4 | "match": "theguardian.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "a[@class='article__img-container js-gallerythumbs']", 10 | "div[@class='content__article-body from-content-api js-article__body']" 11 | ], 12 | "cleanup": [ 13 | "span[@class='inline-expand-image inline-icon centered-icon rounded-icon article__fullscreen modern-visible']", 14 | "div[@class='rich-link tone-editorial--item rich-link--pillar-opinion']", 15 | "div[@class='rich-link tone-dead--item rich-link--pillar-news']", 16 | "div[@id='dfp-ad--inline3']", 17 | "span[@class='inline-arrow-in-circle inline-icon']", 18 | "div[@class='rich-link__read-more-text']", 19 | "div[@class='rich-link__arrow']", 20 | "div[@class='after-article js-after-article']", 21 | "div[@class='submeta']", 22 | "div[@data-component='share']", 23 | "div[@id='dfp-ad--inline1'" 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /general/thehill.com.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "name": "thehill.com", 4 | "url": "http://www.thehill.com", 5 | "match": "thehill.com", 6 | "author": "jreming85", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='content-wrp']", 10 | "cleanup": "div[@class='dfp-tag-wrapper']" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /general/thehindu.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The Hindu", 3 | "url": "http://www.thehindu.com", 4 | "match": "thehindu", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='article-text']", 10 | "div[@id='pic']", 11 | "div[@id='article-new-carousel']" 12 | ], 13 | "cleanup": [ 14 | "script", 15 | "div[@class='related-column']", 16 | "div[@id='articleKeywords']", 17 | "div[@class='noline']", 18 | "span", 19 | "div[@id='keywordline']", 20 | "div[@class='rel-block-sec']", 21 | "div[@class='line1A']", 22 | "div[@id='addshare']", 23 | "div[@class='line2']", 24 | "div[@class='logocode']", 25 | "div[@class='OUTBRAIN']", 26 | "div[@class='artBanTopLine']", 27 | "div[@class='banner-ad']", 28 | "div[@class='rel-block-news']", 29 | "div[@id='ad1']", 30 | "noscript", 31 | "script", 32 | "br", 33 | "a", 34 | "object" 35 | ], 36 | "modify": [ 37 | { 38 | "type": "replace", 39 | "search": [ 40 | "else if (google_ads", 41 | "google_ads", 42 | "Adjust text sizes to occupy the majority of ad space" 43 | ], 44 | "replace": [ 45 | "", 46 | "", 47 | "" 48 | ] 49 | } 50 | ] 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /general/thehiveworks.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tech@thehiveworks.com", 3 | "url": "tech@thehiveworks.com", 4 | "stamp": 1532615549, 5 | "author": "", 6 | "match": "tech@thehiveworks.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "img[@id='cc-comic']", 11 | "img[@id='cc-comic']\/@title", 12 | "div[@class='cc-newsbody']" 13 | ], 14 | "join_element": "" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /general/themoscowtimes.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The Moscow Times", 3 | "url": "http://www.themoscowtimes.com", 4 | "match": "themoscowtimes.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@class='article_main_img']", 10 | "div[@class='article_text']" 11 | ], 12 | "cleanup": [ 13 | "div[@class='articlebottom']", 14 | "p\/b", 15 | "p\/a[contains(@href, '\/article.php?id=')]", 16 | "div[@class='disqus_wrap']" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /general/thenewslens.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "thenewslens.com", 3 | "url": "thenewslens.com", 4 | "stamp": 1470847649, 5 | "author": "cwmke", 6 | "match": "thenewslens.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "div[@id='en-content']" 11 | ], 12 | "cleanup": [ 13 | "script", 14 | "p\/span", 15 | "aside" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/theoatmeal.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "oatmeal", 3 | "url": "oatmeal", 4 | "stamp": 1431452366, 5 | "author": "GoodSoulGermany", 6 | "match": "oatmeal", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@id='comic']", 10 | "cleanup": [ 11 | "div[@id='content_footer2']" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /general/thestandard.com.hk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The Standard", 3 | "url": "http://www.thestandard.com.hk", 4 | "match": "thestandard.com.hk", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "table\/tr\/td\/span[contains(@class, 'bodyCopy')]\/..\/..\/..", 9 | "cleanup": [ 10 | "script", 11 | "br", 12 | "map[@name='gif_bar']", 13 | "img[@usemap='#gif_bar']", 14 | "a", 15 | "span[@class='bodyHeadline']", 16 | "i", 17 | "b", 18 | "table" 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /general/threatpost.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Threatpost Security Blog", 3 | "url": "http://threatpost.com", 4 | "match": "threatpost.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "h1[@class='c-article__title']", 10 | "div[@class='c-article__main']" 11 | ], 12 | "cleanup": [ 13 | "footer[@class='c-article__footer']" 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /general/time.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TIME", 3 | "url": "http://time.com", 4 | "match": "time.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": "section[@class='article-body']", 9 | "cleanup": [ 10 | "script", 11 | "span[contains(@class, 'read-video-article')]", 12 | "figure[@itemprop='video']", 13 | "a[contains(@href, 'time.com')]", 14 | "div[@class='content-ad']", 15 | "div[contains(@class, 'the-brief')]", 16 | "aside", 17 | "strong", 18 | "em", 19 | "iframe" 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /general/titanic-magazin.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Titanic - Das satire Magazin", 3 | "url": "http://www.titanic-magazin.de", 4 | "match": "titanic-magazin.de", 5 | "author": "Matthias Bilger", 6 | "stamp": 1419361984, 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[contains(@class,'tt_news-bodytext')]", 10 | "cleanup": [ 11 | "script", 12 | "form", 13 | "hr", 14 | "a", 15 | "ins", 16 | "p[contains(@style,'7pt')]", 17 | "table[contains(@class,'tt_news-prevnextarticlelinks')]", 18 | "div" 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /general/toonpool.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "toonpool.com", 3 | "url": "toonpool.com", 4 | "stamp": 1431451955, 5 | "author": "GoodSoulGermany", 6 | "match": "toonpool.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "img[@id='mainImage']" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /general/upi.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "United Press International", 3 | "url": "http://www.upi.com", 4 | "match": "upi.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div\/article[@itemprop='articleBody']", 10 | "div[@class='img']" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /general/wired.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wired.com", 3 | "url": "wired.com", 4 | "stamp": 1470847712, 5 | "author": "cwmke", 6 | "match": "wired.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "article", 10 | "cleanup": [ 11 | "a[contains(@class='visually-hidden')]", 12 | "ul[contains(@class, 'metadata')]", 13 | "div[@data-js='slideCount']", 14 | "figure[@data-slide-number='_endslate']", 15 | "div[@id='related']", 16 | "img[contains(@src, '1x1')]", 17 | "a[@href='#start-of-content']" 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /general/wonderhowto.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wonderhowto.com", 3 | "url": "wonderhowto.com", 4 | "stamp": 1448989166, 5 | "author": "Nguy\u1ec5n \u0110\u00ecnh Qu\u00e2n", 6 | "match": "wonderhowto.com", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='article-container']", 10 | "cleanup": [ 11 | "iframe", 12 | "header", 13 | "footer", 14 | "div[contains(@class, 'sharedaddy')]", 15 | "section[@class='see-also-container']" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /general/wsj.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Wall Street Journal", 3 | "url": "http://www.wsj.com", 4 | "match": "wsj.com", 5 | "author": "jreming85", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[@data-module-zone='article_snippet']" 10 | ], 11 | "cleanup": [ 12 | "style", 13 | "div[@class='shareMenuInlineWrap']", 14 | "div[@class='snippet-actions']", 15 | "div[@class='wsj-snippet-related-video-wrap']", 16 | "div[@id='wsj-mobile-ad-target']", 17 | "div[@id='share-target']", 18 | "div[@data-layout='bigtophero']", 19 | "div[@class='wsj-snippet-login__stick-target']", 20 | "div[@class='paywall']", 21 | "div[@class='wsj-snippet-login']" 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /general/xkcd.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xkcd.com", 3 | "url": "xkcd.com", 4 | "author": "Matthias Bilger", 5 | "match": "xkcd.com", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "div[contains(@id,'comic')]", 10 | "div[contains(@id,'comic')]\/\/img\/@title" 11 | ], 12 | "join_element": "

" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /general/yahoo.com.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "name": "Yahoo", 4 | "url": "http://www.yahoo.com", 5 | "match": "yahoo.com", 6 | "author": "jreming85", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": [ 10 | "article[@itemprop='articleBody']" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /general/zdnet.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ZDNet", 3 | "url": "http://www.zdnet.com", 4 | "match": "zdnet.com", 5 | "author": "cwmke", 6 | "config": { 7 | "type": "xpath", 8 | "xpath": [ 9 | "p[@class='summary']", 10 | "div[contains(@class,'storyBody')]" 11 | ], 12 | "cleanup": [ 13 | "*[contains(@class,'ad-')]", 14 | "p\/span", 15 | "script", 16 | "p[@class='summary']", 17 | "div[contains(@class, 'relatedContent')]", 18 | "div[contains(@class, 'loader')]", 19 | "p[@class='photoDetails']", 20 | "div[@class='thumbnailSlider']", 21 | "div[@class='shortcodeGalleryWrapper']" 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /general/zeit.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "www.zeit.de", 3 | "url": "www.zeit.de", 4 | "stamp": 1426875674, 5 | "author": "radlerandi", 6 | "match": "www.zeit.de", 7 | "config": { 8 | "type": "xpath", 9 | "xpath": "div[@class='article']", 10 | "reformat": [ 11 | { 12 | "type": "regex", 13 | "pattern": "\/(.*)zeit.de(.*)\/", 14 | "replace": "http:\/\/www.zeit.de$2\/komplettansicht" 15 | } 16 | ], 17 | "cleanup": [ 18 | "div[@id='relatedArticles']", 19 | "span[@class='anzeige']", 20 | "div[@class='commentform']", 21 | "div[@class='home-button-article']", 22 | "div[@class='inline pic']", 23 | "div[@class='articlemeta']", 24 | "div[@class='articlefooter af']", 25 | "div[@class='reaktion']", 26 | "div[@class='recommandations']", 27 | "div[contains(@class, 'portrait')]", 28 | "div[contains(@class, 'infobox')]" 29 | ] 30 | } 31 | } 32 | --------------------------------------------------------------------------------