diff options
author | Nicolas LÅ“uillet <nicolas.loeuillet@smile.fr> | 2014-10-10 13:33:54 +0200 |
---|---|---|
committer | Nicolas LÅ“uillet <nicolas.loeuillet@smile.fr> | 2014-10-10 13:33:54 +0200 |
commit | 44d35257e805856b4913c63fcbed3c0acb64bae8 (patch) | |
tree | 11e9d276c34b1b287706cb61182bdc71729661e2 | |
parent | af8292c1de1886cd975d79f0f42df40e0bd1c5bd (diff) | |
parent | cf8a5e1eedbed484dbcb1ddc9f7a13fc19b7a27b (diff) | |
download | wallabag-44d35257e805856b4913c63fcbed3c0acb64bae8.tar.gz wallabag-44d35257e805856b4913c63fcbed3c0acb64bae8.tar.zst wallabag-44d35257e805856b4913c63fcbed3c0acb64bae8.zip |
Merge branch 'dev'1.8.0
1012 files changed, 10188 insertions, 7222 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9ccb0b14..58bc7134 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md | |||
@@ -26,3 +26,5 @@ Note : If you have large portions of text, use [Github's Gist service](https://g | |||
26 | 26 | ||
27 | ## You want to fix a bug or to add a feature | 27 | ## You want to fix a bug or to add a feature |
28 | Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**. | 28 | Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**. |
29 | |||
30 | [Don't forget to read our guidelines](https://github.com/wallabag/wallabag/blob/dev/GUIDELINES.md). \ No newline at end of file | ||
@@ -1,14 +1,19 @@ | |||
1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | 1 | Copyright (c) 2013-2014 Nicolas LÅ“uillet |
2 | Version 2, December 2004 | ||
3 | 2 | ||
4 | Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy |
4 | of this software and associated documentation files (the "Software"), to deal | ||
5 | in the Software without restriction, including without limitation the rights | ||
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
7 | copies of the Software, and to permit persons to whom the Software is furnished | ||
8 | to do so, subject to the following conditions: | ||
5 | 9 | ||
6 | Everyone is permitted to copy and distribute verbatim or modified | 10 | The above copyright notice and this permission notice shall be included in all |
7 | copies of this license document, and changing it is allowed as long | 11 | copies or substantial portions of the Software. |
8 | as the name is changed. | ||
9 | |||
10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | ||
11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
12 | |||
13 | 0. You just DO WHAT THE FUCK YOU WANT TO. | ||
14 | 12 | ||
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
19 | THE SOFTWARE. \ No newline at end of file | ||
@@ -1,7 +1,6 @@ | |||
1 | wallabag is based on : | 1 | wallabag is based on : |
2 | * PHP Readability https://bitbucket.org/fivefilters/php-readability | 2 | * PHP Readability https://bitbucket.org/fivefilters/php-readability |
3 | * Full Text RSS http://code.fivefilters.org/full-text-rss/src | 3 | * Full Text RSS http://code.fivefilters.org/full-text-rss/src |
4 | * Encoding https://github.com/neitanod/forceutf8 | ||
5 | * logo by Maylis Agniel https://github.com/wallabag/logo | 4 | * logo by Maylis Agniel https://github.com/wallabag/logo |
6 | * icons http://icomoon.io | 5 | * icons http://icomoon.io |
7 | * PHP Simple HTML DOM Parser (for Pocket import) http://simplehtmldom.sourceforge.net/ | 6 | * PHP Simple HTML DOM Parser (for Pocket import) http://simplehtmldom.sourceforge.net/ |
@@ -11,6 +10,8 @@ wallabag is based on : | |||
11 | * Pagination https://github.com/daveismyname/pagination | 10 | * Pagination https://github.com/daveismyname/pagination |
12 | * PHPePub https://github.com/Grandt/PHPePub/ | 11 | * PHPePub https://github.com/Grandt/PHPePub/ |
13 | 12 | ||
14 | wallabag is developed by Nicolas LÅ“uillet under the Do What the Fuck You Want to Public License | 13 | wallabag is mainly developed by Nicolas LÅ“uillet under the MIT License |
14 | |||
15 | Thank you so much to @tcitworld and @mariroz. | ||
15 | 16 | ||
16 | Contributors : https://github.com/wallabag/wallabag/graphs/contributors | 17 | Contributors : https://github.com/wallabag/wallabag/graphs/contributors |
diff --git a/GUIDELINES.md b/GUIDELINES.md new file mode 100644 index 00000000..51e0de93 --- /dev/null +++ b/GUIDELINES.md | |||
@@ -0,0 +1,53 @@ | |||
1 | # Guidelines for wallabag | ||
2 | |||
3 | If you want to contribute to wallabag, you have some rules to respect. These rules were defined by [PHP Framework Interop Group](http://www.php-fig.org). | ||
4 | |||
5 | ## Basic Coding Standard (PSR-1) | ||
6 | |||
7 | This section of the standard comprises what should be considered the standard coding elements that are required to ensure a high level of technical interoperability between shared PHP code. | ||
8 | |||
9 | * Files MUST use only `<?php` and `<?=` tags. | ||
10 | |||
11 | * Files MUST use only UTF-8 without BOM for PHP code. | ||
12 | |||
13 | * Files SHOULD either declare symbols (classes, functions, constants, etc.) or cause side-effects (e.g. generate output, change .ini settings, etc.) but SHOULD NOT do both. | ||
14 | |||
15 | * Namespaces and classes MUST follow [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md). | ||
16 | |||
17 | * Class names MUST be declared in `StudlyCaps`. | ||
18 | |||
19 | * Class constants MUST be declared in all upper case with underscore separators. | ||
20 | |||
21 | * Method names MUST be declared in `camelCase`. | ||
22 | |||
23 | You can read details on [PHP FIG website](http://www.php-fig.org/psr/psr-1/). | ||
24 | |||
25 | ## Coding Style Guide (PSR-2) | ||
26 | |||
27 | This guide extends and expands on PSR-1, the basic coding standard. | ||
28 | |||
29 | The intent of this guide is to reduce cognitive friction when scanning code from different authors. It does so by enumerating a shared set of rules and expectations about how to format PHP code. | ||
30 | |||
31 | The style rules herein are derived from commonalities among the various member projects. When various authors collaborate across multiple projects, it helps to have one set of guidelines to be used among all those projects. Thus, the benefit of this guide is not in the rules themselves, but in the sharing of those rules. | ||
32 | |||
33 | * Code MUST follow PSR-1. | ||
34 | |||
35 | * Code MUST use 4 spaces for indenting, not tabs. | ||
36 | |||
37 | * There MUST NOT be a hard limit on line length; the soft limit MUST be 120 characters; lines SHOULD be 80 characters or less. | ||
38 | |||
39 | * There MUST be one blank line after the `namespace` declaration, and there MUST be one blank line after the block of `use` declarations. | ||
40 | |||
41 | * Opening braces for classes MUST go on the next line, and closing braces MUST go on the next line after the body. | ||
42 | |||
43 | * Opening braces for methods MUST go on the next line, and closing braces MUST go on the next line after the body. | ||
44 | |||
45 | * Visibility MUST be declared on all properties and methods; `abstract` and `final` MUST be declared before the visibility; `static` MUST be declared after the visibility. | ||
46 | |||
47 | * Control structure keywords MUST have one space after them; method and function calls MUST NOT. | ||
48 | |||
49 | * Opening braces for control structures MUST go on the same line, and closing braces MUST go on the next line after the body. | ||
50 | |||
51 | * Opening parentheses for control structures MUST NOT have a space after them, and closing parentheses for control structures MUST NOT have a space before. | ||
52 | |||
53 | You can read details on [PHP FIG website](http://www.php-fig.org/psr/psr-2/). \ No newline at end of file | ||
@@ -4,7 +4,6 @@ wallabag is a self hostable application allowing you to not miss any content any | |||
4 | More informations on our website: [wallabag.org](http://wallabag.org) | 4 | More informations on our website: [wallabag.org](http://wallabag.org) |
5 | 5 | ||
6 | ## License | 6 | ## License |
7 | Copyright © 2010-2014 Nicolas Lœuillet <nicolas@loeuillet.org> | 7 | Copyright © 2013-2014 Nicolas Lœuillet <nicolas@loeuillet.org> |
8 | This work is free. You can redistribute it and/or modify it under the | 8 | This work is free. You can redistribute it and/or modify it under the |
9 | terms of the Do What The Fuck You Want To Public License, Version 2, | 9 | terms of the MIT License. See the COPYING file for more details. |
10 | as published by Sam Hocevar. See the COPYING file for more details. | ||
diff --git a/TRANSLATION.md b/TRANSLATION.md index 2e38d5cc..a033662c 100755 --- a/TRANSLATION.md +++ b/TRANSLATION.md | |||
@@ -1,10 +1,10 @@ | |||
1 | # How to manage translations of wallabag | 1 | # How to manage translations for wallabag |
2 | 2 | ||
3 | This guide will describe procedure of translation management of wallabag web application. | 3 | This guide will describe the procedure of translation management of the wallabag web application. |
4 | 4 | ||
5 | All translation are made using [gettext](http://en.wikipedia.org/wiki/Gettext) system and tools. | 5 | All translations are made using [gettext](http://en.wikipedia.org/wiki/Gettext) system and tools. |
6 | 6 | ||
7 | You will need [Poedit](http://www.poedit.net/download.php) editor to update, edit and create your translation files comfortably. In general, you can handle translations also without it: all can be done using gettext tools and your favorite plain text editor only. This guide, however, describes editing with Poedit. If you want to use gettext only, pls refer to xgettext manual page to update po files from sources (see also how it is used by Poedit below) and use msgunfmt tool to compile .mo files manually. | 7 | You will need the [Poedit](http://www.poedit.net/download.php) editor to update, edit and create your translation files easily. However, you can also handle translations also without it: all can be done using gettext tools and your favorite plain text editor only. This guide, however, describes editing with Poedit. If you want to use gettext only, please refer to the xgettext manual page to update po files from sources (see also how it is used by Poedit below) and use msgunfmt tool to compile .mo files manually. |
8 | 8 | ||
9 | You need to know, that translation phrases are stored in **".po"** files (for example: `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po`), which are then complied in **".mo"** files using **msgfmt** gettext tool or by Poedit, which will run msgfmt for you in background. | 9 | You need to know, that translation phrases are stored in **".po"** files (for example: `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po`), which are then complied in **".mo"** files using **msgfmt** gettext tool or by Poedit, which will run msgfmt for you in background. |
10 | 10 | ||
@@ -22,7 +22,7 @@ go to root of your installation of wallabag project and run next command: | |||
22 | 22 | ||
23 | `rm -rf ./cache/*` | 23 | `rm -rf ./cache/*` |
24 | 24 | ||
25 | (this may require root privileges if you run, for example Apatche web server with mod_php) | 25 | (this may require root privileges if you run, for example Apache web server with mod_php) |
26 | 26 | ||
27 | ### 2. Generate php files from all twig templates | 27 | ### 2. Generate php files from all twig templates |
28 | Do this using next command: | 28 | Do this using next command: |
@@ -31,37 +31,37 @@ Do this using next command: | |||
31 | 31 | ||
32 | OR | 32 | OR |
33 | 33 | ||
34 | from your browser: **http://your-wallabag-host.com/locale/tools/fillCache.php** (this may require removal of .htacces file in locale/ directory). | 34 | from your browser: **http://your-wallabag-host.com/locale/tools/fillCache.php** (this may require removal of .htaccess file in locale/ directory). |
35 | 35 | ||
36 | ### 3. Configure your Poedit | 36 | ### 3. Configure your Poedit |
37 | Open Poedit editor, open Edit->Preferences. Go to "Parsers" tab, click on PHP and press "Edit" button. Make sure your "Parser command:" looks like | 37 | Open Poedit editor, open Edit->Preferences. Go to "Parsers" tab, click on PHP and press "Edit" button. Make sure your "Parser command:" looks like |
38 | 38 | ||
39 | `xgettext --no-location --force-po -o %o %C %K %F` | 39 | `xgettext --no-location --force-po -o %o %C %K %F` |
40 | 40 | ||
41 | Usualy it is required to add "--no-location" to default value. | 41 | Usually it is required to add "--no-location" to default value. |
42 | 42 | ||
43 | ### 4. Open .po file you want to edit in Poedit and change it's settings | 43 | ### 4. Open .po file you want to edit in Poedit and change its settings |
44 | Open, for example `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po` file in your Poedit. | 44 | Open, for example `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po` file in your Poedit. |
45 | 45 | ||
46 | Go to "Catalog"->"Settings..." menu. Go to "Path" tab and add path to wallabag installaion in your local file system. This step can't be ommited as you will not be able to update phrases otherwise. | 46 | Go to "Catalog"->"Settings..." menu. Then go to "Path" tab and add path to wallabag installation in your local file system. This step can't be omitted as you will not be able to update phrases otherwise. |
47 | 47 | ||
48 | You can also check "project into" tab to be sure, that "Language" is set correctly (this will allow you to spell check your translation). | 48 | You can also check "project into" tab to be sure, that "Language" is set correctly (this will allow you to spell check your translation). |
49 | 49 | ||
50 | ### 5. Update opened .po file from sources | 50 | ### 5. Update opened .po file from sources |
51 | Once you have set your path correctly, you are able to update phrases from sources. Press "Update catalog - synchronize it with sources" button or go to "Catalog"->"Update from sources" menu. | 51 | Once you have set your path correctly, you are able to update phrases from sources. Press "Update catalog - synchronize it with sources" button or go to "Catalog"->"Update from sources" menu. |
52 | 52 | ||
53 | As a result you will see confirmation popup with two tabs: "New strings" and "Obsolete strings". Pls review and accept changes (or press "Undo" if you see too many obsolete strings, as Poedit will remove them all - in this case please make sure all previous steps are performed w/o errors). | 53 | As a result you will see confirmation popup with two tabs: "New strings" and "Obsolete strings". Please review and accept changes (or press "Undo" if you see too many obsolete strings, as Poedit will remove them all - in this case please make sure all previous steps are performed w/o errors). |
54 | 54 | ||
55 | ### 6. Translate and save your .po file | 55 | ### 6. Translate and save your .po file |
56 | If you have any dificulties on this step, please consult with Poedit manual. | 56 | If you have any difficulties on this step, please consult with Poedit manual. |
57 | Every time you save your .po file, Poedit will also comple appropriate .mo file by default (of course, if not disabled in preferences). | 57 | Every time you save your .po file, Poedit will also compile appropriate .mo file by default (of course, if not disabled in preferences). |
58 | 58 | ||
59 | So, you are almost done. | 59 | You are now almost done. |
60 | 60 | ||
61 | ### 7. Clear cache again | 61 | ### 7. Clear cache again |
62 | This step may be required if your web server runs php scripts in name of, say, www user (i.e. Apache with mod_php, not cgi). | 62 | This step may be required if your web server runs php scripts in name of, say, www user (i.e. Apache with mod_php, not cgi). |
63 | 63 | ||
64 | 64 | ||
65 | ##To create new translation | 65 | ##To create new translation |
66 | Please simple create appropriate directories in locale folder and perform all steps, described above. Instead of opening an existing file just create new one. | 66 | You just have to copy the folder corresponding to the language you want to translate from, change language in the project settings and for the folder and files names. Then start replacing all existing translations with your own. |
67 | 67 | ||
diff --git a/check_essentials.php b/check_essentials.php new file mode 100644 index 00000000..a47cd5a8 --- /dev/null +++ b/check_essentials.php | |||
@@ -0,0 +1,14 @@ | |||
1 | <?php | ||
2 | |||
3 | // PHP 5.3 minimum | ||
4 | if (version_compare(PHP_VERSION, '5.3.3', '<')) { | ||
5 | die('This software require PHP 5.3.3 minimum'); | ||
6 | } | ||
7 | |||
8 | // Short tags must be enabled for PHP < 5.4 | ||
9 | if (version_compare(PHP_VERSION, '5.4.0', '<')) { | ||
10 | |||
11 | if (! ini_get('short_open_tag')) { | ||
12 | die('This software require to have short tags enabled, check your php.ini => "short_open_tag = On"'); | ||
13 | } | ||
14 | } \ No newline at end of file | ||
diff --git a/check_setup.php b/check_setup.php index 2b84a744..cf02c34b 100644..100755 --- a/check_setup.php +++ b/check_setup.php | |||
@@ -1,28 +1,10 @@ | |||
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | // PHP 5.3 minimum | ||
4 | if (version_compare(PHP_VERSION, '5.3.3', '<')) { | ||
5 | die('This software require PHP 5.3.3 minimum'); | ||
6 | } | ||
7 | |||
8 | // Short tags must be enabled for PHP < 5.4 | ||
9 | if (version_compare(PHP_VERSION, '5.4.0', '<')) { | ||
10 | |||
11 | if (! ini_get('short_open_tag')) { | ||
12 | die('This software require to have short tags enabled, check your php.ini => "short_open_tag = On"'); | ||
13 | } | ||
14 | } | ||
15 | |||
16 | // Check if /cache is writeable | 3 | // Check if /cache is writeable |
17 | if (! is_writable('cache')) { | 4 | if (! is_writable('cache')) { |
18 | die('The directory "cache" must be writeable by your web server user'); | 5 | die('The directory "cache" must be writeable by your web server user'); |
19 | } | 6 | } |
20 | 7 | ||
21 | // Check if /db is writeable | ||
22 | if (! is_writable('db')) { | ||
23 | die('The directory "db" must be writeable by your web server user'); | ||
24 | } | ||
25 | |||
26 | // install folder still present, need to install wallabag | 8 | // install folder still present, need to install wallabag |
27 | if (is_dir('install')) { | 9 | if (is_dir('install')) { |
28 | require('install/index.php'); | 10 | require('install/index.php'); |
diff --git a/inc/3rdparty/FlattrItem.class.php b/inc/3rdparty/FlattrItem.class.php index 711b4ee0..ef8c62f7 100644 --- a/inc/3rdparty/FlattrItem.class.php +++ b/inc/3rdparty/FlattrItem.class.php | |||
@@ -1,28 +1,35 @@ | |||
1 | <?php | 1 | <?php |
2 | /* | 2 | /** |
3 | * Class for Flattr querying | 3 | * wallabag, self hostable application allowing you to not miss any content anymore |
4 | */ | 4 | * |
5 | class FlattrItem { | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
6 | 10 | ||
11 | class FlattrItem | ||
12 | { | ||
7 | public $status; | 13 | public $status; |
8 | public $urltoflattr; | 14 | public $urlToFlattr; |
9 | public $flattrItemURL; | 15 | public $flattrItemURL; |
10 | public $numflattrs; | 16 | public $numFlattrs; |
11 | 17 | ||
12 | public function checkItem($urltoflattr,$id) { | 18 | public function checkItem($urlToFlattr, $id) |
13 | $this->cacheflattrfile($urltoflattr, $id); | 19 | { |
20 | $this->_cacheFlattrFile($urlToFlattr, $id); | ||
14 | $flattrResponse = file_get_contents(CACHE . "/flattr/".$id.".cache"); | 21 | $flattrResponse = file_get_contents(CACHE . "/flattr/".$id.".cache"); |
15 | if($flattrResponse != FALSE) { | 22 | if($flattrResponse != FALSE) { |
16 | $result = json_decode($flattrResponse); | 23 | $result = json_decode($flattrResponse); |
17 | if (isset($result->message)){ | 24 | if (isset($result->message)) { |
18 | if ($result->message == "flattrable") { | 25 | if ($result->message == "flattrable") { |
19 | $this->status = FLATTRABLE; | 26 | $this->status = FLATTRABLE; |
20 | } | 27 | } |
21 | } | 28 | } |
22 | elseif (is_object($result) && $result->link) { | 29 | elseif (is_object($result) && $result->link) { |
23 | $this->status = FLATTRED; | 30 | $this->status = FLATTRED; |
24 | $this->flattrItemURL = $result->link; | 31 | $this->flattrItemURL = $result->link; |
25 | $this->numflattrs = $result->flattrs; | 32 | $this->numFlattrs = $result->flattrs; |
26 | } | 33 | } |
27 | else { | 34 | else { |
28 | $this->status = NOT_FLATTRABLE; | 35 | $this->status = NOT_FLATTRABLE; |
@@ -33,17 +40,18 @@ class FlattrItem { | |||
33 | } | 40 | } |
34 | } | 41 | } |
35 | 42 | ||
36 | private function cacheflattrfile($urltoflattr, $id) { | 43 | private function _cacheFlattrFile($urlToFlattr, $id) |
44 | { | ||
37 | if (!is_dir(CACHE . '/flattr')) { | 45 | if (!is_dir(CACHE . '/flattr')) { |
38 | mkdir(CACHE . '/flattr', 0777); | 46 | mkdir(CACHE . '/flattr', 0777); |
39 | } | 47 | } |
40 | 48 | ||
41 | // if a cache flattr file for this url already exists and it's been less than one day than it have been updated, see in /cache | 49 | // if a cache flattr file for this url already exists and it's been less than one day than it have been updated, see in /cache |
42 | if ((!file_exists(CACHE . "/flattr/".$id.".cache")) || (time() - filemtime(CACHE . "/flattr/".$id.".cache") > 86400)) { | 50 | if ((!file_exists(CACHE . "/flattr/".$id.".cache")) || (time() - filemtime(CACHE . "/flattr/".$id.".cache") > 86400)) { |
43 | $askForFlattr = Tools::getFile(FLATTR_API . $urltoflattr); | 51 | $askForFlattr = Tools::getFile(FLATTR_API . $urlToFlattr); |
44 | $flattrCacheFile = fopen(CACHE . "/flattr/".$id.".cache", 'w+'); | 52 | $flattrCacheFile = fopen(CACHE . "/flattr/".$id.".cache", 'w+'); |
45 | fwrite($flattrCacheFile, $askForFlattr); | 53 | fwrite($flattrCacheFile, $askForFlattr); |
46 | fclose($flattrCacheFile); | 54 | fclose($flattrCacheFile); |
47 | } | 55 | } |
48 | } | 56 | } |
49 | } \ No newline at end of file | 57 | } |
diff --git a/inc/3rdparty/Session.class.php b/inc/3rdparty/Session.class.php index 59dfbe67..b56e4c54 100644 --- a/inc/3rdparty/Session.class.php +++ b/inc/3rdparty/Session.class.php | |||
@@ -309,4 +309,38 @@ class Session | |||
309 | 309 | ||
310 | return true; // User is not banned. | 310 | return true; // User is not banned. |
311 | } | 311 | } |
312 | |||
313 | |||
314 | /** | ||
315 | * Tells if a param exists in session | ||
316 | * | ||
317 | * @param $name name of the param to test | ||
318 | * @return bool | ||
319 | */ | ||
320 | public static function isInSession($name) | ||
321 | { | ||
322 | return (isset($_SESSION[$name]) ? : FALSE); | ||
323 | } | ||
324 | |||
325 | /** | ||
326 | * Returns param in session | ||
327 | * | ||
328 | * @param $name name of the param to return | ||
329 | * @return mixed param or null | ||
330 | */ | ||
331 | public static function getParam($name) | ||
332 | { | ||
333 | return (self::isInSession($name) ? $_SESSION[$name] : NULL); | ||
334 | } | ||
335 | |||
336 | /** | ||
337 | * Store value in session | ||
338 | * | ||
339 | * @param $name name of the variable to store | ||
340 | * @param $value value to store | ||
341 | */ | ||
342 | public static function setParam($name, $value) | ||
343 | { | ||
344 | $_SESSION[$name] = $value; | ||
345 | } | ||
312 | } | 346 | } |
diff --git a/inc/3rdparty/site_config/custom/blogs.faz.net.txt b/inc/3rdparty/site_config/custom/blogs.faz.net.txt new file mode 100644 index 00000000..4f2626f1 --- /dev/null +++ b/inc/3rdparty/site_config/custom/blogs.faz.net.txt | |||
@@ -0,0 +1,45 @@ | |||
1 | # Author: zinnober | ||
2 | |||
3 | tidy: no | ||
4 | prune: no | ||
5 | |||
6 | # Set author | ||
7 | author: //a[@rel='author'] | ||
8 | |||
9 | # Set date | ||
10 | date: //span[@class='Datum'] | ||
11 | |||
12 | # Content is here | ||
13 | body: //div[@class='Artikel'] | ||
14 | |||
15 | # Tidy up before article | ||
16 | strip: //div[@id='FAZHeaderNeu'] | ||
17 | strip: //h2[@itemprop='headline'] | ||
18 | strip: //span[@class='Datum'] | ||
19 | strip: //span[@class='Autor'] | ||
20 | strip_id_or_class: ArticlePagerTop | ||
21 | strip: //div[@class='FAZArtikelEinleitung']/h2 | ||
22 | |||
23 | # General cleanup | ||
24 | strip: //div[@class='clear'] | ||
25 | strip: //span[@class='Bildnachweis'] | ||
26 | strip: //iframe | ||
27 | strip_id_or_class: Community | ||
28 | strip: ' · ' | ||
29 | |||
30 | # Remove tracking and ads | ||
31 | strip_image_src: /l.gif? | ||
32 | strip: //img[@width='1'] | ||
33 | strip_id_or_class: invisible | ||
34 | strip_id_or_class: Anzeige | ||
35 | strip_id_or_class: billboard | ||
36 | |||
37 | # Remove clutter after article | ||
38 | strip_id_or_class: Tagline | ||
39 | strip_id_or_class: ArtikelAbbinder | ||
40 | strip_id_or_class: FAZArtikelKommentare | ||
41 | strip_id_or_class: ArtikelKommentieren | ||
42 | strip_id_or_class: FAZContentRight | ||
43 | |||
44 | # Try it yourself | ||
45 | test_url: http://blogs.faz.net/wost/2014/08/17/viel-fuck-und-wenig-guter-sex-1239/ | ||
diff --git a/inc/3rdparty/site_config/standard/24ways.org.txt b/inc/3rdparty/site_config/standard/24ways.org.txt index 03bd1950..86c9e077 100644..100755 --- a/inc/3rdparty/site_config/standard/24ways.org.txt +++ b/inc/3rdparty/site_config/standard/24ways.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class='meta']/h2/a | 1 | title: //div[@class='meta']/h2/a |
2 | author: //div[@class='meta']/h2/following-sibling::p/a/text() | 2 | author: //div[@class='meta']/h2/following-sibling::p/a/text() |
3 | date://div[@class='meta']/h2/strong | 3 | date://div[@class='meta']/h2/strong |
4 | body: //div[@id='article'] | 4 | body: //div[@id='article'] |
5 | strip: //div[@class='domore'] | 5 | strip: //div[@class='domore'] |
6 | test_url: http://24ways.org/2011/composing-the-new-canon \ No newline at end of file | 6 | test_url: http://24ways.org/2011/composing-the-new-canon \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/36kr.com.txt b/inc/3rdparty/site_config/standard/36kr.com.txt new file mode 100755 index 00000000..d73d7de5 --- /dev/null +++ b/inc/3rdparty/site_config/standard/36kr.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | title: //h1[contains(@class, 'entry-title')] | ||
2 | date: //meta[@name='weibo: article:create_at']/@content | ||
3 | body: //div[contains(@class, 'mainContent')] | ||
4 | strip_id_or_class: related_topics | ||
5 | |||
6 | prune: no | ||
7 | |||
8 | test_url: http://www.36kr.com/p/207879.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/37signals.com.txt b/inc/3rdparty/site_config/standard/37signals.com.txt index 43a10ae5..531cac1e 100644..100755 --- a/inc/3rdparty/site_config/standard/37signals.com.txt +++ b/inc/3rdparty/site_config/standard/37signals.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class='post_header']//h2/a | 1 | title: //div[@class='post_header']//h2/a |
2 | author: //span[@class='author'] | 2 | author: //span[@class='author'] |
3 | date: //span[@class='date'] | 3 | date: //span[@class='date'] |
4 | body: //div[@id='Content'] | 4 | body: //div[@id='Content'] |
5 | 5 | ||
6 | test_url: http://37signals.com/svn/posts/2785-the-end-of-the-it-department \ No newline at end of file | 6 | test_url: http://37signals.com/svn/posts/2785-the-end-of-the-it-department \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/3quarksdaily.com.txt b/inc/3rdparty/site_config/standard/3quarksdaily.com.txt index c4e7940f..80a3958f 100644..100755 --- a/inc/3rdparty/site_config/standard/3quarksdaily.com.txt +++ b/inc/3rdparty/site_config/standard/3quarksdaily.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //div[@class='content'] | 1 | body: //div[@class='content'] |
2 | date: //div[@class='content']/h2 | 2 | date: //div[@class='content']/h2 |
3 | strip: //div[@class='content']/h2 | 3 | strip: //div[@class='content']/h2 |
4 | title: //div[@class='content']/h3 | 4 | title: //div[@class='content']/h3 |
5 | 5 | ||
6 | strip: //div[@id='postmenu'] | 6 | strip: //div[@id='postmenu'] |
7 | strip: //div[@class='trackback'] | 7 | strip: //div[@class='trackback'] |
8 | tidy: no | 8 | tidy: no |
9 | test_url: http://www.3quarksdaily.com/3quarksdaily/2012/01/martin-luther-king-i-have-a-dream.html \ No newline at end of file | 9 | test_url: http://www.3quarksdaily.com/3quarksdaily/2012/01/martin-luther-king-i-have-a-dream.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/3voor12.vpro.nl.txt b/inc/3rdparty/site_config/standard/3voor12.vpro.nl.txt index b846b050..b846b050 100644..100755 --- a/inc/3rdparty/site_config/standard/3voor12.vpro.nl.txt +++ b/inc/3rdparty/site_config/standard/3voor12.vpro.nl.txt | |||
diff --git a/inc/3rdparty/site_config/standard/43folders.com.txt b/inc/3rdparty/site_config/standard/43folders.com.txt index e8073f6f..3777c66f 100644..100755 --- a/inc/3rdparty/site_config/standard/43folders.com.txt +++ b/inc/3rdparty/site_config/standard/43folders.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //*[@class = 'content'] | 1 | body: //*[@class = 'content'] |
2 | author: //*[@class = 'submitted']/a | 2 | author: //*[@class = 'submitted']/a |
3 | date: substring-after(//*[@class = 'submitted']/text(), '|') | 3 | date: substring-after(//*[@class = 'submitted']/text(), '|') |
4 | test_url: http://www.43folders.com/2011/04/22/cranking \ No newline at end of file | 4 | test_url: http://www.43folders.com/2011/04/22/cranking \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/500px.com.txt b/inc/3rdparty/site_config/standard/500px.com.txt index 68e6b2d0..b9b7e9dd 100644..100755 --- a/inc/3rdparty/site_config/standard/500px.com.txt +++ b/inc/3rdparty/site_config/standard/500px.com.txt | |||
@@ -1,27 +1,27 @@ | |||
1 | # very loose setup for both 500px.com/photo/* and 500px.com/blog/* | 1 | # very loose setup for both 500px.com/photo/* and 500px.com/blog/* |
2 | # photo page example: http://500px.com/photo/4181666 | 2 | # photo page example: http://500px.com/photo/4181666 |
3 | # blog page example: http://500px.com/blog/110 | 3 | # blog page example: http://500px.com/blog/110 |
4 | 4 | ||
5 | # avoid "no text" error | 5 | # avoid "no text" error |
6 | tidy:no | 6 | tidy:no |
7 | prune:no | 7 | prune:no |
8 | 8 | ||
9 | # reorganize photo page elements | 9 | # reorganize photo page elements |
10 | #body://div[contains(@class,'container')] | 10 | #body://div[contains(@class,'container')] |
11 | move_into(body)://div[contains(@id,'thephoto')] | 11 | move_into(body)://div[contains(@id,'thephoto')] |
12 | move_into(body)://div[contains(@id,'description')] | 12 | move_into(body)://div[contains(@id,'description')] |
13 | move_into(body)://div[contains(@id,'tags')] | 13 | move_into(body)://div[contains(@id,'tags')] |
14 | move_into(body)://div[contains(@id,'photo-info')] | 14 | move_into(body)://div[contains(@id,'photo-info')] |
15 | 15 | ||
16 | # clean photo page info | 16 | # clean photo page info |
17 | strip://span[contains(@id,'copyright')] | 17 | strip://span[contains(@id,'copyright')] |
18 | strip://*[contains(@id,'store')] | 18 | strip://*[contains(@id,'store')] |
19 | strip://*[contains(@id,'user-info')] | 19 | strip://*[contains(@id,'user-info')] |
20 | strip://*[contains(@id,'photo-stats')] | 20 | strip://*[contains(@id,'photo-stats')] |
21 | strip://*[contains(@id,'voting_controls_container')] | 21 | strip://*[contains(@id,'voting_controls_container')] |
22 | strip://*[contains(@id,'more-photos')] | 22 | strip://*[contains(@id,'more-photos')] |
23 | strip://*[contains(@id,'embed-photo')] | 23 | strip://*[contains(@id,'embed-photo')] |
24 | 24 | ||
25 | # clean blog page side bar | 25 | # clean blog page side bar |
26 | strip://*[contains(@class,'col d3 clearafter')] | 26 | strip://*[contains(@class,'col d3 clearafter')] |
27 | test_url: http://500px.com/photo/3641041?from=editors \ No newline at end of file | 27 | test_url: http://500px.com/photo/3641041?from=editors \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/512pixels.net.txt b/inc/3rdparty/site_config/standard/512pixels.net.txt index e458980f..e458980f 100644..100755 --- a/inc/3rdparty/site_config/standard/512pixels.net.txt +++ b/inc/3rdparty/site_config/standard/512pixels.net.txt | |||
diff --git a/inc/3rdparty/site_config/standard/5by5.tv.txt b/inc/3rdparty/site_config/standard/5by5.tv.txt index dce0df4e..59b70a99 100644..100755 --- a/inc/3rdparty/site_config/standard/5by5.tv.txt +++ b/inc/3rdparty/site_config/standard/5by5.tv.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //*[@id="episode"] | 1 | body: //*[@id="episode"] |
2 | prune: no | 2 | prune: no |
3 | tidy: no | 3 | tidy: no |
4 | 4 | ||
5 | autodetect_next_page: no | 5 | autodetect_next_page: no |
6 | strip_id_or_class: player | 6 | strip_id_or_class: player |
7 | 7 | ||
8 | strip://*[@id="header"] | 8 | strip://*[@id="header"] |
9 | test_url: http://5by5.tv/buildanalyze/60 \ No newline at end of file | 9 | test_url: http://5by5.tv/buildanalyze/60 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/7newsbelize.com.txt b/inc/3rdparty/site_config/standard/7newsbelize.com.txt new file mode 100755 index 00000000..46d09f8e --- /dev/null +++ b/inc/3rdparty/site_config/standard/7newsbelize.com.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //*[@id='sstitle'] | ||
2 | body: //div[@id='sstory'] | ||
3 | strip_id_or_class: newsoptions | ||
4 | prune: no | ||
5 | |||
6 | test_url: http://www.7newsbelize.com/sstory.php?nid=25654 | ||
7 | test_url: http://www.7newsbelize.com/7news.xml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/944.com.txt b/inc/3rdparty/site_config/standard/944.com.txt index 84380e79..8bf6a4c2 100644..100755 --- a/inc/3rdparty/site_config/standard/944.com.txt +++ b/inc/3rdparty/site_config/standard/944.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //h2[@class='border'] | 1 | title: //h2[@class='border'] |
2 | body: //div[@class='padding'] | 2 | body: //div[@class='padding'] |
3 | 3 | ||
4 | convert_double_br_tags: yes | 4 | convert_double_br_tags: yes |
5 | 5 | ||
6 | strip: //div[@id='social_sharing'] | 6 | strip: //div[@id='social_sharing'] |
7 | strip: //div[@class='socialLinks'] | 7 | strip: //div[@class='socialLinks'] |
8 | 8 | ||
9 | test_url: http://www.944.com/articles/mild-obsessions-frock-la-get-to-know-victoria-tik-s-haute-sustainable-fashion-line/ \ No newline at end of file | 9 | test_url: http://www.944.com/articles/mild-obsessions-frock-la-get-to-know-victoria-tik-s-haute-sustainable-fashion-line/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/README.md b/inc/3rdparty/site_config/standard/README.md new file mode 100755 index 00000000..9040ba85 --- /dev/null +++ b/inc/3rdparty/site_config/standard/README.md | |||
@@ -0,0 +1,38 @@ | |||
1 | Full-Text RSS site config files | ||
2 | ================ | ||
3 | |||
4 | [Full-Text RSS](http://fivefilters.org/content-only/), our article extraction tool, makes use of site-specific extraction rules to improve results. Each time a URL is processed, it checks to see if there are extraction rules for the site being processed. If there are no site patterns, it tries to detect the content block automatically. | ||
5 | |||
6 | This repository contains the site config files we use in Full-Text RSS. | ||
7 | |||
8 | ### Contributing changes | ||
9 | |||
10 | We chose GitHub for this set of files because they offer one feature which we hope will make contributing changes easier: [file editing](https://github.com/blog/844-forking-with-the-edit-button) through the web interface. | ||
11 | |||
12 | You can now make changes to any of our site config files and request that your changes be pulled into the main set we maintain. This is what GitHub calls the Fork and Pull model: | ||
13 | |||
14 | > The Fork & Pull Model lets anyone fork an existing repository and push changes to their personal fork without requiring access be granted to the source repository. The changes must then be pulled into the source repository by the project maintainer. This model reduces the amount of friction for new contributors and is popular with open source projects because it allows people to work independently without upfront coordination. | ||
15 | |||
16 | When we receive a pull request we'll review the changes and if everything's okay we'll update our copy. | ||
17 | |||
18 | If a site is not in our set, you can create a file for it in the same way. See [Creating files on GitHub](https://github.com/blog/1327-creating-files-on-github). | ||
19 | |||
20 | ### How to write a site config file | ||
21 | |||
22 | The quickest and simplest way is to use our [point-and-click interface](http://siteconfig.fivefilters.org). It's a simple tool only intended to create a rule to extract the correct content block. | ||
23 | |||
24 | For further refinements, e.g. selecting the title, stripping elements, dealing with multi-page articles, please see our [help page](http://help.fivefilters.org/customer/portal/articles/223153-site-patterns). | ||
25 | |||
26 | ### Instapaper | ||
27 | |||
28 | When we introduced site patterns, we chose to adopt the [same format](http://blog.instapaper.com/post/730281947) used by Instapaper. This allows us to make use of the existing extraction rules contributed by Instapaper users. | ||
29 | |||
30 | Marco, Instapaper's creator, graciously opened up the database of contributions to everyone: | ||
31 | |||
32 | > And, recognizing that your efforts could be useful to a wide range of other tools and services, I'll make the list of all of these site-specific configurations available to the public, free, with no strings attached. | ||
33 | |||
34 | Most of the extraction rules in our set are borrowed from Instapaper. You can see the list maintained by Instapaper at [instapaper.com/bodytext/](http://instapaper.com/bodytext/) (login required). | ||
35 | |||
36 | ### Testing site config files | ||
37 | |||
38 | Currently you will have to have a copy of Full-Text RSS to test changes to the site config files. In the future we will try to make this process easier. | ||
diff --git a/inc/3rdparty/site_config/standard/aachener-nachrichten.de.txt b/inc/3rdparty/site_config/standard/aachener-nachrichten.de.txt index 379592e0..b60c15de 100644..100755 --- a/inc/3rdparty/site_config/standard/aachener-nachrichten.de.txt +++ b/inc/3rdparty/site_config/standard/aachener-nachrichten.de.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | body: //*[@class='fliesstext_detail' or @class='detail_fliesstext'] | //img[@itemprop="image" and starts-with(@src, "/sixcms/media.php/")] | 2 | body: //*[@class='fliesstext_detail' or @class='detail_fliesstext'] | //img[@itemprop="image" and starts-with(@src, "/sixcms/media.php/")] |
3 | 3 | ||
4 | strip_id_or_class: socialshareprivacy1 | 4 | strip_id_or_class: socialshareprivacy1 |
5 | strip_id_or_class: zvaFacebookButton | 5 | strip_id_or_class: zvaFacebookButton |
6 | 6 | ||
7 | tidy: no | 7 | tidy: no |
8 | prune: no | 8 | prune: no |
9 | 9 | ||
10 | test_url: http://www.aachener-nachrichten.de/lokales/aachen-detail-an/2517757 \ No newline at end of file | 10 | test_url: http://www.aachener-nachrichten.de/lokales/aachen-detail-an/2517757 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/aachener-zeitung.de.txt b/inc/3rdparty/site_config/standard/aachener-zeitung.de.txt index 4d76fac7..013afa4c 100644..100755 --- a/inc/3rdparty/site_config/standard/aachener-zeitung.de.txt +++ b/inc/3rdparty/site_config/standard/aachener-zeitung.de.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | body: //*[@class='fliesstext_detail' or @class='detail_fliesstext'] | //img[@itemprop="image" and starts-with(@src, "/sixcms/media.php/")] | 2 | body: //*[@class='fliesstext_detail' or @class='detail_fliesstext'] | //img[@itemprop="image" and starts-with(@src, "/sixcms/media.php/")] |
3 | 3 | ||
4 | strip_id_or_class: socialshareprivacy1 | 4 | strip_id_or_class: socialshareprivacy1 |
5 | strip_id_or_class: zvaFacebookButton | 5 | strip_id_or_class: zvaFacebookButton |
6 | 6 | ||
7 | tidy: no | 7 | tidy: no |
8 | prune: no | 8 | prune: no |
9 | 9 | ||
10 | test_url: http://www.aachener-zeitung.de/sixcms/detail.php?template=az_detail&id=2552718 \ No newline at end of file | 10 | test_url: http://www.aachener-zeitung.de/sixcms/detail.php?template=az_detail&id=2552718 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/abc.es.txt b/inc/3rdparty/site_config/standard/abc.es.txt index a99833de..43aadc49 100644..100755 --- a/inc/3rdparty/site_config/standard/abc.es.txt +++ b/inc/3rdparty/site_config/standard/abc.es.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | body: //div[@class='datosi' or @class='date' or @class='photo-alt1' or @class='text'] | 2 | body: //div[@class='datosi' or @class='date' or @class='photo-alt1' or @class='text' or @itemprop='articleBody'] |
3 | strip_id_or_class: colB | 3 | strip_id_or_class: colB |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | test_url: http://www.abc.es/20120209/tv-series/abci-house-ultima-temporada-201202090936.html \ No newline at end of file | 7 | test_url: http://www.abc.es/20120209/tv-series/abci-house-ultima-temporada-201202090936.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/abc.net.au.txt b/inc/3rdparty/site_config/standard/abc.net.au.txt index 5e6269cb..22b3a0f4 100644..100755 --- a/inc/3rdparty/site_config/standard/abc.net.au.txt +++ b/inc/3rdparty/site_config/standard/abc.net.au.txt | |||
@@ -1,10 +1,18 @@ | |||
1 | title: //h1 | 1 | title: //div[@class='article section']//h1 |
2 | author: //div[@class="byline"]/a | 2 | author: //div[@class="byline"]/a |
3 | date: //span[@class="timestamp"] | 3 | date: //span[@class="timestamp"] |
4 | 4 | body: //div[@class="page section"] | |
5 | strip: //p[@class="topics"] | 5 | |
6 | strip: //h1 | 6 | strip: //a[@class="inline-caption"] |
7 | strip: //div[@class="byline"] | 7 | strip: //p[@class="ticker section noprint"] |
8 | strip: //p[@class="published"] | 8 | strip: //p[@class="topics"] |
9 | strip: //h1 | ||
10 | strip: //div[@class="byline"] | ||
11 | strip: //p[@class="published"] | ||
9 | strip: //div[contains(@class,"featured-scroller")] | 12 | strip: //div[contains(@class,"featured-scroller")] |
10 | test_url: http://www.abc.net.au/news/2011-11-08/crabb-carbon-legislation-abbott-demolition/3652544 \ No newline at end of file | 13 | strip_id_or_class: footer |
14 | |||
15 | tidy: no | ||
16 | |||
17 | test_url: http://www.abc.net.au/news/2013-03-27/open-speed-highways-change-clp-giles/4597892 | ||
18 | test_url: http://www.abc.net.au/news/2013-04-30/credit-growth-remains-subdued/4660054?section=business | ||
diff --git a/inc/3rdparty/site_config/standard/abcnews.go.com.txt b/inc/3rdparty/site_config/standard/abcnews.go.com.txt index c515d3e4..8d367351 100644..100755 --- a/inc/3rdparty/site_config/standard/abcnews.go.com.txt +++ b/inc/3rdparty/site_config/standard/abcnews.go.com.txt | |||
@@ -1,27 +1,27 @@ | |||
1 | title: //h1[@class='headline'] | 1 | title: //h1[@class='headline'] |
2 | body: //div[@id='storyText'] | 2 | body: //div[@id='storyText'] |
3 | # for video entries | 3 | # for video entries |
4 | body: //img[@id='ff-img'] | //div[@id='meta']//div[contains(@class, 'overview')] | 4 | body: //img[@id='ff-img'] | //div[@id='meta']//div[contains(@class, 'overview')] |
5 | author: //div[@class='byline'] | 5 | author: //div[@class='byline'] |
6 | date: //div[@class='date'] | 6 | date: //div[@class='date'] |
7 | strip: //*[@id='date_partner'] | 7 | strip: //*[@id='date_partner'] |
8 | 8 | ||
9 | strip: //div[@class='breadcrumb'] | 9 | strip: //div[@class='breadcrumb'] |
10 | strip: //div[contains(@class,'show_tools')] | 10 | strip: //div[contains(@class,'show_tools')] |
11 | strip: //div[@id='sponsoredByAd'] | 11 | strip: //div[@id='sponsoredByAd'] |
12 | strip: //div[contains(@class,'rel_container')] | 12 | strip: //div[contains(@class,'rel_container')] |
13 | strip: //p[a[starts-with(@href, 'http://www.twitter.com')]] | 13 | strip: //p[a[starts-with(@href, 'http://www.twitter.com')]] |
14 | strip: //p[a[starts-with(@href, 'http://www.facebook.com')]] | 14 | strip: //p[a[starts-with(@href, 'http://www.facebook.com')]] |
15 | strip: //p[contains(., 'Click here to return to')] | 15 | strip: //p[contains(., 'Click here to return to')] |
16 | #strip_id_or_class: media | 16 | #strip_id_or_class: media |
17 | strip_id_or_class: mediaplayer | 17 | strip_id_or_class: mediaplayer |
18 | 18 | ||
19 | replace_string(<link rel="image_src" href="http): <img id="ff-img" src="http | 19 | replace_string(<link rel="image_src" href="http): <img id="ff-img" src="http |
20 | 20 | ||
21 | prune: no | 21 | prune: no |
22 | 22 | ||
23 | single_page_link: concat(//li[@class='pager']//a/@href, '&singlePage=true') | 23 | single_page_link: concat(//li[@class='pager']//a/@href, '&singlePage=true') |
24 | 24 | ||
25 | test_url: http://abcnews.go.com/Politics/newt-gingrich-rocky-rollout-presidential-campaign-recover/story?id=13632744 | 25 | test_url: http://abcnews.go.com/Politics/newt-gingrich-rocky-rollout-presidential-campaign-recover/story?id=13632744 |
26 | # multi-page | 26 | # multi-page |
27 | test_url: http://abcnews.go.com/Blotter/family-freed-american-hostage-somalia-seals-obama/story?id=15439544 \ No newline at end of file | 27 | test_url: http://abcnews.go.com/Blotter/family-freed-american-hostage-somalia-seals-obama/story?id=15439544 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/accesstoinsight.org.txt b/inc/3rdparty/site_config/standard/accesstoinsight.org.txt index b5d85079..45d66533 100644..100755 --- a/inc/3rdparty/site_config/standard/accesstoinsight.org.txt +++ b/inc/3rdparty/site_config/standard/accesstoinsight.org.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@id='H_docTitle'] | 1 | title: //div[@id='H_docTitle'] |
2 | 2 | ||
3 | body: //div[@id='H_meta' or @id='H_content' or @id='F_footer'] | 3 | body: //div[@id='H_meta' or @id='H_content' or @id='F_footer'] |
4 | 4 | ||
5 | strip_id_or_class: F_toenail | 5 | strip_id_or_class: F_toenail |
6 | 6 | ||
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | test_url: http://www.accesstoinsight.org/lib/authors/nyanaponika/wheel026.html \ No newline at end of file | 9 | test_url: http://www.accesstoinsight.org/lib/authors/nyanaponika/wheel026.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/acidcow.com.txt b/inc/3rdparty/site_config/standard/acidcow.com.txt index 60ede6a6..21958651 100644..100755 --- a/inc/3rdparty/site_config/standard/acidcow.com.txt +++ b/inc/3rdparty/site_config/standard/acidcow.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[starts-with(@id, 'news-id-')] | 1 | body: //div[starts-with(@id, 'news-id-')] |
2 | 2 | ||
3 | test_url: http://acidcow.com/fun/20933-acid-picdump-83-pics.html \ No newline at end of file | 3 | test_url: http://acidcow.com/fun/20933-acid-picdump-83-pics.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/acquia.com.txt b/inc/3rdparty/site_config/standard/acquia.com.txt index 5ddf542e..2803611f 100644..100755 --- a/inc/3rdparty/site_config/standard/acquia.com.txt +++ b/inc/3rdparty/site_config/standard/acquia.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title://h1[@class="title"] | 1 | title://h1[@class="title"] |
2 | author://div[@class="submitted"]/span/a | 2 | author://div[@class="submitted"]/span/a |
3 | date://div[@class="submitted"]/span | 3 | date://div[@class="submitted"]/span |
4 | body://div[@class="content-wrapper"] | 4 | body://div[@class="content-wrapper"] |
5 | 5 | ||
6 | strip://div[@id="skip-link"] | 6 | strip://div[@id="skip-link"] |
7 | strip://div[@id="region-content-3-3"] | 7 | strip://div[@id="region-content-3-3"] |
8 | strip://div[@id="section-footer"] | 8 | strip://div[@id="section-footer"] |
9 | test_url: https://www.acquia.com/blog/drupals-long-warmth-toward-third-party-code \ No newline at end of file | 9 | test_url: https://www.acquia.com/blog/drupals-long-warmth-toward-third-party-code \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/acroswing.fr.txt b/inc/3rdparty/site_config/standard/acroswing.fr.txt index 57d86d2f..6b1d67fe 100644..100755 --- a/inc/3rdparty/site_config/standard/acroswing.fr.txt +++ b/inc/3rdparty/site_config/standard/acroswing.fr.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | tidy:no | 1 | tidy:no |
2 | date: //time[@class='updated'] | 2 | date: //time[@class='updated'] |
3 | dissolve: //ul[@class='video-gallery']/li | 3 | dissolve: //ul[@class='video-gallery']/li |
4 | dissolve: //ul[@class='video-gallery'] | 4 | dissolve: //ul[@class='video-gallery'] |
5 | test_url: http://www.acroswing.fr/actualites/competition_rock/selectif_bellegarde_sur_valserine__2012-02-26.php \ No newline at end of file | 5 | test_url: http://www.acroswing.fr/actualites/competition_rock/selectif_bellegarde_sur_valserine__2012-02-26.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/aftenposten.no.txt b/inc/3rdparty/site_config/standard/aftenposten.no.txt new file mode 100755 index 00000000..8a69c357 --- /dev/null +++ b/inc/3rdparty/site_config/standard/aftenposten.no.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //h1[@class='articleTitle '] | ||
2 | body: //div[@class='bodyText widget storyContent'] | ||
3 | strip: //p/span[@class='quote']/.. | ||
4 | strip_id_or_class: 'pull1' | ||
5 | test_url: https://www.aftenposten.no/meninger/spaltister/Portrett-av-scenekunstneren-som-ung-mann-7167959.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/aftonbladet.se.txt b/inc/3rdparty/site_config/standard/aftonbladet.se.txt new file mode 100755 index 00000000..b6c576a8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/aftonbladet.se.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | author: //article//address[contains(@class, 'author')] | ||
2 | body: //article[.//div[contains(@class, 'abBodyText')]]//*[contains(@class, 'abLeadText') or contains(@class, 'abBodyText') or contains(@class, 'abImageBlock') or contains(@class, 'abIGSatellite')] | ||
3 | |||
4 | strip: //address//img | ||
5 | strip: //footer | ||
6 | strip_id_or_class: abSticky | ||
7 | |||
8 | prune: no | ||
9 | |||
10 | test_url: http://www.aftonbladet.se/sportbladet/hockey/sverige/allsvenskan/article17498194.ab | ||
11 | test_url: http://www.aftonbladet.se/debatt/article16207536.ab | ||
12 | test_url: http://www.aftonbladet.se/debatt/debattamnen/politik/article17483377.ab | ||
13 | test_url: http://www.aftonbladet.se/rss.xml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/aht.seriouseats.com.txt b/inc/3rdparty/site_config/standard/aht.seriouseats.com.txt index 408e9099..b2d88a05 100644..100755 --- a/inc/3rdparty/site_config/standard/aht.seriouseats.com.txt +++ b/inc/3rdparty/site_config/standard/aht.seriouseats.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='content'] |
2 | 2 | ||
3 | # clean up recipe pages | 3 | # clean up recipe pages |
4 | strip: //h2[@class='fn'] | //h2[@class='double-lined'] | //h3 | //div[@id='threeColumn2'] | //div[@id='threeColumn3'] | 4 | strip: //h2[@class='fn'] | //h2[@class='double-lined'] | //h3 | //div[@id='threeColumn2'] | //div[@id='threeColumn3'] |
5 | 5 | ||
6 | #recipe pages | 6 | #recipe pages |
7 | strip_id_or_class: "recipe-feedback" | 7 | strip_id_or_class: "recipe-feedback" |
8 | strip_id_or_class: "comments" | 8 | strip_id_or_class: "comments" |
9 | strip_id_or_class: "procedure-number" | 9 | strip_id_or_class: "procedure-number" |
10 | strip_id_or_class: "more-with-author" | 10 | strip_id_or_class: "more-with-author" |
11 | 11 | ||
12 | #slice | 12 | #slice |
13 | strip_id_or_class: "inner" | 13 | strip_id_or_class: "inner" |
14 | 14 | ||
15 | test_url: http://aht.seriouseats.com/archives/2009/12/the-burger-lab-salting-ground-beef.html \ No newline at end of file | 15 | test_url: http://aht.seriouseats.com/archives/2009/12/the-burger-lab-salting-ground-beef.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/albayan.ae.txt b/inc/3rdparty/site_config/standard/albayan.ae.txt new file mode 100755 index 00000000..f6c093d2 --- /dev/null +++ b/inc/3rdparty/site_config/standard/albayan.ae.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | body: //div[@id='main-column']//div[@class='content'] | ||
2 | |||
3 | prune: no | ||
4 | |||
5 | test_url: http://www.albayan.ae/across-the-uae/education/2013-08-29-1.1949645 | ||
6 | test_url: http://www.albayan.ae/1.448?ot=ot.AjaxPageLayout \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/alex.mullr.net.txt b/inc/3rdparty/site_config/standard/alex.mullr.net.txt index c5f15370..c5f15370 100644..100755 --- a/inc/3rdparty/site_config/standard/alex.mullr.net.txt +++ b/inc/3rdparty/site_config/standard/alex.mullr.net.txt | |||
diff --git a/inc/3rdparty/site_config/standard/alexduner.com.txt b/inc/3rdparty/site_config/standard/alexduner.com.txt new file mode 100755 index 00000000..bd9de9d7 --- /dev/null +++ b/inc/3rdparty/site_config/standard/alexduner.com.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | body: //section[@class='content'] | ||
2 | date: //span[1] | ||
3 | author: //h1[@id='sitetitle'] | ||
4 | test_url: https://alexduner.com/blog/2013/1/something-i-learned-today \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/alexduner.squarespace.com.txt b/inc/3rdparty/site_config/standard/alexduner.squarespace.com.txt new file mode 100755 index 00000000..875405e4 --- /dev/null +++ b/inc/3rdparty/site_config/standard/alexduner.squarespace.com.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | body: //section[@class='content'] | ||
2 | date: //span[1] | ||
3 | author: //h1[@id='sitetitle'] | ||
4 | test_url: https://alexduner.squarespace.com/blog/2013/1/tech-culture-from-the-outside-looking-in \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/alistapart.com.txt b/inc/3rdparty/site_config/standard/alistapart.com.txt index 090f7eb1..7a7096e2 100644..100755 --- a/inc/3rdparty/site_config/standard/alistapart.com.txt +++ b/inc/3rdparty/site_config/standard/alistapart.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //h1[@class='title'] | 1 | title: //h1[@class='title'] |
2 | author: //h3[@class='byline']/a | 2 | author: //h3[@class='byline']/a |
3 | date: //div[@class='ishinfo'] | 3 | date: //div[@class='ishinfo'] |
4 | 4 | ||
5 | body: //*[@id='articletext'] | 5 | body: //*[@id='articletext'] |
6 | strip_id_or_class: 'ishinfo' | 6 | strip_id_or_class: 'ishinfo' |
7 | strip_id_or_class: 'metastuff' | 7 | strip_id_or_class: 'metastuff' |
8 | strip_id_or_class: 'learnmore' | 8 | strip_id_or_class: 'learnmore' |
9 | strip_id_or_class: 'discuss' | 9 | strip_id_or_class: 'discuss' |
10 | 10 | ||
11 | prune: no | 11 | prune: no |
12 | test_url: http://www.alistapart.com/articles/organizing-mobile/ \ No newline at end of file | 12 | test_url: http://www.alistapart.com/articles/organizing-mobile/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/aljazeera.com.txt b/inc/3rdparty/site_config/standard/aljazeera.com.txt index 4f0148f4..d3bf4014 100644..100755 --- a/inc/3rdparty/site_config/standard/aljazeera.com.txt +++ b/inc/3rdparty/site_config/standard/aljazeera.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //span[@id='DetailedTitle'] | 1 | title: //span[@id='DetailedTitle'] |
2 | body: //td[@id='tdTextContent'] | 2 | body: //td[@id='tdTextContent'] |
3 | strip_id_or_class: Skyscrapper_Body | 3 | strip_id_or_class: Skyscrapper_Body |
4 | date: //span[@id='ctl00_cphBody_lblDate'] | 4 | date: //span[@id='ctl00_cphBody_lblDate'] |
5 | author: //div[@id="dvAuthorInfo"]//a/text() | 5 | author: //div[@id="dvAuthorInfo"]//a/text() |
6 | strip: //table[ tbody/tr/td/object ] | 6 | strip: //table[ tbody/tr/td/object ] |
7 | prune: no | 7 | prune: no |
8 | test_url: http://www.aljazeera.com/indepth/opinion/2012/01/2012114121925380575.html \ No newline at end of file | 8 | test_url: http://www.aljazeera.com/indepth/opinion/2012/01/2012114121925380575.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/allrecipes.com.txt b/inc/3rdparty/site_config/standard/allrecipes.com.txt index e9767bda..85dc2a5a 100644..100755 --- a/inc/3rdparty/site_config/standard/allrecipes.com.txt +++ b/inc/3rdparty/site_config/standard/allrecipes.com.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //h1[@id='itemTitle'] | 1 | title: //h1[@id='itemTitle'] |
2 | body: //img[@id="ctl00_CenterColumnPlaceHolder_recipe_photoStuff_imgPhoto"] | //div[@id='ctl00_CenterColumnPlaceHolder_recipe_divSubmitter'] | //div[contains(@class, 'recipe-details-content')] | 2 | body: //img[@id="ctl00_CenterColumnPlaceHolder_recipe_photoStuff_imgPhoto"] | //div[@id='ctl00_CenterColumnPlaceHolder_recipe_divSubmitter'] | //div[contains(@class, 'recipe-details-content')] |
3 | strip: //div[@class='top-left' or @class='top-right' or @class='bot-left' or @class='bot-right'] | 3 | strip: //div[@class='top-left' or @class='top-right' or @class='bot-left' or @class='bot-right'] |
4 | strip: //div[contains(@class, 'rightcoltoolsdiv')] | 4 | strip: //div[contains(@class, 'rightcoltoolsdiv')] |
5 | strip: //div[contains(@class, 'servings-form')] | 5 | strip: //div[contains(@class, 'servings-form')] |
6 | strip: //p[@class='nutritional-information'] | 6 | strip: //p[@class='nutritional-information'] |
7 | strip: //a[contains(@class, 'nutritional-information') or contains(@class, 'nutritionanchor')] | 7 | strip: //a[contains(@class, 'nutritional-information') or contains(@class, 'nutritionanchor')] |
8 | strip: //div[@id='nutri-info']/div[contains(@class, 'title')] | 8 | strip: //div[@id='nutri-info']/div[contains(@class, 'title')] |
9 | strip: //img[@id='ctl00_CenterColumnPlaceHolder_recipe_imgSubmitter'] | 9 | strip: //img[@id='ctl00_CenterColumnPlaceHolder_recipe_imgSubmitter'] |
10 | strip_id_or_class: eshaAttribute | 10 | strip_id_or_class: eshaAttribute |
11 | strip_id_or_class: eshaParagraph | 11 | strip_id_or_class: eshaParagraph |
12 | prune: no | 12 | prune: no |
13 | 13 | ||
14 | test_url: http://allrecipes.com/Recipe/Taco-Pie/Detail.aspx?src=rotd \ No newline at end of file | 14 | test_url: http://allrecipes.com/Recipe/Taco-Pie/Detail.aspx?src=rotd \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/allthingsd.com.txt b/inc/3rdparty/site_config/standard/allthingsd.com.txt index cd52498f..f8c67d02 100644..100755 --- a/inc/3rdparty/site_config/standard/allthingsd.com.txt +++ b/inc/3rdparty/site_config/standard/allthingsd.com.txt | |||
@@ -1,10 +1,13 @@ | |||
1 | title://div[@class="article-title"]/h1[@class="title"] | 1 | title://div[@class="article-title"]/h1[@class="title"] |
2 | date: //p[@class="article-date"] | 2 | date: //p[@class="article-date"] |
3 | body://*[@class="article-body article-text"] | 3 | body://div[contains(@class, "article-body")] |
4 | # Trim out related posts at bottom of article | 4 | # Trim out related posts at bottom of article |
5 | strip://blockquote[@class="memo"] | 5 | strip://blockquote[@class="memo"] |
6 | 6 | ||
7 | # Yup, no idea why author won't work... | 7 | tidy: no |
8 | author://div[@class="page-header article-header clearfix"]/p[@class="title"] | 8 | |
9 | # Yup, no idea why author won't work... | ||
10 | author://div[@class="page-header article-header clearfix"]/p[@class="title"] | ||
9 | # [Marco:] Author won't work here because the page defines the "home" link under the author's name as rel="author", which always gets priority if the page has defined it. | 11 | # [Marco:] Author won't work here because the page defines the "home" link under the author's name as rel="author", which always gets priority if the page has defined it. |
10 | test_url: http://allthingsd.com/20120513/exclusive-yahoos-thompson-out-levinsohn-in-board-settlement-with-loeb-nears-completion/ \ No newline at end of file | 12 | test_url: http://allthingsd.com/20120513/exclusive-yahoos-thompson-out-levinsohn-in-board-settlement-with-loeb-nears-completion/ |
13 | test_url: http://allthingsd.com/20131010/google-cio-ben-fried-on-how-google-works/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/allyou.com.txt b/inc/3rdparty/site_config/standard/allyou.com.txt index 3c26c682..a13a7252 100644..100755 --- a/inc/3rdparty/site_config/standard/allyou.com.txt +++ b/inc/3rdparty/site_config/standard/allyou.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //div[@id='pageHdr']//h1 | 1 | title: //div[@id='pageHdr']//h1 |
2 | body: //div[@id='pageHdr']/*[@class='dek'] | //div[@id='printArticle' or @id='slideShowPrint'] | 2 | body: //div[@id='pageHdr']/*[@class='dek'] | //div[@id='printArticle' or @id='slideShowPrint'] |
3 | strip: //div[contains(@class, 'infoBox') or @id='infoBox'] | 3 | strip: //div[contains(@class, 'infoBox') or @id='infoBox'] |
4 | single_page_link: //li[@id='print']/a | 4 | single_page_link: //li[@id='print']/a |
5 | 5 | ||
6 | prune: no | 6 | prune: no |
7 | 7 | ||
8 | test_url: http://www.allyou.com/budget-home/money-shopping/freebies-online-00400000066392/ \ No newline at end of file | 8 | test_url: http://www.allyou.com/budget-home/money-shopping/freebies-online-00400000066392/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/alphabeta.argaam.com.txt b/inc/3rdparty/site_config/standard/alphabeta.argaam.com.txt index f5865f89..da1a67bc 100644..100755 --- a/inc/3rdparty/site_config/standard/alphabeta.argaam.com.txt +++ b/inc/3rdparty/site_config/standard/alphabeta.argaam.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | body: //div[@class = 'entry'] | 1 | body: //div[@class = 'entry'] |
2 | date: substring-after(//p[@class="date"],'بتاريخ ') | 2 | date: substring-after(//p[@class="date"],'بتاريخ ') |
3 | strip_id_or_class: date | 3 | strip_id_or_class: date |
4 | strip_id_or_class: follow-single | 4 | strip_id_or_class: follow-single |
5 | strip_id_or_class: ratingblock | 5 | strip_id_or_class: ratingblock |
6 | strip_id_or_class: newRatingHolder | 6 | strip_id_or_class: newRatingHolder |
7 | strip_id_or_class: postmetadata | 7 | strip_id_or_class: postmetadata |
8 | strip_id_or_class: addthis_toolbox | 8 | strip_id_or_class: addthis_toolbox |
9 | strip_id_or_class: addthis_default_style | 9 | strip_id_or_class: addthis_default_style |
10 | strip_id_or_class: size-full | 10 | strip_id_or_class: size-full |
11 | test_url: http://alphabeta.argaam.com/?p=35657 \ No newline at end of file | 11 | test_url: http://alphabeta.argaam.com/?p=35657 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/alriyadh.com.txt b/inc/3rdparty/site_config/standard/alriyadh.com.txt index d0060000..be7c43d5 100644..100755 --- a/inc/3rdparty/site_config/standard/alriyadh.com.txt +++ b/inc/3rdparty/site_config/standard/alriyadh.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //div[@id = "article-view"] | 1 | body: //div[@id = "article-view"] |
2 | body: //div[contains(@class, 'article')]//div[contains(@class, 'photo_bg')] | 2 | body: //div[contains(@class, 'article')]//div[contains(@class, 'photo_bg')] |
3 | author: //p[@class = "author"] | 3 | author: //p[@class = "author"] |
4 | strip: //h1 | 4 | strip: //h1 |
5 | strip: //h2 | 5 | strip: //h2 |
6 | strip_id_or_class: author | 6 | strip_id_or_class: author |
7 | prune: no | 7 | prune: no |
8 | test_url: http://www.alriyadh.com/2011/10/10/article674357.html | 8 | test_url: http://www.alriyadh.com/2011/10/10/article674357.html |
9 | test_url: http://www.alriyadh.com/net/article/780935 \ No newline at end of file | 9 | test_url: http://www.alriyadh.com/net/article/780935 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/alseraj.net.txt b/inc/3rdparty/site_config/standard/alseraj.net.txt index 107d82d6..107d82d6 100644..100755 --- a/inc/3rdparty/site_config/standard/alseraj.net.txt +++ b/inc/3rdparty/site_config/standard/alseraj.net.txt | |||
diff --git a/inc/3rdparty/site_config/standard/alt1040.com.txt b/inc/3rdparty/site_config/standard/alt1040.com.txt index 4fd45719..4fd45719 100644..100755 --- a/inc/3rdparty/site_config/standard/alt1040.com.txt +++ b/inc/3rdparty/site_config/standard/alt1040.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/alternet.org.txt b/inc/3rdparty/site_config/standard/alternet.org.txt new file mode 100755 index 00000000..e92252eb --- /dev/null +++ b/inc/3rdparty/site_config/standard/alternet.org.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | single_page_link: //div[contains(@class, 'story_tools')]//a[contains(@href, '/print/')] | ||
2 | |||
3 | test_url: http://www.alternet.org/civil-liberties/noam-chomsky-surveillance-state-beyond-imagination-being-created-one-freest | ||
4 | test_url: http://feeds.feedblitz.com/alternet \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/altfoto.com.txt b/inc/3rdparty/site_config/standard/altfoto.com.txt index d974cf4a..d974cf4a 100644..100755 --- a/inc/3rdparty/site_config/standard/altfoto.com.txt +++ b/inc/3rdparty/site_config/standard/altfoto.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/alumni.stanford.edu.txt b/inc/3rdparty/site_config/standard/alumni.stanford.edu.txt index 7fd47193..a5bd03bf 100644..100755 --- a/inc/3rdparty/site_config/standard/alumni.stanford.edu.txt +++ b/inc/3rdparty/site_config/standard/alumni.stanford.edu.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | 2 | ||
3 | author: substring-after(//div[@class="enableBullets"]/preceding-sibling::p[1], "By ") | 3 | author: substring-after(//div[@class="enableBullets"]/preceding-sibling::p[1], "By ") |
4 | 4 | ||
5 | date: //div/a[contains (@href, "issue")] | 5 | date: //div/a[contains (@href, "issue")] |
6 | 6 | ||
7 | move_into(//div[@class="enableBullets"]/p): (//div[@id="content"]//img)[1] | 7 | move_into(//div[@class="enableBullets"]/p): (//div[@id="content"]//img)[1] |
8 | 8 | ||
9 | body: //div[@class="enableBullets"] | 9 | body: //div[@class="enableBullets"] |
10 | test_url: http://alumni.stanford.edu/get/page/magazine/article/?article_id=54819 \ No newline at end of file | 10 | test_url: http://alumni.stanford.edu/get/page/magazine/article/?article_id=54819 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/amandala.com.bz.txt b/inc/3rdparty/site_config/standard/amandala.com.bz.txt new file mode 100755 index 00000000..fb0e21b8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/amandala.com.bz.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | body: //div[@id='content']//div[contains(@class, 'content')] | ||
2 | strip_id_or_class: widget | ||
3 | strip: //a[contains(@href, 'upm_export=')] | ||
4 | |||
5 | test_url: http://amandala.com.bz/news/feed/ | ||
6 | test_url: http://amandala.com.bz/news/poor-pse-results-30-raise/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/amazon.com.txt b/inc/3rdparty/site_config/standard/amazon.com.txt index 1a23c4b7..cd7ad159 100644..100755 --- a/inc/3rdparty/site_config/standard/amazon.com.txt +++ b/inc/3rdparty/site_config/standard/amazon.com.txt | |||
@@ -1,19 +1,19 @@ | |||
1 | title: //span[@id = 'btAsinTitle'] | 1 | title: //span[@id = 'btAsinTitle'] |
2 | body: (//*[@id='prodImageCell']//a)[1] | //div[@id = 'ps-content'] | //span[@id='actualPriceValue'] | //h2[.='Product Details']/following-sibling::div | //div[@class='h2' and .='Product Description']/following-sibling::div | 2 | body: (//*[@id='prodImageCell']//a)[1] | //div[@id = 'ps-content'] | //span[@id='actualPriceValue'] | //h2[.='Product Details']/following-sibling::div | //div[@class='h2' and .='Product Description']/following-sibling::div |
3 | #strip_id_or_class: quantityDropdownDiv | 3 | #strip_id_or_class: quantityDropdownDiv |
4 | #strip_id_or_class: addToCartSpan | 4 | #strip_id_or_class: addToCartSpan |
5 | #strip_id_or_class: oneClickDiv | 5 | #strip_id_or_class: oneClickDiv |
6 | strip_id_or_class: nocontent | 6 | strip_id_or_class: nocontent |
7 | strip_id_or_class: masDynamicConten | 7 | strip_id_or_class: masDynamicConten |
8 | strip_id_or_class: dynamic-content | 8 | strip_id_or_class: dynamic-content |
9 | prune: no | 9 | prune: no |
10 | 10 | ||
11 | find_string: <span id="actualPriceValue"> | 11 | find_string: <span id="actualPriceValue"> |
12 | replace_string: <span id="actualPriceValue"><br />Price: | 12 | replace_string: <span id="actualPriceValue"><br />Price: |
13 | 13 | ||
14 | strip_id_or_class: collapsePS | 14 | strip_id_or_class: collapsePS |
15 | strip_id_or_class: expandPS | 15 | strip_id_or_class: expandPS |
16 | strip_id_or_class: psPlaceHolde | 16 | strip_id_or_class: psPlaceHolde |
17 | strip: //li[contains(., 'update product info') or contains(., 'give feedback on images')] | 17 | strip: //li[contains(., 'update product info') or contains(., 'give feedback on images')] |
18 | 18 | ||
19 | test_url: http://www.amazon.com/Common-Sense-Forestry-Living-Mother/dp/1931498210/ \ No newline at end of file | 19 | test_url: http://www.amazon.com/Common-Sense-Forestry-Living-Mother/dp/1931498210/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/americandrink.net.txt b/inc/3rdparty/site_config/standard/americandrink.net.txt index dee0e868..7145f3ff 100644..100755 --- a/inc/3rdparty/site_config/standard/americandrink.net.txt +++ b/inc/3rdparty/site_config/standard/americandrink.net.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class='head']/h2/a | 1 | title: //div[@class='head']/h2/a |
2 | author: //div[@class='head']/a | 2 | author: //div[@class='head']/a |
3 | date: //div[@class='head']/p[@class='date']/a | 3 | date: //div[@class='head']/p[@class='date']/a |
4 | body: //div[@class='copy'] | 4 | body: //div[@class='copy'] |
5 | strip: //p[@class='meta'] | 5 | strip: //p[@class='meta'] |
6 | test_url: http://americandrink.net/post/10567188712/free-the-hooch \ No newline at end of file | 6 | test_url: http://americandrink.net/post/10567188712/free-the-hooch \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/americascup.com.txt b/inc/3rdparty/site_config/standard/americascup.com.txt index b1673b6a..31723f81 100644..100755 --- a/inc/3rdparty/site_config/standard/americascup.com.txt +++ b/inc/3rdparty/site_config/standard/americascup.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //div[@class="editorial-content"]/h3 | 1 | title: //div[@class="editorial-content"]/h3 |
2 | body: //div[@class="hero-image" or @class="editorial-content"] | 2 | body: //div[@class="hero-image" or @class="editorial-content"] |
3 | 3 | ||
4 | strip: //ul[@class="hero-caption"] | 4 | strip: //ul[@class="hero-caption"] |
5 | strip_id_or_class: footer | 5 | strip_id_or_class: footer |
6 | 6 | ||
7 | prune: no | 7 | prune: no |
8 | tidy: no | 8 | tidy: no |
9 | 9 | ||
10 | test_url: http://www.americascup.com/en/Latest/News/2012/3/Coutts-and-Peyron-tell-transformative-tale-at-Global-Sports-Forum/ \ No newline at end of file | 10 | test_url: http://www.americascup.com/en/Latest/News/2012/3/Coutts-and-Peyron-tell-transformative-tale-at-Global-Sports-Forum/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/americastestkitchenfeed.com.txt b/inc/3rdparty/site_config/standard/americastestkitchenfeed.com.txt index 8bf31ec2..c2b62b5a 100644..100755 --- a/inc/3rdparty/site_config/standard/americastestkitchenfeed.com.txt +++ b/inc/3rdparty/site_config/standard/americastestkitchenfeed.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h1[@class="post-title"] | 1 | title: //h1[@class="post-title"] |
2 | author: //span[@class="author"]/a | 2 | author: //span[@class="author"]/a |
3 | date: //span[@class="date"] | 3 | date: //span[@class="date"] |
4 | body: //div[@class="post-content main"] | 4 | body: //div[@class="post-content main"] |
5 | test_url: http://www.americastestkitchenfeed.com/gadgets-and-gear/2012/07/chill-out-with-tovolos-king-cube-silicone-ice-cube-tray/ \ No newline at end of file | 5 | test_url: http://www.americastestkitchenfeed.com/gadgets-and-gear/2012/07/chill-out-with-tovolos-king-cube-silicone-ice-cube-tray/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/amptoons.com.txt b/inc/3rdparty/site_config/standard/amptoons.com.txt new file mode 100755 index 00000000..87547c63 --- /dev/null +++ b/inc/3rdparty/site_config/standard/amptoons.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | title: //title | ||
2 | |||
3 | body: //div[@class="entry-content"] | ||
4 | |||
5 | author: //span[@class="author vcard"] | ||
6 | |||
7 | date: //span[@class="entry-date"] | ||
8 | test_url: http://www.amptoons.com/blog/2013/03/14/open-thread-and-link-farm-i-hate-being-sick-edition/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/anandtech.com.txt b/inc/3rdparty/site_config/standard/anandtech.com.txt index 8067e03c..7d804918 100644..100755 --- a/inc/3rdparty/site_config/standard/anandtech.com.txt +++ b/inc/3rdparty/site_config/standard/anandtech.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | author: //a[@class='b'][1] | 1 | author: //a[@class='b'][1] |
2 | date: substring-after(substring-before(//div, 'Posted in'), ' on ') | 2 | date: substring-after(substring-before(//div, 'Posted in'), ' on ') |
3 | strip_image_src: /content/images/globals/ | 3 | strip_image_src: /content/images/globals/ |
4 | strip: //h2[. = 'Page 1']/preceding::p | 4 | strip: //h2[. = 'Page 1']/preceding::p |
5 | strip: //h2 | 5 | strip: //h2 |
6 | 6 | ||
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | single_page_link: concat('http://www.anandtech.com/print/', substring-after(//meta[@property='og:url']/@content, '/show/')) | 9 | single_page_link: concat('http://www.anandtech.com/print/', substring-after(//meta[@property='og:url']/@content, '/show/')) |
10 | 10 | ||
11 | test_url: http://www.anandtech.com/show/5812/eurocom-monster-10-clevos-little-monster/ \ No newline at end of file | 11 | test_url: http://www.anandtech.com/show/5812/eurocom-monster-10-clevos-little-monster/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/androidpolice.com.txt b/inc/3rdparty/site_config/standard/androidpolice.com.txt new file mode 100755 index 00000000..8f9b1a21 --- /dev/null +++ b/inc/3rdparty/site_config/standard/androidpolice.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | body: //div[@class='post_content'] | ||
2 | date: //div[@class='date_day'] | div[@class='date_month'] | ||
3 | |||
4 | test_url: http://www.androidpolice.com/2014/03/30/music-boss-for-pebble-can-now-control-playback-and-volume-on-chromecast-content-from-your-smartwatch/ | ||
5 | |||
diff --git a/inc/3rdparty/site_config/standard/andyrutledge.com.txt b/inc/3rdparty/site_config/standard/andyrutledge.com.txt index f9ffd3c3..ce31fcf5 100644..100755 --- a/inc/3rdparty/site_config/standard/andyrutledge.com.txt +++ b/inc/3rdparty/site_config/standard/andyrutledge.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | author: string('Andy Rutledge') | 2 | author: string('Andy Rutledge') |
3 | date: //div[@class='articledate'] | 3 | date: //div[@class='articledate'] |
4 | body: //div[@class='copybody'] | 4 | body: //div[@class='copybody'] |
5 | 5 | ||
6 | strip: //*[@class='space'] | 6 | strip: //*[@class='space'] |
7 | strip: //*[@class='articleFoot'] | 7 | strip: //*[@class='articleFoot'] |
8 | 8 | ||
9 | test_url: http://www.andyrutledge.com/hungry-for-a-better-menu.php \ No newline at end of file | 9 | test_url: http://www.andyrutledge.com/hungry-for-a-better-menu.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/annatravelling.wordpress.com.txt b/inc/3rdparty/site_config/standard/annatravelling.wordpress.com.txt index a5c7c08a..2d8937f7 100644..100755 --- a/inc/3rdparty/site_config/standard/annatravelling.wordpress.com.txt +++ b/inc/3rdparty/site_config/standard/annatravelling.wordpress.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //h1[@class="title"] | 1 | title: //h1[@class="title"] |
2 | 2 | ||
3 | author: ("Anna Manasova") | 3 | author: ("Anna Manasova") |
4 | # is ignored, unfortunately | 4 | # is ignored, unfortunately |
5 | 5 | ||
6 | date: //p[@class="date"] | 6 | date: //p[@class="date"] |
7 | 7 | ||
8 | body: //div[@class="entry"] | 8 | body: //div[@class="entry"] |
9 | test_url: http://annatravelling.wordpress.com/2011/11/07/a-day-of-cooking-thai/ \ No newline at end of file | 9 | test_url: http://annatravelling.wordpress.com/2011/11/07/a-day-of-cooking-thai/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/applature.com.txt b/inc/3rdparty/site_config/standard/applature.com.txt index a78a6150..a820bba4 100644..100755 --- a/inc/3rdparty/site_config/standard/applature.com.txt +++ b/inc/3rdparty/site_config/standard/applature.com.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | title: //h1[contains(@class, 'title')# | 1 | title: //h1[contains(@class, 'title')# |
2 | body: //div[@id='mainContent']//div[contains(@class, 'section_content')] | //ul[@class='section_footer'] | 2 | body: //div[@id='mainContent']//div[contains(@class, 'section_content')] | //ul[@class='section_footer'] |
3 | date: //div[@class='date'] | 3 | date: //div[@class='date'] |
4 | 4 | ||
5 | strip_id_or_class: sharethis | 5 | strip_id_or_class: sharethis |
6 | strip_id_or_class: stats | 6 | strip_id_or_class: stats |
7 | strip_id_or_class: apply_form | 7 | strip_id_or_class: apply_form |
8 | strip_id_or_class: job_map | 8 | strip_id_or_class: job_map |
9 | strip_id_or_class: respond | 9 | strip_id_or_class: respond |
10 | strip: //h1//span[@class='type'] | 10 | strip: //h1//span[@class='type'] |
11 | strip: //li[@class='print' or @class='map'] | 11 | strip: //li[@class='print' or @class='map'] |
12 | 12 | ||
13 | replace_string(<ul class="section_footer" style="display): <ul class="section_footer" style="display-bla | 13 | replace_string(<ul class="section_footer" style="display): <ul class="section_footer" style="display-bla |
14 | 14 | ||
15 | prune: no | 15 | prune: no |
16 | tidy: no | 16 | tidy: no |
17 | 17 | ||
18 | test_url: http://applature.com/mining-jobs/jobs/nickel-west-leinster-analytical-laboratory-technician/ \ No newline at end of file | 18 | test_url: http://applature.com/mining-jobs/jobs/nickel-west-leinster-analytical-laboratory-technician/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/apple.com.txt b/inc/3rdparty/site_config/standard/apple.com.txt index 4c483955..a54dccc8 100644..100755 --- a/inc/3rdparty/site_config/standard/apple.com.txt +++ b/inc/3rdparty/site_config/standard/apple.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | strip: //p[@class='sosumi'] | 1 | strip: //p[@class='sosumi'] |
2 | # Aren't they witty? | 2 | # Aren't they witty? |
3 | 3 | ||
4 | # I can't work out what causes the  before the title. | 4 | # I can't work out what causes the  before the title. |
5 | title: //h1[@class='title'] | 5 | title: //h1[@class='title'] |
6 | strip: //h1[@class='title'] | 6 | strip: //h1[@class='title'] |
7 | test_url: http://www.apple.com/pr/library/2011/02/15appstore.html \ No newline at end of file | 7 | test_url: http://www.apple.com/pr/library/2011/02/15appstore.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/appledaily.com.tw.txt b/inc/3rdparty/site_config/standard/appledaily.com.tw.txt new file mode 100755 index 00000000..82d6f376 --- /dev/null +++ b/inc/3rdparty/site_config/standard/appledaily.com.tw.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | body: //div[contains(@class, 'articulum')] | ||
2 | |||
3 | test_url: http://www.appledaily.com.tw/realtimenews/article/new/20140120/330479 | ||
4 | test_url: http://www.appledaily.com.tw/rss/create/kind/rnews/type/new/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/appleinsider.com.txt b/inc/3rdparty/site_config/standard/appleinsider.com.txt index 279fbce1..5ae1050b 100644..100755 --- a/inc/3rdparty/site_config/standard/appleinsider.com.txt +++ b/inc/3rdparty/site_config/standard/appleinsider.com.txt | |||
@@ -1,11 +1,23 @@ | |||
1 | title: //p[@class='title'] | 1 | title: //h1[@class="art-head"] |
2 | 2 | ||
3 | author: //p[text() = 'By ']/a/text() | 3 | author: //p[contains(@class, 'byline')]/a |
4 | strip: //p[text() = 'By '] | 4 | #author: //p[text() = 'By ']/a/text() |
5 | 5 | #strip: //p[text() = 'By '] | |
6 | body: //td[@class='bod'] | 6 | |
7 | strip_id_or_class: title | 7 | date: //p[contains(@class, 'date-header')] |
8 | strip_id_or_class: minor | 8 | |
9 | 9 | body: //div[@class="article"] | |
10 | strip_id_or_class: multipagefooter | 10 | strip_id_or_class: lazy |
11 | test_url: http://www.appleinsider.com/articles/12/02/29/inside_os_x_108_mountain_lion_safari_52_gets_a_simplified_user_interface_with_new_sharing_features.html \ No newline at end of file | 11 | #strip_id_or_class: minor |
12 | strip_id_or_class: multipagefooter | ||
13 | strip_id_or_class: date-header | ||
14 | strip_id_or_class: byline | ||
15 | |||
16 | find_string: <noscript> | ||
17 | replace_string: <div> | ||
18 | find_string: </noscript> | ||
19 | replace_string: </div> | ||
20 | |||
21 | test_url: http://www.appleinsider.com/articles/12/02/29/inside_os_x_108_mountain_lion_safari_52_gets_a_simplified_user_interface_with_new_sharing_features.html | ||
22 | test_url: http://appleinsider.com/articles/13/10/03/goldee-companion-app-for-philips-hue-bulbs-offers-shifting-dynamic-light-scenes | ||
23 | test_url: http://appleinsider.com/appleinsider.rss \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/appleweblog.com.txt b/inc/3rdparty/site_config/standard/appleweblog.com.txt index 023c9ccb..023c9ccb 100644..100755 --- a/inc/3rdparty/site_config/standard/appleweblog.com.txt +++ b/inc/3rdparty/site_config/standard/appleweblog.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/archdaily.com.txt b/inc/3rdparty/site_config/standard/archdaily.com.txt index 9476cf56..0178639e 100644..100755 --- a/inc/3rdparty/site_config/standard/archdaily.com.txt +++ b/inc/3rdparty/site_config/standard/archdaily.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | date: //div[@class='post_date'] | 1 | date: //div[@class='post_date'] |
2 | 2 | ||
3 | body: //div[@class='post_content'] | 3 | body: //div[@class='post_content'] |
4 | 4 | ||
5 | test_url: http://www.archdaily.com/185325/p10-mixed-use-building-studio-up \ No newline at end of file | 5 | test_url: http://www.archdaily.com/185325/p10-mixed-use-building-studio-up \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/archiveofourown.org.txt b/inc/3rdparty/site_config/standard/archiveofourown.org.txt index 50ff632d..579de517 100644..100755 --- a/inc/3rdparty/site_config/standard/archiveofourown.org.txt +++ b/inc/3rdparty/site_config/standard/archiveofourown.org.txt | |||
@@ -1,18 +1,22 @@ | |||
1 | # Description: Fix XPaths to include ALL chapters on 'view_full_work' pages. | 1 | # Description: Fix XPaths to include ALL chapters on 'view_full_work' pages. |
2 | # Include: work meta, summary, chapter information, and notes which Instapaper strips out on default. | 2 | # Include: work meta, summary, chapter information, and notes which Instapaper strips out on default. |
3 | # Exclude: header, footer, navigation, comments. | 3 | # Exclude: header, footer, navigation, comments. |
4 | # Notes: User is a newbie with XPaths. | 4 | # Notes: User is a newbie with XPaths. |
5 | 5 | ||
6 | title: //h2[@class='title'] | 6 | title: //h2[@class='title'] |
7 | author: //h3[@class='byline'] | 7 | author: //h3[@class='byline'] |
8 | author: //a[@class='login author'] | 8 | author: //a[@class='login author'] |
9 | 9 | ||
10 | strip_id_or_class:header | 10 | strip_id_or_class:header |
11 | strip_id_or_class:navigation | 11 | strip_id_or_class:navigation |
12 | strip_id_or_class:feedback | 12 | strip_id_or_class:feedback |
13 | strip_id_or_class:kudos | 13 | strip_id_or_class:kudos |
14 | strip_id_or_class:add_comment_placeholder | 14 | strip_id_or_class:add_comment_placeholder |
15 | strip_id_or_class:add_comment | 15 | strip_id_or_class:add_comment |
16 | strip_id_or_class:globalize | 16 | strip_id_or_class:globalize |
17 | strip_id_or_class:footer | 17 | strip_id_or_class:footer |
18 | test_url: http://archiveofourown.org/works/229402?view_full_work=true \ No newline at end of file | 18 | |
19 | single_page_link: //div[@id='main']//a[contains(@href, 'view_adult=true')] | ||
20 | |||
21 | test_url: http://archiveofourown.org/works/229402?view_full_work=true | ||
22 | test_url: http://archiveofourown.org/works/750111/chapters/1399929 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/arstechnica.com.txt b/inc/3rdparty/site_config/standard/arstechnica.com.txt index 49bb3dbc..767f6800 100644..100755 --- a/inc/3rdparty/site_config/standard/arstechnica.com.txt +++ b/inc/3rdparty/site_config/standard/arstechnica.com.txt | |||
@@ -1,16 +1,17 @@ | |||
1 | author: //p[@class='byline']/a | 1 | author: //p[@class='byline']/a |
2 | body: //div[contains(@class,'article-content')] | 2 | body: //div[contains(@class,'article-content')] |
3 | strip: //h2[@class='title'] | 3 | strip: //h2[@class='title'] |
4 | strip_id_or_class: byline | 4 | strip_id_or_class: byline |
5 | prune: no | 5 | strip_id_or_class: story-sidebar |
6 | 6 | prune: no | |
7 | date: //div[@class='byline']/span[@class='posted']//abbr/@original-title | 7 | |
8 | date: //div[@class='byline']/span[@class='posted']//abbr | 8 | date: //div[@class='byline']/span[@class='posted']//abbr/@original-title |
9 | 9 | date: //div[@class='byline']/span[@class='posted']//abbr | |
10 | title: //div[@id='story']//h2[@class='title'] | 10 | |
11 | 11 | title: //div[@id='story']//h2[@class='title'] | |
12 | strip: //div[@class='pager'] | 12 | |
13 | next_page_link: //nav//a[span/@class='next']/@href | 13 | strip: //div[@class='pager'] |
14 | 14 | next_page_link: //nav//a[span/@class='next']/@href | |
15 | test_url: http://arstechnica.com/tech-policy/news/2012/02/gigabit-internet-for-80-the-unlikely-success-of-californias-sonicnet.ars | 15 | |
16 | test_url: http://arstechnica.com/apple/2005/04/macosx-10-4/ \ No newline at end of file | 16 | test_url: http://arstechnica.com/tech-policy/news/2012/02/gigabit-internet-for-80-the-unlikely-success-of-californias-sonicnet.ars |
17 | test_url: http://arstechnica.com/apple/2005/04/macosx-10-4/ | ||
diff --git a/inc/3rdparty/site_config/standard/articles.boston.com.txt b/inc/3rdparty/site_config/standard/articles.boston.com.txt index e54423be..73bcdb4e 100644..100755 --- a/inc/3rdparty/site_config/standard/articles.boston.com.txt +++ b/inc/3rdparty/site_config/standard/articles.boston.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class="mod-bostonarticleheader mod-articleheader"]/h1 | 1 | title: //div[@class="mod-bostonarticleheader mod-articleheader"]/h1 |
2 | author: substring-after(//div[@class="mod-bostonarticlebyline mod-articlebyline"]/span[3],"By ") | 2 | author: substring-after(//div[@class="mod-bostonarticlebyline mod-articlebyline"]/span[3],"By ") |
3 | date: //div[@class="mod-bostonarticlebyline mod-articlebyline"]/span[@class="pubdate"] | 3 | date: //div[@class="mod-bostonarticlebyline mod-articlebyline"]/span[@class="pubdate"] |
4 | 4 | ||
5 | strip_id_or_class: mod-pagination | 5 | strip_id_or_class: mod-pagination |
6 | test_url: http://articles.boston.com/2011-10-23/news/30313691_1_bigfoot-free-speech-monadnock-state-park \ No newline at end of file | 6 | test_url: http://articles.boston.com/2011-10-23/news/30313691_1_bigfoot-free-speech-monadnock-state-park \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/articles.courant.com.txt b/inc/3rdparty/site_config/standard/articles.courant.com.txt index a08f2041..984d81de 100644..100755 --- a/inc/3rdparty/site_config/standard/articles.courant.com.txt +++ b/inc/3rdparty/site_config/standard/articles.courant.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //div[@class="mod-courantarticleheader mod-articleheader"]/h1 | 1 | title: //div[@class="mod-courantarticleheader mod-articleheader"]/h1 |
2 | date: //div[@class="mod-courantarticlebyline mod-articlebyline"]/span[@class="pubdate"] | 2 | date: //div[@class="mod-courantarticlebyline mod-articlebyline"]/span[@class="pubdate"] |
3 | author: //div[@class="mod-courantarticlebyline mod-articlebyline"]/span[3] | 3 | author: //div[@class="mod-courantarticlebyline mod-articlebyline"]/span[3] |
4 | 4 | ||
5 | strip_id_or_class: mod-article-byline | 5 | strip_id_or_class: mod-article-byline |
6 | strip_id_or_class: mod-article-header | 6 | strip_id_or_class: mod-article-header |
7 | strip_id_or_class: mod-article-subtitle | 7 | strip_id_or_class: mod-article-subtitle |
8 | #This leaves some crud after the article, but it's better than nothing. | 8 | #This leaves some crud after the article, but it's better than nothing. |
9 | #It would be ideal if we could set the body to every element matching //div[contains(@class, "mod-articletext")]/p, but it seems like body only takes the first matching element. | 9 | #It would be ideal if we could set the body to every element matching //div[contains(@class, "mod-articletext")]/p, but it seems like body only takes the first matching element. |
10 | 10 | ||
11 | test_url: http://articles.courant.com/2011-10-22/news/hc-green-drugsearch--1022-20111022_1_drugs-in-student-lockers-police-dogs-lockdown \ No newline at end of file | 11 | test_url: http://articles.courant.com/2011-10-22/news/hc-green-drugsearch--1022-20111022_1_drugs-in-student-lockers-police-dogs-lockdown \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/articles.washingtonpost.com.txt b/inc/3rdparty/site_config/standard/articles.washingtonpost.com.txt new file mode 100755 index 00000000..a76c2d02 --- /dev/null +++ b/inc/3rdparty/site_config/standard/articles.washingtonpost.com.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | body: //div[contains(@class, "article_body")] | ||
2 | # print view | ||
3 | body: //div[@id='print_facet']//div[@id='body'] | ||
4 | |||
5 | tidy: no | ||
6 | prune: no | ||
7 | |||
8 | single_page_link: concat(substring-before(//div[@id="echo_container_a"]/@guid, '_story.html'), '_print.html') | ||
9 | |||
10 | test_url: http://articles.washingtonpost.com/2011-10-22/world/35279694_1_germany-acts-german-leaders-chancellor-angela-merkel | ||
11 | test_url: http://articles.washingtonpost.com/2013-05-31/opinions/39658000_1_chemical-weapons-mass-destruction-cartels \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/asahi.com.txt b/inc/3rdparty/site_config/standard/asahi.com.txt index 2562edb9..b4eec7bd 100644..100755 --- a/inc/3rdparty/site_config/standard/asahi.com.txt +++ b/inc/3rdparty/site_config/standard/asahi.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id='HeadLine'] | 1 | body: //div[@id='HeadLine'] |
2 | strip: //div[@id='utility_right'] | 2 | strip: //div[@id='utility_right'] |
3 | test_url: http://www.asahi.com/culture/update/0520/TKY201105200321.html \ No newline at end of file | 3 | test_url: http://www.asahi.com/culture/update/0520/TKY201105200321.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ascarter.net.txt b/inc/3rdparty/site_config/standard/ascarter.net.txt index 5236d09e..0327e846 100644..100755 --- a/inc/3rdparty/site_config/standard/ascarter.net.txt +++ b/inc/3rdparty/site_config/standard/ascarter.net.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h1[@class='article_title'] | 1 | title: //h1[@class='article_title'] |
2 | author: //span[@class='author'] | 2 | author: //span[@class='author'] |
3 | date: //h2[@class='dateline'] | 3 | date: //h2[@class='dateline'] |
4 | body: //div[@class='article_body'] | 4 | body: //div[@class='article_body'] |
5 | test_url: http://ascarter.net/2012/02/20/enough-is-enough.html \ No newline at end of file | 5 | test_url: http://ascarter.net/2012/02/20/enough-is-enough.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/astronews.com.txt b/inc/3rdparty/site_config/standard/astronews.com.txt index 33e8153d..8de22270 100644..100755 --- a/inc/3rdparty/site_config/standard/astronews.com.txt +++ b/inc/3rdparty/site_config/standard/astronews.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //span[@class='titel'] | 1 | title: //span[@class='titel'] |
2 | author: //span[@class='metadaten_C']/a//span[@class='metadaten_C'] | 2 | author: //span[@class='metadaten_C']/a//span[@class='metadaten_C'] |
3 | date: substring-after(//span[@class='metadaten_C'],'astronews.com') | 3 | date: substring-after(//span[@class='metadaten_C'],'astronews.com') |
4 | strip: //span[@class='bu'] | 4 | strip: //span[@class='bu'] |
5 | strip_image_src: '/_images/' | 5 | strip_image_src: '/_images/' |
6 | 6 | ||
7 | test_url: http://www.astronews.com/news/artikel/2011/10/1110-021.shtml \ No newline at end of file | 7 | test_url: http://www.astronews.com/news/artikel/2011/10/1110-021.shtml \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/asymco.com.txt b/inc/3rdparty/site_config/standard/asymco.com.txt index adad5f18..f639b048 100644..100755 --- a/inc/3rdparty/site_config/standard/asymco.com.txt +++ b/inc/3rdparty/site_config/standard/asymco.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | # Johannes Stühler | 1 | # Johannes Stühler |
2 | 2 | ||
3 | title://h2 | 3 | title://h2 |
4 | author://span[@class='meta-content'] | 4 | author://span[@class='meta-content'] |
5 | date://abbr[@class='date published']/@title | 5 | date://abbr[@class='date published']/@title |
6 | body://div[@class='entry-content'] | 6 | body://div[@class='entry-content'] |
7 | 7 | ||
8 | test_url: http://www.asymco.com/2011/01/14/is-android-more-efficient-than-ios-at-generating-search-revenue/ \ No newline at end of file | 8 | test_url: http://www.asymco.com/2011/01/14/is-android-more-efficient-than-ios-at-generating-search-revenue/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/autoblog.com.txt b/inc/3rdparty/site_config/standard/autoblog.com.txt index 58681bf9..291db992 100644..100755 --- a/inc/3rdparty/site_config/standard/autoblog.com.txt +++ b/inc/3rdparty/site_config/standard/autoblog.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | prune: no | 1 | prune: no |
2 | body: //div[@class='post-body'] | 2 | body: //div[@class='post-body'] |
3 | author: //p[@class='byline']//a | 3 | author: //p[@class='byline']//a |
4 | date: substring-after(//div[@class='about']/p[2], 'Posted') | 4 | date: substring-after(//div[@class='about']/p[2], 'Posted') |
5 | strip: //div[@class='body']/div[@class='meta'] | 5 | strip: //div[@class='body']/div[@class='meta'] |
6 | test_url: http://www.autoblog.com/2012/01/17/next-gen-bmw-x5-caught-again/ \ No newline at end of file | 6 | test_url: http://www.autoblog.com/2012/01/17/next-gen-bmw-x5-caught-again/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/avclub.com.txt b/inc/3rdparty/site_config/standard/avclub.com.txt index 776ee108..c365a7aa 100644..100755 --- a/inc/3rdparty/site_config/standard/avclub.com.txt +++ b/inc/3rdparty/site_config/standard/avclub.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | author: //*[@id="article_wrapper"]/div[1]/a[1] | 1 | author: //*[@id="article_wrapper"]/div[1]/a[1] |
2 | body: //*[@id="article_wrapper"]/div[2] | 2 | body: //*[@id="article_wrapper"]/div[2] |
3 | date: //*[@id="article_wrapper"]/div[1]/text()[2] | 3 | date: //*[@id="article_wrapper"]/div[1]/text()[2] |
4 | test_url: http://www.avclub.com/articles/forgetmenot,70904 \ No newline at end of file | 4 | test_url: http://www.avclub.com/articles/forgetmenot,70904 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/baltimoresun.com.txt b/inc/3rdparty/site_config/standard/baltimoresun.com.txt index 32adff8d..35b62427 100644..100755 --- a/inc/3rdparty/site_config/standard/baltimoresun.com.txt +++ b/inc/3rdparty/site_config/standard/baltimoresun.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | single_page_link: //div[@class='toppaginate']//a[@rel='nofollow'] | 1 | single_page_link: //div[@class='toppaginate']//a[@rel='nofollow'] |
2 | convert_double_br_tags: yes | 2 | convert_double_br_tags: yes |
3 | 3 | ||
4 | title: //div[@class="story"]/h1 | 4 | title: //div[@class="story"]/h1 |
5 | body: //div[@id="story-body-text"] | 5 | body: //div[@id="story-body-text"] |
6 | author: //span[@class="byline"] | 6 | author: //span[@class="byline"] |
7 | date: //p[@class="date"] | 7 | date: //p[@class="date"] |
8 | 8 | ||
9 | strip: //*[@class='all'] | 9 | strip: //*[@class='all'] |
10 | strip: //*[@class='articlerail'] | 10 | strip: //*[@class='articlerail'] |
11 | 11 | ||
12 | test_url: http://www.baltimoresun.com/news/maryland/bs-md-omalley-budget-2-20120116,0,5340585.story \ No newline at end of file | 12 | test_url: http://www.baltimoresun.com/news/maryland/bs-md-omalley-budget-2-20120116,0,5340585.story \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/baseballprospectus.com.txt b/inc/3rdparty/site_config/standard/baseballprospectus.com.txt new file mode 100755 index 00000000..1207b343 --- /dev/null +++ b/inc/3rdparty/site_config/standard/baseballprospectus.com.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | title: //h1[@class='title'] | ||
2 | author: //p[@class="author"]/a[1] | ||
3 | body: //div[@class="article"] | ||
4 | date: //p[@class="date"] | ||
5 | |||
6 | # remove user tools | ||
7 | strip: //div[@class='tools'] | ||
8 | strip: //h1 | ||
9 | strip: //h2[@class='subtitle'] | ||
10 | strip: //p[@class='author'] | ||
11 | strip: //p[@class='date'] | ||
12 | |||
13 | test_url: http://www.baseballprospectus.com/article.php?articleid=18463 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/basicthinking.de.txt b/inc/3rdparty/site_config/standard/basicthinking.de.txt index ab583145..f08c1f26 100644..100755 --- a/inc/3rdparty/site_config/standard/basicthinking.de.txt +++ b/inc/3rdparty/site_config/standard/basicthinking.de.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | date: //span[@class='date'] | 2 | date: //span[@class='date'] |
3 | body: //div[@class='entry'] | 3 | body: //div[@class='entry'] |
4 | 4 | ||
5 | strip: //div[@class='zusatz'] | 5 | strip: //div[@class='zusatz'] |
6 | 6 | ||
7 | test_url: http://www.basicthinking.de/blog/2011/12/13/sagt-social-networks-adieu-begrust-private-networks/ \ No newline at end of file | 7 | test_url: http://www.basicthinking.de/blog/2011/12/13/sagt-social-networks-adieu-begrust-private-networks/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bb.is.txt b/inc/3rdparty/site_config/standard/bb.is.txt index eaafaf18..57f7fdfa 100644..100755 --- a/inc/3rdparty/site_config/standard/bb.is.txt +++ b/inc/3rdparty/site_config/standard/bb.is.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | author: substring(//h3[@class='headlines']/span[@class='dates'],0,string-length(//h3[@class='headlines']/span[@class='dates'])-20) | 1 | author: substring(//h3[@class='headlines']/span[@class='dates'],0,string-length(//h3[@class='headlines']/span[@class='dates'])-20) |
2 | 2 | ||
3 | 3 | ||
4 | date: substring((//h3[@class='headlines']/span[@class='dates']),string-length(//h3[@class='headlines']/span[@class='dates'])-18,12) | 4 | date: substring((//h3[@class='headlines']/span[@class='dates']),string-length(//h3[@class='headlines']/span[@class='dates'])-18,12) |
5 | 5 | ||
6 | 6 | ||
7 | body: //div[@class='first-article-big'] | 7 | body: //div[@class='first-article-big'] |
8 | strip: //table[@class='newsimagecontainer'] | 8 | strip: //table[@class='newsimagecontainer'] |
9 | strip: //h3[@class='headlines'] | 9 | strip: //h3[@class='headlines'] |
10 | strip: //iframe[@class='headlines'] | 10 | strip: //iframe[@class='headlines'] |
11 | strip: //a[@class='newslink'] | 11 | strip: //a[@class='newslink'] |
12 | convert_double_br_tags: yes | 12 | convert_double_br_tags: yes |
13 | test_url: http://bb.is/Pages/82?NewsID=174119 \ No newline at end of file | 13 | test_url: http://bb.is/Pages/82?NewsID=174119 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bbc.co.uk.txt b/inc/3rdparty/site_config/standard/bbc.co.uk.txt index 9c5c3419..ef1f491a 100644..100755 --- a/inc/3rdparty/site_config/standard/bbc.co.uk.txt +++ b/inc/3rdparty/site_config/standard/bbc.co.uk.txt | |||
@@ -1,32 +1,42 @@ | |||
1 | body: //div[@class="story-body"] | 1 | body: //div[@class="story-body"] |
2 | title: //h1[@class="story-header"] | 2 | # for video entries |
3 | date: //span[@class="story-date"]/span[@class='date'] | 3 | body: //div[contains(@class, "videoInStory") or @id="meta-information"] |
4 | 4 | title: //h1[@class="story-header"] | |
5 | # recipes, e.g. http://www.bbc.co.uk/food/recipes/mymincepies_71055 | 5 | date: //span[@class="story-date"]/span[@class='date'] |
6 | body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1'] | 6 | # for sport site |
7 | 7 | date: //meta[@name='DCTERMS.created']/@content | |
8 | #strip: //div[@class="story-feature narrow"] | 8 | author: //div[@id='headline']//span[@class='byline-name'] |
9 | #strip: //div[@class="story-feature wide"] | 9 | |
10 | #strip: //div[@class="story-feature dslideshow-enclosure"] | 10 | # recipes, e.g. http://www.bbc.co.uk/food/recipes/mymincepies_71055 |
11 | strip: //div[contains(@class, "story-feature")] | 11 | body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1'] |
12 | strip: //span[@class="story-date"] | 12 | |
13 | #strip: //div[@class="caption body-narrow-width"] | 13 | #strip: //div[@class="story-feature narrow"] |
14 | strip: //div[@class="warning"]//p | 14 | #strip: //div[@class="story-feature wide"] |
15 | strip: //div[@id='page-bookmark-links-head'] | 15 | #strip: //div[@class="story-feature dslideshow-enclosure"] |
16 | strip: //object | 16 | strip: //div[contains(@class, "story-feature")] |
17 | strip: //div[contains(@class, "bbccom_advert_placeholder")] | 17 | strip: //span[@class="story-date"] |
18 | strip: //div[contains(@class, "embedded-hyper")] | 18 | #strip: //div[@class="caption body-narrow-width"] |
19 | strip: //div[contains(@class, 'market-data')] | 19 | strip: //div[@class="warning"]//p |
20 | strip: //a[contains(@class, 'hidden')] | 20 | strip: //div[@id='page-bookmark-links-head'] |
21 | strip: //div[contains(@class, 'hypertabs')] | 21 | strip: //object |
22 | strip: //div[contains(@class, 'related')] | 22 | strip: //div[contains(@class, "bbccom_advert_placeholder")] |
23 | strip: //form[@id='comment-form'] | 23 | strip: //div[contains(@class, "embedded-hyper")] |
24 | strip: //div[contains(@class, 'comment-introduction')] | 24 | strip: //div[contains(@class, 'market-data')] |
25 | 25 | strip: //a[contains(@class, 'hidden')] | |
26 | replace_string(<noscript>): <div> | 26 | strip: //div[contains(@class, 'hypertabs')] |
27 | replace_string(</noscript>): </div> | 27 | strip: //div[contains(@class, 'related')] |
28 | 28 | strip: //form[@id='comment-form'] | |
29 | prune: no | 29 | strip: //div[contains(@class, 'comment-introduction')] |
30 | 30 | strip: //div[contains(@class, 'share-tools')] | |
31 | dissolve: //h2 | 31 | strip: //div[@id='also-related-links'] |
32 | test_url: http://www.bbc.co.uk/news/business-15060862 \ No newline at end of file | 32 | |
33 | replace_string(<noscript>): <div> | ||
34 | replace_string(</noscript>): </div> | ||
35 | |||
36 | prune: no | ||
37 | |||
38 | dissolve: //h2 | ||
39 | test_url: http://www.bbc.co.uk/sport/0/football/23224017 | ||
40 | test_url: http://www.bbc.co.uk/news/business-15060862 | ||
41 | # video entry | ||
42 | test_url: http://www.bbc.co.uk/news/world-asia-22056933 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/bbcgoodfood.com.txt b/inc/3rdparty/site_config/standard/bbcgoodfood.com.txt new file mode 100755 index 00000000..1547d625 --- /dev/null +++ b/inc/3rdparty/site_config/standard/bbcgoodfood.com.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | title: //header//h1 | ||
2 | #body: //article[contains(@class, 'node-full')] | ||
3 | body: //div[contains(@class, 'recipe-details') or contains(@class, 'tips-carousel')] | //section[@id='recipe-ingredients' or @id='recipe-method'] | ||
4 | |||
5 | strip_id_or_class: recipe-rating-wrapper | ||
6 | strip_id_or_class: magazine-subcribe-header | ||
7 | strip_id_or_class: hide | ||
8 | strip_id_or_class: recipe-actions | ||
9 | strip_id_or_class: buy-ingredients | ||
10 | strip_id_or_class: related-content | ||
11 | strip_id_or_class: recipe-magazine-ad | ||
12 | strip_id_or_class: copy-right | ||
13 | |||
14 | prune: no | ||
15 | |||
16 | test_url: http://www.bbcgoodfood.com/recipes/1131634/minced-beef-wellington \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/benoitmaison.org.txt b/inc/3rdparty/site_config/standard/benoitmaison.org.txt index f341d593..72c1baed 100644..100755 --- a/inc/3rdparty/site_config/standard/benoitmaison.org.txt +++ b/inc/3rdparty/site_config/standard/benoitmaison.org.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | body: //div[@class="entry-content"] | 1 | body: //div[@class="entry-content"] |
2 | 2 | ||
3 | # Remove text ‘Tweet’ | 3 | # Remove text ‘Tweet’ |
4 | strip: //div[@class="entry-content"]/div[last()] | 4 | strip: //div[@class="entry-content"]/div[last()] |
5 | 5 | ||
6 | title: h1[@class="entry-title"] | 6 | title: h1[@class="entry-title"] |
7 | 7 | ||
8 | # If the Instapaper text parser worked with HTML5 tags, we would use: | 8 | # If the Instapaper text parser worked with HTML5 tags, we would use: |
9 | date: //time[@class="entry-date"] | 9 | date: //time[@class="entry-date"] |
10 | 10 | ||
11 | # But since it does not, use this more complicated rule: | 11 | # But since it does not, use this more complicated rule: |
12 | date: //div[@class="entry-meta"]/a[@rel="bookmark"] | 12 | date: //div[@class="entry-meta"]/a[@rel="bookmark"] |
13 | 13 | ||
14 | # Unfortunately, the following rule is overridden by the automatically found author. | 14 | # Unfortunately, the following rule is overridden by the automatically found author. |
15 | author: ("Benoit Maison") | 15 | author: ("Benoit Maison") |
16 | test_url: http://www.benoitmaison.org/2011/12/06/why-siri-had-to-start-in-beta/ \ No newline at end of file | 16 | test_url: http://www.benoitmaison.org/2011/12/06/why-siri-had-to-start-in-beta/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/berlingske.dk.txt b/inc/3rdparty/site_config/standard/berlingske.dk.txt index 607c998d..9f8c41c6 100644..100755 --- a/inc/3rdparty/site_config/standard/berlingske.dk.txt +++ b/inc/3rdparty/site_config/standard/berlingske.dk.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h1[@class='headline'] | 1 | title: //h1[@class='headline'] |
2 | body: //div[contains(@class, 'article-wrapper')] | 2 | body: //div[contains(@class, 'article-wrapper')] |
3 | test_url: http://www.berlingske.dk/danmark/festen-er-flyttet-nordpaa \ No newline at end of file | 3 | test_url: http://www.berlingske.dk/danmark/festen-er-flyttet-nordpaa \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bernama.com.txt b/inc/3rdparty/site_config/standard/bernama.com.txt new file mode 100755 index 00000000..fdc04b7f --- /dev/null +++ b/inc/3rdparty/site_config/standard/bernama.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | body: //div[contains(@class, "NewsText"] | ||
2 | prune: no | ||
3 | |||
4 | test_url: http://www.bernama.com/bernama/v7/rss/english.php | ||
5 | test_url: http://www.bernama.com/bernama/v7/newsindex.php?id=943513 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/betabeat.com.txt b/inc/3rdparty/site_config/standard/betabeat.com.txt index 7815cf26..7815cf26 100644..100755 --- a/inc/3rdparty/site_config/standard/betabeat.com.txt +++ b/inc/3rdparty/site_config/standard/betabeat.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/betanews.com.txt b/inc/3rdparty/site_config/standard/betanews.com.txt index 0eaf085e..90a54a23 100644..100755 --- a/inc/3rdparty/site_config/standard/betanews.com.txt +++ b/inc/3rdparty/site_config/standard/betanews.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | # some articles at this site like this one doesn't | 1 | # some articles at this site like this one doesn't |
2 | # seem to pick up the article body via normal | 2 | # seem to pick up the article body via normal |
3 | # processing, other articles come through fine | 3 | # processing, other articles come through fine |
4 | # http://www.betanews.com/joewilcox/article | 4 | # http://www.betanews.com/joewilcox/article |
5 | # /Google-is-a-marketing-sensation/1309708375 | 5 | # /Google-is-a-marketing-sensation/1309708375 |
6 | body: //*[@id="article"] | 6 | body: //*[@id="article"] |
7 | test_url: http://www.betanews.com/joewilcox/article/Google-is-a-marketing-sensation/1309708375 \ No newline at end of file | 7 | test_url: http://www.betanews.com/joewilcox/article/Google-is-a-marketing-sensation/1309708375 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/biography.com.txt b/inc/3rdparty/site_config/standard/biography.com.txt index dc071299..e431037a 100644..100755 --- a/inc/3rdparty/site_config/standard/biography.com.txt +++ b/inc/3rdparty/site_config/standard/biography.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //div[contains(@class, 'main-content')]//h1 | 1 | title: //div[contains(@class, 'main-content')]//h1 |
2 | body: //div[@class='summary-column'] | //div[contains(@class, 'main-content')] | 2 | body: //div[@class='summary-column'] | //div[contains(@class, 'main-content')] |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | single_page_link: //div[@id='biography-action-links']//a[contains(@href, '/print/')] | 6 | single_page_link: //div[@id='biography-action-links']//a[contains(@href, '/print/')] |
7 | 7 | ||
8 | test_url: http://www.biography.com/print/profile/martin-luther-9389283 \ No newline at end of file | 8 | test_url: http://www.biography.com/print/profile/martin-luther-9389283 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bitelia.com.txt b/inc/3rdparty/site_config/standard/bitelia.com.txt index 7bffae93..7bffae93 100644..100755 --- a/inc/3rdparty/site_config/standard/bitelia.com.txt +++ b/inc/3rdparty/site_config/standard/bitelia.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/bizjournals.com.txt b/inc/3rdparty/site_config/standard/bizjournals.com.txt new file mode 100755 index 00000000..cfba766f --- /dev/null +++ b/inc/3rdparty/site_config/standard/bizjournals.com.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | date: //meta[@name='publish-date']/@content | ||
2 | body: //div[contains(@class, 'articleContentWrapper')] | ||
3 | prune: no | ||
4 | |||
5 | strip: //div[contains(@class, 'staff_info')]//dd[contains(., 'Twitter')] | ||
6 | |||
7 | strip_id_or_class: related_content | ||
8 | strip_id_or_class: enlarge | ||
9 | strip_id_or_class: photoBy | ||
10 | strip_id_or_class: older | ||
11 | |||
12 | test_url: http://www.bizjournals.com/cincinnati/news/2013/10/03/harris-teeter-shareholders-vote-on.html | ||
13 | test_url: http://feeds.bizjournals.com/industry_20?format=xml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/bjango.com.txt b/inc/3rdparty/site_config/standard/bjango.com.txt index 6cb04631..0fed5526 100644..100755 --- a/inc/3rdparty/site_config/standard/bjango.com.txt +++ b/inc/3rdparty/site_config/standard/bjango.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h1[@class='articlehead'] | 1 | title: //h1[@class='articlehead'] |
2 | body: //div[@class='column'] | 2 | body: //div[@class='column'] |
3 | strip: //h1 | 3 | strip: //h1 |
4 | strip: //div[@class='help'] | 4 | strip: //div[@class='help'] |
5 | 5 | ||
6 | #no author or date/time provided in current layout | 6 | #no author or date/time provided in current layout |
7 | test_url: http://bjango.com/articles/actions/ \ No newline at end of file | 7 | test_url: http://bjango.com/articles/actions/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.arsln.org.txt b/inc/3rdparty/site_config/standard/blog.arsln.org.txt index 1f43f490..7ac8cc11 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.arsln.org.txt +++ b/inc/3rdparty/site_config/standard/blog.arsln.org.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | prune: no | 2 | prune: no |
3 | date: //article/header/h6/time | 3 | date: //article/header/h6/time |
4 | title: //article/header/h3 | 4 | title: //article/header/h3 |
5 | author: //meta[@name='author']/@content | 5 | author: //meta[@name='author']/@content |
6 | body: //article//post | 6 | body: //article//post |
7 | 7 | ||
8 | test_url: http://blog.arsln.org/aska-ayip-oluyor/ \ No newline at end of file | 8 | test_url: http://blog.arsln.org/aska-ayip-oluyor/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.asmartbear.com.txt b/inc/3rdparty/site_config/standard/blog.asmartbear.com.txt index 81c3bda6..78d7f516 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.asmartbear.com.txt +++ b/inc/3rdparty/site_config/standard/blog.asmartbear.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //title | 1 | title: //title |
2 | author: //span[@class='author vcard']/a | 2 | author: //span[@class='author vcard']/a |
3 | date: //p[@class='headline_meta']/abbr[@class='published'] | 3 | date: //p[@class='headline_meta']/abbr[@class='published'] |
4 | body: //div[@class='format_text entry-content'] | 4 | body: //div[@class='format_text entry-content'] |
5 | 5 | ||
6 | strip: //div[@id='dd_ajax_float'] | 6 | strip: //div[@id='dd_ajax_float'] |
7 | test_url: http://blog.asmartbear.com/how-to-get-quality-freelance-graphics-design-work-on-a-budget.html \ No newline at end of file | 7 | test_url: http://blog.asmartbear.com/how-to-get-quality-freelance-graphics-design-work-on-a-budget.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.cloudflare.com.txt b/inc/3rdparty/site_config/standard/blog.cloudflare.com.txt index a4c5aaea..db80a35f 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.cloudflare.com.txt +++ b/inc/3rdparty/site_config/standard/blog.cloudflare.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | # Instapaper gets this back to front and only gets the blog title instead of the article title. | 1 | # Instapaper gets this back to front and only gets the blog title instead of the article title. |
2 | title: substring-before(//title, '-') | 2 | title: substring-before(//title, '-') |
3 | 3 | ||
4 | author: //a[ contains(@href, '/people') ] | 4 | author: //a[ contains(@href, '/people') ] |
5 | 5 | ||
6 | body: //div[ @class='post' ] | 6 | body: //div[ @class='post' ] |
7 | 7 | ||
8 | # Date is impossible to retrieve since they use those stupid "fuzzy" dates, inserted through javascript, at posterous. | 8 | # Date is impossible to retrieve since they use those stupid "fuzzy" dates, inserted through javascript, at posterous. |
9 | test_url: http://blog.cloudflare.com/understanding-analytics-when-is-a-page-view-n \ No newline at end of file | 9 | test_url: http://blog.cloudflare.com/understanding-analytics-when-is-a-page-view-n \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.fefe.de.txt b/inc/3rdparty/site_config/standard/blog.fefe.de.txt index 92272b70..97e48e69 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.fefe.de.txt +++ b/inc/3rdparty/site_config/standard/blog.fefe.de.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | date: //h3 | 2 | date: //h3 |
3 | body: //ul | 3 | body: //ul |
4 | 4 | ||
5 | test_url: http://blog.fefe.de/?ts=b063bf55 \ No newline at end of file | 5 | test_url: http://blog.fefe.de/?ts=b063bf55 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.instagram.com.txt b/inc/3rdparty/site_config/standard/blog.instagram.com.txt index 3065dd80..13d1d44a 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.instagram.com.txt +++ b/inc/3rdparty/site_config/standard/blog.instagram.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | # clean Instagram blog a little bit | 1 | # clean Instagram blog a little bit |
2 | 2 | ||
3 | tidy:no | 3 | tidy:no |
4 | prune:no | 4 | prune:no |
5 | 5 | ||
6 | body://div[contains(@id,'content')] | 6 | body://div[contains(@id,'content')] |
7 | 7 | ||
8 | strip_id_or_class:meta | 8 | strip_id_or_class:meta |
9 | strip_id_or_class:notes | 9 | strip_id_or_class:notes |
10 | strip_id_or_class:pagination | 10 | strip_id_or_class:pagination |
11 | test_url: http://blog.instagram.com/post/8757832007/fromwhereistand \ No newline at end of file | 11 | test_url: http://blog.instagram.com/post/8757832007/fromwhereistand \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.instapaper.com.txt b/inc/3rdparty/site_config/standard/blog.instapaper.com.txt new file mode 100755 index 00000000..fda01b15 --- /dev/null +++ b/inc/3rdparty/site_config/standard/blog.instapaper.com.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | author: //a[@href="http://www.marco.org/about"] | ||
2 | date: //span[@class="date"] | ||
3 | |||
4 | # Remove the date from article body. | ||
5 | strip: //span[@class="date"] | ||
6 | |||
7 | # Remove pagination links from article body. | ||
8 | strip: //div[@id="pagination"] | ||
9 | test_url: http://blog.instapaper.com/post/31303984531 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/blog.jaysalvat.com.txt b/inc/3rdparty/site_config/standard/blog.jaysalvat.com.txt index 4e467fe9..e89ad3a5 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.jaysalvat.com.txt +++ b/inc/3rdparty/site_config/standard/blog.jaysalvat.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | date: //span[contains(@class, 'date-links')] | 1 | date: //span[contains(@class, 'date-links')] |
2 | author: //span[contains(@class, 'author-links')] | 2 | author: //span[contains(@class, 'author-links')] |
3 | body: //div[contains(@class, 'entry-content')] | 3 | body: //div[contains(@class, 'entry-content')] |
4 | test_url: http://blog.jaysalvat.com/article/celui-qui-avait-refait-son-site-web \ No newline at end of file | 4 | test_url: http://blog.jaysalvat.com/article/celui-qui-avait-refait-son-site-web \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.kaelig.fr.txt b/inc/3rdparty/site_config/standard/blog.kaelig.fr.txt index ac18ad15..bcd3bdc9 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.kaelig.fr.txt +++ b/inc/3rdparty/site_config/standard/blog.kaelig.fr.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //*[contains(@class, 'post_content')] | 1 | body: //*[contains(@class, 'post_content')] |
2 | author: string('Kaelig Deloumeau-Prigent') | 2 | author: string('Kaelig Deloumeau-Prigent') |
3 | title: //h1[@class='title'] | 3 | title: //h1[@class='title'] |
4 | date: //span[@class='date'] | 4 | date: //span[@class='date'] |
5 | test_url: http://blog.kaelig.fr/post/24877648508/preprocesseurs-css-renoncer-par-choix-ou-par \ No newline at end of file | 5 | test_url: http://blog.kaelig.fr/post/24877648508/preprocesseurs-css-renoncer-par-choix-ou-par \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.naver.com.txt b/inc/3rdparty/site_config/standard/blog.naver.com.txt index 702789ad..73c30c47 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.naver.com.txt +++ b/inc/3rdparty/site_config/standard/blog.naver.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //span[@class='pcol1 itemSubjectBoldfont'] | 1 | title: //span[@class='pcol1 itemSubjectBoldfont'] |
2 | body: //div[@id='postListBody'] | 2 | body: //div[@id='postListBody'] |
3 | date: //p[@class='date fil5 pcol2'] | 3 | date: //p[@class='date fil5 pcol2'] |
4 | single_page_link: /html/frameset/frame[1]/attribute::src | 4 | single_page_link: /html/frameset/frame[1]/attribute::src |
5 | strip: //div[@class='post-btn'] | 5 | strip: //div[@class='post-btn'] |
6 | test_url: http://blog.naver.com/how2invest/110135068757 \ No newline at end of file | 6 | test_url: http://blog.naver.com/how2invest/110135068757 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.pchome.net.txt b/inc/3rdparty/site_config/standard/blog.pchome.net.txt index 3089001e..de81beba 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.pchome.net.txt +++ b/inc/3rdparty/site_config/standard/blog.pchome.net.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | # PCHOME blog, a popular Chinese blog host | 1 | # PCHOME blog, a popular Chinese blog host |
2 | # Oct 15, 2011 | 2 | # Oct 15, 2011 |
3 | # | 3 | # |
4 | 4 | ||
5 | title://*[contains(@class,'imp')]/h2 | 5 | title://*[contains(@class,'imp')]/h2 |
6 | 6 | ||
7 | date://*[contains(@class,'imp')]/span | 7 | date://*[contains(@class,'imp')]/span |
8 | body://div[contains(@id,'blog_content')] | 8 | body://div[contains(@id,'blog_content')] |
9 | 9 | ||
10 | 10 | ||
11 | 11 | ||
12 | test_url: http://blog.pchome.net/article/462502.html \ No newline at end of file | 12 | test_url: http://blog.pchome.net/article/462502.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.pinboard.in.txt b/inc/3rdparty/site_config/standard/blog.pinboard.in.txt index b7afe455..40f0c560 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.pinboard.in.txt +++ b/inc/3rdparty/site_config/standard/blog.pinboard.in.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //a[@class="blog_title"] | 1 | title: //a[@class="blog_title"] |
2 | date: //p[@class="when"]/a | 2 | date: //p[@class="when"]/a |
3 | body: //div[@class="blog_entry"] | 3 | body: //div[@class="blog_entry"] |
4 | strip_id_or_class:blog_title | 4 | strip_id_or_class:blog_title |
5 | strip_id_or_class:when | 5 | strip_id_or_class:when |
6 | test_url: http://blog.pinboard.in/2011/11/the_social_graph_is_neither/ \ No newline at end of file | 6 | test_url: http://blog.pinboard.in/2011/11/the_social_graph_is_neither/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.renren.com.txt b/inc/3rdparty/site_config/standard/blog.renren.com.txt new file mode 100755 index 00000000..401d31e5 --- /dev/null +++ b/inc/3rdparty/site_config/standard/blog.renren.com.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://blog.renren.com/share/224959024/14260739544 | ||
3 | # http://blog.renren.com/share/231323504/14261768898 | ||
4 | # http://blog.renren.com/share/230305019/1502806705 | ||
5 | |||
6 | title://h1[contains(@class, 'title-article')] | ||
7 | author://span[contains(@class, 'name')] | ||
8 | body://div[contains(@class, 'content-body')] | ||
9 | |||
10 | convert_double_br_tags:yes | ||
11 | test_url: http://blog.renren.com/share/230305019/1502806705 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/blog.sina.com.cn.txt b/inc/3rdparty/site_config/standard/blog.sina.com.cn.txt index acb9ce81..4895272a 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.sina.com.cn.txt +++ b/inc/3rdparty/site_config/standard/blog.sina.com.cn.txt | |||
@@ -1,26 +1,26 @@ | |||
1 | # Sina blog, the most popular blog host in China. | 1 | # Sina blog, the most popular blog host in China. |
2 | # Its source code is horrible. | 2 | # Its source code is horrible. |
3 | # | 3 | # |
4 | # Issue: | 4 | # Issue: |
5 | # Only the first image in the article is displayed. | 5 | # Only the first image in the article is displayed. |
6 | # The rest images are replace by a 1x1 transparent gif by sina blog host. | 6 | # The rest images are replace by a 1x1 transparent gif by sina blog host. |
7 | # | 7 | # |
8 | 8 | ||
9 | title://*[contains(@class,'titName SG_txta')] | 9 | title://*[contains(@class,'titName SG_txta')] |
10 | author://*[contains(@id,'ownernick')] | 10 | author://*[contains(@id,'ownernick')] |
11 | date://*[contains(@class,'time SG_txtc')] | 11 | date://*[contains(@class,'time SG_txtc')] |
12 | body://div[contains(@class,'articalContent')] | 12 | body://div[contains(@class,'articalContent')] |
13 | 13 | ||
14 | # Remove redundant content which has span class start with "MASS" | 14 | # Remove redundant content which has span class start with "MASS" |
15 | # Example <span class="MASSf21674ffeef7"></span> | 15 | # Example <span class="MASSf21674ffeef7"></span> |
16 | strip://span[contains(@class,'MASS')] | 16 | strip://span[contains(@class,'MASS')] |
17 | 17 | ||
18 | # Remove comment | 18 | # Remove comment |
19 | strip://div[contains(@class,'allComm')] | 19 | strip://div[contains(@class,'allComm')] |
20 | 20 | ||
21 | # Remove hiden text and link | 21 | # Remove hiden text and link |
22 | strip://ins | 22 | strip://ins |
23 | 23 | ||
24 | tidy:no | 24 | tidy:no |
25 | convert_double_br_tags:yes | 25 | convert_double_br_tags:yes |
26 | test_url: http://blog.sina.com.cn/s/blog_5054769e0102dtja.html \ No newline at end of file | 26 | test_url: http://blog.sina.com.cn/s/blog_5054769e0102dtja.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blog.spu.edu.txt b/inc/3rdparty/site_config/standard/blog.spu.edu.txt index 68bd4e39..68bd4e39 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.spu.edu.txt +++ b/inc/3rdparty/site_config/standard/blog.spu.edu.txt | |||
diff --git a/inc/3rdparty/site_config/standard/blog.wells.ee.txt b/inc/3rdparty/site_config/standard/blog.wells.ee.txt index 8c8b3838..eae6982b 100644..100755 --- a/inc/3rdparty/site_config/standard/blog.wells.ee.txt +++ b/inc/3rdparty/site_config/standard/blog.wells.ee.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h2/a[@class="no-link title"] | 1 | title: //h2/a[@class="no-link title"] |
2 | author: //h2[@id="blog_owner"] | 2 | author: //h2[@id="blog_owner"] |
3 | date: //time | 3 | date: //time |
4 | strip: //h2/a[@class="no-link title"] | 4 | strip: //h2/a[@class="no-link title"] |
5 | test_url: http://blog.wells.ee/retina | 5 | test_url: http://blog.wells.ee/retina |
6 | test_url: http://blog.wells.ee/skeuomorphism \ No newline at end of file | 6 | test_url: http://blog.wells.ee/skeuomorphism \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blogs.aljazeera.net.txt b/inc/3rdparty/site_config/standard/blogs.aljazeera.net.txt index f630127b..2a66952b 100644..100755 --- a/inc/3rdparty/site_config/standard/blogs.aljazeera.net.txt +++ b/inc/3rdparty/site_config/standard/blogs.aljazeera.net.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | # 2011-08-23 [carlo@...] Initial version. | 1 | # 2011-08-23 [carlo@...] Initial version. |
2 | 2 | ||
3 | author: //div[@id="blogauthordatebox-node"]//a[@title="View user profile."]/text() | 3 | author: //div[@id="blogauthordatebox-node"]//a[@title="View user profile."]/text() |
4 | 4 | ||
5 | # why yes, I do feel a bit dirty | 5 | # why yes, I do feel a bit dirty |
6 | date: substring-before( substring-after( substring-after( //div[@id="blogauthordatebox-node"]//td[3], "on " ), ", "), " " ) | 6 | date: substring-before( substring-after( substring-after( //div[@id="blogauthordatebox-node"]//td[3], "on " ), ", "), " " ) |
7 | 7 | ||
8 | test_url: http://blogs.aljazeera.net/asia/2011/08/22/peoples-hero \ No newline at end of file | 8 | test_url: http://blogs.aljazeera.net/asia/2011/08/22/peoples-hero \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blogs.forbes.com.txt b/inc/3rdparty/site_config/standard/blogs.forbes.com.txt index 86580d21..86580d21 100644..100755 --- a/inc/3rdparty/site_config/standard/blogs.forbes.com.txt +++ b/inc/3rdparty/site_config/standard/blogs.forbes.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/blogs.hbr.org.txt b/inc/3rdparty/site_config/standard/blogs.hbr.org.txt index 3664d16c..d47c3520 100644..100755 --- a/inc/3rdparty/site_config/standard/blogs.hbr.org.txt +++ b/inc/3rdparty/site_config/standard/blogs.hbr.org.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //div[@id='pageFeature']/h1 | 1 | title: //div[@id='pageFeature']/h1 |
2 | body: //div[@id='articleBody'] | 2 | body: //div[@id='articleBody'] |
3 | strip: //div[@class='module wide'] | 3 | strip: //div[@class='module wide'] |
4 | test_url: http://blogs.hbr.org/bregman/2011/04/the-1-killer-of-meetings-and-w.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+harvardbusiness+%28HBR.org%29 \ No newline at end of file | 4 | test_url: http://blogs.hbr.org/bregman/2011/04/the-1-killer-of-meetings-and-w.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+harvardbusiness+%28HBR.org%29 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blogs.msdn.com.txt b/inc/3rdparty/site_config/standard/blogs.msdn.com.txt index 3d3ec020..b2ff8332 100644..100755 --- a/inc/3rdparty/site_config/standard/blogs.msdn.com.txt +++ b/inc/3rdparty/site_config/standard/blogs.msdn.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h3[@class="post-name"] | 1 | title: //h3[@class="post-name"] |
2 | author: //span[@class="user-name"] | 2 | author: //span[@class="user-name"] |
3 | date: //div[@class="post-date"] | 3 | date: //div[@class="post-date"] |
4 | body: //div[@class="post-content user-defined-markup"] | 4 | body: //div[@class="post-content user-defined-markup"] |
5 | footnotes: no | 5 | footnotes: no |
6 | test_url: http://blogs.msdn.com/b/b8/archive/2011/10/04/designing-the-start-screen.aspx \ No newline at end of file | 6 | test_url: http://blogs.msdn.com/b/b8/archive/2011/10/04/designing-the-start-screen.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blogs.reuters.com.txt b/inc/3rdparty/site_config/standard/blogs.reuters.com.txt index 6907bcb2..d3eb9966 100644..100755 --- a/inc/3rdparty/site_config/standard/blogs.reuters.com.txt +++ b/inc/3rdparty/site_config/standard/blogs.reuters.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //div[@id='single']/h1 | 1 | title: //div[@id='single']/h1 |
2 | body: //div[@id='postcontent'] | 2 | body: //div[@id='postcontent'] |
3 | test_url: http://blogs.reuters.com/felix-salmon/2010/07/16/the-value-of-a-strong-brand-apple-edition/ \ No newline at end of file | 3 | test_url: http://blogs.reuters.com/felix-salmon/2010/07/16/the-value-of-a-strong-brand-apple-edition/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blogs.scientificamerican.com.txt b/inc/3rdparty/site_config/standard/blogs.scientificamerican.com.txt index a7d15081..2102015d 100644..100755 --- a/inc/3rdparty/site_config/standard/blogs.scientificamerican.com.txt +++ b/inc/3rdparty/site_config/standard/blogs.scientificamerican.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | # meta data | 1 | # meta data |
2 | title://h1[@class = 'postTitle'] | 2 | title://h1[@class = 'postTitle'] |
3 | author:substring-before(substring-after(//span[@class = 'byline'],'By '),'|') | 3 | author:substring-before(substring-after(//span[@class = 'byline'],'By '),'|') |
4 | date://span[@class = 'datestamp'] | 4 | date://span[@class = 'datestamp'] |
5 | 5 | ||
6 | #body content | 6 | #body content |
7 | body://div[@id = 'singleBlogPost'] | 7 | body://div[@id = 'singleBlogPost'] |
8 | 8 | ||
9 | #reclaim author info | 9 | #reclaim author info |
10 | move_into(//div[@id = 'singleBlogPost'])://div[@id = 'aboutAuthorDiv'] | 10 | move_into(//div[@id = 'singleBlogPost'])://div[@id = 'aboutAuthorDiv'] |
11 | strip://p[@class = 'moreLink mobileHide'] | 11 | strip://p[@class = 'moreLink mobileHide'] |
12 | 12 | ||
13 | #cleanup comments, there might be some open <div> sections | 13 | #cleanup comments, there might be some open <div> sections |
14 | strip://div[@id = 'comments2'] | 14 | strip://div[@id = 'comments2'] |
15 | strip://h3[a[@href = '#add-comment']] | 15 | strip://h3[a[@href = '#add-comment']] |
16 | test_url: http://blogs.scientificamerican.com/a-blog-around-the-clock/2012/07/10/science-blogs-definition-and-a-history/ \ No newline at end of file | 16 | test_url: http://blogs.scientificamerican.com/a-blog-around-the-clock/2012/07/10/science-blogs-definition-and-a-history/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blogs.smithsonianmag.com.txt b/inc/3rdparty/site_config/standard/blogs.smithsonianmag.com.txt index ba8bc6e7..1bc65e77 100644..100755 --- a/inc/3rdparty/site_config/standard/blogs.smithsonianmag.com.txt +++ b/inc/3rdparty/site_config/standard/blogs.smithsonianmag.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | # metadata | 1 | # metadata |
2 | author://div[@class = 'post']/div[@class='meta']/a[1] | 2 | author://div[@class = 'post']/div[@class='meta']/a[1] |
3 | date://div[@id = 'rap']/h2[1] | 3 | date://div[@id = 'rap']/h2[1] |
4 | body://div[@class = 'post'] | 4 | body://div[@class = 'post'] |
5 | 5 | ||
6 | # wrapping caption and image | 6 | # wrapping caption and image |
7 | wrap_in(fieldset)://div[contains(@class, 'wp-caption')] | 7 | wrap_in(fieldset)://div[contains(@class, 'wp-caption')] |
8 | 8 | ||
9 | 9 | ||
10 | # clean up | 10 | # clean up |
11 | strip://div[@class = 'post']/h3[@class = 'storytitle'] | 11 | strip://div[@class = 'post']/h3[@class = 'storytitle'] |
12 | strip://div[@class = 'post']/div[@class = 'social'] | 12 | strip://div[@class = 'post']/div[@class = 'social'] |
13 | strip://img[@style = 'display:none;'] | 13 | strip://img[@style = 'display:none;'] |
14 | strip://img[@height='0' and @width='0'] | 14 | strip://img[@height='0' and @width='0'] |
15 | test_url: http://blogs.smithsonianmag.com/adventure/2011/10/tips-for-women-traveling-in-turkey/ \ No newline at end of file | 15 | test_url: http://blogs.smithsonianmag.com/adventure/2011/10/tips-for-women-traveling-in-turkey/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/blogs.technet.com.txt b/inc/3rdparty/site_config/standard/blogs.technet.com.txt index a2909fd1..3d0fbadc 100644..100755 --- a/inc/3rdparty/site_config/standard/blogs.technet.com.txt +++ b/inc/3rdparty/site_config/standard/blogs.technet.com.txt | |||
@@ -1,6 +1,9 @@ | |||
1 | title: //h3[@class="post-name"] | 1 | title: //h3[@class="post-name"] |
2 | author: //span[@class="user-name"] | 2 | author: //span[@class="user-name"] |
3 | date: //div[@class="post-date"] | 3 | date: //div[@class="post-date"] |
4 | body: //div[@class="post-content user-defined-markup"] | 4 | body: //div[@class="post-content user-defined-markup"] |
5 | strip_id_or_class: log-feedback-list | ||
6 | tidy: no | ||
5 | footnotes: no | 7 | footnotes: no |
6 | test_url: http://blogs.technet.com/b/dlemson/archive/2004/03/03/83304.aspx \ No newline at end of file | 8 | test_url: http://blogs.technet.com/b/dlemson/archive/2004/03/03/83304.aspx |
9 | test_url: http://blogs.technet.com/b/isablog/archive/2009/01/07/a-pptp-client-might-fail-to-connect-to-a-vpn-server-on-the-internet-through-an-isa-server-2006.aspx \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/bluetouff.com.txt b/inc/3rdparty/site_config/standard/bluetouff.com.txt index fbe7a5c6..543d3920 100644..100755 --- a/inc/3rdparty/site_config/standard/bluetouff.com.txt +++ b/inc/3rdparty/site_config/standard/bluetouff.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body://div[@class='entry'] | 1 | body://div[@class='entry'] |
2 | date://div[@class='meta'] | 2 | date://div[@class='meta'] |
3 | strip://a[@class='FlattrButton'] | 3 | strip://a[@class='FlattrButton'] |
4 | test_url: http://bluetouff.com/2012/03/02/polemique-google-vie-privee/ \ No newline at end of file | 4 | test_url: http://bluetouff.com/2012/03/02/polemique-google-vie-privee/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/boagworld.com.txt b/inc/3rdparty/site_config/standard/boagworld.com.txt index 91e48fdb..3b3da991 100644..100755 --- a/inc/3rdparty/site_config/standard/boagworld.com.txt +++ b/inc/3rdparty/site_config/standard/boagworld.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1[@class="entry-title"][2] | 1 | title: //h1[@class="entry-title"][2] |
2 | author: string("Paul Boag") | 2 | author: string("Paul Boag") |
3 | date: substring(//span[@class="meta"], 11) | 3 | date: substring(//span[@class="meta"], 11) |
4 | body: //article | 4 | body: //article |
5 | strip: //h2 | 5 | strip: //h2 |
6 | strip: //h1 | 6 | strip: //h1 |
7 | strip: //div[@id="callsToAction"] | 7 | strip: //div[@id="callsToAction"] |
8 | test_url: http://boagworld.com/working-in-web-design/dealing-with-the-dickheads/ \ No newline at end of file | 8 | test_url: http://boagworld.com/working-in-web-design/dealing-with-the-dickheads/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/boingboing.net.txt b/inc/3rdparty/site_config/standard/boingboing.net.txt index 9169e8fb..4f39661b 100644..100755 --- a/inc/3rdparty/site_config/standard/boingboing.net.txt +++ b/inc/3rdparty/site_config/standard/boingboing.net.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | # This is far from perfect, but so is BoingBoing's markup | 1 | # This is far from perfect, but so is BoingBoing's markup |
2 | title: //h2[@class="headline"] | 2 | title: //h2[@class="headline"] |
3 | single_page_link: //h2[@class="headline"]/a | 3 | single_page_link: //h2[@class="headline"]/a |
4 | #date: //p[@class="byline"] | 4 | #date: //p[@class="byline"] |
5 | body: //div[@class="post"] | 5 | body: //div[@class="post"] |
6 | 6 | ||
7 | strip_id_or_class: shareMe | 7 | strip_id_or_class: shareMe |
8 | strip_id_or_class: authorbox | 8 | strip_id_or_class: authorbox |
9 | strip_id_or_class: byline | 9 | strip_id_or_class: byline |
10 | 10 | ||
11 | test_url: http://boingboing.net/2011/10/23/understanding-the-hyperrich-through-the-lens-of-tomorrows-history.html \ No newline at end of file | 11 | test_url: http://boingboing.net/2011/10/23/understanding-the-hyperrich-through-the-lens-of-tomorrows-history.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/boldizsar.palotas.eu.txt b/inc/3rdparty/site_config/standard/boldizsar.palotas.eu.txt index 4cc49043..3616bbf2 100644..100755 --- a/inc/3rdparty/site_config/standard/boldizsar.palotas.eu.txt +++ b/inc/3rdparty/site_config/standard/boldizsar.palotas.eu.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h2[@class='entry-title'] | 1 | title: //h2[@class='entry-title'] |
2 | body: //div[@class='entry-content'] | 2 | body: //div[@class='entry-content'] |
3 | test_url: http://boldizsar.palotas.eu/blog/?p=1394 \ No newline at end of file | 3 | test_url: http://boldizsar.palotas.eu/blog/?p=1394 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/book.douban.com.txt b/inc/3rdparty/site_config/standard/book.douban.com.txt index 8b958562..fe2d2cbf 100644..100755 --- a/inc/3rdparty/site_config/standard/book.douban.com.txt +++ b/inc/3rdparty/site_config/standard/book.douban.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //span[@property='v:description'] | 1 | body: //span[@property='v:description'] |
2 | date: //span[@property='v:dtreviewed'] | 2 | date: //span[@property='v:dtreviewed'] |
3 | author: //span[@property='v:reviewer'] | 3 | author: //span[@property='v:reviewer'] |
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | test_url: http://book.douban.com/review/2422662/ \ No newline at end of file | 6 | test_url: http://book.douban.com/review/2422662/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bookforum.com.txt b/inc/3rdparty/site_config/standard/bookforum.com.txt index 331f415e..03b60039 100644..100755 --- a/inc/3rdparty/site_config/standard/bookforum.com.txt +++ b/inc/3rdparty/site_config/standard/bookforum.com.txt | |||
@@ -1,19 +1,19 @@ | |||
1 | #metadata | 1 | #metadata |
2 | title://div[@class = 'Topper']/h1 | 2 | title://div[@class = 'Topper']/h1 |
3 | author://div[@class = 'Topper']/h3 | 3 | author://div[@class = 'Topper']/h3 |
4 | date://div[@class = 'Topper']/h6 | 4 | date://div[@class = 'Topper']/h6 |
5 | body://div[@class = 'Core'] | 5 | body://div[@class = 'Core'] |
6 | 6 | ||
7 | 7 | ||
8 | 8 | ||
9 | # clean up | 9 | # clean up |
10 | strip://div[@class = 'Topper']/h1 | 10 | strip://div[@class = 'Topper']/h1 |
11 | strip://div[@class = 'Topper']/h3 | 11 | strip://div[@class = 'Topper']/h3 |
12 | strip://div[@class = 'Topper']/h4 | 12 | strip://div[@class = 'Topper']/h4 |
13 | strip://div[@class = 'Topper']/h5 | 13 | strip://div[@class = 'Topper']/h5 |
14 | strip://div[@class = 'Topper']/h6 | 14 | strip://div[@class = 'Topper']/h6 |
15 | strip://br[@clear = 'all'] | 15 | strip://br[@clear = 'all'] |
16 | strip://div[@class = 'adCore'] | 16 | strip://div[@class = 'adCore'] |
17 | strip://div[@class = 'BookR'] | 17 | strip://div[@class = 'BookR'] |
18 | strip://div[@class = 'InfoBox'] | 18 | strip://div[@class = 'InfoBox'] |
19 | test_url: http://bookforum.com/inprint/018_04/8595 \ No newline at end of file | 19 | test_url: http://bookforum.com/inprint/018_04/8595 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/borderhouseblog.com.txt b/inc/3rdparty/site_config/standard/borderhouseblog.com.txt index 190738d5..b4e116fe 100644..100755 --- a/inc/3rdparty/site_config/standard/borderhouseblog.com.txt +++ b/inc/3rdparty/site_config/standard/borderhouseblog.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title://h1 | 1 | title://h1 |
2 | author://div[@class="meta"]/span/a | 2 | author://div[@class="meta"]/span/a |
3 | date://div[@class="date"] | 3 | date://div[@class="date"] |
4 | body://div[@class="content article"] | 4 | body://div[@class="content article"] |
5 | strip://div[@class="content article"]/h1 | 5 | strip://div[@class="content article"]/h1 |
6 | 6 | ||
7 | test_url: http://borderhouseblog.com/?p=7832 \ No newline at end of file | 7 | test_url: http://borderhouseblog.com/?p=7832 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bostonglobe.com.txt b/inc/3rdparty/site_config/standard/bostonglobe.com.txt index d3e6f43f..4c74a34e 100644..100755 --- a/inc/3rdparty/site_config/standard/bostonglobe.com.txt +++ b/inc/3rdparty/site_config/standard/bostonglobe.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | # NOTE: If testing this configuration yields bad results, including junk text like "Try BostonGlobe.com today" and "THIS STORY APPEARED IN", please replace the Test URL with a current-day headline link from bostonglobe.com. | 1 | # NOTE: If testing this configuration yields bad results, including junk text like "Try BostonGlobe.com today" and "THIS STORY APPEARED IN", please replace the Test URL with a current-day headline link from bostonglobe.com. |
2 | 2 | ||
3 | title: //div[@class="header"]/h1 | 3 | title: //div[@class="header"]/h1 |
4 | author: substring-after(//div[@class="byline"]/h2[@class="author"],"By ") | 4 | author: substring-after(//div[@class="byline"]/h2[@class="author"],"By ") |
5 | date: //div[@class="byline"]/p[last()] | 5 | date: //div[@class="byline"]/p[last()] |
6 | body: //div[@class="article-body"] | 6 | body: //div[@class="article-body"] |
7 | 7 | ||
8 | strip_id_or_class: aside | 8 | strip_id_or_class: aside |
9 | strip_id_or_class: promo | 9 | strip_id_or_class: promo |
10 | strip_id_or_class: skip-nav | 10 | strip_id_or_class: skip-nav |
11 | strip_id_or_class: article-more | 11 | strip_id_or_class: article-more |
12 | strip_id_or_class: article-bar | 12 | strip_id_or_class: article-bar |
13 | 13 | ||
14 | # This removes image captions. If the parser starts saving images from bostonglobe.com (currently, it does not), then this directive should be removed. | 14 | # This removes image captions. If the parser starts saving images from bostonglobe.com (currently, it does not), then this directive should be removed. |
15 | strip_id_or_class: figure | 15 | strip_id_or_class: figure |
16 | test_url: http://bostonglobe.com/news/nation/2012/03/17/illinois-primary-could-pivotal/PsDzFZqvhEYyXbOcF9FOkO/story.html \ No newline at end of file | 16 | test_url: http://bostonglobe.com/news/nation/2012/03/17/illinois-primary-could-pivotal/PsDzFZqvhEYyXbOcF9FOkO/story.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bostonreview.net.txt b/inc/3rdparty/site_config/standard/bostonreview.net.txt index 68567012..64e04a1c 100644..100755 --- a/inc/3rdparty/site_config/standard/bostonreview.net.txt +++ b/inc/3rdparty/site_config/standard/bostonreview.net.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | #basics | 1 | #basics |
2 | title://h3[@class = 'article_title'] | 2 | title://h3[@class = 'article_title'] |
3 | date://span[@class = 'article_date'] | 3 | date://span[@class = 'article_date'] |
4 | body://div[@id = 'center_column_article'] | 4 | body://div[@id = 'center_column_article'] |
5 | #correct, but author not being picked up in preview | 5 | #correct, but author not being picked up in preview |
6 | author://span[@class = 'article_author'] | 6 | author://span[@class = 'article_author'] |
7 | 7 | ||
8 | #strips basics from article | 8 | #strips basics from article |
9 | strip_id_or_class:article_title | 9 | strip_id_or_class:article_title |
10 | strip_id_or_class:article_date | 10 | strip_id_or_class:article_date |
11 | strip_id_or_class:article_author | 11 | strip_id_or_class:article_author |
12 | 12 | ||
13 | #strips pull quotes | 13 | #strips pull quotes |
14 | strip_id_or_class:pull_quote | 14 | strip_id_or_class:pull_quote |
15 | test_url: http://www.bostonreview.net/BR36.4/megan_pugh_agnes_de_mille_dance.php \ No newline at end of file | 15 | test_url: http://www.bostonreview.net/BR36.4/megan_pugh_agnes_de_mille_dance.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/boundlessline.org.txt b/inc/3rdparty/site_config/standard/boundlessline.org.txt index bfc3f3d1..a836e1e2 100644..100755 --- a/inc/3rdparty/site_config/standard/boundlessline.org.txt +++ b/inc/3rdparty/site_config/standard/boundlessline.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: substring-before(//title, '|') | 1 | title: substring-before(//title, '|') |
2 | body: //div[@class="entry"] | 2 | body: //div[@class="entry"] |
3 | # Remove the author's picture | 3 | # Remove the author's picture |
4 | strip: //div[@class="entry"]/a[1] | 4 | strip: //div[@class="entry"]/a[1] |
5 | test_url: http://www.boundlessline.org/2011/06/the-nyts-on-gender-over-the-weekend.html \ No newline at end of file | 5 | test_url: http://www.boundlessline.org/2011/06/the-nyts-on-gender-over-the-weekend.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bowdoinorient.com.txt b/inc/3rdparty/site_config/standard/bowdoinorient.com.txt new file mode 100755 index 00000000..932143d1 --- /dev/null +++ b/inc/3rdparty/site_config/standard/bowdoinorient.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //*[@class='articletitle'] | ||
2 | body: //*[(@id='articlebody')] | ||
3 | date: //*[(@class='articledate')] | ||
4 | author: //*[(@class='articleauthor')] | ||
5 | autodetect_next_page: no | ||
6 | test_url: http://bowdoinorient.com/article/8045 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/brainfacts.org.txt b/inc/3rdparty/site_config/standard/brainfacts.org.txt index 94b0f56d..9705f621 100644..100755 --- a/inc/3rdparty/site_config/standard/brainfacts.org.txt +++ b/inc/3rdparty/site_config/standard/brainfacts.org.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //div[@class="standard"]/h1 | 1 | title: //div[@class="standard"]/h1 |
2 | author: string("BrainFacts.org") | 2 | author: string("BrainFacts.org") |
3 | date: //div[@class="meta"]/strong | 3 | date: //div[@class="meta"]/strong |
4 | 4 | ||
5 | strip: //p[@class="skip"] | 5 | strip: //p[@class="skip"] |
6 | strip: //div[@class="meta"] | 6 | strip: //div[@class="meta"] |
7 | strip: //div[@class="standard"]/h1 | 7 | strip: //div[@class="standard"]/h1 |
8 | strip: //div[@class="modal"] | 8 | strip: //div[@class="modal"] |
9 | strip: //div[@class="columnRight"] | 9 | strip: //div[@class="columnRight"] |
10 | test_url: http://brainfacts.org/diseases-disorders/childhood-disorders/articles/2011/autism-the-pervasive-developmental-disorder/ \ No newline at end of file | 10 | test_url: http://brainfacts.org/diseases-disorders/childhood-disorders/articles/2011/autism-the-pervasive-developmental-disorder/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/brandeins.de.txt b/inc/3rdparty/site_config/standard/brandeins.de.txt index 3753ce67..36aa2efa 100644..100755 --- a/inc/3rdparty/site_config/standard/brandeins.de.txt +++ b/inc/3rdparty/site_config/standard/brandeins.de.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | # set body | 1 | # set body |
2 | body: //div[@id='theContent'] | 2 | body: //div[@id='theContent'] |
3 | 3 | ||
4 | # set title | 4 | # set title |
5 | title: //div[@id='theContent']/h3 | 5 | title: //div[@id='theContent']/h3 |
6 | strip: //div[@id='theContent']/h3 | 6 | strip: //div[@id='theContent']/h3 |
7 | test_url: http://www.brandeins.de/archiv/magazin/gegessen-wird-immer/artikel/hunger.html \ No newline at end of file | 7 | test_url: http://www.brandeins.de/archiv/magazin/gegessen-wird-immer/artikel/hunger.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/brandingstrategyinsider.com.txt b/inc/3rdparty/site_config/standard/brandingstrategyinsider.com.txt index 19504844..fc020539 100644..100755 --- a/inc/3rdparty/site_config/standard/brandingstrategyinsider.com.txt +++ b/inc/3rdparty/site_config/standard/brandingstrategyinsider.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | date://h2[@class="date-header"] | 1 | date://h2[@class="date-header"] |
2 | body://div[@class="entry-content"] | 2 | body://div[@class="entry-content"] |
3 | test_url: http://www.brandingstrategyinsider.com/2011/12/top-twelve-branding-keys-for-2012.html \ No newline at end of file | 3 | test_url: http://www.brandingstrategyinsider.com/2011/12/top-twelve-branding-keys-for-2012.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/brasil.elpais.com.txt b/inc/3rdparty/site_config/standard/brasil.elpais.com.txt new file mode 100755 index 00000000..0b8feb6a --- /dev/null +++ b/inc/3rdparty/site_config/standard/brasil.elpais.com.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | title: //meta[@name='DC.title']/@content | ||
2 | title: //div[contains(@class, 'cabecera_noticia')]//h1 | ||
3 | date: //meta[@name='DC.date']/@content | ||
4 | date: //meta[@name='date']/@content | ||
5 | body: //div[@class='columna_texto'] | ||
6 | body: //div[@id='cuerpo_noticia'] | ||
7 | body: //div[@class='estructura_2col_1zq']//div[@class='margen_n'] | ||
8 | |||
9 | prune: no | ||
10 | |||
11 | strip_id_or_class: disposicion_vertical | ||
12 | strip_id_or_class: ampliar_foto | ||
13 | strip_id_or_class: utilidades | ||
14 | strip_id_or_class: info_relacionada | ||
15 | strip_id_or_class: m-kiosko | ||
16 | strip_id_or_class: info_complementa | ||
17 | |||
18 | strip: //p[@class='nota_pie'] | ||
19 | strip: //div[starts-with(@id, 'sumario') and contains(., 'más información')] | ||
20 | strip: //div[@id='coment' or @id='foros_not'] | ||
21 | |||
22 | test_url: http://elpais.com/elpais/2012/02/06/gente/1328526783_491687.html | ||
23 | test_url: http://www.elpais.com/articulo/cultura/mano/retrato/materia/elpepicul/20120207elpepicul_2/Tes | ||
diff --git a/inc/3rdparty/site_config/standard/brettterpstra.com.txt b/inc/3rdparty/site_config/standard/brettterpstra.com.txt index f6f73778..55da1787 100644..100755 --- a/inc/3rdparty/site_config/standard/brettterpstra.com.txt +++ b/inc/3rdparty/site_config/standard/brettterpstra.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@class='post full'] | 1 | body: //div[@class='post full'] |
2 | title: //h1 | 2 | title: //h1 |
3 | author: substring-after(//title, '- ') | 3 | author: substring-after(//title, '- ') |
4 | date: //span[@class='date'] | 4 | date: //span[@class='date'] |
5 | test_url: http://brettterpstra.com/byword-for-ios/ \ No newline at end of file | 5 | test_url: http://brettterpstra.com/byword-for-ios/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/brisbanetimes.com.au.txt b/inc/3rdparty/site_config/standard/brisbanetimes.com.au.txt index 27e6b70c..27e6b70c 100644..100755 --- a/inc/3rdparty/site_config/standard/brisbanetimes.com.au.txt +++ b/inc/3rdparty/site_config/standard/brisbanetimes.com.au.txt | |||
diff --git a/inc/3rdparty/site_config/standard/brookings.edu.txt b/inc/3rdparty/site_config/standard/brookings.edu.txt index 9f4fc4e3..17a47605 100644..100755 --- a/inc/3rdparty/site_config/standard/brookings.edu.txt +++ b/inc/3rdparty/site_config/standard/brookings.edu.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title: //div[@id='contentheader']/h1 | 1 | title: //div[@id='contentheader']/h1 |
2 | author: //p[@class='attribution']/span[@class='author']/* | 2 | author: //p[@class='attribution']/span[@class='author']/* |
3 | # Is there a way to pull multiple authors? My XPath here is just grabbing the first | 3 | # Is there a way to pull multiple authors? My XPath here is just grabbing the first |
4 | 4 | ||
5 | date: /html/head/meta[@name="date"]/@content | 5 | date: /html/head/meta[@name="date"]/@content |
6 | body: //div[@class='main-content'] | 6 | body: //div[@class='main-content'] |
7 | 7 | ||
8 | strip: //p[@class='byline'] | 8 | strip: //p[@class='byline'] |
9 | strip: //div[@class='img-gallery'] | 9 | strip: //div[@class='img-gallery'] |
10 | strip: //div[@class='callout'] | 10 | strip: //div[@class='callout'] |
11 | strip: //div[@class='add-your-view'] | 11 | strip: //div[@class='add-your-view'] |
12 | convert_double_br_tags: yes | 12 | convert_double_br_tags: yes |
13 | test_url: http://www.brookings.edu/opinions/2011/1018_cyberattack_libya_goldsmith.aspx \ No newline at end of file | 13 | test_url: http://www.brookings.edu/opinions/2011/1018_cyberattack_libya_goldsmith.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/brooksreview.net.txt b/inc/3rdparty/site_config/standard/brooksreview.net.txt index 71cafcdb..d33d7d4e 100644..100755 --- a/inc/3rdparty/site_config/standard/brooksreview.net.txt +++ b/inc/3rdparty/site_config/standard/brooksreview.net.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@class='article'] | 2 | body: //div[@class='article'] |
3 | body: //div[@class='post'] | 3 | body: //div[@class='post'] |
4 | date: //*[@id='single']/span | 4 | date: //*[@id='single']/span |
5 | prune: no | 5 | prune: no |
6 | test_url: http://brooksreview.net/2011/11/readability-agency/ \ No newline at end of file | 6 | test_url: http://brooksreview.net/2011/11/readability-agency/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bt.no.txt b/inc/3rdparty/site_config/standard/bt.no.txt new file mode 100755 index 00000000..200c2e4e --- /dev/null +++ b/inc/3rdparty/site_config/standard/bt.no.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | title: //h1[contains(@class,'articleTitle')] | ||
2 | author: //span[@itemprop='name'] | ||
3 | date: //time[@class='published'] | ||
4 | body: //div[contains(@class,'bodyText')] | ||
5 | |||
6 | strip_id_or_class: 'pull1' | ||
7 | strip_id_or_class: 'relationArticle' | ||
8 | strip: //span[@class='quote'] | ||
9 | |||
10 | # strip h2 if at end of article (typically a request for comments) | ||
11 | strip: //div[contains(@class,'bodyText')]/node()[last()-1]/self::h2 | ||
12 | test_url: http://www.bt.no/meninger/debatt/Typisk-norsk-a-vare-god-nok-2884108.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/buffed.de.txt b/inc/3rdparty/site_config/standard/buffed.de.txt new file mode 100755 index 00000000..3dd36ce6 --- /dev/null +++ b/inc/3rdparty/site_config/standard/buffed.de.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | date: //meta[@itemProp='datePublished']/@content | ||
2 | body: //div[@class='intro' or contains(@class, 'article_text')] | ||
3 | prune: no | ||
4 | strip_id_or_class: embedcode | ||
5 | strip_id_or_class: EmbedSwitch | ||
6 | strip_id_or_class: EmbedText | ||
7 | strip_id_or_class: bildergalerie | ||
8 | strip_id_or_class: subline_seohour_image | ||
9 | strip_id_or_class: ova-player | ||
10 | strip_id_or_class: jcarouseloutput | ||
11 | strip_id_or_class: cbox_embedded | ||
12 | |||
13 | test_url: http://www.buffed.de/SWTOR-Star-Wars-The-Old-Republic-PC-218697/News/SWTOR-Ab-Patch-24-Lore-Klamotten-faerben-1090051/ | ||
14 | test_url: http://www.buffed.de/feed.cfm?menu_alias=home \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/buquad.com.txt b/inc/3rdparty/site_config/standard/buquad.com.txt index a75fa046..f0fd08db 100644..100755 --- a/inc/3rdparty/site_config/standard/buquad.com.txt +++ b/inc/3rdparty/site_config/standard/buquad.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | author: //h2/a | 2 | author: //h2/a |
3 | date: substring-after(//h2, '|') | 3 | date: substring-after(//h2, '|') |
4 | strip_id_or_class: 'attachment' | 4 | strip_id_or_class: 'attachment' |
5 | strip: //h3 | 5 | strip: //h3 |
6 | 6 | ||
7 | body: //div[@class='entry'] | 7 | body: //div[@class='entry'] |
8 | test_url: http://buquad.com/2012/04/09/paul-ryan/ \ No newline at end of file | 8 | test_url: http://buquad.com/2012/04/09/paul-ryan/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/business2community.com.txt b/inc/3rdparty/site_config/standard/business2community.com.txt new file mode 100755 index 00000000..0dcc7ff8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/business2community.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | date: substring-after(//p[@class='byline'],'Published') | ||
2 | |||
3 | strip: //div[@class='article-meta'] | ||
4 | |||
5 | test_url: http://www.business2community.com/social-media/funky-ways-to-print-instagram-photos-0485340 | ||
diff --git a/inc/3rdparty/site_config/standard/businessinsider.com.txt b/inc/3rdparty/site_config/standard/businessinsider.com.txt index c773db8b..39eb7426 100644..100755 --- a/inc/3rdparty/site_config/standard/businessinsider.com.txt +++ b/inc/3rdparty/site_config/standard/businessinsider.com.txt | |||
@@ -1,12 +1,16 @@ | |||
1 | title://div[@class="sl-layout-post"]/h1 | 1 | title://div[@class="sl-layout-post"]/h1 |
2 | body: //div[contains(@class, 'post-content') or contains(@class, 'KonaBody')] | 2 | body: //div[contains(@class, 'post-content') or contains(@class, 'slide-module') or contains(@class, 'KonaBody')] |
3 | strip: //div[contains(@class, "post-sidebar")] | 3 | strip: //div[contains(@class, "post-sidebar")] |
4 | strip: //div[@id='related-links'] | 4 | strip: //div[@id='related-links'] |
5 | author://div[@class="byline"]/a | 5 | strip: //div[@class='related-links-container'] |
6 | date://div[@class="byline"]/span[@class="date"] | 6 | strip: //p[@class='source'] |
7 | prune: no | 7 | author://div[@class="byline"]/a |
8 | 8 | date://div[@class="byline"]/span[@class="date"] | |
9 | strip://*[contains(@class,'sponsored-text')] | 9 | prune: no |
10 | strip: //div[@id='post_footer'] | 10 | |
11 | 11 | single_page_link: //a[contains(text(), 'View as one page')] | |
12 | test_url: http://www.businessinsider.com/microsoft-just-put-one-of-its-hardcore-technical-geniuses-on-xbox-2012-1 \ No newline at end of file | 12 | |
13 | strip://*[contains(@class,'sponsored-text')] | ||
14 | strip: //div[@id='post_footer'] | ||
15 | |||
16 | test_url: http://www.businessinsider.com/microsoft-just-put-one-of-its-hardcore-technical-geniuses-on-xbox-2012-1 | ||
diff --git a/inc/3rdparty/site_config/standard/businessnews.com.tn.txt b/inc/3rdparty/site_config/standard/businessnews.com.tn.txt index 714cfc90..6502b8e1 100644..100755 --- a/inc/3rdparty/site_config/standard/businessnews.com.tn.txt +++ b/inc/3rdparty/site_config/standard/businessnews.com.tn.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | body: //div[@id='article_detail'] | 1 | body: //div[@id='article_detail'] |
2 | title: //meta[@property='og:title']/@content | 2 | title: //meta[@property='og:title']/@content |
3 | date: //div[@id='date_com_art']//a[@class='date'] | 3 | date: //div[@id='date_com_art']//a[@class='date'] |
4 | author: //div[@id='article_detail']//font[@class='auteur'] | 4 | author: //div[@id='article_detail']//font[@class='auteur'] |
5 | 5 | ||
6 | strip_id_or_class: porte_titre_theme | 6 | strip_id_or_class: porte_titre_theme |
7 | strip_id_or_class: cont_param | 7 | strip_id_or_class: cont_param |
8 | strip_id_or_class: date_com_art | 8 | strip_id_or_class: date_com_art |
9 | 9 | ||
10 | prune: no | 10 | prune: no |
11 | 11 | ||
12 | test_url: http://www.businessnews.com.tn/details_article.php?a=31073&t=522&lang=fr&temp=1 \ No newline at end of file | 12 | test_url: http://www.businessnews.com.tn/details_article.php?a=31073&t=522&lang=fr&temp=1 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/businessweek.com.txt b/inc/3rdparty/site_config/standard/businessweek.com.txt index 7b3d063b..03085593 100644..100755 --- a/inc/3rdparty/site_config/standard/businessweek.com.txt +++ b/inc/3rdparty/site_config/standard/businessweek.com.txt | |||
@@ -1,30 +1,30 @@ | |||
1 | # story has several pages, should be detected | 1 | # story has several pages, should be detected |
2 | body: //div[@id='storyBody'] | 2 | body: //div[@id='storyBody'] |
3 | body: //div[@id='article_body'] | 3 | body: //div[@id='article_body'] |
4 | body: //div[@id='story_body'] | 4 | body: //div[@id='story_body'] |
5 | 5 | ||
6 | title://h1[@id='article_headline'] | 6 | title://h1[@id='article_headline'] |
7 | 7 | ||
8 | # article author | 8 | # article author |
9 | author: //p[@class='author']/a | 9 | author: //p[@class='author']/a |
10 | # story author(s) | 10 | # story author(s) |
11 | author: substring-after(//p[@class='byline'], 'By ') | 11 | author: substring-after(//p[@class='byline'], 'By ') |
12 | 12 | ||
13 | # article date | 13 | # article date |
14 | date: //span[@class='published_date'] | 14 | date: //span[@class='published_date'] |
15 | # story date | 15 | # story date |
16 | date: //span[@class='date'] | 16 | date: //span[@class='date'] |
17 | 17 | ||
18 | date: substring-after(//div[contains(@class,'attributor')],'on') | 18 | date: substring-after(//div[contains(@class,'attributor')],'on') |
19 | strip_id_or_class: inset | 19 | strip_id_or_class: inset |
20 | strip: //p/span[@class='photoCredit'] | 20 | strip: //p/span[@class='photoCredit'] |
21 | strip: //h1 | 21 | strip: //h1 |
22 | 22 | ||
23 | strip_id_or_class: page_count | 23 | strip_id_or_class: page_count |
24 | strip_id_or_class: tools | 24 | strip_id_or_class: tools |
25 | strip_id_or_class: pagination | 25 | strip_id_or_class: pagination |
26 | 26 | ||
27 | single_page_link: //li[@id='stPrint']/a | 27 | single_page_link: //li[@id='stPrint']/a |
28 | 28 | ||
29 | test_url: http://www.businessweek.com/magazine/buyback-insurance-a-good-deal-for-retailers-07282011.html | 29 | test_url: http://www.businessweek.com/magazine/buyback-insurance-a-good-deal-for-retailers-07282011.html |
30 | test_url: http://www.businessweek.com/articles/2012-06-06/american-pain-the-largest-u-dot-s-dot-pill-mills-rise-and-fall \ No newline at end of file | 30 | test_url: http://www.businessweek.com/articles/2012-06-06/american-pain-the-largest-u-dot-s-dot-pill-mills-rise-and-fall \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/buzzfeed.com.txt b/inc/3rdparty/site_config/standard/buzzfeed.com.txt index 6df8bc47..97dddaee 100644..100755 --- a/inc/3rdparty/site_config/standard/buzzfeed.com.txt +++ b/inc/3rdparty/site_config/standard/buzzfeed.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | # Creator: Greg Leuch <greg@...> | 1 | # Creator: Greg Leuch <greg@...> |
2 | 2 | ||
3 | # It can be messy. | 3 | # It can be messy. |
4 | tidy:no | 4 | tidy:no |
5 | 5 | ||
6 | # The basic template. | 6 | # The basic template. |
7 | title: //h1[@data-print='title'] | 7 | title: //h1[@data-print='title'] |
8 | author: //a[@data-print='author'] | 8 | author: //a[@data-print='author'] |
9 | date: //time[@data-print='date'] | 9 | date: //time[@data-print='date'] |
10 | body: //div[@data-print='body'] | 10 | body: //div[@data-print='body'] |
11 | body: //section[@data-print='body'] | 11 | body: //section[@data-print='body'] |
12 | 12 | ||
13 | # For various things... | 13 | # For various things... |
14 | strip: *[@data-print="ignore"] | 14 | strip: *[@data-print="ignore"] |
15 | test_url: http://www.buzzfeed.com/hgrant/35-reasons-why-dogs-hate-the-holidays \ No newline at end of file | 15 | test_url: http://www.buzzfeed.com/hgrant/35-reasons-why-dogs-hate-the-holidays \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/bygonebureau.com.txt b/inc/3rdparty/site_config/standard/bygonebureau.com.txt index 0abb6436..63c82130 100644..100755 --- a/inc/3rdparty/site_config/standard/bygonebureau.com.txt +++ b/inc/3rdparty/site_config/standard/bygonebureau.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | author: //a[contains(@href, '/author/')] | 2 | author: //a[contains(@href, '/author/')] |
3 | date: //*[@class='post-date'] | 3 | date: //*[@class='post-date'] |
4 | strip: //*[@class='post-date'] | 4 | strip: //*[@class='post-date'] |
5 | strip: //h1 | 5 | strip: //h1 |
6 | test_url: http://bygonebureau.com/2011/06/20/an-existential-psychoanalysis/ \ No newline at end of file | 6 | test_url: http://bygonebureau.com/2011/06/20/an-existential-psychoanalysis/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cable.co.uk.txt b/inc/3rdparty/site_config/standard/cable.co.uk.txt new file mode 100755 index 00000000..435bf3b5 --- /dev/null +++ b/inc/3rdparty/site_config/standard/cable.co.uk.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | title: //div[@class='page-content']//h1 | ||
2 | body: //div[@class='page-content'] | ||
3 | strip_id_or_class: editorial-bar-top | ||
4 | strip_id_or_class: social-bottom | ||
5 | strip_id_or_class: comment-form | ||
6 | strip_id_or_class: pc-why | ||
7 | |||
8 | prune: no | ||
9 | tidy: no | ||
10 | |||
11 | test_url: http://www.cable.co.uk/news/bt-vision-unveils-interactive-guide-application-800734218/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/cardboardconnection.com.txt b/inc/3rdparty/site_config/standard/cardboardconnection.com.txt index 3adc7a35..49f34302 100644..100755 --- a/inc/3rdparty/site_config/standard/cardboardconnection.com.txt +++ b/inc/3rdparty/site_config/standard/cardboardconnection.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1[@class='producttabbed-title'] | 1 | title: //h1[@class='producttabbed-title'] |
2 | body: //div[@class='postTabs_divs postTabs_curr_div'] | 2 | body: //div[@class='postTabs_divs postTabs_curr_div'] |
3 | strip: //div[@class='ratingblock2'] | 3 | strip: //div[@class='ratingblock2'] |
4 | strip: //p[@id='breadcrumbs'] | 4 | strip: //p[@id='breadcrumbs'] |
5 | strip: //div[@style='display: none'] | 5 | strip: //div[@style='display: none'] |
6 | 6 | ||
7 | 7 | ||
8 | test_url: http://www.cardboardconnection.com/2012-topps-archives-baseball-cards \ No newline at end of file | 8 | test_url: http://www.cardboardconnection.com/2012-topps-archives-baseball-cards \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/carpeaqua.com.txt b/inc/3rdparty/site_config/standard/carpeaqua.com.txt index 7ba1ed78..5ea302e0 100644..100755 --- a/inc/3rdparty/site_config/standard/carpeaqua.com.txt +++ b/inc/3rdparty/site_config/standard/carpeaqua.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | body: //div[@class='entry'] | 2 | body: //div[@class='entry'] |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | # otherwise the footnotes are removed | 5 | # otherwise the footnotes are removed |
6 | test_url: http://carpeaqua.com/2011/03/27/the-intersection-of-power-and-portability/ \ No newline at end of file | 6 | test_url: http://carpeaqua.com/2011/03/27/the-intersection-of-power-and-portability/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cars.com.txt b/inc/3rdparty/site_config/standard/cars.com.txt new file mode 100755 index 00000000..71c5c050 --- /dev/null +++ b/inc/3rdparty/site_config/standard/cars.com.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //div[contains(@class, 'basicInfo')]//h1 | ||
2 | |||
3 | body: //img[@id='chosenPhotoIMG'] | //div[@id='aboutThisVehicleBox'] | ||
4 | |||
5 | prune: no | ||
6 | |||
7 | test_url: http://www.cars.com/go/search/detail.jsp?listingId=115364779 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/catb.org.txt b/inc/3rdparty/site_config/standard/catb.org.txt index 8908292c..2cd197fb 100644..100755 --- a/inc/3rdparty/site_config/standard/catb.org.txt +++ b/inc/3rdparty/site_config/standard/catb.org.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@class='article'] | 1 | body: //div[@class='article'] |
2 | strip: //div[@class='revhistory'] | 2 | strip: //div[@class='revhistory'] |
3 | strip: //div[@class='toc'] | 3 | strip: //div[@class='toc'] |
4 | tidy: no | 4 | tidy: no |
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | test_url: http://catb.org/~esr/faqs/smart-questions.html \ No newline at end of file | 7 | test_url: http://catb.org/~esr/faqs/smart-questions.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cbc.ca.txt b/inc/3rdparty/site_config/standard/cbc.ca.txt index 25305109..ba5faf3f 100644..100755 --- a/inc/3rdparty/site_config/standard/cbc.ca.txt +++ b/inc/3rdparty/site_config/standard/cbc.ca.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[contains(@class, 'headline')]/h1 | 1 | title: //div[contains(@class, 'headline')]/h1 |
2 | author: //h5[contains(@class, 'byline')] | 2 | author: //h5[contains(@class, 'byline')] |
3 | date: substring-after(//h4[contains(@class, 'posted')], 'Posted: ') | 3 | date: substring-after(//h4[contains(@class, 'posted')], 'Posted: ') |
4 | body: //div[@id="storyboard"] | 4 | body: //div[@id="storyboard"] |
5 | test_url: http://www.cbc.ca/news/world/story/2012/01/16/cruise-ship-monday.html \ No newline at end of file | 5 | test_url: http://www.cbc.ca/news/world/story/2012/01/16/cruise-ship-monday.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cbn.com.txt b/inc/3rdparty/site_config/standard/cbn.com.txt new file mode 100755 index 00000000..de8d8839 --- /dev/null +++ b/inc/3rdparty/site_config/standard/cbn.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | body: //div[contains(@class, 'articleText')] | ||
2 | date: //div[contains(@class, 'articleDate')] | ||
3 | author: //a[contains(@id, 'articleDetails_lnkByLine')] | ||
4 | prune: no | ||
5 | |||
6 | test_url: http://www.cbn.com/cbnnews/world/2013/June/Chilly-G-8-Obama-Putin-Agree-to-Disagree-on-Syria/ | ||
7 | test_url: http://www.cbn.com/cbnnews/world/2013/June/UK-Agency-Accused-of-Hacking-Foreign-Diplomats/ | ||
8 | test_url: http://www.cbn.com/cbnnews/feed/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/cbsnews.com.txt b/inc/3rdparty/site_config/standard/cbsnews.com.txt index 4ba3da19..04d20230 100644..100755 --- a/inc/3rdparty/site_config/standard/cbsnews.com.txt +++ b/inc/3rdparty/site_config/standard/cbsnews.com.txt | |||
@@ -1,14 +1,15 @@ | |||
1 | date: //meta[@name="published"]/@content | 1 | date: //meta[@name="published"]/@content |
2 | date: //div[@class="timeLine"] | 2 | date: //div[@class="timeLine"] |
3 | title: //div[@id='contentBody']//h1 | 3 | title: //div[@id='contentBody']//h1 |
4 | author: //dl[@class="storyBlogByline"]/dd/a | 4 | author: //dl[@class="storyBlogByline"]/dd/a |
5 | body: //div[@id='storyMediaBox'] | //div[contains(@class, 'storyText')] | 5 | body: //div[@id='storyMediaBox'] | //div[contains(@class, 'storyText')] |
6 | 6 | ||
7 | # Content Pruning | 7 | # Content Pruning |
8 | strip: //div[@class="scrollingArrows"] | 8 | strip: //div[@class="scrollingArrows"] |
9 | strip: //div[@class="timeLine"] | 9 | strip: //div[@class="timeLine"] |
10 | strip: //dl[@class="storyBlogByline"] | 10 | strip: //dl[@class="storyBlogByline"] |
11 | 11 | strip: //span[@class='image-credit'] | |
12 | prune: no | 12 | |
13 | 13 | prune: no | |
14 | test_url: http://www.cbsnews.com/8301-201_162-57366361/rescued-americans-dad-proud-of-the-u.s/ \ No newline at end of file | 14 | |
15 | test_url: http://www.cbsnews.com/8301-201_162-57366361/rescued-americans-dad-proud-of-the-u.s/ | ||
diff --git a/inc/3rdparty/site_config/standard/cedarrepublican.com.txt b/inc/3rdparty/site_config/standard/cedarrepublican.com.txt new file mode 100755 index 00000000..42faa521 --- /dev/null +++ b/inc/3rdparty/site_config/standard/cedarrepublican.com.txt | |||
@@ -0,0 +1,2 @@ | |||
1 | body: //div[@class='frame']//img[@class='horizontal'] | //div[@class='content'] | ||
2 | test_url: http://cedarrepublican.com/online_features/gift_ideas/sending-mother-s-day-flowers-how-to-be-sure-they/article_b69af9b8-1f05-5352-8621-16ce007e5623.html | ||
diff --git a/inc/3rdparty/site_config/standard/chareidi.org.txt b/inc/3rdparty/site_config/standard/chareidi.org.txt index de34a7d8..de34a7d8 100644..100755 --- a/inc/3rdparty/site_config/standard/chareidi.org.txt +++ b/inc/3rdparty/site_config/standard/chareidi.org.txt | |||
diff --git a/inc/3rdparty/site_config/standard/chinamining.org.txt b/inc/3rdparty/site_config/standard/chinamining.org.txt index ea0df2a3..d00d65de 100644..100755 --- a/inc/3rdparty/site_config/standard/chinamining.org.txt +++ b/inc/3rdparty/site_config/standard/chinamining.org.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //*[@id='Content']/span[1] | 1 | title: //*[@id='Content']/span[1] |
2 | author: substring-after(substring-before(//*[@id='Content']/span[2], ')'), '(') | 2 | author: substring-after(substring-before(//*[@id='Content']/span[2], ')'), '(') |
3 | date: substring-before(substring-after(//*[@id='Content']/span[2], 'Updated: '), 'Counter') | 3 | date: substring-before(substring-after(//*[@id='Content']/span[2], 'Updated: '), 'Counter') |
4 | 4 | ||
5 | strip: //*[@id='Content']/span[1] | 5 | strip: //*[@id='Content']/span[1] |
6 | strip: //*[@id='Content']/span[2] | 6 | strip: //*[@id='Content']/span[2] |
7 | 7 | ||
8 | body: //*[@id='Content'] | 8 | body: //*[@id='Content'] |
9 | 9 | ||
10 | test_url: http://www.chinamining.org/News/2011-07-22/1311319069d48087.html \ No newline at end of file | 10 | test_url: http://www.chinamining.org/News/2011-07-22/1311319069d48087.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/chomsky.info.txt b/inc/3rdparty/site_config/standard/chomsky.info.txt index 1d294109..31440538 100644..100755 --- a/inc/3rdparty/site_config/standard/chomsky.info.txt +++ b/inc/3rdparty/site_config/standard/chomsky.info.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@class='title'] | 1 | title: //div[@class='title'] |
2 | author: //div[@class='author'] | 2 | author: //div[@class='author'] |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: http://www.chomsky.info/onchomsky/2002----.htm \ No newline at end of file | 5 | test_url: http://www.chomsky.info/onchomsky/2002----.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/chrisltd.com.txt b/inc/3rdparty/site_config/standard/chrisltd.com.txt new file mode 100755 index 00000000..86d0f5db --- /dev/null +++ b/inc/3rdparty/site_config/standard/chrisltd.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //header/h1/b[contains(@class, 'title')] | ||
2 | author: substring-after(//article/header/div, 'By ') | ||
3 | date: //header/h1/span[contains(@class, 'date')] | ||
4 | body: //div[@id='main]/article | ||
5 | strip: //header | ||
6 | test_url: http://chrisltd.com/blog/2012/03/fix-widows-indesign/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/christianitytoday.com.txt b/inc/3rdparty/site_config/standard/christianitytoday.com.txt index 44288a46..86be14ce 100644..100755 --- a/inc/3rdparty/site_config/standard/christianitytoday.com.txt +++ b/inc/3rdparty/site_config/standard/christianitytoday.com.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title://div[@class='title'] | 1 | title://div[@class='title'] |
2 | author://div[@class='byline']/b | 2 | author://div[@class='byline']/b |
3 | date:substring-after(//div[@class='byline'], 'posted') | 3 | date:substring-after(//div[@class='byline'], 'posted') |
4 | body://div[@id='body'] | 4 | body://div[@id='body'] |
5 | wrap_in(h2)://span[@class='subhead'] | 5 | wrap_in(h2)://span[@class='subhead'] |
6 | wrap_in(i)://p[@class='bio'] | 6 | wrap_in(i)://p[@class='bio'] |
7 | wrap_in(i)://p[@class='copyright'] | 7 | wrap_in(i)://p[@class='copyright'] |
8 | strip://div[@class='title'] | 8 | strip://div[@class='title'] |
9 | strip://div[@class='deck'] | 9 | strip://div[@class='deck'] |
10 | strip://div[@class='byline'] | 10 | strip://div[@class='byline'] |
11 | strip://div[@class='copyright'] | 11 | strip://div[@class='copyright'] |
12 | strip://br | 12 | strip://br |
13 | test_url: http://www.christianitytoday.com/ct/2012/aprilweb-only/my-god-forsaken-me.html \ No newline at end of file | 13 | test_url: http://www.christianitytoday.com/ct/2012/aprilweb-only/my-god-forsaken-me.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/christianpf.com.txt b/inc/3rdparty/site_config/standard/christianpf.com.txt index 7f089c55..fb5f342d 100644..100755 --- a/inc/3rdparty/site_config/standard/christianpf.com.txt +++ b/inc/3rdparty/site_config/standard/christianpf.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h1[@class="entry-title"] | 1 | title: //h1[@class="entry-title"] |
2 | author: //*[@class="author vcard fn"] | 2 | author: //*[@class="author vcard fn"] |
3 | date: //*[@class="published"] | 3 | date: //*[@class="published"] |
4 | body: //div[(@class = "dd_content_wrap")] | 4 | body: //div[(@class = "dd_content_wrap")] |
5 | test_url: http://christianpf.com/do-ibuys-lead-to-more-buying/ \ No newline at end of file | 5 | test_url: http://christianpf.com/do-ibuys-lead-to-more-buying/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/christies.com.txt b/inc/3rdparty/site_config/standard/christies.com.txt index 5c5889a2..b3c76519 100644..100755 --- a/inc/3rdparty/site_config/standard/christies.com.txt +++ b/inc/3rdparty/site_config/standard/christies.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | prune: no | 2 | prune: no |
3 | date: //article//time[@pubdate] | 3 | date: //article//time[@pubdate] |
4 | title: //article/header/h2 | 4 | title: //article/header/h2 |
5 | body: //article | 5 | body: //article |
6 | test_url: http://www.christies.com/LotFinder/custom/lot_details_MultiLanguage.aspx?from=salesummary&intObjectID=5556662&sid=e536ed1a-b763-41c4-afcf-c94815ec6eee&LID=3 \ No newline at end of file | 6 | test_url: http://www.christies.com/LotFinder/custom/lot_details_MultiLanguage.aspx?from=salesummary&intObjectID=5556662&sid=e536ed1a-b763-41c4-afcf-c94815ec6eee&LID=3 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/chrome.google.com.txt b/inc/3rdparty/site_config/standard/chrome.google.com.txt index d4cc8581..5a1d043d 100644..100755 --- a/inc/3rdparty/site_config/standard/chrome.google.com.txt +++ b/inc/3rdparty/site_config/standard/chrome.google.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //pre[@id='cx-desc-text'] | 1 | body: //pre[@id='cx-desc-text'] |
2 | body: //div[contains(@class, 'overview-tab-right-bar-info')] | 2 | body: //div[contains(@class, 'overview-tab-right-bar-info')] |
3 | title: //h1[contains(@class, 'detail-dialog-title')] | 3 | title: //h1[contains(@class, 'detail-dialog-title')] |
4 | tidy: no | 4 | tidy: no |
5 | prune: no | 5 | prune: no |
6 | replace_string(<noscript>): <div> | 6 | replace_string(<noscript>): <div> |
7 | replace_string(</noscript>): </div> | 7 | replace_string(</noscript>): </div> |
8 | 8 | ||
9 | test_url: https://chrome.google.com/webstore/detail/pnaiinchjaonopoejhknmgjingcnaloc \ No newline at end of file | 9 | test_url: https://chrome.google.com/webstore/detail/pnaiinchjaonopoejhknmgjingcnaloc \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/chronicle.com.txt b/inc/3rdparty/site_config/standard/chronicle.com.txt index 0c6c11ed..e86d3eca 100644..100755 --- a/inc/3rdparty/site_config/standard/chronicle.com.txt +++ b/inc/3rdparty/site_config/standard/chronicle.com.txt | |||
@@ -1,17 +1,17 @@ | |||
1 | title: //h1[contains(@class, "entry-title")] | 1 | title: //h1[contains(@class, "entry-title")] |
2 | author: //p[contains(@class, "byline")] | 2 | author: //p[contains(@class, "byline")] |
3 | 3 | ||
4 | # blog articles (chronicle.com/blogs/*) | 4 | # blog articles (chronicle.com/blogs/*) |
5 | body: //div[contains(@class, "abstract")] | 5 | body: //div[contains(@class, "abstract")] |
6 | date: //p[contains(@class, "time")] | 6 | date: //p[contains(@class, "time")] |
7 | 7 | ||
8 | # all (?) other articles | 8 | # all (?) other articles |
9 | body: //div[@id="article-body"] | 9 | body: //div[@id="article-body"] |
10 | date: //p[contains(@class, "dateline")] | 10 | date: //p[contains(@class, "dateline")] |
11 | 11 | ||
12 | # remove sidebars containing images (I assume this is desired for Instapaper) | 12 | # remove sidebars containing images (I assume this is desired for Instapaper) |
13 | strip: //div[@id="related"] | 13 | strip: //div[@id="related"] |
14 | strip: //div[contains(@class, "image")] | 14 | strip: //div[contains(@class, "image")] |
15 | 15 | ||
16 | # note that if you're not a Chronicle subscriber (personally or institutionally), you'll only see the first couple of paragraphs of the article, and Instapaper will display that with some crap above and below. thank goodness for that bookmarklet | 16 | # note that if you're not a Chronicle subscriber (personally or institutionally), you'll only see the first couple of paragraphs of the article, and Instapaper will display that with some crap above and below. thank goodness for that bookmarklet |
17 | test_url: http://chronicle.com/article/In-a-Land-of-Second-Chances/128375/ \ No newline at end of file | 17 | test_url: http://chronicle.com/article/In-a-Land-of-Second-Chances/128375/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ciaosamin.com.txt b/inc/3rdparty/site_config/standard/ciaosamin.com.txt new file mode 100755 index 00000000..02fd3434 --- /dev/null +++ b/inc/3rdparty/site_config/standard/ciaosamin.com.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | body://div[contains(@class, 'entry-content')] | ||
2 | date://h2[contains(@class, 'date-header')] | ||
3 | title://h3[contains(@class, 'post-title')] | ||
4 | test_url: http://www.ciaosamin.com/2013/04/how-this-happened.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/cicero.de.txt b/inc/3rdparty/site_config/standard/cicero.de.txt index b9f9a12b..b8913639 100644..100755 --- a/inc/3rdparty/site_config/standard/cicero.de.txt +++ b/inc/3rdparty/site_config/standard/cicero.de.txt | |||
@@ -1,33 +1,33 @@ | |||
1 | # fforst@... | 1 | # fforst@... |
2 | 2 | ||
3 | # Use link to print article for single page view | 3 | # Use link to print article for single page view |
4 | single_page_link: //a[@class="print"] | 4 | single_page_link: //a[@class="print"] |
5 | 5 | ||
6 | # set body | 6 | # set body |
7 | tidy: no | 7 | tidy: no |
8 | body: //div[@class='artikel-content'] | 8 | body: //div[@class='artikel-content'] |
9 | 9 | ||
10 | # strip title and subtitle since we got it already | 10 | # strip title and subtitle since we got it already |
11 | strip: //div[@class='issue'] | 11 | strip: //div[@class='issue'] |
12 | strip: //div[@class='artikel-content']/h2 | 12 | strip: //div[@class='artikel-content']/h2 |
13 | 13 | ||
14 | # some authors are known and have a link, others don't | 14 | # some authors are known and have a link, others don't |
15 | author: //a[contains(@href, 'autor?')] | 15 | author: //a[contains(@href, 'autor?')] |
16 | 16 | ||
17 | #date | 17 | #date |
18 | date: //span[@class='article-date'] | 18 | date: //span[@class='article-date'] |
19 | 19 | ||
20 | # Strip author since we got him | 20 | # Strip author since we got him |
21 | strip_id_or_class: author | 21 | strip_id_or_class: author |
22 | 22 | ||
23 | #strip captions | 23 | #strip captions |
24 | strip_id_or_class: field-name-field-image-credit | 24 | strip_id_or_class: field-name-field-image-credit |
25 | strip_id_or_class: field-name-field-article-image-subtitle | 25 | strip_id_or_class: field-name-field-article-image-subtitle |
26 | 26 | ||
27 | # remove community functions | 27 | # remove community functions |
28 | strip: //div[@class='meta'] | 28 | strip: //div[@class='meta'] |
29 | strip: //div[@id='comments'] | 29 | strip: //div[@id='comments'] |
30 | 30 | ||
31 | # remove "continue on the next page" text | 31 | # remove "continue on the next page" text |
32 | strip: //p[text()="[SEITE]"] | 32 | strip: //p[text()="[SEITE]"] |
33 | test_url: http://www.cicero.de/weltbuehne/ihre-wut-ist-global-krise-jugend-revolten-aufstaende-zelte/43049 \ No newline at end of file | 33 | test_url: http://www.cicero.de/weltbuehne/ihre-wut-ist-global-krise-jugend-revolten-aufstaende-zelte/43049 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ciperchile.cl.txt b/inc/3rdparty/site_config/standard/ciperchile.cl.txt index 4d3ac804..d7e9b762 100644..100755 --- a/inc/3rdparty/site_config/standard/ciperchile.cl.txt +++ b/inc/3rdparty/site_config/standard/ciperchile.cl.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //*[(@id = "articlebody")] | 1 | body: //*[(@id = "articlebody")] |
2 | strip_id_or_class: rotulo | 2 | strip_id_or_class: rotulo |
3 | 3 | ||
4 | test_url: http://ciperchile.cl/2011/04/18/las-operaciones-secretas-que-ordenaba-karadima-para-aniquilar-a-su-competencia/ \ No newline at end of file | 4 | test_url: http://ciperchile.cl/2011/04/18/las-operaciones-secretas-que-ordenaba-karadima-para-aniquilar-a-su-competencia/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cjr.org.txt b/inc/3rdparty/site_config/standard/cjr.org.txt index a0c3ea5d..df4c7cc4 100644..100755 --- a/inc/3rdparty/site_config/standard/cjr.org.txt +++ b/inc/3rdparty/site_config/standard/cjr.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //p[@class='subhead' or @class='attribution'] | //div[@class='article-body'] | 1 | body: //p[@class='subhead' or @class='attribution'] | //div[@class='article-body'] |
2 | prune: no | 2 | prune: no |
3 | 3 | ||
4 | single_page_link: //li[@class='print']/a | 4 | single_page_link: //li[@class='print']/a |
5 | 5 | ||
6 | test_url: http://www.cjr.org/behind_the_news/from_breaking_news_to_baseless.php \ No newline at end of file | 6 | test_url: http://www.cjr.org/behind_the_news/from_breaking_news_to_baseless.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/classyllama.com.txt b/inc/3rdparty/site_config/standard/classyllama.com.txt new file mode 100755 index 00000000..1864eee8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/classyllama.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | date: //div[@id='content']//p[contains(@class, 'date')]/span | ||
2 | author: substring-after(//div[@id='content']//div[contains(@class, 'over-under-bars')]/p[last()]/text(), 'Posted by ') | ||
3 | body: //div[@id='content']//div[@class='pane-content'] | ||
4 | strip_id_or_class: trackback-url | ||
5 | strip_id_or_class: over-under-bars | ||
6 | test_url: http://www.classyllama.com/content/layout-caching \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/clientk.com.txt b/inc/3rdparty/site_config/standard/clientk.com.txt index 369e88ad..d5a22ccb 100644..100755 --- a/inc/3rdparty/site_config/standard/clientk.com.txt +++ b/inc/3rdparty/site_config/standard/clientk.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title://div[@class="entrytitle"]/a | 1 | title://div[@class="entrytitle"]/a |
2 | author:substring-after(substring-before(//div[@class="entrytime"], "|"), "By ") | 2 | author:substring-after(substring-before(//div[@class="entrytime"], "|"), "By ") |
3 | date:substring-before(substring-after(//div[@class="entrytime"], "|"), "- Posted") | 3 | date:substring-before(substring-after(//div[@class="entrytime"], "|"), "- Posted") |
4 | body://div[@class="entrybody"] | 4 | body://div[@class="entrybody"] |
5 | strip://div[@class="entrybody"]//p[@class="singleinfo"] | 5 | strip://div[@class="entrybody"]//p[@class="singleinfo"] |
6 | test_url: http://clientk.com/2011/12/19/the-impact-of-more/ \ No newline at end of file | 6 | test_url: http://clientk.com/2011/12/19/the-impact-of-more/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/clubic.com.txt b/inc/3rdparty/site_config/standard/clubic.com.txt index b356bbdf..0148e54c 100644..100755 --- a/inc/3rdparty/site_config/standard/clubic.com.txt +++ b/inc/3rdparty/site_config/standard/clubic.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | author: //a[@class='auteur'] | 2 | author: //a[@class='auteur'] |
3 | body: //div[@class='editorial'] | 3 | body: //div[@class='editorial'] |
4 | next_page_link: //a[contains(text(),'Page suivante')] | 4 | next_page_link: //a[contains(text(),'Page suivante')] |
5 | strip: //a[contains(text(),'Page suivante')] | 5 | strip: //a[contains(text(),'Page suivante')] |
6 | strip: //a[contains(text(),'Page précédente')] | 6 | strip: //a[contains(text(),'Page précédente')] |
7 | strip_id_or_class: slideshow | 7 | strip_id_or_class: slideshow |
8 | 8 | ||
9 | prune: no | 9 | prune: no |
10 | 10 | ||
11 | test_url: http://www.clubic.com/carte-graphique/carte-graphique-amd/radeon-hd-7770/article-478936-1-radeon-hd-7750-7770.html \ No newline at end of file | 11 | test_url: http://www.clubic.com/carte-graphique/carte-graphique-amd/radeon-hd-7770/article-478936-1-radeon-hd-7750-7770.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cmswire.com.txt b/inc/3rdparty/site_config/standard/cmswire.com.txt index 2bc96d2e..0b76377a 100644..100755 --- a/inc/3rdparty/site_config/standard/cmswire.com.txt +++ b/inc/3rdparty/site_config/standard/cmswire.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[contains(@id,'article-body')] | 1 | body: //div[contains(@id,'article-body')] |
2 | strip://div[contains(@id,'disqus_count_block')] | 2 | strip://div[contains(@id,'disqus_count_block')] |
3 | strip://div[contains(@id,'col-left')] | 3 | strip://div[contains(@id,'col-left')] |
4 | strip://div[contains(@id,'col-right')] | 4 | strip://div[contains(@id,'col-right')] |
5 | 5 | ||
6 | test_url: http://www.cmswire.com/cms/customer-experience/for-apps-and-appstores-the-singularity-is-approaching-014888.php \ No newline at end of file | 6 | test_url: http://www.cmswire.com/cms/customer-experience/for-apps-and-appstores-the-singularity-is-approaching-014888.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cn.engadget.com.txt b/inc/3rdparty/site_config/standard/cn.engadget.com.txt new file mode 100755 index 00000000..63f6f7ea --- /dev/null +++ b/inc/3rdparty/site_config/standard/cn.engadget.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //h2[@class="posttitle"] | ||
2 | body: //div[@class="postbody"] | ||
3 | prune: no | ||
4 | |||
5 | test_url: http://cn.engadget.com/2013/06/29/google-play-music-all-access/ | ||
diff --git a/inc/3rdparty/site_config/standard/cn.reuters.com.txt b/inc/3rdparty/site_config/standard/cn.reuters.com.txt new file mode 100755 index 00000000..b3878662 --- /dev/null +++ b/inc/3rdparty/site_config/standard/cn.reuters.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //div[@id='maincontent']//h1 | ||
2 | body: //div[@id='resizeableText'] | ||
3 | |||
4 | test_url: http://cn.reuters.com/article/CNAnalysesNews/idCNKBS0FF0NM20140710 | ||
5 | test_url: http://cn.reuters.feedsportal.com/CNAnalysesNews \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/cnet.com.txt b/inc/3rdparty/site_config/standard/cnet.com.txt index 74f46ba9..eac08aaa 100644..100755 --- a/inc/3rdparty/site_config/standard/cnet.com.txt +++ b/inc/3rdparty/site_config/standard/cnet.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | body: //div[contains(@class, 'postBody')] | 2 | body: //div[contains(@class, 'postBody')] |
3 | date: //div[@id='nameAndTime']/time | 3 | date: //div[@id='nameAndTime']/time |
4 | author: //div[@id='nameAndTime']/span[@class='author'] | 4 | author: //div[@id='nameAndTime']/span[@class='author'] |
5 | 5 | ||
6 | strip_id_or_class: image-credit | 6 | strip_id_or_class: image-credit |
7 | strip_id_or_class: noAutolink | 7 | strip_id_or_class: noAutolink |
8 | strip_id_or_class: related | 8 | strip_id_or_class: related |
9 | 9 | ||
10 | prune: no | 10 | prune: no |
11 | tidy: no | 11 | tidy: no |
12 | 12 | ||
13 | # early end | 13 | # early end |
14 | replace_string(Download today's podcast</a>): Download today's podcast</a></div></body></html> | 14 | replace_string(Download today's podcast</a>): Download today's podcast</a></div></body></html> |
15 | 15 | ||
16 | test_url: http://www.cnet.com/8301-13952_1-57367607-81/the-404-981-where-the-world-is-a-vampire-podcast/ \ No newline at end of file | 16 | test_url: http://www.cnet.com/8301-13952_1-57367607-81/the-404-981-where-the-world-is-a-vampire-podcast/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cnn.com.txt b/inc/3rdparty/site_config/standard/cnn.com.txt index 995e2c79..6f69e4e8 100644..100755 --- a/inc/3rdparty/site_config/standard/cnn.com.txt +++ b/inc/3rdparty/site_config/standard/cnn.com.txt | |||
@@ -1,19 +1,23 @@ | |||
1 | title: //div[@class="cnn_storyarea"]/h1 | 1 | body: //div[@id='cnnContentContainer']//div[contains(@class, 'cnn_strycntntlft')] |
2 | author: //div[@class="cnnByline"]/strong | 2 | title: //div[@class="cnn_storyarea"]/h1 |
3 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Sun') | 3 | author: //div[@class="cnnByline"]/strong |
4 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Mon') | 4 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Sun') |
5 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Tue') | 5 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Mon') |
6 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Wed') | 6 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Tue') |
7 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Thu') | 7 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Wed') |
8 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Fri') | 8 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Thu') |
9 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Sat') | 9 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Fri') |
10 | strip: //div[@class="cnn_storyarea"]/h1 | 10 | date: substring-after(//div[@class="cnn_strytmstmp"], 'Sat') |
11 | strip_id_or_class: cnnByline | 11 | strip: //div[@class="cnn_storyarea"]/h1 |
12 | strip_id_or_class: cnn_strytmstmp | 12 | strip_id_or_class: cnnByline |
13 | strip_id_or_class: cnn_strycaptiontxt | 13 | strip_id_or_class: cnn_strytmstmp |
14 | strip_id_or_class: cnn_strybtntoolsbttm | 14 | strip_id_or_class: cnn_strycaptiontxt |
15 | strip_id_or_class: cnn_strybtntools | 15 | strip_id_or_class: cnn_strybtntoolsbttm |
16 | strip_id_or_class: cnn_strybtmcntnt | 16 | strip_id_or_class: cnn_strybtntools |
17 | strip_id_or_class: cnn_containerwht | 17 | strip_id_or_class: cnn_strybtmcntnt |
18 | strip_id_or_class: cnn_stryathrtmp | 18 | strip_id_or_class: sharebar |
19 | test_url: http://www.cnn.com/2012/05/13/us/new-york-police-policy/index.html?eref=rss_topstories \ No newline at end of file | 19 | #strip_id_or_class: cnn_containerwht |
20 | strip_id_or_class: cnn_stryathrtmp | ||
21 | replace_string(<a name="em0"></a>): <!-- a name --> | ||
22 | test_url: http://www.cnn.com/2012/05/13/us/new-york-police-policy/index.html?eref=rss_topstories | ||
23 | test_url: http://rss.cnn.com/rss/edition.rss \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/cnnsi.com.txt b/inc/3rdparty/site_config/standard/cnnsi.com.txt index 6a2c2b80..ac49aef9 100644..100755 --- a/inc/3rdparty/site_config/standard/cnnsi.com.txt +++ b/inc/3rdparty/site_config/standard/cnnsi.com.txt | |||
@@ -1,26 +1,26 @@ | |||
1 | # main sportsillustrated.com articles | 1 | # main sportsillustrated.com articles |
2 | 2 | ||
3 | body: //div[@id="cnnStoryContent"] | 3 | body: //div[@id="cnnStoryContent"] |
4 | title: //div[@id="cnnStoryHeadline"]//h1 | 4 | title: //div[@id="cnnStoryHeadline"]//h1 |
5 | author: //div[@id="cnnSubBanner"]//strong | 5 | author: //div[@id="cnnSubBanner"]//strong |
6 | date: substring-after(//div[@id="cnnTimeStamp"], "Updated: ") | 6 | date: substring-after(//div[@id="cnnTimeStamp"], "Updated: ") |
7 | date: substring-after(//div[@id="cnnTimeStamp"], "Posted: ") | 7 | date: substring-after(//div[@id="cnnTimeStamp"], "Posted: ") |
8 | 8 | ||
9 | # kill ugly font buttons | 9 | # kill ugly font buttons |
10 | strip: //div[@id="cnnSCFontButtons"] | 10 | strip: //div[@id="cnnSCFontButtons"] |
11 | 11 | ||
12 | # kill misc filler videos & etc | 12 | # kill misc filler videos & etc |
13 | strip: //div[@class="cnnDivideContent"] | 13 | strip: //div[@class="cnnDivideContent"] |
14 | strip: //*[@class="cnnTMbox"] | 14 | strip: //*[@class="cnnTMbox"] |
15 | 15 | ||
16 | # si vault articles | 16 | # si vault articles |
17 | # ------------- | 17 | # ------------- |
18 | body: //div[@class="siv_artPara"] | 18 | body: //div[@class="siv_artPara"] |
19 | title: //div[@class="siv_artHeader"]//h1 | 19 | title: //div[@class="siv_artHeader"]//h1 |
20 | author: //div[@class="byline"] | 20 | author: //div[@class="byline"] |
21 | date: //div[@class="date"] | 21 | date: //div[@class="date"] |
22 | 22 | ||
23 | next_page_link: //div[@id='cnnStoryContinue']/a | 23 | next_page_link: //div[@id='cnnStoryContinue']/a |
24 | strip_id_or_class: cnnstorypagination | 24 | strip_id_or_class: cnnstorypagination |
25 | 25 | ||
26 | test_url: http://cnnsi.com/2012/writers/peter_king/01/08/wild.card.round/index.html \ No newline at end of file | 26 | test_url: http://cnnsi.com/2012/writers/peter_king/01/08/wild.card.round/index.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/code.activestate.com.txt b/inc/3rdparty/site_config/standard/code.activestate.com.txt index 6cf72e23..83a21e19 100644..100755 --- a/inc/3rdparty/site_config/standard/code.activestate.com.txt +++ b/inc/3rdparty/site_config/standard/code.activestate.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='content'] |
2 | title: //div[@id='page_header']/h1 | 2 | title: //div[@id='page_header']/h1 |
3 | 3 | ||
4 | strip_id_or_class: 'lineno' | 4 | strip_id_or_class: 'lineno' |
5 | strip_id_or_class: 'block-toolbar-button' | 5 | strip_id_or_class: 'block-toolbar-button' |
6 | strip_id_or_class: 'recipe_score' | 6 | strip_id_or_class: 'recipe_score' |
7 | strip: //div[@id='recipe_tools'] | 7 | strip: //div[@id='recipe_tools'] |
8 | strip: //div[@id='addcomment'] | 8 | strip: //div[@id='addcomment'] |
9 | 9 | ||
10 | test_url: http://code.activestate.com/recipes/500261-named-tuples/ \ No newline at end of file | 10 | test_url: http://code.activestate.com/recipes/500261-named-tuples/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/code.fivefilters.org.txt b/inc/3rdparty/site_config/standard/code.fivefilters.org.txt new file mode 100755 index 00000000..269fb547 --- /dev/null +++ b/inc/3rdparty/site_config/standard/code.fivefilters.org.txt | |||
@@ -0,0 +1 @@ | |||
body: //div[@id='content'] | |||
diff --git a/inc/3rdparty/site_config/standard/code.google.com.txt b/inc/3rdparty/site_config/standard/code.google.com.txt index 40a16209..6e9c00a7 100644..100755 --- a/inc/3rdparty/site_config/standard/code.google.com.txt +++ b/inc/3rdparty/site_config/standard/code.google.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@id="gc-pagecontent"] | 1 | body: //div[@id="gc-pagecontent"] |
2 | strip: //a[@class="backtotop"] | 2 | strip: //a[@class="backtotop"] |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: http://code.google.com/apis/analytics/docs/tracking/gaTrackingEcommerce.html \ No newline at end of file | 5 | test_url: http://code.google.com/apis/analytics/docs/tracking/gaTrackingEcommerce.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/codeproject.com.txt b/inc/3rdparty/site_config/standard/codeproject.com.txt new file mode 100755 index 00000000..d1191acc --- /dev/null +++ b/inc/3rdparty/site_config/standard/codeproject.com.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | body: //div[@id="contentdiv"] | ||
2 | date: //span[@class="date"] | ||
3 | test_url: http://www.codeproject.com/Articles/499902/Profiling-Entity-Framework-5-in-code \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/codinghorror.com.txt b/inc/3rdparty/site_config/standard/codinghorror.com.txt index 9c95f107..adf6e5a0 100644..100755 --- a/inc/3rdparty/site_config/standard/codinghorror.com.txt +++ b/inc/3rdparty/site_config/standard/codinghorror.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | body: //div[@class='blogbody'] | 1 | body: //div[@class='blogbody'] |
2 | strip: //h3[@class='title'] | 2 | strip: //h3[@class='title'] |
3 | date: //h2[@class='date'] | 3 | date: //h2[@class='date'] |
4 | #Should Atwood just be a literal? | 4 | #Should Atwood just be a literal? |
5 | author: substring-before( substring-after(//div[@class='posted'], 'y'), 'V') | 5 | author: substring-before( substring-after(//div[@class='posted'], 'y'), 'V') |
6 | 6 | ||
7 | # tim.kingman@... 2011-07-26 | 7 | # tim.kingman@... 2011-07-26 |
8 | # Prune:no to retain all-link ULs that are part of the body content like | 8 | # Prune:no to retain all-link ULs that are part of the body content like |
9 | # http://www.codinghorror.com/blog/2011/07/building-a-pc-part-vii-rebooting.html | 9 | # http://www.codinghorror.com/blog/2011/07/building-a-pc-part-vii-rebooting.html |
10 | # Then explicitly strip the "Posted By" and prev/next links that Prune:yes would have removed. | 10 | # Then explicitly strip the "Posted By" and prev/next links that Prune:yes would have removed. |
11 | 11 | ||
12 | prune: no | 12 | prune: no |
13 | strip: //div[@class='posted']/following-sibling::* | 13 | strip: //div[@class='posted']/following-sibling::* |
14 | strip: //div[@class='posted'] | 14 | strip: //div[@class='posted'] |
15 | test_url: http://www.codinghorror.com/blog/2011/07/building-a-pc-part-vii-rebooting.html \ No newline at end of file | 15 | test_url: http://www.codinghorror.com/blog/2011/07/building-a-pc-part-vii-rebooting.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/collegehumor.com.txt b/inc/3rdparty/site_config/standard/collegehumor.com.txt index 9d75d641..318e6ff4 100644..100755 --- a/inc/3rdparty/site_config/standard/collegehumor.com.txt +++ b/inc/3rdparty/site_config/standard/collegehumor.com.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //h1[@class='title'] | 1 | title: //h1[@class='title'] |
2 | author: //p[@class='byline']/a[1] | 2 | author: //p[@class='byline']/a[1] |
3 | date: //*[@class='date'] | 3 | date: //*[@class='date'] |
4 | 4 | ||
5 | body: //div[@class='article_body'] | 5 | body: //div[@class='article_body'] |
6 | strip: //p[@class='ca_intro'] | 6 | strip: //p[@class='ca_intro'] |
7 | strip: //div[@id='action_bar'] | 7 | strip: //div[@id='action_bar'] |
8 | strip: //div[@class='below_content'] | 8 | strip: //div[@class='below_content'] |
9 | strip: //div[@id='announcement'] | 9 | strip: //div[@id='announcement'] |
10 | strip: //div[@id='leftovers'] | 10 | strip: //div[@id='leftovers'] |
11 | strip: //div[@class='form'] | 11 | strip: //div[@class='form'] |
12 | strip: //div[@id='email_overlay'] | 12 | strip: //div[@id='email_overlay'] |
13 | strip: //a[@class='close'] | 13 | strip: //a[@class='close'] |
14 | test_url: http://www.collegehumor.com/article/6599562/how-it-happened-the-necktie \ No newline at end of file | 14 | test_url: http://www.collegehumor.com/article/6599562/how-it-happened-the-necktie \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/communities-dominate.blogs.com.txt b/inc/3rdparty/site_config/standard/communities-dominate.blogs.com.txt index 800a907d..800a907d 100644..100755 --- a/inc/3rdparty/site_config/standard/communities-dominate.blogs.com.txt +++ b/inc/3rdparty/site_config/standard/communities-dominate.blogs.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/community.service-now.com.txt b/inc/3rdparty/site_config/standard/community.service-now.com.txt index 10fd2516..c9854b43 100644..100755 --- a/inc/3rdparty/site_config/standard/community.service-now.com.txt +++ b/inc/3rdparty/site_config/standard/community.service-now.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | body: //div[@id="center"]//div[@class="node"] | 1 | body: //div[@id="center"]//div[@class="node"] |
2 | title: //div[@id="center"]//h2 | 2 | title: //div[@id="center"]//h2 |
3 | author: substring-after(//div[@id="center"]//div[@class="node"]//span[@class="submitted"], "—") | 3 | author: substring-after(//div[@id="center"]//div[@class="node"]//span[@class="submitted"], "—") |
4 | date: substring-before(//div[@id="center"]//div[@class="node"]//span[@class="submitted"], "—") | 4 | date: substring-before(//div[@id="center"]//div[@class="node"]//span[@class="submitted"], "—") |
5 | strip: //div[@id="center"]//h2[1] | 5 | strip: //div[@id="center"]//h2[1] |
6 | strip: //span[@class="submitted"][1] | 6 | strip: //span[@class="submitted"][1] |
7 | move_into(//div[@class="node"])://div[@class="breadcrumb"] | 7 | move_into(//div[@class="node"])://div[@class="breadcrumb"] |
8 | test_url: http://community.service-now.com/blog/lawrenceeng/seasons-greetings-servicenow-team \ No newline at end of file | 8 | test_url: http://community.service-now.com/blog/lawrenceeng/seasons-greetings-servicenow-team \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/computer.org.txt b/inc/3rdparty/site_config/standard/computer.org.txt index 00e6fddf..8345cf50 100644..100755 --- a/inc/3rdparty/site_config/standard/computer.org.txt +++ b/inc/3rdparty/site_config/standard/computer.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | strip_id_or_class:column-3 | 1 | strip_id_or_class:column-3 |
2 | strip_id_or_class:portlet-boundary | 2 | strip_id_or_class:portlet-boundary |
3 | strip_id_or_class:banner | 3 | strip_id_or_class:banner |
4 | 4 | ||
5 | test_url: http://www.computer.org/portal/web/buildyourcareer/careerwatch/jt19 \ No newline at end of file | 5 | test_url: http://www.computer.org/portal/web/buildyourcareer/careerwatch/jt19 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/computerbase.de.txt b/inc/3rdparty/site_config/standard/computerbase.de.txt index 29199242..5973c50b 100644..100755 --- a/inc/3rdparty/site_config/standard/computerbase.de.txt +++ b/inc/3rdparty/site_config/standard/computerbase.de.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | title://h1 | 1 | title://h1 |
2 | 2 | ||
3 | author://div[@id="news-meta"]/a | 3 | author://div[@id="news-meta"]/a |
4 | 4 | ||
5 | body://*[@id="main"]/div[1] | 5 | body://*[@id="main"]/div[1] |
6 | 6 | ||
7 | strip://*[@id="main"]/div[2] | 7 | strip://*[@id="main"]/div[2] |
8 | strip://*[@id="main"]/div[3] | 8 | strip://*[@id="main"]/div[3] |
9 | strip://*[@id="page"]//footer | 9 | strip://*[@id="page"]//footer |
10 | 10 | ||
11 | #date: didn't manage to parse it | 11 | #date: didn't manage to parse it |
12 | 12 | ||
13 | #Images have to be stripped because the page does it with overlay | 13 | #Images have to be stripped because the page does it with overlay |
14 | strip://img | 14 | strip://img |
15 | 15 | ||
16 | #figures are not displayed in instapaper... | 16 | #figures are not displayed in instapaper... |
17 | strip://figure | //figcaption | 17 | strip://figure | //figcaption |
18 | test_url: http://www.computerbase.de/news/2012-06/verbraucherzentrale-mahnt-blizzard-fuer-diablo-3-ab/ \ No newline at end of file | 18 | test_url: http://www.computerbase.de/news/2012-06/verbraucherzentrale-mahnt-blizzard-fuer-diablo-3-ab/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/computerworld.com.txt b/inc/3rdparty/site_config/standard/computerworld.com.txt index 8e1f3e11..7f20a4da 100644..100755 --- a/inc/3rdparty/site_config/standard/computerworld.com.txt +++ b/inc/3rdparty/site_config/standard/computerworld.com.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | title: //meta[@name='headline']/@content | 1 | title: //meta[@name='headline']/@content |
2 | date: //meta[@name='date']/@content | 2 | date: //meta[@name='date']/@content |
3 | author: //meta[@name='author']/@content | 3 | author: //meta[@name='author']/@content |
4 | body: //div[contains(@class, 'article')] | 4 | body: //div[contains(@class, 'article')] |
5 | body://div[@id="article_body"] | 5 | body://div[@id="article_body"] |
6 | 6 | ||
7 | strip_id_or_class: banner | 7 | strip_id_or_class: banner |
8 | strip: //noscript | 8 | strip: //noscript |
9 | strip: //div[@style='width:1px;height:130px;float:right;'] | 9 | strip: //div[@style='width:1px;height:130px;float:right;'] |
10 | strip: //div[@class='storyby'] | 10 | strip: //div[@class='storyby'] |
11 | strip_image_src: twitter_icon | 11 | strip_image_src: twitter_icon |
12 | strip_image_src: rss_bug | 12 | strip_image_src: rss_bug |
13 | 13 | ||
14 | tidy: no | 14 | tidy: no |
15 | prune: no | 15 | prune: no |
16 | 16 | ||
17 | next_page_link://div[@id="next_page"]/a | 17 | next_page_link://div[@id="next_page"]/a |
18 | 18 | ||
19 | single_page_link: concat('http://www.computerworld.com/s/article/print/', substring-after(//link[@rel='canonical']/@href, '/s/article/')) | 19 | single_page_link: concat('http://www.computerworld.com/s/article/print/', substring-after(//link[@rel='canonical']/@href, '/s/article/')) |
20 | 20 | ||
21 | test_url: http://www.computerworld.com/s/article/9224348/Apple_s_new_OS_X_tightens_screws_on_some_malware | 21 | test_url: http://www.computerworld.com/s/article/9224348/Apple_s_new_OS_X_tightens_screws_on_some_malware |
22 | test_url: http://www.computerworld.com/s/article/9227679/Windows_8_Release_Preview_Updated_but_still_uneasy \ No newline at end of file | 22 | test_url: http://www.computerworld.com/s/article/9227679/Windows_8_Release_Preview_Updated_but_still_uneasy \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/computerworld.dk.txt b/inc/3rdparty/site_config/standard/computerworld.dk.txt index a83f366f..d819109c 100644..100755 --- a/inc/3rdparty/site_config/standard/computerworld.dk.txt +++ b/inc/3rdparty/site_config/standard/computerworld.dk.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | strip: //div[contains(@class, 'articleAdtechAd')] | 1 | strip: //div[contains(@class, 'articleAdtechAd')] |
2 | title: //div[@id='article']/h1 | 2 | title: //div[@id='article']/h1 |
3 | title: //div[contains(@class, 'article')]/h1 | 3 | title: //div[contains(@class, 'article')]/h1 |
4 | body: //div[@id='articleText'] | 4 | body: //div[@id='articleText'] |
5 | test_url: http://www.computerworld.dk/art/56748/test-din-viden-med-computerworlds-store-sommerquiz?a=fp_1&i=0 \ No newline at end of file | 5 | test_url: http://www.computerworld.dk/art/56748/test-din-viden-med-computerworlds-store-sommerquiz?a=fp_1&i=0 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/contemporist.com.txt b/inc/3rdparty/site_config/standard/contemporist.com.txt index d2b289a3..c3120fe8 100644..100755 --- a/inc/3rdparty/site_config/standard/contemporist.com.txt +++ b/inc/3rdparty/site_config/standard/contemporist.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | # get author from string like "Posted by <author> on <date>" | 1 | # get author from string like "Posted by <author> on <date>" |
2 | author: substring-before(substring-after(//div[@class='post']/p[@class='post-meta'], 'by'), 'on') | 2 | author: substring-before(substring-after(//div[@class='post']/p[@class='post-meta'], 'by'), 'on') |
3 | 3 | ||
4 | # get date from string like "Posted by <author> on <date>" | 4 | # get date from string like "Posted by <author> on <date>" |
5 | date: substring-after(//div[@class='post']/p[@class='post-meta'], 'on') | 5 | date: substring-after(//div[@class='post']/p[@class='post-meta'], 'on') |
6 | 6 | ||
7 | # this keeps thumbnail images | 7 | # this keeps thumbnail images |
8 | prune: no | 8 | prune: no |
9 | test_url: http://www.contemporist.com/2011/11/02/landing-200-lamp-by-kim-hyunjoo \ No newline at end of file | 9 | test_url: http://www.contemporist.com/2011/11/02/landing-200-lamp-by-kim-hyunjoo \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/conversaciones.nokia.com.txt b/inc/3rdparty/site_config/standard/conversaciones.nokia.com.txt index 9bad2c84..966cc861 100644..100755 --- a/inc/3rdparty/site_config/standard/conversaciones.nokia.com.txt +++ b/inc/3rdparty/site_config/standard/conversaciones.nokia.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@class='article_header']/h1 | 1 | title: //div[@class='article_header']/h1 |
2 | body: //div[@class='article_header']/p | //div[@class='article_body'] | 2 | body: //div[@class='article_header']/p | //div[@class='article_body'] |
3 | strip_id_or_class: share_this | 3 | strip_id_or_class: share_this |
4 | strip_id_or_class: sociable | 4 | strip_id_or_class: sociable |
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | test_url: http://conversaciones.nokia.com/2011/10/07/cinco-atajos-en-el-nokia-n8/ \ No newline at end of file | 7 | test_url: http://conversaciones.nokia.com/2011/10/07/cinco-atajos-en-el-nokia-n8/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/cooper.com.txt b/inc/3rdparty/site_config/standard/cooper.com.txt new file mode 100755 index 00000000..a4244097 --- /dev/null +++ b/inc/3rdparty/site_config/standard/cooper.com.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | body: //*[contains(@class,'body')] | ||
2 | date: //abbr[@class='published'] | ||
3 | |||
4 | test_url: http://www.cooper.com/journal/2012/08/2-weeks-left-to-win-your-way-to-the-woodstock-of-ux-coopers-ux-boot-camp.html/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/core77.com.txt b/inc/3rdparty/site_config/standard/core77.com.txt index a24374d8..cf1fa93c 100644..100755 --- a/inc/3rdparty/site_config/standard/core77.com.txt +++ b/inc/3rdparty/site_config/standard/core77.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@id="permalink"]/div[@class="post"] | 1 | body: //div[@id="permalink"]/div[@class="post"] |
2 | 2 | ||
3 | strip: //div[@id='backArrow'] | 3 | strip: //div[@id='backArrow'] |
4 | strip: //div[@id='fwdArrow'] | 4 | strip: //div[@id='fwdArrow'] |
5 | strip: //div[@class="post-title"] | 5 | strip: //div[@class="post-title"] |
6 | strip: //div[@class="sharing"] | 6 | strip: //div[@class="sharing"] |
7 | test_url: http://www.core77.com/blog/columns/why_design_education_must_change_17993.asp \ No newline at end of file | 7 | test_url: http://www.core77.com/blog/columns/why_design_education_must_change_17993.asp \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/counterpunch.org.txt b/inc/3rdparty/site_config/standard/counterpunch.org.txt index c9e92287..b6bd8be5 100644..100755 --- a/inc/3rdparty/site_config/standard/counterpunch.org.txt +++ b/inc/3rdparty/site_config/standard/counterpunch.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class='main']//h1[contains(@class, 'article-title')] | 1 | title: //div[@class='main']//h1[contains(@class, 'article-title')] |
2 | author: //div[@class='mainauthorstyle'] | 2 | author: //div[@class='mainauthorstyle'] |
3 | body: //div[@class='main']//div[@class='main-text'] | 3 | body: //div[@class='main']//div[@class='main-text'] |
4 | strip: //td[@width='140'] | 4 | strip: //td[@width='140'] |
5 | 5 | ||
6 | test_url: http://www.counterpunch.org/johnstone05172011.html \ No newline at end of file | 6 | test_url: http://www.counterpunch.org/johnstone05172011.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/crazybutable.com.txt b/inc/3rdparty/site_config/standard/crazybutable.com.txt index d25cd05d..037cd177 100644..100755 --- a/inc/3rdparty/site_config/standard/crazybutable.com.txt +++ b/inc/3rdparty/site_config/standard/crazybutable.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title://h2 | 1 | title://h2 |
2 | body://div[contains(@class, 'entrytext')] | 2 | body://div[contains(@class, 'entrytext')] |
3 | test_url: http://www.crazybutable.com/weblog/archives/2010/07/01/house-ideas-that-worked/ \ No newline at end of file | 3 | test_url: http://www.crazybutable.com/weblog/archives/2010/07/01/house-ideas-that-worked/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/crimemagazine.com.txt b/inc/3rdparty/site_config/standard/crimemagazine.com.txt index 9cf0bccc..9cf0bccc 100644..100755 --- a/inc/3rdparty/site_config/standard/crimemagazine.com.txt +++ b/inc/3rdparty/site_config/standard/crimemagazine.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/crimethinc.com.txt b/inc/3rdparty/site_config/standard/crimethinc.com.txt index 74bc6db9..b5a8018a 100644..100755 --- a/inc/3rdparty/site_config/standard/crimethinc.com.txt +++ b/inc/3rdparty/site_config/standard/crimethinc.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class="readingtext"] | 1 | body: //div[@class="readingtext"] |
2 | title: substring-after(substring-after(//title, ':'), ':') | 2 | title: substring-after(substring-after(//title, ':'), ':') |
3 | test_url: http://www.crimethinc.com/texts/recentfeatures/nightmares.php \ No newline at end of file | 3 | test_url: http://www.crimethinc.com/texts/recentfeatures/nightmares.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/crn.de.txt b/inc/3rdparty/site_config/standard/crn.de.txt index 7fa950af..61d5d6a7 100644..100755 --- a/inc/3rdparty/site_config/standard/crn.de.txt +++ b/inc/3rdparty/site_config/standard/crn.de.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | author: //p[contains(@class,'author')]/a | 1 | author: //p[contains(@class,'author')]/a |
2 | date: //div[contains(@class,'date')] | 2 | date: //div[contains(@class,'date')] |
3 | test_url: http://www.crn.de/netzwerke-tk/artikel-93103.html \ No newline at end of file | 3 | test_url: http://www.crn.de/netzwerke-tk/artikel-93103.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/csmonitor.com.txt b/inc/3rdparty/site_config/standard/csmonitor.com.txt index d4dbc5c8..b482e34e 100644..100755 --- a/inc/3rdparty/site_config/standard/csmonitor.com.txt +++ b/inc/3rdparty/site_config/standard/csmonitor.com.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | title: //h1[contains(@class, 'head')] | 1 | title: //h1[contains(@class, 'head')] |
2 | 2 | ||
3 | # standard page | 3 | # standard page |
4 | body: //div[@id='mainColumn']//div[contains(@class, 'list-article-full')] | 4 | body: //div[@id='mainColumn']//div[contains(@class, 'list-article-full')] |
5 | # print page | 5 | # print page |
6 | body: //div[@id='mainColumn'] | 6 | body: //div[@id='mainColumn'] |
7 | 7 | ||
8 | author: //a[contains(@class, 'ui-author')] | 8 | author: //a[contains(@class, 'ui-author')] |
9 | 9 | ||
10 | single_page_link: //div[@class='storyToolbar']//a[contains(@href, '/print/')] | 10 | single_page_link: //div[@class='storyToolbar']//a[contains(@href, '/print/')] |
11 | 11 | ||
12 | strip_id_or_class: storyToolbar | 12 | strip_id_or_class: storyToolbar |
13 | strip_id_or_class: promotion-tag | 13 | strip_id_or_class: promotion-tag |
14 | 14 | ||
15 | tidy: no | 15 | tidy: no |
16 | prune: no | 16 | prune: no |
17 | 17 | ||
18 | test_url: www.csmonitor.com/World/Middle-East/2011/1108/Imminent-Iran-nuclear-threat-A-timeline-of-warnings-since-1979/Earliest-warnings-1979-84 \ No newline at end of file | 18 | test_url: www.csmonitor.com/World/Middle-East/2011/1108/Imminent-Iran-nuclear-threat-A-timeline-of-warnings-since-1979/Earliest-warnings-1979-84 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/csnbayarea.com.txt b/inc/3rdparty/site_config/standard/csnbayarea.com.txt index 131a923b..1da60b4e 100644..100755 --- a/inc/3rdparty/site_config/standard/csnbayarea.com.txt +++ b/inc/3rdparty/site_config/standard/csnbayarea.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@id='csn_blogST_headline']/h1 | 1 | title: //div[@id='csn_blogST_headline']/h1 |
2 | 2 | ||
3 | body: //div[@id='csn_blogST_main'] | 3 | body: //div[@id='csn_blogST_main'] |
4 | strip_id_or_class: ipfootnotes | 4 | strip_id_or_class: ipfootnotes |
5 | strip: //div[@id='csn_blogST_main']/p[1]/img | 5 | strip: //div[@id='csn_blogST_main']/p[1]/img |
6 | strip: //div[@id='csn_blogST_sidebar'] | 6 | strip: //div[@id='csn_blogST_sidebar'] |
7 | test_url: http://www.csnbayarea.com/blog/giants-talk/post/-?blog%2Fgiants-talk%2Fpost%2F-=&blockID=578902&feedID=5987 \ No newline at end of file | 7 | test_url: http://www.csnbayarea.com/blog/giants-talk/post/-?blog%2Fgiants-talk%2Fpost%2F-=&blockID=578902&feedID=5987 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/csnphilly.com.txt b/inc/3rdparty/site_config/standard/csnphilly.com.txt index 0df72c32..c14a934a 100644..100755 --- a/inc/3rdparty/site_config/standard/csnphilly.com.txt +++ b/inc/3rdparty/site_config/standard/csnphilly.com.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | # author's name is not isolated as a tag.... ugh | 1 | # author's name is not isolated as a tag.... ugh |
2 | convert_double_br_tags: yes | 2 | convert_double_br_tags: yes |
3 | body: //csn_blogST_main | 3 | body: //csn_blogST_main |
4 | 4 | ||
5 | #junk above and around the article | 5 | #junk above and around the article |
6 | strip: /html/body/div[4]/div[3]/div/div/div/section/div/div/div/div/div/div | 6 | strip: /html/body/div[4]/div[3]/div/div/div/section/div/div/div/div/div/div |
7 | strip: /html/body/div[4]/header | 7 | strip: /html/body/div[4]/header |
8 | strip_id_or_class: article-right-sidebar | 8 | strip_id_or_class: article-right-sidebar |
9 | strip_id_or_class: rsn-gigya-sharebar-container | 9 | strip_id_or_class: rsn-gigya-sharebar-container |
10 | strip_id_or_class: article-bottom | 10 | strip_id_or_class: article-bottom |
11 | strip_id_or_class: hider | 11 | strip_id_or_class: hider |
12 | strip_id_or_class: footer | 12 | strip_id_or_class: footer |
13 | strip_id_or_class: masthead | 13 | strip_id_or_class: masthead |
14 | strip_id_or_class: block-menu-menu-rsn-login-or-register | 14 | strip_id_or_class: block-menu-menu-rsn-login-or-register |
15 | strip_id_or_class: block-menu-menu-header-links | 15 | strip_id_or_class: block-menu-menu-header-links |
16 | strip_id_or_class: block-rsn-follow-bar-follow-bar | 16 | strip_id_or_class: block-rsn-follow-bar-follow-bar |
17 | strip_id_or_class: block-rsn-weather-rsn-weather-scoreboard | 17 | strip_id_or_class: block-rsn-weather-rsn-weather-scoreboard |
18 | strip_id_or_class: logo | 18 | strip_id_or_class: logo |
19 | strip_id_or_class: element-invisible | 19 | strip_id_or_class: element-invisible |
20 | strip_id_or_class: site-name | 20 | strip_id_or_class: site-name |
21 | strip: //div[contains(@style, 'none')] | 21 | strip: //div[contains(@style, 'none')] |
22 | test_url: http://www.csnphilly.com/eagles/can-stoutland-save-danny-watkins-career \ No newline at end of file | 22 | test_url: http://www.csnphilly.com/eagles/can-stoutland-save-danny-watkins-career \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/css-tricks.com.txt b/inc/3rdparty/site_config/standard/css-tricks.com.txt new file mode 100755 index 00000000..3d8174aa --- /dev/null +++ b/inc/3rdparty/site_config/standard/css-tricks.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title://article[contains(@id, "post-")]/h1 | ||
2 | date://article[contains(@id, "post-")]/p[@class="time"]/time | ||
3 | body://article[contains(@id, "post-")] | ||
4 | strip://article[contains(@id, "post-")]/p[@class="time"]/time | ||
5 | prune:yes | ||
6 | test_url: http://css-tricks.com/off-canvas-menu-with-css-target/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/cucharasonica.com.txt b/inc/3rdparty/site_config/standard/cucharasonica.com.txt index e691fe83..e691fe83 100644..100755 --- a/inc/3rdparty/site_config/standard/cucharasonica.com.txt +++ b/inc/3rdparty/site_config/standard/cucharasonica.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/cw.com.tw.txt b/inc/3rdparty/site_config/standard/cw.com.tw.txt new file mode 100755 index 00000000..6e3a91ee --- /dev/null +++ b/inc/3rdparty/site_config/standard/cw.com.tw.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | author://span[contains(@class,'reporter')] | ||
2 | |||
3 | date://span[contains(@class,'date')] | ||
4 | |||
5 | body://div[contains(@class,'mainContaner')] | ||
6 | |||
7 | strip://div[contains(@class,'mainHeaer')] | ||
8 | strip://div[contains(@class,'keyW')] | ||
9 | strip://div[contains(@class,'wonderful')] | ||
10 | strip://div[contains(@class,'pages')] | ||
11 | strip://div[contains(@class,'Topics TopicsW3')] | ||
12 | |||
13 | next_page_link://li[@class='pageNext']/a[contains(.,'下一é ')] | ||
14 | test_url: http://www.cw.com.tw/article/article.action?id=5032848 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/da.feedsportal.com.txt b/inc/3rdparty/site_config/standard/da.feedsportal.com.txt index 4a00ef44..381446e5 100644..100755 --- a/inc/3rdparty/site_config/standard/da.feedsportal.com.txt +++ b/inc/3rdparty/site_config/standard/da.feedsportal.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | single_page_link: //a | 1 | single_page_link: //a |
2 | tidy: no | 2 | tidy: no |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: da.feedsportal.com/c/585/f/413794/s/17037b5a/l/0L0Stelegraaf0Bnl0Cbinnenland0C10A2757860C0I0IKlacht0Itegen0Idr0B0IFrank0Iniet0I0Eontvankelijk0I0I0Bhtml0Dcid0Frss/ia1.htm \ No newline at end of file | 5 | test_url: da.feedsportal.com/c/585/f/413794/s/17037b5a/l/0L0Stelegraaf0Bnl0Cbinnenland0C10A2757860C0I0IKlacht0Itegen0Idr0B0IFrank0Iniet0I0Eontvankelijk0I0I0Bhtml0Dcid0Frss/ia1.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dagogtid.no.txt b/inc/3rdparty/site_config/standard/dagogtid.no.txt new file mode 100755 index 00000000..1531472c --- /dev/null +++ b/inc/3rdparty/site_config/standard/dagogtid.no.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | title: //span[@class = 'overskriftEkstrastor'] | ||
2 | author: //em/a | ||
3 | |||
4 | test_url: http://dagogtid.no/nyhet.cfm?nyhetid=2414 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/dailydot.com.txt b/inc/3rdparty/site_config/standard/dailydot.com.txt index 61013993..978ed1ce 100644..100755 --- a/inc/3rdparty/site_config/standard/dailydot.com.txt +++ b/inc/3rdparty/site_config/standard/dailydot.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | body: //article | 2 | body: //article |
3 | 3 | ||
4 | test_url: http://www.dailydot.com/entertainment/tumblr-christopher-price-topherchris/ \ No newline at end of file | 4 | test_url: http://www.dailydot.com/entertainment/tumblr-christopher-price-topherchris/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dailykos.com.txt b/inc/3rdparty/site_config/standard/dailykos.com.txt index 124675cb..6d4cb82a 100644..100755 --- a/inc/3rdparty/site_config/standard/dailykos.com.txt +++ b/inc/3rdparty/site_config/standard/dailykos.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@id='article-1']//div[contains(@class, 'article-body')] | 1 | body: //div[@id='article-1']//div[contains(@class, 'article-body')] |
2 | title: //div[@class='meta']//a[@id='titleHref'] | 2 | title: //div[@class='meta']//a[@id='titleHref'] |
3 | date: //div[@class='meta']//p[@class='date'] | 3 | date: //div[@class='meta']//p[@class='date'] |
4 | 4 | ||
5 | strip_id_or_class: invisible | 5 | strip_id_or_class: invisible |
6 | strip_id_or_class: divider-doodle | 6 | strip_id_or_class: divider-doodle |
7 | 7 | ||
8 | prune: no | 8 | prune: no |
9 | 9 | ||
10 | test_url: http://www.dailykos.com/story/2012/01/26/1058790/-Newt-Gingrichs-campaign-admits-he-lied-during-debate-about-ABC-News-interview-with-his ex-wife \ No newline at end of file | 10 | test_url: http://www.dailykos.com/story/2012/01/26/1058790/-Newt-Gingrich-s-campaign-admits-he-lied-during-debate-about-ABC-News-interview-with-his-ex-wife |
diff --git a/inc/3rdparty/site_config/standard/dailymail.co.uk.txt b/inc/3rdparty/site_config/standard/dailymail.co.uk.txt index c83dbdb0..cd29a4d4 100644..100755 --- a/inc/3rdparty/site_config/standard/dailymail.co.uk.txt +++ b/inc/3rdparty/site_config/standard/dailymail.co.uk.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | body: //div[@id='js-article-text'] | 1 | body: //div[@id='js-article-text'] |
2 | strip: //div[@class='explore-links'] | 2 | strip: //div[@class='explore-links'] |
3 | strip: //div[@id='js-article-text']/br[position()=1] | 3 | strip: //div[@id='js-article-text']/br[position()=1] |
4 | strip_id_or_class: print-or-mail-links | 4 | strip_id_or_class: print-or-mail-links |
5 | strip_id_or_class: shareArticles | 5 | strip_id_or_class: shareArticles |
6 | strip_id_or_class: googleAds | 6 | strip_id_or_class: googleAds |
7 | strip_id_or_class: digg-button | 7 | strip_id_or_class: digg-button |
8 | strip_id_or_class: article-icon-links-container | 8 | strip_id_or_class: article-icon-links-container |
9 | strip_id_or_class: clickToEnlarge | 9 | strip_id_or_class: clickToEnlarge |
10 | tidy: no | 10 | tidy: no |
11 | 11 | ||
12 | test_url: http://www.dailymail.co.uk/news/article-1375423/Royal-wedding-Texan-billionaire-Joe-Albritton-invited-Prince-Charles.html \ No newline at end of file | 12 | test_url: http://www.dailymail.co.uk/news/article-1375423/Royal-wedding-Texan-billionaire-Joe-Albritton-invited-Prince-Charles.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dailystar.com.lb.txt b/inc/3rdparty/site_config/standard/dailystar.com.lb.txt new file mode 100755 index 00000000..3b153042 --- /dev/null +++ b/inc/3rdparty/site_config/standard/dailystar.com.lb.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //div[@class='ec-blog-headline'] | ||
2 | body: //*[@id="divDetails"] | ||
3 | date: //*[@id="ctl00_ContentPlaceHolder1_tdDate"] | ||
4 | author: //*[@id="ctl00_ContentPlaceHolder1_anchorAuthor"]/a | ||
5 | autodetect_next_page: no | ||
6 | test_url: http://dailystar.com.lb/Opinion/Columnist/2012/Oct-10/190803-americas-new-modesty-in-the-mideast.ashx#axzz2928JP5xE \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/danleech.com.txt b/inc/3rdparty/site_config/standard/danleech.com.txt new file mode 100755 index 00000000..1d4cec77 --- /dev/null +++ b/inc/3rdparty/site_config/standard/danleech.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | tidy: no | ||
2 | prune: no | ||
3 | date: //article//time[@pubdate] | ||
4 | title: //article/h1//span[contains(@class, 'entry-title')] | ||
5 | body: //article/div[contains(@class, 'entry-content')] | ||
6 | test_url: http://danleech.com/post/36822126876/simple-icons \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/dansdata.com.txt b/inc/3rdparty/site_config/standard/dansdata.com.txt index 96a2bc41..60669480 100644..100755 --- a/inc/3rdparty/site_config/standard/dansdata.com.txt +++ b/inc/3rdparty/site_config/standard/dansdata.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | autodetect_next_page: no | 1 | autodetect_next_page: no |
2 | tidy: no | 2 | tidy: no |
3 | prune: no | 3 | prune: no |
4 | body: //div[@class='NoOverflow'] | 4 | body: //div[@class='NoOverflow'] |
5 | test_url: http://www.dansdata.com/gz129.htm \ No newline at end of file | 5 | test_url: http://www.dansdata.com/gz129.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dantri.com.vn.txt b/inc/3rdparty/site_config/standard/dantri.com.vn.txt new file mode 100755 index 00000000..f19fee7c --- /dev/null +++ b/inc/3rdparty/site_config/standard/dantri.com.vn.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //h1[contains(@class, 'fon31 mt2')] | ||
2 | body: //h2[contains(@class, 'fon33 mt1')] | //div[contains(@class, 'fon34 mt3')] | ||
3 | |||
4 | prune: no | ||
5 | |||
6 | test_url: http://dantri.com.vn/su-kien/chang-trai-mot-minh-dap-xe-vuot-450km-de-vieng-mo-dai-tuong-869763.htm | ||
7 | test_url: http://dantri.com.vn/trangchu.rss \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/daringfireball.net.txt b/inc/3rdparty/site_config/standard/daringfireball.net.txt index dca8ade7..251cc670 100644..100755 --- a/inc/3rdparty/site_config/standard/daringfireball.net.txt +++ b/inc/3rdparty/site_config/standard/daringfireball.net.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@class="article"]/h1 | 1 | title: //div[@class="article"]/h1 |
2 | author: //div[@id="Sidebar"]/p/strong | 2 | author: //div[@id="Sidebar"]/p/strong |
3 | date: //h6[@class="dateline"] | 3 | date: //h6[@class="dateline"] |
4 | body: //div[@class="article"] | 4 | body: //div[@class="article"] |
5 | strip: //h6[@class="dateline"] | 5 | strip: //h6[@class="dateline"] |
6 | strip: //div[@class="article"]/h1 | 6 | strip: //div[@class="article"]/h1 |
7 | test_url: http://daringfireball.net/2011/10/apps_are_the_new_channels \ No newline at end of file | 7 | test_url: http://daringfireball.net/2011/10/apps_are_the_new_channels \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/datanami.com.txt b/inc/3rdparty/site_config/standard/datanami.com.txt index 3534002a..e9111a48 100644..100755 --- a/inc/3rdparty/site_config/standard/datanami.com.txt +++ b/inc/3rdparty/site_config/standard/datanami.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@id="article"] | 1 | body: //div[@id="article"] |
2 | date: //p[@class="date"] | 2 | date: //p[@class="date"] |
3 | author: //p[@class="byline"] | 3 | author: //p[@class="byline"] |
4 | test_url: http://www.datanami.com/datanami/2011-12-07/new_path_for_sap:_in_memory_computing,_predictive_analysis_converge.html?featured=top \ No newline at end of file | 4 | test_url: http://www.datanami.com/datanami/2011-12-07/new_path_for_sap:_in_memory_computing,_predictive_analysis_converge.html?featured=top \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dcurt.is.txt b/inc/3rdparty/site_config/standard/dcurt.is.txt index 7d11c6e1..524c4bf1 100644..100755 --- a/inc/3rdparty/site_config/standard/dcurt.is.txt +++ b/inc/3rdparty/site_config/standard/dcurt.is.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: (//article//h2)[1] | 1 | title: (//article//h2)[1] |
2 | body: //article[contains(@class, 'post')] | 2 | body: //article[contains(@class, 'post')] |
3 | date: //time[@id='top_time']/@datetime | 3 | date: //time[@id='top_time']/@datetime |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | tidy: no | 6 | tidy: no |
7 | 7 | ||
8 | test_url: http://dcurt.is/predictions-txt \ No newline at end of file | 8 | test_url: http://dcurt.is/predictions-txt \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/defomicron.net.txt b/inc/3rdparty/site_config/standard/defomicron.net.txt new file mode 100755 index 00000000..9f11258c --- /dev/null +++ b/inc/3rdparty/site_config/standard/defomicron.net.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | title: //article/h1 | ||
2 | author: //hgroup/h3/a | ||
3 | date: //time | ||
4 | body: //article | ||
5 | strip: //aside | ||
6 | footnotes: yes | ||
7 | prune: no | ||
8 | tidy: no | ||
9 | test_url: https://defomicron.net/2012/09/ios-6/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/delong.typepad.com.txt b/inc/3rdparty/site_config/standard/delong.typepad.com.txt index 84fd4f79..c4b922e4 100644..100755 --- a/inc/3rdparty/site_config/standard/delong.typepad.com.txt +++ b/inc/3rdparty/site_config/standard/delong.typepad.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | strip_id_or_class: banner | 1 | strip_id_or_class: banner |
2 | strip_id_or_class: gamma | 2 | strip_id_or_class: gamma |
3 | strip_id_or_class: module-list | 3 | strip_id_or_class: module-list |
4 | test_url: http://delong.typepad.com/sdj/2011/02/in-which-suresh-naidu-visits-the-new-jerusalem.html \ No newline at end of file | 4 | test_url: http://delong.typepad.com/sdj/2011/02/in-which-suresh-naidu-visits-the-new-jerusalem.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/democracynow.org.txt b/inc/3rdparty/site_config/standard/democracynow.org.txt new file mode 100755 index 00000000..b0050b4f --- /dev/null +++ b/inc/3rdparty/site_config/standard/democracynow.org.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | body: //div[contains(@class, 'blog_body')] | ||
2 | |||
3 | prune: no | ||
4 | |||
5 | test_url: http://www.democracynow.org/blog/2014/1/9/the_fbi_the_nsa_and_a \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/derstandard.at.txt b/inc/3rdparty/site_config/standard/derstandard.at.txt index 48722ebd..07db3521 100644..100755 --- a/inc/3rdparty/site_config/standard/derstandard.at.txt +++ b/inc/3rdparty/site_config/standard/derstandard.at.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title: //div[@id='artikelHeader']/h1 | 1 | title: //div[@id='artikelHeader']/h1 |
2 | author: //span[@class='author'] | 2 | author: //span[@class='author'] |
3 | date: //span[@class='date'] | 3 | date: //span[@class='date'] |
4 | body: //div[@class='copytext'] | 4 | body: //div[@class='copytext'] |
5 | strip: //ul[@class='lookupLinksArtikel'] | 5 | strip: //ul[@class='lookupLinksArtikel'] |
6 | 6 | ||
7 | strip: //div[@id='pageTop'] | 7 | strip: //div[@id='pageTop'] |
8 | strip: //div[@id='toolbar'] | 8 | strip: //div[@id='toolbar'] |
9 | strip: //div[@id='articleTools'] | 9 | strip: //div[@id='articleTools'] |
10 | strip: //div[@id='weiterlesen'] | 10 | strip: //div[@id='weiterlesen'] |
11 | strip: //div[@id='communityCanvas'] | 11 | strip: //div[@id='communityCanvas'] |
12 | 12 | ||
13 | test_url: http://derstandard.at/1318726018343/Breitband-LTE-Was-bringt-die-neue-Mobilfunk-Generation \ No newline at end of file | 13 | test_url: http://derstandard.at/1318726018343/Breitband-LTE-Was-bringt-die-neue-Mobilfunk-Generation \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/designtagebuch.de.txt b/inc/3rdparty/site_config/standard/designtagebuch.de.txt index 6096db0b..9020847f 100644..100755 --- a/inc/3rdparty/site_config/standard/designtagebuch.de.txt +++ b/inc/3rdparty/site_config/standard/designtagebuch.de.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | body: //div[@class='main'] | 2 | body: //div[@class='main'] |
3 | 3 | ||
4 | author: substring-before(substring-after(//div[@class='meta-single'], 'erstellt von '), ' am') | 4 | author: substring-before(substring-after(//div[@class='meta-single'], 'erstellt von '), ' am') |
5 | date: substring-before(substring-after(//div[@class='meta-single'], ' am '), ' | ') | 5 | date: substring-before(substring-after(//div[@class='meta-single'], ' am '), ' | ') |
6 | 6 | ||
7 | strip_id_or_class: pagelink | 7 | strip_id_or_class: pagelink |
8 | strip_id_or_class: wp-polls | 8 | strip_id_or_class: wp-polls |
9 | 9 | ||
10 | next_page_link: //div[@class='post-page-next']/a | 10 | next_page_link: //div[@class='post-page-next']/a |
11 | test_url: http://www.designtagebuch.de/die-gefuehlte-lesbarkeit/ \ No newline at end of file | 11 | test_url: http://www.designtagebuch.de/die-gefuehlte-lesbarkeit/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/desitvforum.net.txt b/inc/3rdparty/site_config/standard/desitvforum.net.txt index a6dac5fd..efa85f76 100644..100755 --- a/inc/3rdparty/site_config/standard/desitvforum.net.txt +++ b/inc/3rdparty/site_config/standard/desitvforum.net.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: (//blockquote[contains(@class, 'postcontent')])[1] | 1 | body: (//blockquote[contains(@class, 'postcontent')])[1] |
2 | body: (//div[starts-with(@id, 'post_message')])[1] | 2 | body: (//div[starts-with(@id, 'post_message')])[1] |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | tidy: no \ No newline at end of file | 5 | tidy: no \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/details.com.txt b/inc/3rdparty/site_config/standard/details.com.txt index 548cabad..d1d8a29a 100644..100755 --- a/inc/3rdparty/site_config/standard/details.com.txt +++ b/inc/3rdparty/site_config/standard/details.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1[@class="content-headline"] | 1 | title: //h1[@class="content-headline"] |
2 | body: //div[@class="headers-container"] | //div[@class="content-container"] | 2 | body: //div[@class="headers-container"] | //div[@class="content-container"] |
3 | prune: no | 3 | prune: no |
4 | tidy: no | 4 | tidy: no |
5 | 5 | ||
6 | single_page_link: //li[@class='utility-print']/a | 6 | single_page_link: //li[@class='utility-print']/a |
7 | 7 | ||
8 | test_url: http://www.details.com/culture-trends/critical-eye/201108/best-new-designers-innovations \ No newline at end of file | 8 | test_url: http://www.details.com/culture-trends/critical-eye/201108/best-new-designers-innovations \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/developers.facebook.com.txt b/inc/3rdparty/site_config/standard/developers.facebook.com.txt index 43a8f0a0..7609b72f 100644..100755 --- a/inc/3rdparty/site_config/standard/developers.facebook.com.txt +++ b/inc/3rdparty/site_config/standard/developers.facebook.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //div[@class="bodyText"]/h1 | 1 | title: //div[@class="bodyText"]/h1 |
2 | author: //div[@class="picture"]/a/img/@alt | 2 | author: //div[@class="picture"]/a/img/@alt |
3 | test_url: https://developers.facebook.com/blog/post/2012/03/22/developer-spotlight--foodspotting/ \ No newline at end of file | 3 | test_url: https://developers.facebook.com/blog/post/2012/03/22/developer-spotlight--foodspotting/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/devlinsangle.blogspot.co.at.txt b/inc/3rdparty/site_config/standard/devlinsangle.blogspot.co.at.txt index b960b37e..6f1d4e27 100644..100755 --- a/inc/3rdparty/site_config/standard/devlinsangle.blogspot.co.at.txt +++ b/inc/3rdparty/site_config/standard/devlinsangle.blogspot.co.at.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | date: //h2[@class='date-header'] | 1 | date: //h2[@class='date-header'] |
2 | body: //div[@class='post hentry'] | 2 | body: //div[@class='post hentry'] |
3 | title: //h3 | 3 | title: //h3 |
4 | strip: //div[@class='post-footer'] | 4 | strip: //div[@class='post-footer'] |
5 | 5 | ||
6 | test_url: http://devlinsangle.blogspot.co.at/2012/03/difference-between-teaching-and_01.html \ No newline at end of file | 6 | test_url: http://devlinsangle.blogspot.co.at/2012/03/difference-between-teaching-and_01.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dictionary.reference.com.txt b/inc/3rdparty/site_config/standard/dictionary.reference.com.txt index a1172024..f8b79c80 100644..100755 --- a/inc/3rdparty/site_config/standard/dictionary.reference.com.txt +++ b/inc/3rdparty/site_config/standard/dictionary.reference.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1[@id='query_h1'] | 1 | title: //h1[@id='query_h1'] |
2 | body: //div[contains(@class, 'lunatext results_content')] | 2 | body: //div[contains(@class, 'lunatext results_content')] |
3 | strip_id_or_class: spl_unshd | 3 | strip_id_or_class: spl_unshd |
4 | #replace_string(<div class="dicTl">): <div class="dicTl">------------------<br /> | 4 | #replace_string(<div class="dicTl">): <div class="dicTl">------------------<br /> |
5 | 5 | ||
6 | prune: no | 6 | prune: no |
7 | 7 | ||
8 | test_url: http://www.wired.com/cloudline/2011/10/meet-arms-cortex-a15-the-future-of-the-ipad-and-possibly-the-macbook-air/ \ No newline at end of file | 8 | test_url: http://www.wired.com/cloudline/2011/10/meet-arms-cortex-a15-the-future-of-the-ipad-and-possibly-the-macbook-air/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/diepresse.com.txt b/inc/3rdparty/site_config/standard/diepresse.com.txt index 7e825a91..ced189cc 100644..100755 --- a/inc/3rdparty/site_config/standard/diepresse.com.txt +++ b/inc/3rdparty/site_config/standard/diepresse.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class='article']/h1 | 1 | title: //div[@class='article']/h1 |
2 | date: substring-before(//p[@class='articletime'],'|') | 2 | date: substring-before(//p[@class='articletime'],'|') |
3 | body: //div[@id='articletext'] | 3 | body: //div[@id='articletext'] |
4 | strip: //div[@class='inlineDiashow'] | 4 | strip: //div[@class='inlineDiashow'] |
5 | 5 | ||
6 | test_url: http://diepresse.com/home/politik/aussenpolitik/701905/TibeterProteste_Nonne-verbrennt-sich-selbst?_vl_backlink=/home/politik/index.do \ No newline at end of file | 6 | test_url: http://diepresse.com/home/politik/aussenpolitik/701905/TibeterProteste_Nonne-verbrennt-sich-selbst?_vl_backlink=/home/politik/index.do \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/digiphoto.techbang.com.txt b/inc/3rdparty/site_config/standard/digiphoto.techbang.com.txt index 2d2ae2c2..80ce5ff3 100644..100755 --- a/inc/3rdparty/site_config/standard/digiphoto.techbang.com.txt +++ b/inc/3rdparty/site_config/standard/digiphoto.techbang.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | # default parser works great | 1 | # default parser works great |
2 | # only add "author" and "next page link" reference | 2 | # only add "author" and "next page link" reference |
3 | # 2012-04-13 | 3 | # 2012-04-13 |
4 | 4 | ||
5 | next_page_link: //div[@class = 'pagination']/a[@class = 'next_page'] | 5 | next_page_link: //div[@class = 'pagination']/a[@class = 'next_page'] |
6 | 6 | ||
7 | author: //*[@class = 'author metadata']/a | 7 | author: //*[@class = 'author metadata']/a |
8 | test_url: http://digiphoto.techbang.com/posts/2433--commercial-photography-communication-is-the-key-to-a-good-work \ No newline at end of file | 8 | test_url: http://digiphoto.techbang.com/posts/2433--commercial-photography-communication-is-the-key-to-a-good-work \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/digital-photography-school.com.txt b/inc/3rdparty/site_config/standard/digital-photography-school.com.txt index 37192ac0..18ce370e 100644..100755 --- a/inc/3rdparty/site_config/standard/digital-photography-school.com.txt +++ b/inc/3rdparty/site_config/standard/digital-photography-school.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class='post-title']/h1 | 1 | title: //div[@class='post-title']/h1 |
2 | author: //a[@href='#author'] | 2 | author: //a[@href='#author'] |
3 | body: //div[@class='post-content'] | 3 | body: //div[@class='post-content'] |
4 | strip: //div[@class='post-meta'] | 4 | strip: //div[@class='post-meta'] |
5 | 5 | ||
6 | test_url: http://www.digital-photography-school.com/10-ways-to-develop-yourself-photographically \ No newline at end of file | 6 | test_url: http://www.digital-photography-school.com/10-ways-to-develop-yourself-photographically \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/digitalspy.co.uk.txt b/inc/3rdparty/site_config/standard/digitalspy.co.uk.txt index b21431d7..f48bdfdb 100644..100755 --- a/inc/3rdparty/site_config/standard/digitalspy.co.uk.txt +++ b/inc/3rdparty/site_config/standard/digitalspy.co.uk.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@class="article_header"]/h1 | 1 | title: //div[@class="article_header"]/h1 |
2 | date: //div[@class="article_pub"]/span[@class="time"] | 2 | date: //div[@class="article_pub"]/span[@class="time"] |
3 | author: //div[@class="article_pub"]/span[@class="editors"]/a/text() | 3 | author: //div[@class="article_pub"]/span[@class="editors"]/a/text() |
4 | body: //div[@class="article_body clear_left"] | 4 | body: //div[@class="article_body clear_left"] |
5 | test_url: http://www.digitalspy.co.uk/movies/at-the-movies/a364066/top-5-super-bowl-movie-trailers-the-avengers-battleship-more.html \ No newline at end of file | 5 | test_url: http://www.digitalspy.co.uk/movies/at-the-movies/a364066/top-5-super-bowl-movie-trailers-the-avengers-battleship-more.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dilbert.com.txt b/inc/3rdparty/site_config/standard/dilbert.com.txt index 413e5506..85cc78e5 100644..100755 --- a/inc/3rdparty/site_config/standard/dilbert.com.txt +++ b/inc/3rdparty/site_config/standard/dilbert.com.txt | |||
@@ -1,8 +1,11 @@ | |||
1 | convert_double_br_tags: yes | 1 | #title: substring(substring-after(//title, ':'), 1, string-length(substring-after(//title, ':')) - 10) |
2 | 2 | title: //div[contains(@class, 'SB_Title')]//a | |
3 | title: substring(substring-after(//title, ':'), 1, string-length(substring-after(//title, ':')) - 10) | 3 | body: //div[contains(@class, 'STR_Image')] |
4 | body: //*[contains(@class, 'SB_Content')] | 4 | body: //*[contains(@class, 'SB_Content')] |
5 | author: string('Scott Adams') | 5 | author: string('Scott Adams') |
6 | date: //*[contains(@class, 'SB_Detail')]/text()[1] | 6 | date: //*[contains(@class, 'SB_Detail')]/text()[1] |
7 | 7 | ||
8 | test_url: http://dilbert.com/blog/entry/death_by_hypnosis_or_not/ \ No newline at end of file | 8 | |
9 | test_url: http://dilbert.com/blog/entry/death_by_hypnosis_or_not/ | ||
10 | test_url: http://dilbert.com/strips/comic/2013-10-22 | ||
11 | test_url: http://feed.dilbert.com/dilbert/daily_strip \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/dinamalar.com.txt b/inc/3rdparty/site_config/standard/dinamalar.com.txt index 9ef198c9..bc315cf1 100644..100755 --- a/inc/3rdparty/site_config/standard/dinamalar.com.txt +++ b/inc/3rdparty/site_config/standard/dinamalar.com.txt | |||
@@ -1,19 +1,19 @@ | |||
1 | title: //div[@class='newsdetbd'] | 1 | title: //div[@class='newsdetbd'] |
2 | body: //div[@id='innerleft'] | 2 | body: //div[@id='innerleft'] |
3 | #//p[@class = 'plnht'] | 3 | #//p[@class = 'plnht'] |
4 | strip_image_src: /albums/ | 4 | strip_image_src: /albums/ |
5 | strip: //div[@class='mrrt'] | 5 | strip: //div[@class='mrrt'] |
6 | prune: yes | 6 | prune: yes |
7 | strip_id_or_class: 'fdpd' | 7 | strip_id_or_class: 'fdpd' |
8 | strip_id_or_class: 'epapt' | 8 | strip_id_or_class: 'epapt' |
9 | strip_id_or_class: 'newsrtwd' | 9 | strip_id_or_class: 'newsrtwd' |
10 | strip_id_or_class: 'padtp' | 10 | strip_id_or_class: 'padtp' |
11 | strip_id_or_class: 'newdt' | 11 | strip_id_or_class: 'newdt' |
12 | strip_id_or_class: 'newdlt' | 12 | strip_id_or_class: 'newdlt' |
13 | strip: //div[@id='selNotes'] | 13 | strip: //div[@id='selNotes'] |
14 | strip_id_or_class: 'clsNotes' | 14 | strip_id_or_class: 'clsNotes' |
15 | strip_id_or_class: 'clear' | 15 | strip_id_or_class: 'clear' |
16 | strip_id_or_class: 'cmtwrap' | 16 | strip_id_or_class: 'cmtwrap' |
17 | strip_id_or_class: 'sess' | 17 | strip_id_or_class: 'sess' |
18 | strip_id_or_class: 'parents' | 18 | strip_id_or_class: 'parents' |
19 | test_url: http://www.dinamalar.com/News_Detail.asp?Id=295725 \ No newline at end of file | 19 | test_url: http://www.dinamalar.com/News_Detail.asp?Id=295725 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dn.pt.txt b/inc/3rdparty/site_config/standard/dn.pt.txt new file mode 100755 index 00000000..051b8cb9 --- /dev/null +++ b/inc/3rdparty/site_config/standard/dn.pt.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | single_page_link: concat('http://www.dn.pt/Common/print.aspx?content_id=', //input[@type='hidden' and @name='link-comments']/@value) | ||
2 | #<input type="hidden" name="link-comments" class="link-comments" value="3972244"> | ||
3 | |||
4 | title: //h1 | ||
5 | author: //div[@class="Author"] | ||
6 | |||
7 | strip: //div[@class="Patrocinio"] | ||
8 | |||
9 | test_url: http://www.dn.pt/inicio/opiniao/interior.aspx?content_id=3972244&seccao=Alberto%20Gon%E7alves&tag=Opini%E3o%20-%20Em%20Foco&page=1 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/dn.se.txt b/inc/3rdparty/site_config/standard/dn.se.txt index 86bb3b8d..5283a0cd 100644..100755 --- a/inc/3rdparty/site_config/standard/dn.se.txt +++ b/inc/3rdparty/site_config/standard/dn.se.txt | |||
@@ -1,26 +1,28 @@ | |||
1 | # Since this element has class="clear", the Instapaper stylesheets (at least this text parser preview), will render it unreadable, with a 1px font size and line height. | 1 | # Since this element has class="clear", the Instapaper stylesheets (at least this text parser preview), will render it unreadable, with a 1px font size and line height. |
2 | 2 | ||
3 | body: //div[@id="article-content"] | 3 | body: //div[@id="article-content"] |
4 | 4 | ||
5 | 5 | ||
6 | # Ads | 6 | # Ads |
7 | strip_id_or_class: advert-space | 7 | strip_id_or_class: advert-space |
8 | 8 | ||
9 | # Read more, recommend, comments etc | 9 | # Read more, recommend, comments etc |
10 | strip_id_or_class: fbc-recommend | 10 | strip_id_or_class: fbc-recommend |
11 | strip_id_or_class: recommend | 11 | strip_id_or_class: recommend |
12 | strip_id_or_class: article-readers | 12 | strip_id_or_class: article-readers |
13 | strip_id_or_class: article-addons | 13 | strip_id_or_class: article-addons |
14 | strip_id_or_class: hook | 14 | strip_id_or_class: hook |
15 | strip_id_or_class: right | 15 | strip_id_or_class: right |
16 | strip_id_or_class: footer | 16 | strip_id_or_class: footer |
17 | 17 | ||
18 | # Other news | 18 | # Other news |
19 | strip: //div[@id="mirrors"] | 19 | strip: //div[@id="mirrors"] |
20 | 20 | ||
21 | # Author | 21 | # Author |
22 | author: //div[@id="byline"]/div/p/strong | 22 | author: //div[@id="byline"]/div/p/strong |
23 | 23 | ||
24 | # Date | 24 | # Date |
25 | date: substring(substring-after(//p[@class="published"], 'Publicerad '), 0, 11) | 25 | date: substring(substring-after(//p[@class="published"], 'Publicerad '), 0, 11) |
26 | test_url: http://www.dn.se/nyheter/varlden/landade-flygplan-mitt-i-villaomrade \ No newline at end of file | 26 | |
27 | test_url: http://www.dn.se/nyheter/varlden/landade-flygplan-mitt-i-villaomrade | ||
28 | test_url: http://www.dn.se/m/rss/senaste-nytt \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/dobreprogramy.pl.txt b/inc/3rdparty/site_config/standard/dobreprogramy.pl.txt new file mode 100755 index 00000000..972293bc --- /dev/null +++ b/inc/3rdparty/site_config/standard/dobreprogramy.pl.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //*[@class="news"]//h1[@class="title"] | ||
2 | author: //*[@class="news"]//*[@class="newsInfo"]/a | ||
3 | date: substring-before(//*[@class="news"]//*[@class="newsInfo"]/text(), ',') | ||
4 | body: //*[@class="news"]//*[@class="newsContent"] | ||
5 | footnotes: no | ||
6 | test_url: http://www.dobreprogramy.pl/Sony-konczy-z-Foldinghome-na-PS3,Aktualnosc,36899.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/doctac.com.txt b/inc/3rdparty/site_config/standard/doctac.com.txt index 9f65ea9b..1c518a9b 100644..100755 --- a/inc/3rdparty/site_config/standard/doctac.com.txt +++ b/inc/3rdparty/site_config/standard/doctac.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | strip: //*[(@id = "featured")] | 1 | strip: //*[(@id = "featured")] |
2 | 2 | ||
3 | author:substring-after( //div[@class='posttitle']/h2[@class='author'],'by ') | 3 | author:substring-after( //div[@class='posttitle']/h2[@class='author'],'by ') |
4 | 4 | ||
5 | date: concat(//div[@class='month'],' ',//div[@class='day']) | 5 | date: concat(//div[@class='month'],' ',//div[@class='day']) |
6 | 6 | ||
7 | #doctac doesn't provide a year, but month/day is better than nothing | 7 | #doctac doesn't provide a year, but month/day is better than nothing |
8 | test_url: http://www.doctac.com/mac/iphone/instapaper-update-app/ \ No newline at end of file | 8 | test_url: http://www.doctac.com/mac/iphone/instapaper-update-app/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/domusweb.it.txt b/inc/3rdparty/site_config/standard/domusweb.it.txt index 81683f02..20566ee3 100644..100755 --- a/inc/3rdparty/site_config/standard/domusweb.it.txt +++ b/inc/3rdparty/site_config/standard/domusweb.it.txt | |||
@@ -1,21 +1,21 @@ | |||
1 | # TODO: clean up the extra junk at the end of articles | 1 | # TODO: clean up the extra junk at the end of articles |
2 | 2 | ||
3 | # general text formatting | 3 | # general text formatting |
4 | prune: no | 4 | prune: no |
5 | convert_double_br_tags:yes | 5 | convert_double_br_tags:yes |
6 | 6 | ||
7 | # where to find the basic metadata | 7 | # where to find the basic metadata |
8 | author://a[@class='articleauthor'] | 8 | author://a[@class='articleauthor'] |
9 | date://a[starts-with(@href,'/en/search/published/')] | 9 | date://a[starts-with(@href,'/en/search/published/')] |
10 | title:substring-before(//h2[@class='title'],'—') | 10 | title:substring-before(//h2[@class='title'],'—') |
11 | body://div[@id='maincontainer'] | 11 | body://div[@id='maincontainer'] |
12 | 12 | ||
13 | dissolve://div[starts-with(@id,'commentableblock')] | 13 | dissolve://div[starts-with(@id,'commentableblock')] |
14 | 14 | ||
15 | # clean up the crap | 15 | # clean up the crap |
16 | strip://div[contains(@class,'domusnetwork')] | 16 | strip://div[contains(@class,'domusnetwork')] |
17 | strip://div[contains(@class,'relative_wrapper')] | 17 | strip://div[contains(@class,'relative_wrapper')] |
18 | 18 | ||
19 | strip://div[contains(@class,'captionsubimage')]/img[contains(@class,'arrow')] | 19 | strip://div[contains(@class,'captionsubimage')]/img[contains(@class,'arrow')] |
20 | wrap_in(em): //div[contains(@class,'captionsubimage')]/span | 20 | wrap_in(em): //div[contains(@class,'captionsubimage')]/span |
21 | test_url: http://www.domusweb.it/en/design/in-praise-of-lost-time/ \ No newline at end of file | 21 | test_url: http://www.domusweb.it/en/design/in-praise-of-lost-time/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dou.ua.txt b/inc/3rdparty/site_config/standard/dou.ua.txt index 22907c22..0f983112 100644..100755 --- a/inc/3rdparty/site_config/standard/dou.ua.txt +++ b/inc/3rdparty/site_config/standard/dou.ua.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1[@itemprop="name"] | 1 | title: //h1[@itemprop="name"] |
2 | 2 | ||
3 | author: //div[contains(@class, 'author')]//div[contains(@class, 'name')]/a | 3 | author: //div[contains(@class, 'author')]//div[contains(@class, 'name')]/a |
4 | 4 | ||
5 | date: //div[contains(@class, 'b-info')]//span[contains(@class, 'date')] | 5 | date: //div[contains(@class, 'b-info')]//span[contains(@class, 'date')] |
6 | 6 | ||
7 | body: //div[contains(@class, 'b-typo')] | 7 | body: //div[contains(@class, 'b-typo')] |
8 | test_url: http://dou.ua/lenta/interviews/andrej-havryuchenko/?from=sb_mostcomm \ No newline at end of file | 8 | test_url: http://dou.ua/lenta/interviews/andrej-havryuchenko/?from=sb_mostcomm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/douban.com.txt b/inc/3rdparty/site_config/standard/douban.com.txt index 99d7e5dc..d72a2223 100644..100755 --- a/inc/3rdparty/site_config/standard/douban.com.txt +++ b/inc/3rdparty/site_config/standard/douban.com.txt | |||
@@ -1,21 +1,21 @@ | |||
1 | # This filter is tested on: | 1 | # This filter is tested on: |
2 | # http://www.douban.com/note/215003067/ | 2 | # http://www.douban.com/note/215003067/ |
3 | # http://www.douban.com/note/213540049/ | 3 | # http://www.douban.com/note/213540049/ |
4 | # http://www.douban.com/group/topic/31140104/ | 4 | # http://www.douban.com/group/topic/31140104/ |
5 | 5 | ||
6 | title: //div[@class='note-header']/h1 | 6 | title: //div[@class='note-header']/h1 |
7 | title: //div[@id='content']/h1 | 7 | title: //div[@id='content']/h1 |
8 | 8 | ||
9 | author: //div[@class='info']/ul/li/a | 9 | author: //div[@class='info']/ul/li/a |
10 | author: //h3/span/a | 10 | author: //h3/span/a |
11 | 11 | ||
12 | date://div[@class='note-header']/div/span | 12 | date://div[@class='note-header']/div/span |
13 | date://h3/span[contains(@class, 'color-green')] | 13 | date://h3/span[contains(@class, 'color-green')] |
14 | 14 | ||
15 | body://div[contains(@class, 'note')] | 15 | body://div[contains(@class, 'note')] |
16 | body://div[contains(@class, 'topic-content')] | 16 | body://div[contains(@class, 'topic-content')] |
17 | 17 | ||
18 | strip://h3 | 18 | strip://h3 |
19 | 19 | ||
20 | convert_double_br_tags: yes | 20 | convert_double_br_tags: yes |
21 | test_url: http://www.douban.com/group/topic/31140104/ \ No newline at end of file | 21 | test_url: http://www.douban.com/group/topic/31140104/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dpreview.com.txt b/inc/3rdparty/site_config/standard/dpreview.com.txt index 30179a3b..001c810f 100644..100755 --- a/inc/3rdparty/site_config/standard/dpreview.com.txt +++ b/inc/3rdparty/site_config/standard/dpreview.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | # next_page_link for product review | 1 | # next_page_link for product review |
2 | # example: http://www.dpreview.com/reviews/lytro/ | 2 | # example: http://www.dpreview.com/reviews/lytro/ |
3 | next_page_link: //img[@alt = 'Next page']/../@href | 3 | next_page_link: //img[@alt = 'Next page']/../@href |
4 | 4 | ||
5 | # next_page_link for other articles | 5 | # next_page_link for other articles |
6 | # example: http://www.dpreview.com/articles/6126592906/first-impressions-using-the-fujifilm-x-pro1 | 6 | # example: http://www.dpreview.com/articles/6126592906/first-impressions-using-the-fujifilm-x-pro1 |
7 | next_page_link: //*[@class = 'pages']/*/td[@class = 'next enabled']/a | 7 | next_page_link: //*[@class = 'pages']/*/td[@class = 'next enabled']/a |
8 | single_page_link: //a[contains(.,'Print view')] | 8 | single_page_link: //a[contains(.,'Print view')] |
9 | test_url: http://www.dpreview.com/articles/6126592906/first-impressions-using-the-fujifilm-x-pro1 \ No newline at end of file | 9 | test_url: http://www.dpreview.com/articles/6126592906/first-impressions-using-the-fujifilm-x-pro1 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dr.dk.txt b/inc/3rdparty/site_config/standard/dr.dk.txt index 7e46b0d6..d8ec1acf 100644..100755 --- a/inc/3rdparty/site_config/standard/dr.dk.txt +++ b/inc/3rdparty/site_config/standard/dr.dk.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | author: //div[@class='articleFunctions']//a | 2 | author: //div[@class='articleFunctions']//a |
3 | date: //meta[@name='pubdate']/@content | 3 | date: //meta[@name='pubdate']/@content |
4 | 4 | ||
5 | # Can you strip elements from the body only? It is required here (`//div[@class='articleContent']/p` breaks for some reason) | 5 | # Can you strip elements from the body only? It is required here (`//div[@class='articleContent']/p` breaks for some reason) |
6 | body: //div[@class='articleContent'] | 6 | body: //div[@class='articleContent'] |
7 | 7 | ||
8 | tidy: no | 8 | tidy: no |
9 | test_url: http://www.dr.dk/Nyheder/Udland/2011/10/24/150115.htm \ No newline at end of file | 9 | test_url: http://www.dr.dk/Nyheder/Udland/2011/10/24/150115.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dramasonline.com.txt b/inc/3rdparty/site_config/standard/dramasonline.com.txt index 659d0443..4898353b 100644..100755 --- a/inc/3rdparty/site_config/standard/dramasonline.com.txt +++ b/inc/3rdparty/site_config/standard/dramasonline.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@class='postext'] | 1 | body: //div[@class='postext'] |
2 | 2 | ||
3 | strip_id_or_class: ratingblock | 3 | strip_id_or_class: ratingblock |
4 | strip_id_or_class: hreview-aggregate | 4 | strip_id_or_class: hreview-aggregate |
5 | strip: //div[contains(@style, 'display: none;')] | 5 | strip: //div[contains(@style, 'display: none;')] |
6 | 6 | ||
7 | tidy: no | 7 | tidy: no |
8 | prune: no | 8 | prune: no |
9 | 9 | ||
10 | test_url: http://www.dramasonline.com/jago-pakistan-jago-7th-december-2012-ali-gul-pir/ \ No newline at end of file | 10 | test_url: http://www.dramasonline.com/jago-pakistan-jago-7th-december-2012-ali-gul-pir/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/drdobbs.com.txt b/inc/3rdparty/site_config/standard/drdobbs.com.txt index b1a9db6f..b1a9db6f 100644..100755 --- a/inc/3rdparty/site_config/standard/drdobbs.com.txt +++ b/inc/3rdparty/site_config/standard/drdobbs.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/drive2.ru.txt b/inc/3rdparty/site_config/standard/drive2.ru.txt index 6125ce79..d500cb81 100644..100755 --- a/inc/3rdparty/site_config/standard/drive2.ru.txt +++ b/inc/3rdparty/site_config/standard/drive2.ru.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | body: //div[@class = "description"] | 1 | body: //div[@class = "description"] |
2 | body: //div[@id = "post"] | 2 | body: //div[@id = "post"] |
3 | 3 | ||
4 | strip_id_or_class: vcard | 4 | strip_id_or_class: vcard |
5 | strip_id_or_class: journallist | 5 | strip_id_or_class: journallist |
6 | strip_id_or_class: infobox | 6 | strip_id_or_class: infobox |
7 | strip_id_or_class: terms | 7 | strip_id_or_class: terms |
8 | strip_id_or_class: replieslist | 8 | strip_id_or_class: replieslist |
9 | strip_id_or_class: communityside | 9 | strip_id_or_class: communityside |
10 | 10 | ||
11 | 11 | ||
12 | test_url: http://www.drive2.ru/cars/audi/a6/a6_c5/elysey/journal/288230376151836654/ \ No newline at end of file | 12 | test_url: http://www.drive2.ru/cars/audi/a6/a6_c5/elysey/journal/288230376151836654/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dropbox.com.txt b/inc/3rdparty/site_config/standard/dropbox.com.txt new file mode 100755 index 00000000..92ae31b2 --- /dev/null +++ b/inc/3rdparty/site_config/standard/dropbox.com.txt | |||
@@ -0,0 +1 @@ | |||
single_page_link: //a[@id='download_button_link'] \ No newline at end of file | |||
diff --git a/inc/3rdparty/site_config/standard/drupal.org.txt b/inc/3rdparty/site_config/standard/drupal.org.txt index ffb77e4d..2da3eb1c 100644..100755 --- a/inc/3rdparty/site_config/standard/drupal.org.txt +++ b/inc/3rdparty/site_config/standard/drupal.org.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title://h1 | 1 | title://h1 |
2 | author://div[@class="submitted"]/a | 2 | author://div[@class="submitted"]/a |
3 | date:substring-after(//div[@class="meta"],'modified: ') | 3 | date:substring-after(//div[@class="meta"],'modified: ') |
4 | date:substring-after(//div[@class="submitted"],'on ') | 4 | date:substring-after(//div[@class="submitted"],'on ') |
5 | body://div[@class="node-content"] | 5 | body://div[@class="node-content"] |
6 | strip://div[@class="meta"] | 6 | strip://div[@class="meta"] |
7 | strip_id_or_class:book-navigation | 7 | strip_id_or_class:book-navigation |
8 | test_url: http://drupal.org/node/1327354 \ No newline at end of file | 8 | test_url: http://drupal.org/node/1327354 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dukebasketballreport.com.txt b/inc/3rdparty/site_config/standard/dukebasketballreport.com.txt index 418c9f62..2978797e 100644..100755 --- a/inc/3rdparty/site_config/standard/dukebasketballreport.com.txt +++ b/inc/3rdparty/site_config/standard/dukebasketballreport.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h2/a | 1 | title: //h2/a |
2 | author: substring-before(substring-after(//span[@class='byline'], 'by'), ',') | 2 | author: substring-before(substring-after(//span[@class='byline'], 'by'), ',') |
3 | date: substring-before(substring-after(//span[@class='byline'], ','), '|') | 3 | date: substring-before(substring-after(//span[@class='byline'], ','), '|') |
4 | body: //div[@class='entry'] | 4 | body: //div[@class='entry'] |
5 | 5 | ||
6 | 6 | ||
7 | # strip out auction stuff at the end of posts | 7 | # strip out auction stuff at the end of posts |
8 | # tidy kills the center tag, so disable it | 8 | # tidy kills the center tag, so disable it |
9 | tidy: no | 9 | tidy: no |
10 | strip: //center//table | 10 | strip: //center//table |
11 | test_url: http://www.dukebasketballreport.com/articles/?p=42660 \ No newline at end of file | 11 | test_url: http://www.dukebasketballreport.com/articles/?p=42660 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/dushumashang.com.txt b/inc/3rdparty/site_config/standard/dushumashang.com.txt new file mode 100755 index 00000000..6a50a77e --- /dev/null +++ b/inc/3rdparty/site_config/standard/dushumashang.com.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://www.dushumashang.com/2389 | ||
3 | # http://www.dushumashang.com/2415 | ||
4 | # http://www.dushumashang.com/2355 | ||
5 | |||
6 | body://div[@class='main_content'] | ||
7 | #body://section[@class='entry_content fl'] | ||
8 | title://h2 | ||
9 | author://span[@class='article_author']/a | ||
10 | date://span[@class='pub_date']/time | ||
11 | |||
12 | strip://span[@class='article_author'] | ||
13 | strip://span[@class='pub_date'] | ||
14 | strip://div[@class='page_turn'] | ||
15 | strip://span[@class='source_link']/em | ||
16 | wrap_in(strong)://span[@class='source_link']/a | ||
17 | test_url: http://www.dushumashang.com/2355 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/dvice.com.txt b/inc/3rdparty/site_config/standard/dvice.com.txt index c8163680..1a1990ee 100644..100755 --- a/inc/3rdparty/site_config/standard/dvice.com.txt +++ b/inc/3rdparty/site_config/standard/dvice.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | strip://*[@id = 'blog_top_stories'] | 1 | strip://*[@id = 'blog_top_stories'] |
2 | strip://*[@id = 'takeover_off'] | 2 | strip://*[@id = 'takeover_off'] |
3 | strip://*[@id = 'right_gray_box'] | 3 | strip://*[@id = 'right_gray_box'] |
4 | strip://*[@class = 'blog_topics'] | 4 | strip://*[@class = 'blog_topics'] |
5 | strip://*[@class = 'section_titles'] | 5 | strip://*[@class = 'section_titles'] |
6 | 6 | ||
7 | author://div[@class = 'post_author_info']/a | 7 | author://div[@class = 'post_author_info']/a |
8 | date://div[@class = 'post_date_info'] | 8 | date://div[@class = 'post_date_info'] |
9 | test_url: http://dvice.com/archives/2012/05/is-nfc-and-smar.php \ No newline at end of file | 9 | test_url: http://dvice.com/archives/2012/05/is-nfc-and-smar.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/eamesinerudition.com.txt b/inc/3rdparty/site_config/standard/eamesinerudition.com.txt index 908a1b51..89a68bcd 100644..100755 --- a/inc/3rdparty/site_config/standard/eamesinerudition.com.txt +++ b/inc/3rdparty/site_config/standard/eamesinerudition.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //div [@class="post contain"]/h1 | 1 | title: //div [@class="post contain"]/h1 |
2 | strip: //div [@class="post contain"]/h1 | 2 | strip: //div [@class="post contain"]/h1 |
3 | body: //div [@class="post contain"] | 3 | body: //div [@class="post contain"] |
4 | author: substring-before(//title, ':') | 4 | author: substring-before(//title, ':') |
5 | author: substring-before(//title, ' ') | 5 | author: substring-before(//title, ' ') |
6 | 6 | ||
7 | 7 | ||
8 | test_url: http://eamesinerudition.com/2012/03/hospital-numbers-are-bad-for-you \ No newline at end of file | 8 | test_url: http://eamesinerudition.com/2012/03/hospital-numbers-are-bad-for-you \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/eandt.theiet.org.txt b/inc/3rdparty/site_config/standard/eandt.theiet.org.txt index c4c38f25..ba9d312d 100644..100755 --- a/inc/3rdparty/site_config/standard/eandt.theiet.org.txt +++ b/inc/3rdparty/site_config/standard/eandt.theiet.org.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | date: //div[@class="et_dateUnderTitle"] | 2 | date: //div[@class="et_dateUnderTitle"] |
3 | author: substring-after(//div[@class="et_authorUnderTitle"], 'By ') | 3 | author: substring-after(//div[@class="et_authorUnderTitle"], 'By ') |
4 | body: //div[@id="et_leftCol640split"] | 4 | body: //div[@id="et_leftCol640split"] |
5 | 5 | ||
6 | strip: //div[@id="et_leftCol640splitRight"] | 6 | strip: //div[@id="et_leftCol640splitRight"] |
7 | strip: //div[@class="et_light_greybgboxlower"] | 7 | strip: //div[@class="et_light_greybgboxlower"] |
8 | test_url: http://eandt.theiet.org/magazine/2011/12/this-festive-waste.cfm \ No newline at end of file | 8 | test_url: http://eandt.theiet.org/magazine/2011/12/this-festive-waste.cfm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/eastoftheweb.com.txt b/inc/3rdparty/site_config/standard/eastoftheweb.com.txt index d762091c..36708da3 100644..100755 --- a/inc/3rdparty/site_config/standard/eastoftheweb.com.txt +++ b/inc/3rdparty/site_config/standard/eastoftheweb.com.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | title: //div[@class='title_text'] | 1 | title: //div[@class='title_text'] |
2 | 2 | ||
3 | author: //div[@class='author_text'] | 3 | author: //div[@class='author_text'] |
4 | 4 | ||
5 | body: //div[@class='story_text']/.. | 5 | body: //div[@class='story_text']/.. |
6 | 6 | ||
7 | strip: //b | 7 | strip: //b |
8 | 8 | ||
9 | strip_id_or_class: back_to_top | 9 | strip_id_or_class: back_to_top |
10 | strip_id_or_class: author_text | 10 | strip_id_or_class: author_text |
11 | strip_id_or_class: title_text | 11 | strip_id_or_class: title_text |
12 | 12 | ||
13 | wrap_in(center): //a | 13 | wrap_in(center): //a |
14 | 14 | ||
15 | dissolve: //a | 15 | dissolve: //a |
16 | 16 | ||
17 | footnotes: no | 17 | footnotes: no |
18 | test_url: http://www.eastoftheweb.com/short-stories/UBooks/Horl.shtml \ No newline at end of file | 18 | test_url: http://www.eastoftheweb.com/short-stories/UBooks/Horl.shtml \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ebay.com.txt b/inc/3rdparty/site_config/standard/ebay.com.txt index 5fa18ff3..f17e1f72 100644..100755 --- a/inc/3rdparty/site_config/standard/ebay.com.txt +++ b/inc/3rdparty/site_config/standard/ebay.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //h1[@class='it-ttl'] | //div[@id='mainImgHldr'] | //span[@id='prcIsum'] | 1 | body: //h1[@class='it-ttl'] | //div[@id='mainImgHldr'] | //span[@id='prcIsum'] |
2 | 2 | ||
3 | strip_image_src: imgLoading_30x30.gif | 3 | strip_image_src: imgLoading_30x30.gif |
4 | 4 | ||
5 | test_url: http://www.ebay.com/itm/BRAND-NEW-FM-Transmitter-Ca-r-Charger-iPhone-4S-4-4G-3GS-3G-2G-iPod-Touch-/190657497204 \ No newline at end of file | 5 | test_url: http://www.ebay.com/itm/BRAND-NEW-FM-Transmitter-Ca-r-Charger-iPhone-4S-4-4G-3GS-3G-2G-iPod-Touch-/190657497204 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ecetia.com.txt b/inc/3rdparty/site_config/standard/ecetia.com.txt index d67e9103..d67e9103 100644..100755 --- a/inc/3rdparty/site_config/standard/ecetia.com.txt +++ b/inc/3rdparty/site_config/standard/ecetia.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/econlog.econlib.org.txt b/inc/3rdparty/site_config/standard/econlog.econlib.org.txt index ebafc197..729affd4 100644..100755 --- a/inc/3rdparty/site_config/standard/econlog.econlib.org.txt +++ b/inc/3rdparty/site_config/standard/econlog.econlib.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1[@class="title"] | 1 | title: //h1[@class="title"] |
2 | author: //div[@class="hosted"]/a | 2 | author: //div[@class="hosted"]/a |
3 | date: substring-after(//div[@class="dateline"]/text(), '|') | 3 | date: substring-after(//div[@class="dateline"]/text(), '|') |
4 | 4 | ||
5 | strip: //a[@class="top" and @href="#"] | 5 | strip: //a[@class="top" and @href="#"] |
6 | test_url: http://econlog.econlib.org/archives/2012/04/blinder_on_heal.html \ No newline at end of file | 6 | test_url: http://econlog.econlib.org/archives/2012/04/blinder_on_heal.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/economia.estadao.com.br.txt b/inc/3rdparty/site_config/standard/economia.estadao.com.br.txt index b59f554e..936a191d 100644..100755 --- a/inc/3rdparty/site_config/standard/economia.estadao.com.br.txt +++ b/inc/3rdparty/site_config/standard/economia.estadao.com.br.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | date: //div[@class="bb-md-noticia-fecha"] | 1 | date: //div[@class="bb-md-noticia-fecha"] |
2 | body: //div[@class="corpo"] | 2 | body: //div[@class="corpo"] |
3 | dissolve: //div[@class="bb-md-noticia-extras"] | 3 | dissolve: //div[@class="bb-md-noticia-extras"] |
4 | strip: //strong | 4 | strip: //strong |
5 | strip_id_or_class: bb-md-noticia-foto-autor | 5 | strip_id_or_class: bb-md-noticia-foto-autor |
6 | strip_id_or_class: bb-md-noticia-foto-bajada | 6 | strip_id_or_class: bb-md-noticia-foto-bajada |
7 | test_url: http://economia.estadao.com.br/noticias/economia,cmn-aprova-r-67-bi-em-credito-para-20-setores-da-economia,118501,0.htm \ No newline at end of file | 7 | test_url: http://economia.estadao.com.br/noticias/economia,cmn-aprova-r-67-bi-em-credito-para-20-setores-da-economia,118501,0.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/economist.com.txt b/inc/3rdparty/site_config/standard/economist.com.txt index 71dd62f5..16c9ed64 100644..100755 --- a/inc/3rdparty/site_config/standard/economist.com.txt +++ b/inc/3rdparty/site_config/standard/economist.com.txt | |||
@@ -1,10 +1,8 @@ | |||
1 | title: //div[@class='ec-blog-headline'] | 1 | body: //div[@class='main-content'] |
2 | body: //div[@class='ec-blog-body'] | 2 | date: //time[@class='date-created'] |
3 | body: //div[@class='ec-article-content clear'] | 3 | strip: //aside |
4 | strip: //div[@class='related-items'] | 4 | prune: no |
5 | date: substring-before(//p[@class='ec-article-info'], '|') | 5 | |
6 | prune: no | 6 | autodetect_next_page: no |
7 | 7 | ||
8 | autodetect_next_page: no | ||
9 | |||
10 | test_url: http://www.economist.com/node/21528429 \ No newline at end of file | 8 | test_url: http://www.economist.com/node/21528429 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/edge-online.com.txt b/inc/3rdparty/site_config/standard/edge-online.com.txt index 461d909c..cf585815 100644..100755 --- a/inc/3rdparty/site_config/standard/edge-online.com.txt +++ b/inc/3rdparty/site_config/standard/edge-online.com.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | body: //h2[@class='strapline'] | //article[contains(@class, 'node-article')] | 2 | body: //h2[@class='strapline'] | //article[contains(@class, 'node-article')] |
3 | date: //time[@pubdate]/@datetime | 3 | date: //time[@pubdate]/@datetime |
4 | author: //span[@class='author-name'] | 4 | author: //span[@class='author-name'] |
5 | prune: no | 5 | prune: no |
6 | tidy: no | 6 | tidy: no |
7 | strip: //footer | 7 | strip: //footer |
8 | 8 | ||
9 | replace_string(<p>[ pagebreak ]</p>): <!-- pagebreak --> | 9 | replace_string(<p>[ pagebreak ]</p>): <!-- pagebreak --> |
10 | 10 | ||
11 | single_page_link: //a[contains(@href, '?page=show')] | 11 | single_page_link: //a[contains(@href, '?page=show')] |
12 | 12 | ||
13 | test_url: http://www.edge-online.com/features/telling-modern-warfares-story \ No newline at end of file | 13 | test_url: http://www.edge-online.com/features/telling-modern-warfares-story \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/edge.org.txt b/inc/3rdparty/site_config/standard/edge.org.txt index 9980000d..95805f6e 100644..100755 --- a/inc/3rdparty/site_config/standard/edge.org.txt +++ b/inc/3rdparty/site_config/standard/edge.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@class='HomeLeftPannel IMGCTRL']/h2 | 1 | title: //div[@class='HomeLeftPannel IMGCTRL']/h2 |
2 | body: //div[@class='HomeLeftPannel IMGCTRL']//div[@class='Brownalink' or @id='shortdesc'] | 2 | body: //div[@class='HomeLeftPannel IMGCTRL']//div[@class='Brownalink' or @id='shortdesc'] |
3 | tidy: no | 3 | tidy: no |
4 | 4 | ||
5 | test_url: http://edge.org/print/conversation.php?cid=the-argumentative-theory \ No newline at end of file | 5 | test_url: http://edge.org/print/conversation.php?cid=the-argumentative-theory \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/edition.channel5belize.com.txt b/inc/3rdparty/site_config/standard/edition.channel5belize.com.txt new file mode 100755 index 00000000..6d5f170a --- /dev/null +++ b/inc/3rdparty/site_config/standard/edition.channel5belize.com.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | title: //div[@id='singlePage']//h2 | ||
2 | body: //div[@id='singlePage']//div[contains(@class, 'post')] | ||
3 | strip: //a[@title='Email This Story'] | ||
4 | strip_id_or_class: sociable | ||
5 | |||
6 | prune: no | ||
7 | |||
8 | test_url: http://edition.channel5belize.com/archives/86016 | ||
9 | test_url: http://edition.channel5belize.com/feed \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/edition.cnn.com.txt b/inc/3rdparty/site_config/standard/edition.cnn.com.txt index dc8ebe14..6fc82d24 100644..100755 --- a/inc/3rdparty/site_config/standard/edition.cnn.com.txt +++ b/inc/3rdparty/site_config/standard/edition.cnn.com.txt | |||
@@ -1,9 +1,18 @@ | |||
1 | body: //div[@id='cnnContentContainer']//div[contains(@class, 'cnn_strycntntlft')] | 1 | body: //div[@id='cnnContentContainer']//div[contains(@class, 'cnn_strycntntlft')] |
2 | strip: //div[@id='cnnCVP2'] | 2 | strip: //a[starts-with(@name, 'em')] |
3 | strip_id_or_class: cnn_strylftcexpbx | 3 | strip: //div[@id='cnnCVP2'] |
4 | strip_id_or_class: cnn_strylctcqrelt | 4 | strip_id_or_class: cnn_strylftcexpbx |
5 | strip_id_or_class: cnn_strybtntoolsbttm | 5 | strip_id_or_class: cnn_strylctcqrelt |
6 | strip_id_or_class: cnn_stryftsbttm | 6 | strip_id_or_class: cnn_strybtntoolsbttm |
7 | strip_id_or_class: cnn_strybtmcntnt | 7 | strip_id_or_class: cnn_stryftsbttm |
8 | strip_id_or_class: cnn_strybtmcntnt | ||
9 | strip_id_or_class: cnn_stryshrwdgtbtm | ||
10 | strip_id_or_class: cnnGalleryContainer | ||
11 | strip_id_or_class: cnn_strycrcntr | ||
12 | strip_id_or_class: cnn_html_slideshow | ||
8 | prune: no | 13 | prune: no |
9 | test_url: http://edition.cnn.com/2011/US/04/29/severe.weather/index.html \ No newline at end of file | 14 | |
15 | test_url: http://edition.cnn.com/2011/US/04/29/severe.weather/index.html | ||
16 | test_url: http://edition.cnn.com/2013/08/15/world/africa/nigeria-boko-haram-commander-killed/index.html?eref=edition | ||
17 | test_url: http://rss.cnn.com/rss/edition.rss | ||
18 | test_url: http://rss.cnn.com/rss/edition_technology.rss \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/eetimes.com.txt b/inc/3rdparty/site_config/standard/eetimes.com.txt new file mode 100755 index 00000000..300db307 --- /dev/null +++ b/inc/3rdparty/site_config/standard/eetimes.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | body: //div[contains(@class, 'grayshowlinks')] | ||
2 | |||
3 | next_page_link: //div[@id='sitecontentcol']//a[.='Next >'] | ||
4 | # Doesn't work (site doesn't always load full content in print view) | ||
5 | #single_page_link: //div[@id='sitecontentcol']//a[contains(@href, 'print=yes')] | ||
6 | |||
7 | test_url: http://www.eetimes.com/document.asp?doc_id=1319966& | ||
8 | test_url: http://www.eetimes.com/rss_simple.asp \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/ekultura.hu.txt b/inc/3rdparty/site_config/standard/ekultura.hu.txt index 59f6a711..3756027c 100644..100755 --- a/inc/3rdparty/site_config/standard/ekultura.hu.txt +++ b/inc/3rdparty/site_config/standard/ekultura.hu.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h1[@class='style6 nevek'] | 1 | title: //h1[@class='style6 nevek'] |
2 | 2 | ||
3 | body: //div[@class='bal3'] | 3 | body: //div[@class='bal3'] |
4 | 4 | ||
5 | 5 | ||
6 | prune: yes | 6 | prune: yes |
7 | 7 | ||
8 | tidy: yes | 8 | tidy: yes |
9 | convert_double_br_tags: yes | 9 | convert_double_br_tags: yes |
10 | 10 | ||
11 | test_url: http://ekultura.hu/olvasnivalo/egyeb/cikk/2010-12-15/interju-galvolgyi-judit-2010-december \ No newline at end of file | 11 | test_url: http://ekultura.hu/olvasnivalo/egyeb/cikk/2010-12-15/interju-galvolgyi-judit-2010-december \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/elance.com.txt b/inc/3rdparty/site_config/standard/elance.com.txt index 52ffe2d0..d4b0a9b8 100644..100755 --- a/inc/3rdparty/site_config/standard/elance.com.txt +++ b/inc/3rdparty/site_config/standard/elance.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id='jobDesc-bd']/p | 1 | body: //div[@id='jobDesc-bd']/p |
2 | 2 | ||
3 | test_url: http://www.elance.com/j/xml-technical-intergration/23687172/ \ No newline at end of file | 3 | test_url: http://www.elance.com/j/xml-technical-intergration/23687172/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/elderscrollsonline.com.txt b/inc/3rdparty/site_config/standard/elderscrollsonline.com.txt new file mode 100755 index 00000000..fa3892c6 --- /dev/null +++ b/inc/3rdparty/site_config/standard/elderscrollsonline.com.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | date: //time | ||
2 | title: //h1[contains(@class, "alpha")] | ||
3 | body: //article[contains(@class, "news-post")] | ||
4 | |||
5 | # fix dates - dates as they are won't work as strtotime doesn't understand format (03.28.2013) | ||
6 | replace_string(<time class="gamma">01.): <time class="gamma">January. | ||
7 | replace_string(<time class="gamma">02.): <time class="gamma">February. | ||
8 | replace_string(<time class="gamma">03.): <time class="gamma">March. | ||
9 | replace_string(<time class="gamma">04.): <time class="gamma">April. | ||
10 | replace_string(<time class="gamma">05.): <time class="gamma">May. | ||
11 | replace_string(<time class="gamma">06.): <time class="gamma">June. | ||
12 | replace_string(<time class="gamma">07.): <time class="gamma">July. | ||
13 | replace_string(<time class="gamma">08.): <time class="gamma">August. | ||
14 | replace_string(<time class="gamma">09.): <time class="gamma">September. | ||
15 | replace_string(<time class="gamma">10.): <time class="gamma">October. | ||
16 | replace_string(<time class="gamma">11.): <time class="gamma">November. | ||
17 | replace_string(<time class="gamma">12.): <time class="gamma">December. | ||
18 | |||
19 | prune: no | ||
20 | |||
21 | test_url: http://elderscrollsonline.com/en/rss | ||
22 | test_url: http://elderscrollsonline.com/en/news/post/2013/03/27/developer-question-of-the-week-17 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/elektroniknet.de.txt b/inc/3rdparty/site_config/standard/elektroniknet.de.txt index 07664719..56fba5ff 100644..100755 --- a/inc/3rdparty/site_config/standard/elektroniknet.de.txt +++ b/inc/3rdparty/site_config/standard/elektroniknet.de.txt | |||
@@ -1,27 +1,27 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | date: //div[@class='datum'] | 2 | date: //div[@class='datum'] |
3 | single_page_link: //a[contains(@href, '?type=99')] | 3 | single_page_link: //a[contains(@href, '?type=99')] |
4 | 4 | ||
5 | # this hack preserves the intro text, because it would be striped otherwise if the title is set to //h1 | 5 | # this hack preserves the intro text, because it would be striped otherwise if the title is set to //h1 |
6 | dissolve: //div[@class='artikelMeldung'] | 6 | dissolve: //div[@class='artikelMeldung'] |
7 | 7 | ||
8 | 8 | ||
9 | strip_id_or_class: anzeige | 9 | strip_id_or_class: anzeige |
10 | strip_id_or_class: top_page_navigation | 10 | strip_id_or_class: top_page_navigation |
11 | strip_id_or_class: cr_image_container | 11 | strip_id_or_class: cr_image_container |
12 | strip_id_or_class: cr_image_reference | 12 | strip_id_or_class: cr_image_reference |
13 | strip_id_or_class: cr_image_icon | 13 | strip_id_or_class: cr_image_icon |
14 | strip_id_or_class: _close_txt | 14 | strip_id_or_class: _close_txt |
15 | strip_id_or_class: _close_ico | 15 | strip_id_or_class: _close_ico |
16 | strip_id_or_class: clearer | 16 | strip_id_or_class: clearer |
17 | 17 | ||
18 | strip://h1 | 18 | strip://h1 |
19 | strip://h6 | 19 | strip://h6 |
20 | strip://div[contains(@id, 'plista')] | 20 | strip://div[contains(@id, 'plista')] |
21 | strip://img[contains(@id,'tiny')] | 21 | strip://img[contains(@id,'tiny')] |
22 | strip://img[@class='cr_image'] | 22 | strip://img[@class='cr_image'] |
23 | 23 | ||
24 | # strip url at the top | 24 | # strip url at the top |
25 | strip: //p[@style='font-size: 10px;'] | 25 | strip: //p[@style='font-size: 10px;'] |
26 | 26 | ||
27 | test_url: http://www.elektroniknet.de/automotive/technik-know-how/sicherheitselektronik/article/87717/0/Besser_als_die_Wirklichkeit/ \ No newline at end of file | 27 | test_url: http://www.elektroniknet.de/automotive/technik-know-how/sicherheitselektronik/article/87717/0/Besser_als_die_Wirklichkeit/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/elmalpensante.com.txt b/inc/3rdparty/site_config/standard/elmalpensante.com.txt index 9fecd663..435c6c20 100644..100755 --- a/inc/3rdparty/site_config/standard/elmalpensante.com.txt +++ b/inc/3rdparty/site_config/standard/elmalpensante.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | single_page_link: //a[contains(@href, 'print_contenido')] | 1 | single_page_link: //a[contains(@href, 'print_contenido')] |
2 | title: //h2 | 2 | title: //h2 |
3 | author: //div[@class="autor"] | 3 | author: //div[@class="autor"] |
4 | test_url: http://www.elmalpensante.com/index.php?doc=display_contenido&id=668 \ No newline at end of file | 4 | test_url: http://www.elmalpensante.com/index.php?doc=display_contenido&id=668 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/elpais.com.txt b/inc/3rdparty/site_config/standard/elpais.com.txt index 32f9fc3f..c6f9787b 100644..100755 --- a/inc/3rdparty/site_config/standard/elpais.com.txt +++ b/inc/3rdparty/site_config/standard/elpais.com.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | title: //meta[@name='DC.title']/@content | 1 | title: //meta[@name='DC.title']/@content |
2 | title: //div[contains(@class, 'cabecera_noticia')]//h1 | 2 | title: //div[contains(@class, 'cabecera_noticia')]//h1 |
3 | date: //meta[@name='DC.date']/@content | 3 | date: //meta[@name='DC.date']/@content |
4 | date: //meta[@name='date']/@content | 4 | date: //meta[@name='date']/@content |
5 | body: //div[@class='columna_texto'] | 5 | body: //div[@class='columna_texto'] |
6 | body: //div[@id='cuerpo_noticia'] | 6 | body: //div[@id='cuerpo_noticia'] |
7 | body: //div[@class='estructura_2col_1zq']//div[@class='margen_n'] | 7 | body: //div[@class='estructura_2col_1zq']//div[@class='margen_n'] |
8 | |||
9 | prune: no | ||
10 | |||
11 | strip_id_or_class: disposicion_vertical | ||
12 | strip_id_or_class: ampliar_foto | ||
13 | strip_id_or_class: utilidades | ||
14 | strip_id_or_class: info_relacionada | ||
15 | strip_id_or_class: m-kiosko | ||
16 | strip_id_or_class: info_complementa | ||
17 | |||
18 | strip: //div[starts-with(@id, 'sumario') and contains(., 'más información')] | ||
19 | strip: //div[@id='coment' or @id='foros_not'] | ||
20 | 8 | ||
21 | test_url: http://elpais.com/elpais/2012/02/06/gente/1328526783_491687.html | 9 | prune: no |
10 | |||
11 | strip_id_or_class: disposicion_vertical | ||
12 | strip_id_or_class: ampliar_foto | ||
13 | strip_id_or_class: utilidades | ||
14 | strip_id_or_class: info_relacionada | ||
15 | strip_id_or_class: m-kiosko | ||
16 | strip_id_or_class: info_complementa | ||
17 | |||
18 | strip: //div[starts-with(@id, 'sumario') and contains(., 'más información')] | ||
19 | strip: //div[@id='coment' or @id='foros_not'] | ||
20 | |||
21 | test_url: http://elpais.com/elpais/2012/02/06/gente/1328526783_491687.html | ||
22 | test_url: http://www.elpais.com/articulo/cultura/mano/retrato/materia/elpepicul/20120207elpepicul_2/Tes \ No newline at end of file | 22 | test_url: http://www.elpais.com/articulo/cultura/mano/retrato/materia/elpepicul/20120207elpepicul_2/Tes \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/emaratalyoum.com.txt b/inc/3rdparty/site_config/standard/emaratalyoum.com.txt new file mode 100755 index 00000000..3d1313e2 --- /dev/null +++ b/inc/3rdparty/site_config/standard/emaratalyoum.com.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | body: //div[@id='main-column']//div[@class='content'] | ||
2 | |||
3 | prune: no | ||
4 | |||
5 | test_url: http://www.emaratalyoum.com/sports/arab-and-international/2013-08-29-1.601844 | ||
6 | test_url: http://www.emaratalyoum.com/sports/arab-and-international/2013-08-29-1.601842 | ||
7 | test_url: http://www.emaratalyoum.com/public-sports-1.533088?ot=ot.AjaxPageLayout \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/en.espnf1.com.txt b/inc/3rdparty/site_config/standard/en.espnf1.com.txt index c1a91063..2ca0216b 100644..100755 --- a/inc/3rdparty/site_config/standard/en.espnf1.com.txt +++ b/inc/3rdparty/site_config/standard/en.espnf1.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='content'] |
2 | strip: //div[@class='rl'] | 2 | strip: //div[@class='rl'] |
3 | strip: //p[@class='authdesc'] | 3 | strip: //p[@class='authdesc'] |
4 | strip: //p[@class='strybtm'] | 4 | strip: //p[@class='strybtm'] |
5 | strip: //div[@id='stryFtrLft'] | 5 | strip: //div[@id='stryFtrLft'] |
6 | strip: //div[@id='f1Conversation'] | 6 | strip: //div[@id='f1Conversation'] |
7 | strip: //div[@id='cmtSpncrRuler'] | 7 | strip: //div[@id='cmtSpncrRuler'] |
8 | strip: //div[@id='stryComments'] | 8 | strip: //div[@id='stryComments'] |
9 | strip: //div[@id='athrData'] | 9 | strip: //div[@id='athrData'] |
10 | test_url: http://en.espnf1.com/monaco/motorsport/story/50529.html \ No newline at end of file | 10 | test_url: http://en.espnf1.com/monaco/motorsport/story/50529.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/engadget.com.txt b/inc/3rdparty/site_config/standard/engadget.com.txt index 6cc6b14e..52acddb0 100644..100755 --- a/inc/3rdparty/site_config/standard/engadget.com.txt +++ b/inc/3rdparty/site_config/standard/engadget.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | body: //div[@class='post_body'] | 2 | body: //div[@class='post_body'] |
3 | date: //*[@class='post_time'] | 3 | date: //*[@class='post_time'] |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | test_url: http://www.engadget.com/2011/05/20/screen-grabs-the-mentalist-takes-the-ipad-to-new-heights/ \ No newline at end of file | 7 | test_url: http://www.engadget.com/2011/05/20/screen-grabs-the-mentalist-takes-the-ipad-to-new-heights/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/engineering.tumblr.com.txt b/inc/3rdparty/site_config/standard/engineering.tumblr.com.txt index 35ace467..48f301fe 100644..100755 --- a/inc/3rdparty/site_config/standard/engineering.tumblr.com.txt +++ b/inc/3rdparty/site_config/standard/engineering.tumblr.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | body: //div[@class="post_content"] | 2 | body: //div[@class="post_content"] |
3 | author: //p[@class="author"]/a | 3 | author: //p[@class="author"]/a |
4 | date: //p[@class="date"] | 4 | date: //p[@class="date"] |
5 | strip: //h2 | 5 | strip: //h2 |
6 | strip: //header | 6 | strip: //header |
7 | test_url: http://engineering.tumblr.com/post/21276808338/tumblr-firehose \ No newline at end of file | 7 | test_url: http://engineering.tumblr.com/post/21276808338/tumblr-firehose \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/english.aljazeera.net.txt b/inc/3rdparty/site_config/standard/english.aljazeera.net.txt index aed3a5f9..97365994 100644..100755 --- a/inc/3rdparty/site_config/standard/english.aljazeera.net.txt +++ b/inc/3rdparty/site_config/standard/english.aljazeera.net.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //span[@id='DetailedTitle'] | 1 | title: //span[@id='DetailedTitle'] |
2 | body: //div[@id='ctl00_cphBody_dvArticleInfoBlock'] | //td[@class='DetailedSummary'] | 2 | body: //div[@id='ctl00_cphBody_dvArticleInfoBlock'] | //td[@class='DetailedSummary'] |
3 | strip_id_or_class: sidebar | 3 | strip_id_or_class: sidebar |
4 | strip_id_or_class: Skyscrapper_Body | 4 | strip_id_or_class: Skyscrapper_Body |
5 | strip: //td[@class='DetailedSummary']/table[position() != 1] | 5 | strip: //td[@class='DetailedSummary']/table[position() != 1] |
6 | prune: no | 6 | prune: no |
7 | test_url: http://english.aljazeera.net//news/middleeast/2011/04/20114681444376835.html \ No newline at end of file | 7 | test_url: http://english.aljazeera.net//news/middleeast/2011/04/20114681444376835.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/enikos.gr.txt b/inc/3rdparty/site_config/standard/enikos.gr.txt index e2b99bfc..ddd51c4b 100644..100755 --- a/inc/3rdparty/site_config/standard/enikos.gr.txt +++ b/inc/3rdparty/site_config/standard/enikos.gr.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //div[@id='article']//div[contains(@class, 'inside')] | 1 | body: //div[@id='article']//div[contains(@class, 'inside')] |
2 | 2 | ||
3 | strip_id_or_class: tags | 3 | strip_id_or_class: tags |
4 | strip_id_or_class: actions | 4 | strip_id_or_class: actions |
5 | strip_id_or_class: google-ads | 5 | strip_id_or_class: google-ads |
6 | 6 | ||
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | test_url: http://www.enikos.gr/politics/98606,To_oxi_toy_Agorastoy_stoys_Germanoys.html \ No newline at end of file | 9 | test_url: http://www.enikos.gr/politics/98606,To_oxi_toy_Agorastoy_stoys_Germanoys.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/entertainment.timesonline.co.uk.txt b/inc/3rdparty/site_config/standard/entertainment.timesonline.co.uk.txt index 3e7fba09..a756c457 100644..100755 --- a/inc/3rdparty/site_config/standard/entertainment.timesonline.co.uk.txt +++ b/inc/3rdparty/site_config/standard/entertainment.timesonline.co.uk.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | author://div[@class = 'article-author']/span[@class = 'byline'] | 1 | author://div[@class = 'article-author']/span[@class = 'byline'] |
2 | title://h1[@class = 'heading'] | 2 | title://h1[@class = 'heading'] |
3 | body://div[@id = 'related-article-links'] | 3 | body://div[@id = 'related-article-links'] |
4 | strip://div[@id = 'comment-sort-order'] | 4 | strip://div[@id = 'comment-sort-order'] |
5 | strip://div[@id = 'my-profile'] | 5 | strip://div[@id = 'my-profile'] |
6 | strip://div[@class = 'article-author'] | 6 | strip://div[@class = 'article-author'] |
7 | strip://div[@class = 'bg-f8f1d8 width-385 text-left'] | 7 | strip://div[@class = 'bg-f8f1d8 width-385 text-left'] |
8 | strip://div[@id = 'login-status'] | 8 | strip://div[@id = 'login-status'] |
9 | strip://div[@class = 'puff-padding'] | 9 | strip://div[@class = 'puff-padding'] |
10 | test_url: http://entertainment.timesonline.co.uk/tol/arts_and_entertainment/the_tls/article7177738.ece \ No newline at end of file | 10 | test_url: http://entertainment.timesonline.co.uk/tol/arts_and_entertainment/the_tls/article7177738.ece \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ericsuh.com.txt b/inc/3rdparty/site_config/standard/ericsuh.com.txt new file mode 100755 index 00000000..d25140c5 --- /dev/null +++ b/inc/3rdparty/site_config/standard/ericsuh.com.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | date: //h6[@class='datetime']/child::text() | ||
2 | author: string("Eric J. Suh") | ||
3 | footnotes: yes | ||
4 | test_url: http://www.ericsuh.com/blog/posts/2012/8/strange-numbers.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/es.hu.txt b/inc/3rdparty/site_config/standard/es.hu.txt index 19a1e9dd..21691a56 100644..100755 --- a/inc/3rdparty/site_config/standard/es.hu.txt +++ b/inc/3rdparty/site_config/standard/es.hu.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: concat(//div[@class='doc_author'], ' - ', upper-case(//div[@class='doc_title'])) | 1 | title: concat(//div[@class='doc_author'], ' - ', upper-case(//div[@class='doc_title'])) |
2 | 2 | ||
3 | body: //div[@class='doc'] | 3 | body: //div[@class='doc'] |
4 | 4 | ||
5 | prune: yes | 5 | prune: yes |
6 | 6 | ||
7 | tidy: yes | 7 | tidy: yes |
8 | convert_double_br_tags: yes | 8 | convert_double_br_tags: yes |
9 | 9 | ||
10 | strip: //a[contains(@href, 'www.facebook.com/pages/Elet-es-Irodalom/')] | 10 | strip: //a[contains(@href, 'www.facebook.com/pages/Elet-es-Irodalom/')] |
11 | test_url: http://www.es.hu/2010-12-08_vissza-a-partpenzt \ No newline at end of file | 11 | test_url: http://www.es.hu/2010-12-08_vissza-a-partpenzt \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/escapistmagazine.com.txt b/inc/3rdparty/site_config/standard/escapistmagazine.com.txt index 7e17a04d..fd453a19 100644..100755 --- a/inc/3rdparty/site_config/standard/escapistmagazine.com.txt +++ b/inc/3rdparty/site_config/standard/escapistmagazine.com.txt | |||
@@ -1,2 +1,8 @@ | |||
1 | title: //h1[@class='headline']/div[@class='name'] | ||
2 | |||
3 | strip_image_src: 'http://cdn.themis-media.com/media/global/images/library/deriv/115/115825.png' | ||
4 | |||
5 | next_page_link: //a[@class='next_page'] | ||
6 | |||
1 | strip_comments: no | 7 | strip_comments: no |
2 | test_url: http://www.escapistmagazine.com/articles/view/columns/extraconsideration/8717-Extra-Consideration-The-Story \ No newline at end of file | 8 | test_url: http://www.escapistmagazine.com/articles/view/columns/criticalintel/10302-I-Hate-Magic \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/espn.go.com.txt b/inc/3rdparty/site_config/standard/espn.go.com.txt index 319d352b..06476296 100644..100755 --- a/inc/3rdparty/site_config/standard/espn.go.com.txt +++ b/inc/3rdparty/site_config/standard/espn.go.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //div[@class='headline'] | //div[@class='mod-header']/h3 | 1 | title: //div[@class='headline'] | //div[@class='mod-header']/h3 |
2 | body: //div[contains(@class, 'article')] | 2 | body: //div[contains(@class, 'article')] |
3 | strip: //div[contains(@class, 'mod-inline')] | 3 | strip: //div[contains(@class, 'mod-inline')] |
4 | strip: //*/span[@class='page-actions'] | 4 | strip: //*/span[@class='page-actions'] |
5 | strip: //div[@class='page-actions']/* | 5 | strip: //div[@class='page-actions']/* |
6 | strip: //div[@class='headline'] | //div[@class='mod-header']/h3 | 6 | strip: //div[@class='headline'] | //div[@class='mod-header']/h3 |
7 | strip: //div[@class='mod-blog-navigation'] | 7 | strip: //div[@class='mod-blog-navigation'] |
8 | strip: //div[@class='monthday'] | 8 | strip: //div[@class='monthday'] |
9 | strip: //div[@class='time'] | 9 | strip: //div[@class='time'] |
10 | strip: //div[@class='timeofday'] | 10 | strip: //div[@class='timeofday'] |
11 | strip: //div[contains(@class, 'mod-conversations')] | 11 | strip: //div[contains(@class, 'mod-conversations')] |
12 | test_url: http://espn.go.com/boston/mlb/story/_/id/7092528/terry-francona-victim-latest-red-sox-smear-campaign \ No newline at end of file | 12 | test_url: http://espn.go.com/boston/mlb/story/_/id/7092528/terry-francona-victim-latest-red-sox-smear-campaign \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/esquire.com.txt b/inc/3rdparty/site_config/standard/esquire.com.txt index 7566e8cc..b9cb1e55 100644..100755 --- a/inc/3rdparty/site_config/standard/esquire.com.txt +++ b/inc/3rdparty/site_config/standard/esquire.com.txt | |||
@@ -1,10 +1,11 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | author: //div[@id='byline'] | 2 | author: //div[@id='byline'] |
3 | 3 | ||
4 | body: //div[@id='printBody'] | 4 | body: //div[@id='printBody'] |
5 | 5 | ||
6 | single_page_link: concat('http://www.esquire.com/print-this/', substring-after(//link[@rel='canonical']/@href, 'esquire.com/')) | 6 | single_page_link: concat('http://www.esquire.com/print-this/', substring-after(//link[@rel='canonical']/@href, 'esquire.com/')) |
7 | 7 | ||
8 | prune: no | 8 | prune: no |
9 | 9 | ||
10 | test_url: http://www.esquire.com/features/impossible/price-is-right-perfect-bid-0810 \ No newline at end of file | 10 | test_url: http://www.esquire.com/features/impossible/price-is-right-perfect-bid-0810 |
11 | test_url: http://www.esquire.com/blogs/politics/police-getting-leftover-armoured-iraq-trucks-112513 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/essentialpublicradio.org.txt b/inc/3rdparty/site_config/standard/essentialpublicradio.org.txt index 88c8c560..9a922392 100644..100755 --- a/inc/3rdparty/site_config/standard/essentialpublicradio.org.txt +++ b/inc/3rdparty/site_config/standard/essentialpublicradio.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //*[@itemprop='headline'] | 1 | title: //*[@itemprop='headline'] |
2 | author: //*[@itemprop='author'] | 2 | author: //*[@itemprop='author'] |
3 | date: //*[@itemprop='datePublished'] | 3 | date: //*[@itemprop='datePublished'] |
4 | body: //*[@itemprop='articleBody'] | 4 | body: //*[@itemprop='articleBody'] |
5 | strip: //*[contains(@class, 'instapaper_ignore')] | 5 | strip: //*[contains(@class, 'instapaper_ignore')] |
6 | test_url: http://www.essentialpublicradio.org/story/2011-11-14/volunteers-sought-federal-tax-assistance-program-pennsylvania-9421 \ No newline at end of file | 6 | test_url: http://www.essentialpublicradio.org/story/2011-11-14/volunteers-sought-federal-tax-assistance-program-pennsylvania-9421 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/etc.se.txt b/inc/3rdparty/site_config/standard/etc.se.txt index 58da5ef7..95f8cf78 100644..100755 --- a/inc/3rdparty/site_config/standard/etc.se.txt +++ b/inc/3rdparty/site_config/standard/etc.se.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | strip_id_or_class: 'left' | 1 | strip_id_or_class: 'left' |
2 | strip_id_or_class: 'right' | 2 | strip_id_or_class: 'right' |
3 | strip_id_or_class: 'block-belowcontent' | 3 | strip_id_or_class: 'block-belowcontent' |
4 | author: //span[@class = 'name']/a | 4 | author: //span[@class = 'name']/a |
5 | date: //div[@class= 'datum'] | 5 | date: //div[@class= 'datum'] |
6 | test_url: http://www.etc.se/intervju/lonsamt-att-radda-jorden \ No newline at end of file | 6 | test_url: http://www.etc.se/intervju/lonsamt-att-radda-jorden \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/eternabuenosaires.com.txt b/inc/3rdparty/site_config/standard/eternabuenosaires.com.txt index bfa2c5dc..bfa2c5dc 100644..100755 --- a/inc/3rdparty/site_config/standard/eternabuenosaires.com.txt +++ b/inc/3rdparty/site_config/standard/eternabuenosaires.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/eurogamer.net.txt b/inc/3rdparty/site_config/standard/eurogamer.net.txt index 6ecdf6bd..8a351667 100644..100755 --- a/inc/3rdparty/site_config/standard/eurogamer.net.txt +++ b/inc/3rdparty/site_config/standard/eurogamer.net.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | body: //div[ @class='content' ] | //div[ @class='blog-entry' ] | 1 | body: //div[ @class='content' ] | //div[ @class='blog-entry' ] |
2 | 2 | ||
3 | strip: //h2/abbr | //div[ @class='lowleader' ] | //*[ @class='discussion' ] | //img[ @class='play-button' ] | //div[ @class='boxout' ] | //h2/a | //h2 | //h2/div | //p[ @class='timestamp' ] | //a[ @class='eurogamer-author' ] | //p[ @class='aPager' ] | //h1 | //div[ @id='lowleader' ] | //a[ @class='next' ] | //div[contains(concat(' ', normalize-space(@class), ' '), ' pullquote ')] | 3 | strip: //h2/abbr | //div[ @class='lowleader' ] | //*[ @class='discussion' ] | //img[ @class='play-button' ] | //div[ @class='boxout' ] | //h2/a | //h2 | //h2/div | //p[ @class='timestamp' ] | //a[ @class='eurogamer-author' ] | //p[ @class='aPager' ] | //h1 | //div[ @id='lowleader' ] | //a[ @class='next' ] | //div[contains(concat(' ', normalize-space(@class), ' '), ' pullquote ')] |
4 | 4 | ||
5 | date://p[ @class='timestamp' ] | 5 | date://p[ @class='timestamp' ] |
6 | 6 | ||
7 | author://a[ @class='eurogamer-author' ] | 7 | author://a[ @class='eurogamer-author' ] |
8 | test_url: http://www.eurogamer.net/articles/digitalfoundry-vs-unreal-engine-4 \ No newline at end of file | 8 | test_url: http://www.eurogamer.net/articles/digitalfoundry-vs-unreal-engine-4 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/evo.co.uk.txt b/inc/3rdparty/site_config/standard/evo.co.uk.txt index 07162513..ccb4f879 100644..100755 --- a/inc/3rdparty/site_config/standard/evo.co.uk.txt +++ b/inc/3rdparty/site_config/standard/evo.co.uk.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | author: substring-after(//div[@class='articleauthor'],'By ') | 1 | author: substring-after(//div[@class='articleauthor'],'By ') |
2 | 2 | ||
3 | # Blog posts | 3 | # Blog posts |
4 | date: //div[@class='articledate'] | 4 | date: //div[@class='articledate'] |
5 | # News | 5 | # News |
6 | date: //div[@class='articledate_b'] | 6 | date: //div[@class='articledate_b'] |
7 | 7 | ||
8 | body: //div[@class='articletext'] | 8 | body: //div[@class='articletext'] |
9 | 9 | ||
10 | convert_double_br_tags: yes | 10 | convert_double_br_tags: yes |
11 | test_url: http://www.evo.co.uk/carreviews/evolongtermtests/280072/bmw_330d_sport_touring.html \ No newline at end of file | 11 | test_url: http://www.evo.co.uk/carreviews/evolongtermtests/280072/bmw_330d_sport_touring.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/expressen.se.txt b/inc/3rdparty/site_config/standard/expressen.se.txt index d0cb283e..d81d3251 100644..100755 --- a/inc/3rdparty/site_config/standard/expressen.se.txt +++ b/inc/3rdparty/site_config/standard/expressen.se.txt | |||
@@ -1,9 +1,10 @@ | |||
1 | title: //div[@id='article']/div[contains(@class, 'content')]/h1 | 1 | title: //h1[contains(@class, 'b-headline_article')] |
2 | body: //div[@id='article']/div[contains(@class, 'content')] | 2 | body: //div[contains(@class, 'b-article_print')] |
3 | date: //div[contains(@class, 'article-slot')]/descendant::div[contains(@id, 'articledates')] | 3 | |
4 | 4 | single_page_link: //div[contains(@class, 'b-page__footer__actions')]//a[contains(@href, 'print=true')] | |
5 | strip: //img[contains(@src, 'img/px.gif')] | 5 | |
6 | prune: no | 6 | prune: no |
7 | # remove Facebook banner and obtrusive ad | 7 | |
8 | strip: //div[@id='article']/div[contains(@class, 'content')]/div[contains(@class, 'art-right')] | 8 | test_url: http://www.expressen.se/kultur/1.2683904/medan-natet-dras-at |
9 | test_url: http://www.expressen.se/kultur/1.2683904/medan-natet-dras-at \ No newline at end of file | 9 | test_url: http://www.expressen.se/gt/polis-om-styckmordet-extremt-markligt-fall/ |
10 | test_url: http://www.expressen.se/Pages/OutboundFeedsPage.aspx?id=3642159&viewstyle=rss \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/extracine.com.txt b/inc/3rdparty/site_config/standard/extracine.com.txt index 52b598da..52b598da 100644..100755 --- a/inc/3rdparty/site_config/standard/extracine.com.txt +++ b/inc/3rdparty/site_config/standard/extracine.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/f1actual.com.txt b/inc/3rdparty/site_config/standard/f1actual.com.txt index 6ef2738a..6ef2738a 100644..100755 --- a/inc/3rdparty/site_config/standard/f1actual.com.txt +++ b/inc/3rdparty/site_config/standard/f1actual.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/facebook.com.txt b/inc/3rdparty/site_config/standard/facebook.com.txt new file mode 100755 index 00000000..6a492767 --- /dev/null +++ b/inc/3rdparty/site_config/standard/facebook.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | body: //div[@id='imagestage'] | ||
2 | prune: no | ||
3 | tidy: no | ||
4 | |||
5 | test_url: https://www.facebook.com/feeds/page.php?id=338077742912613&format=rss20 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/facta.co.jp.txt b/inc/3rdparty/site_config/standard/facta.co.jp.txt index c17e0b8c..4c96a1a4 100644..100755 --- a/inc/3rdparty/site_config/standard/facta.co.jp.txt +++ b/inc/3rdparty/site_config/standard/facta.co.jp.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | bosdy: //div[@class='content'] | 1 | bosdy: //div[@class='content'] |
2 | 2 | ||
3 | test_url: http://facta.co.jp/blog/archives/20111026001026.html \ No newline at end of file | 3 | test_url: http://facta.co.jp/blog/archives/20111026001026.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/falter.at.txt b/inc/3rdparty/site_config/standard/falter.at.txt index b941b740..2bfcc9b4 100644..100755 --- a/inc/3rdparty/site_config/standard/falter.at.txt +++ b/inc/3rdparty/site_config/standard/falter.at.txt | |||
@@ -1,18 +1,14 @@ | |||
1 | title: //h2[@class='related relatedTitle'] | 1 | title: //h1 |
2 | author: //a[contains(@href, 'liste.php?author_id')] | 2 | author: //a[contains(@href, '/kategorie/autoren')] |
3 | 3 | date: //a[contains(@href, '/falter/ausgabe')] | |
4 | # can't think of a better way unfortunately, really bad markup on this site | 4 | body: //article[@class='spanMain'] |
5 | date: substring-after(//td[@style='width:85%;'], 'vom') | 5 | |
6 | 6 | # cleanup | |
7 | # not sure why, but instapaper seems to suck up the teaser paragraph | 7 | strip_id_or_class: 'respond' |
8 | # not solved! | 8 | strip: //img[@src='http://www.falter.at/web/_pics/falterlogo_dblau.gif'] |
9 | body: //div[contains(@class, 'teaser')] | 9 | strip_id_or_class: 'meta' |
10 | body: //div[@id='content'] | 10 | strip_id_or_class: 'servicebox' |
11 | 11 | strip_id_or_class: 'related' | |
12 | # cleanup | 12 | strip_id_or_class: 'twitter-share-button' |
13 | strip: //img[@src='http://www.falter.at/web/_pics/falterlogo_dblau.gif'] | 13 | strip: //br |
14 | strip: //div[@class='servicebox'] | 14 | test_url: http://www.falter.at/falter/2013/03/26/der-dandy-auf-der-sinkenden-galeere/ \ No newline at end of file |
15 | strip: //h1 | ||
16 | strip: //br | ||
17 | strip: //td[@id='adcol'] | ||
18 | test_url: http://www.falter.at/web/print/detail.php?id=1634 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/fanfiction.net.txt b/inc/3rdparty/site_config/standard/fanfiction.net.txt index 8d0c4daf..e7cab4d4 100644..100755 --- a/inc/3rdparty/site_config/standard/fanfiction.net.txt +++ b/inc/3rdparty/site_config/standard/fanfiction.net.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //*[@id = 'story text'] | 1 | body: //*[@id = 'story text'] |
2 | author: //a[starts-with(@href, '/u/')] | 2 | author: //a[starts-with(@href, '/u/')] |
3 | next_page_link: substring-after(//input[contains(@value, 'Next')]/@onclick, "self.location='") | 3 | next_page_link: substring-after(//input[contains(@value, 'Next')]/@onclick, "self.location='") |
4 | autodetect_next_page:yes | 4 | autodetect_next_page:yes |
5 | strip_id_or_class: 'a2a_kit' | 5 | strip_id_or_class: 'a2a_kit' |
6 | test_url: http://www.fanfiction.net/s/6497403/1/Spartan_Love \ No newline at end of file | 6 | test_url: http://www.fanfiction.net/s/6497403/1/Spartan_Love \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/fastcompany.com.txt b/inc/3rdparty/site_config/standard/fastcompany.com.txt index 5547a76c..a6417237 100644..100755 --- a/inc/3rdparty/site_config/standard/fastcompany.com.txt +++ b/inc/3rdparty/site_config/standard/fastcompany.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | author: //h5[@class='byline']//a | 2 | author: //h5[@class='byline']//a |
3 | date: //h5[@class='date'] | 3 | date: //h5[@class='date'] |
4 | body: //figure[@class='node-poster'] | //div[contains(@class, "node-content")] | 4 | body: //figure[@class='node-poster'] | //div[contains(@class, "node-content")] |
5 | strip_id_or_class: article-top-wrapper | 5 | strip_id_or_class: article-top-wrapper |
6 | strip_id_or_class: footer-message | 6 | strip_id_or_class: footer-message |
7 | strip_id_or_class: print-logo | 7 | strip_id_or_class: print-logo |
8 | strip: //cite | 8 | strip: //cite |
9 | strip://*[@class='timestamp'] | 9 | strip://*[@class='timestamp'] |
10 | strip://div[@id='page_right'] | 10 | strip://div[@id='page_right'] |
11 | strip://section[@id='header_region'] | 11 | strip://section[@id='header_region'] |
12 | strip://h1[@class='node-title'] | 12 | strip://h1[@class='node-title'] |
13 | strip://div[@class='node-submitted'] | 13 | strip://div[@class='node-submitted'] |
14 | strip_id_or_class: skipnav | 14 | strip_id_or_class: skipnav |
15 | test_url: http://www.fastcompany.com/3000226/link-between-quietness-and-productivity | 15 | test_url: http://www.fastcompany.com/3000226/link-between-quietness-and-productivity |
16 | test_url: http://www.fastcompany.com/3003586/6-simple-rituals-reach-your-potential-every-day \ No newline at end of file | 16 | test_url: http://www.fastcompany.com/3003586/6-simple-rituals-reach-your-potential-every-day \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/faz.net.txt b/inc/3rdparty/site_config/standard/faz.net.txt index 4fe5968b..47048a1b 100644 --- a/inc/3rdparty/site_config/standard/faz.net.txt +++ b/inc/3rdparty/site_config/standard/faz.net.txt | |||
@@ -1,30 +1,101 @@ | |||
1 | # Title | 1 | # Author: zinnober |
2 | title: //p[@class='Content HeadlineShort'] | 2 | # Complete rewrite of the faz.net template as the standard one is broken |
3 | 3 | # I tried to consider as many page variants as possible, which was some serious work | |
4 | # Authors | 4 | |
5 | # some are known and have a link, others don't | 5 | tidy: no |
6 | author: substring-after(//span[@class='Autor'], 'Von') | 6 | prune: no |
7 | 7 | ||
8 | # Date | 8 | # Title |
9 | date: //span[@class='Datum'] | 9 | title: //p[@class='Content HeadlineShort'] |
10 | 10 | ||
11 | # Body | 11 | # Set author |
12 | body: //div[@class='Artikel'] | 12 | author: substring-after(//span[@class='Autor'], 'von ') |
13 | 13 | author: //span[@class='caps last']/span[@class='caps last'] | |
14 | # Removements before body text | 14 | author: //a[@rel='author'] |
15 | strip: //div[@class='Breadcrumbs'] | 15 | |
16 | strip: //div[@class='QuickSearchBox'] | 16 | # Set date |
17 | strip: //div[@class='FAZArtikelEinleitung'] | 17 | date: //span[@class='Datum'] |
18 | strip: //div[@class='FAZArtikelReiter'] | 18 | date: //span[@class='Datum'],/span |
19 | strip: //div[@class='clear'] | 19 | |
20 | 20 | # Fetch full multipage articles | |
21 | # General removements | 21 | next_page_link: //a[@title='Nächste Seite'] |
22 | strip: //span[@class='Bildnachweis'] | 22 | |
23 | 23 | # Content is here | |
24 | # Removements after body text | 24 | body: //div[@class='Artikel'] |
25 | strip: //div[@class='ArtikelAbbinder'] | 25 | |
26 | strip: //div[@class='ArtikelKommentieren Artikelfuss GETS;tk;boxen.top-lesermeinungen;tp;content'] | 26 | # Tidy up before article |
27 | strip: //div[@class='FAZArtikelKommentare FAZArtikelContent'] | 27 | strip: //div[@id='FAZHeaderNeu'] |
28 | strip: //div[@class='FAZArtikelFunktionen'] | 28 | strip: //h2[@itemprop='headline'] |
29 | strip: //div[@id='FAZContentRight'] | 29 | strip: //span[@class='Datum'] |
30 | test_url: http://www.faz.net/aktuell/gesellschaft/ehe-haltbarkeitsformel-verliebe-dich-oft-verlobe-dich-selten-heirate-vielleicht-11685306.html \ No newline at end of file | 30 | strip: //span[@class='Autor'] |
31 | strip_id_or_class: ArticlePagerTop | ||
32 | |||
33 | # General cleanup | ||
34 | strip: //div[@class='clear'] | ||
35 | strip: //a[@title='Zur Homepage FAZ.NET'] | ||
36 | strip: //iframe | ||
37 | replace_string( · ): | ||
38 | |||
39 | # Remove tracking and ads | ||
40 | strip_image_src: /l.gif? | ||
41 | strip: //div[contains(@style, 'background-image')] | ||
42 | strip: //img[@width='1'] | ||
43 | strip_id_or_class: invisible | ||
44 | strip_id_or_class: Anzeige | ||
45 | strip_id_or_class: billboard | ||
46 | |||
47 | # Remove various text boxes and social media foo | ||
48 | strip_id_or_class: WeitereBeitraege | ||
49 | strip_id_or_class: WBListe | ||
50 | strip_id_or_class: AutorenModul | ||
51 | strip_id_or_class: Community | ||
52 | strip_id_or_class: SocialMediaStatus | ||
53 | strip_id_or_class: RelatedLinkBox | ||
54 | strip_id_or_class: MultimediaNavigation | ||
55 | strip_id_or_class: IndexTitel | ||
56 | |||
57 | # Fix picture caps and pictures (use better resolution and remove clutter) | ||
58 | strip_id_or_class: LightBoxOverlay | ||
59 | strip_id_or_class: exitLarge | ||
60 | strip_id_or_class: PagerBox | ||
61 | strip_id_or_class: Bildnachweis | ||
62 | strip_id_or_class: Bildueberschrift | ||
63 | strip_id_or_class: Bildbeschreibung | ||
64 | strip_id_or_class: ArtikelBild610 | ||
65 | strip_id_or_class: MediaLink | ||
66 | strip_id_or_class: FotoBoxInnerLeft | ||
67 | strip_id_or_class: BilderRelatedLinks | ||
68 | |||
69 | # Remove clutter after article | ||
70 | strip_id_or_class: ArticlePagerBottom | ||
71 | strip_id_or_class: backToHome | ||
72 | strip_id_or_class: ArtikelAbbinder | ||
73 | strip_id_or_class: lesermeinungscontainer | ||
74 | strip_id_or_class: ThemenLinks | ||
75 | strip_id_or_class: rechtehinweis | ||
76 | strip_id_or_class: FAZArtikelMap | ||
77 | strip_id_or_class: FAZArtikelKommentare | ||
78 | strip_id_or_class: ArtikelKommentieren | ||
79 | strip_id_or_class: FAZArtikelFunktionen | ||
80 | strip_id_or_class: mailLB | ||
81 | strip_id_or_class: FAZContentRight | ||
82 | strip_id_or_class: stageModule | ||
83 | strip_id_or_class: ContentFooter | ||
84 | strip_id_or_class: ServicesFooter | ||
85 | strip_id_or_class: FAZFooter | ||
86 | |||
87 | # Clean up stuff present just in some articles | ||
88 | strip_id_or_class: Teaser620 | ||
89 | strip_id_or_class: TeaserMultimedia | ||
90 | strip_id_or_class: VideoBox | ||
91 | |||
92 | # Remove as soon as Wallabag maight be able to embed flash video | ||
93 | strip_id_or_class: mmoObjectAsTeaserInArticle | ||
94 | strip_id_or_class: additionalStylesAudioVideo | ||
95 | strip_id_or_class: hideMMElements | ||
96 | |||
97 | # Try it yourself | ||
98 | test_url: http://www.faz.net/aktuell/feuilleton/zum-tod-von-margaret-thatcher-die-reizfigur-12141919.html#Drucken | ||
99 | test_url: http://www.faz.net/aktuell/politik/inland/allensbach-analyse-im-namen-des-volkes-13106492.html | ||
100 | test_url: http://www.faz.net/aktuell/feuilleton/kino/video-filmkritiken/video-filmkritik-when-animals-dream-zerrissene-jugend-13105772.html | ||
101 | |||
diff --git a/inc/3rdparty/site_config/standard/fertigung.de.txt b/inc/3rdparty/site_config/standard/fertigung.de.txt new file mode 100755 index 00000000..90145e58 --- /dev/null +++ b/inc/3rdparty/site_config/standard/fertigung.de.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | title: //title | ||
2 | |||
3 | body: //div[@id='content'] | ||
4 | |||
5 | strip: (//div[@id='content']/h2)[1] | ||
6 | |||
7 | strip: //h2[contains(., 'mehr News')]/following::* | ||
8 | strip: //h2[contains(., 'mehr News')] | ||
9 | |||
10 | strip: //div[contains(@class, 'indizar')]/following::* | ||
11 | strip: //div[contains(@class, 'indizar')] | ||
12 | |||
13 | strip: //h1[contains(@class, 'single')]/preceding::* | ||
14 | strip: //h1[contains(@class, 'single')] | ||
15 | |||
16 | strip_id_or_class: plista_widget | ||
17 | |||
18 | prune: no | ||
19 | |||
20 | next_page_link: //a[contains(., 'Weiter')] | ||
21 | |||
22 | test_url: http://www.fertigung.de/2013/04/igus-neuer-energiekettenkatalog/ | ||
23 | test_url: http://www.fertigung.de/2013/04/dynamisch-und-hochpraezise/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/fictionpress.com.txt b/inc/3rdparty/site_config/standard/fictionpress.com.txt index 4a04e832..19ec16b0 100644..100755 --- a/inc/3rdparty/site_config/standard/fictionpress.com.txt +++ b/inc/3rdparty/site_config/standard/fictionpress.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: id('storytext') | 1 | body: id('storytext') |
2 | author: //a[starts-with(@href, '/u/')] | 2 | author: //a[starts-with(@href, '/u/')] |
3 | #next_page_link: substring-after(//input[contains(@value, 'Next')]/@onclick, "self.location='") | 3 | #next_page_link: substring-after(//input[contains(@value, 'Next')]/@onclick, "self.location='") |
4 | strip_id_or_class: 'a2a_kit' | 4 | strip_id_or_class: 'a2a_kit' |
5 | test_url: http://www.fictionpress.com/s/2897964/1/All_We_Knew \ No newline at end of file | 5 | test_url: http://www.fictionpress.com/s/2897964/1/All_We_Knew \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ficwad.com.txt b/inc/3rdparty/site_config/standard/ficwad.com.txt index 3dbfe76f..081f0bb0 100644..100755 --- a/inc/3rdparty/site_config/standard/ficwad.com.txt +++ b/inc/3rdparty/site_config/standard/ficwad.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //h4 | 1 | title: //h4 |
2 | author: //span[@class="author"] | 2 | author: //span[@class="author"] |
3 | body: //div[@id="story"] | 3 | body: //div[@id="story"] |
4 | strip_id_or_class: summary | 4 | strip_id_or_class: summary |
5 | strip_id_or_class: meta | 5 | strip_id_or_class: meta |
6 | strip_id_or_class: storyfoot | 6 | strip_id_or_class: storyfoot |
7 | convert_double_br_tags: yes | 7 | convert_double_br_tags: yes |
8 | prune: no | 8 | prune: no |
9 | 9 | ||
10 | # Note: this site still has trouble because single <br> tags are stripped, but I don't see a way to fix that with this interface. | 10 | # Note: this site still has trouble because single <br> tags are stripped, but I don't see a way to fix that with this interface. |
11 | 11 | ||
12 | test_url: http://www.ficwad.com/story/158977 \ No newline at end of file | 12 | test_url: http://www.ficwad.com/story/158977 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/finance.yahoo.com.txt b/inc/3rdparty/site_config/standard/finance.yahoo.com.txt index 81c18fd3..248522cb 100644..100755 --- a/inc/3rdparty/site_config/standard/finance.yahoo.com.txt +++ b/inc/3rdparty/site_config/standard/finance.yahoo.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | body: //div[@id='y-article-bd'] | 2 | body: //div[@id='y-article-bd'] |
3 | body: //div[contains(@class, 'yom-art-content')] | 3 | body: //div[contains(@class, 'yom-art-content')] |
4 | strip: //div[contains(@class, 'related-companies')] | 4 | strip: //div[contains(@class, 'related-companies')] |
5 | strip: //div[@id='y-article-related'] | 5 | strip: //div[@id='y-article-related'] |
6 | strip: //div[@id='ypf-article-related'] | 6 | strip: //div[@id='ypf-article-related'] |
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | single_page_link: //div[@class='ft']//a[contains(@href, 'page=all')] | 9 | single_page_link: //div[@class='ft']//a[contains(@href, 'page=all')] |
10 | 10 | ||
11 | test_url: http://sg.finance.yahoo.com/news/Motorola-takes-wraps-249-rsg-3508842732.html?x=0&.v=1 | 11 | test_url: http://sg.finance.yahoo.com/news/Motorola-takes-wraps-249-rsg-3508842732.html?x=0&.v=1 |
12 | test_url: http://finance.yahoo.com/news/super-young-retirement-savers.html \ No newline at end of file | 12 | test_url: http://finance.yahoo.com/news/super-young-retirement-savers.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/findtheswagger.tumblr.com.txt b/inc/3rdparty/site_config/standard/findtheswagger.tumblr.com.txt index 1a5cd2e1..43aef750 100644..100755 --- a/inc/3rdparty/site_config/standard/findtheswagger.tumblr.com.txt +++ b/inc/3rdparty/site_config/standard/findtheswagger.tumblr.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | date: //div[@class='notes']/a | 1 | date: //div[@class='notes']/a |
2 | body: //div[@id='content'] | 2 | body: //div[@id='content'] |
3 | 3 | ||
4 | strip_id_or_class: tags | 4 | strip_id_or_class: tags |
5 | strip_id_or_class: permalink | 5 | strip_id_or_class: permalink |
6 | strip_id_or_class: notes | 6 | strip_id_or_class: notes |
7 | strip_id_or_class: post_nav | 7 | strip_id_or_class: post_nav |
8 | strip: //div[@id='content']//h2 | 8 | strip: //div[@id='content']//h2 |
9 | strip_id_or_class: right_column | 9 | strip_id_or_class: right_column |
10 | test_url: http://findtheswagger.tumblr.com/post/11589145141/moe-resners-end-of-an-era-1957-giants-final \ No newline at end of file | 10 | test_url: http://findtheswagger.tumblr.com/post/11589145141/moe-resners-end-of-an-era-1957-giants-final \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/firstthings.com.txt b/inc/3rdparty/site_config/standard/firstthings.com.txt index dd56da22..ce972bac 100644..100755 --- a/inc/3rdparty/site_config/standard/firstthings.com.txt +++ b/inc/3rdparty/site_config/standard/firstthings.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@class='articleTitle'] | 1 | title: //div[@class='articleTitle'] |
2 | author: //div[@class='articleAuthor'] | 2 | author: //div[@class='articleAuthor'] |
3 | body: //div[@class='articleContent'] | 3 | body: //div[@class='articleContent'] |
4 | prune: no | 4 | prune: no |
5 | convert_double_br_tags: yes | 5 | convert_double_br_tags: yes |
6 | 6 | ||
7 | test_url: http://www.firstthings.com/article/2011/05/the-trouble-with-ayn-rand \ No newline at end of file | 7 | test_url: http://www.firstthings.com/article/2011/05/the-trouble-with-ayn-rand \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/fivechapters.com.txt b/inc/3rdparty/site_config/standard/fivechapters.com.txt index d9c5e42e..d9c5e42e 100644..100755 --- a/inc/3rdparty/site_config/standard/fivechapters.com.txt +++ b/inc/3rdparty/site_config/standard/fivechapters.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/fivefilters.org.txt b/inc/3rdparty/site_config/standard/fivefilters.org.txt index dc1db432..dc1db432 100644..100755 --- a/inc/3rdparty/site_config/standard/fivefilters.org.txt +++ b/inc/3rdparty/site_config/standard/fivefilters.org.txt | |||
diff --git a/inc/3rdparty/site_config/standard/fivethirtyeight.com.txt b/inc/3rdparty/site_config/standard/fivethirtyeight.com.txt index 3d7b45a8..d0a0a772 100644..100755 --- a/inc/3rdparty/site_config/standard/fivethirtyeight.com.txt +++ b/inc/3rdparty/site_config/standard/fivethirtyeight.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: substring-after(//title, 'Right:') | 1 | title: substring-after(//title, 'Right:') |
2 | body: //div[@class = 'post-body'] | 2 | body: //div[@class = 'post-body'] |
3 | author: substring-after(//*[@class='post-author'], 'by') | 3 | author: substring-after(//*[@class='post-author'], 'by') |
4 | date: concat(//*[@class='date-header'], ' ', //*[@class='post-timestamp']/a) | 4 | date: concat(//*[@class='date-header'], ' ', //*[@class='post-timestamp']/a) |
5 | convert_double_br_tags: yes | 5 | convert_double_br_tags: yes |
6 | 6 | ||
7 | test_url: http://www.fivethirtyeight.com/2010/07/does-rnc-have-structural-problems.html \ No newline at end of file | 7 | test_url: http://www.fivethirtyeight.com/2010/07/does-rnc-have-structural-problems.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/flyingmachinestudios.com.txt b/inc/3rdparty/site_config/standard/flyingmachinestudios.com.txt new file mode 100755 index 00000000..2053f801 --- /dev/null +++ b/inc/3rdparty/site_config/standard/flyingmachinestudios.com.txt | |||
@@ -0,0 +1,2 @@ | |||
1 | strip_id_or_class: linenos | ||
2 | test_url: http://www.flyingmachinestudios.com/programming/whoops-dci-refactoring/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/fm4.orf.at.txt b/inc/3rdparty/site_config/standard/fm4.orf.at.txt index 32d44c87..5db3e58c 100644..100755 --- a/inc/3rdparty/site_config/standard/fm4.orf.at.txt +++ b/inc/3rdparty/site_config/standard/fm4.orf.at.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | author: //div[@class='authorDescription']/h2 | 1 | author: //div[@class='authorDescription']/h2 |
2 | body: //div[@id='story'] | 2 | body: //div[@id='story'] |
3 | date: substring-before(substring-after(//p[@class='date'],'Erstellt am:'), '-') | 3 | date: substring-before(substring-after(//p[@class='date'],'Erstellt am:'), '-') |
4 | title: //h1[@class='detail'] | 4 | title: //h1[@class='detail'] |
5 | strip: //div[@class='fact'] | 5 | strip: //div[@class='fact'] |
6 | 6 | ||
7 | test_url: http://fm4.orf.at/stories/1689156/ \ No newline at end of file | 7 | test_url: http://fm4.orf.at/stories/1689156/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/fnal.gov.txt b/inc/3rdparty/site_config/standard/fnal.gov.txt index 7faa6bfc..e404ccb8 100644..100755 --- a/inc/3rdparty/site_config/standard/fnal.gov.txt +++ b/inc/3rdparty/site_config/standard/fnal.gov.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | title: normalize(//h1) | 1 | title: normalize(//h1) |
2 | 2 | ||
3 | author: //td/p[position()=last()]/em | 3 | author: //td/p[position()=last()]/em |
4 | 4 | ||
5 | # I swear, this is really the best way to do this | 5 | # I swear, this is really the best way to do this |
6 | date: normalize(//td[contains(@style, "color: #ffffff")]) | 6 | date: normalize(//td[contains(@style, "color: #ffffff")]) |
7 | 7 | ||
8 | # my god, it's full of tables | 8 | # my god, it's full of tables |
9 | body: /table/tbody/tr[5]//table/tbody//table/tbody/tr/td | 9 | body: /table/tbody/tr[5]//table/tbody//table/tbody/tr/td |
10 | strip: //h1 | 10 | strip: //h1 |
11 | 11 | ||
12 | # the following two lines strip the byline at the end of the article (the byline is a <p> that consists of an em dash and then some text in an <em>). I have no idea why I can't just strip //p[position()=last()], but trying to do so includes a bunch of other crap in the output. | 12 | # the following two lines strip the byline at the end of the article (the byline is a <p> that consists of an em dash and then some text in an <em>). I have no idea why I can't just strip //p[position()=last()], but trying to do so includes a bunch of other crap in the output. |
13 | strip: //p[position()=last()]/em | 13 | strip: //p[position()=last()]/em |
14 | strip: //p[position()=last()]/child::text() | 14 | strip: //p[position()=last()]/child::text() |
15 | test_url: http://www.fnal.gov/pub/today/archive_2011/today11-11-09_MuonDepartmentReadMore.html \ No newline at end of file | 15 | test_url: http://www.fnal.gov/pub/today/archive_2011/today11-11-09_MuonDepartmentReadMore.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/focus.de.txt b/inc/3rdparty/site_config/standard/focus.de.txt index 3ad5cabf..6da3687e 100644..100755 --- a/inc/3rdparty/site_config/standard/focus.de.txt +++ b/inc/3rdparty/site_config/standard/focus.de.txt | |||
@@ -1,19 +1,19 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | 2 | ||
3 | author: //div[@class='articleContent small']/div[@class='textBlock']//span[@class='created'] | 3 | author: //div[@class='articleContent small']/div[@class='textBlock']//span[@class='created'] |
4 | 4 | ||
5 | date: //div[@class='articleHead']/span[@class='created'] | 5 | date: //div[@class='articleHead']/span[@class='created'] |
6 | 6 | ||
7 | body: //div[@id='article'] | 7 | body: //div[@id='article'] |
8 | 8 | ||
9 | strip: //span[@class='markerText'] | 9 | strip: //span[@class='markerText'] |
10 | strip: //div[@class='articleContent small']/div[@class='textBlock']//span[@class='created'] | 10 | strip: //div[@class='articleContent small']/div[@class='textBlock']//span[@class='created'] |
11 | strip: //div[@class='sidebar'] | 11 | strip: //div[@class='sidebar'] |
12 | strip: //div[@class='starbar'] | 12 | strip: //div[@class='starbar'] |
13 | strip: //div[@class='actions clearfix'] | 13 | strip: //div[@class='actions clearfix'] |
14 | strip: //div[@id='commentForm'] | 14 | strip: //div[@id='commentForm'] |
15 | strip: //div[@id='commentSent'] | 15 | strip: //div[@id='commentSent'] |
16 | strip: //div[@id='comments'] | 16 | strip: //div[@id='comments'] |
17 | strip: //div[@class='similarityBlock'] | 17 | strip: //div[@class='similarityBlock'] |
18 | 18 | ||
19 | test_url: http://www.focus.de/politik/ausland/ein-jahr-nach-bombenanschlag-u-bahn-attentaeter-von-minsk-hingerichtet_aid_724958.html \ No newline at end of file | 19 | test_url: http://www.focus.de/politik/ausland/ein-jahr-nach-bombenanschlag-u-bahn-attentaeter-von-minsk-hingerichtet_aid_724958.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/folklore.org.txt b/inc/3rdparty/site_config/standard/folklore.org.txt new file mode 100755 index 00000000..ed23a0b6 --- /dev/null +++ b/inc/3rdparty/site_config/standard/folklore.org.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | author: /html/body/table[3]/tbody/tr/td[1]/table[2]/tbody/tr[1]/td[2] | ||
2 | date: /html/body/table[3]/tbody/tr/td[1]/table[2]/tbody/tr[2]/td[2] | ||
3 | body: //div[@class='main'] | ||
4 | test_url: http://www.folklore.org/StoryView.py?story=Calculator_Construction_Set.txt \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/food.com.txt b/inc/3rdparty/site_config/standard/food.com.txt new file mode 100755 index 00000000..a70da766 --- /dev/null +++ b/inc/3rdparty/site_config/standard/food.com.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | body: //div[@id='print-area'] | ||
2 | title: //h1[contains(@class, 'section-title')] | ||
3 | single_page_link: //a[@id='prntrec'] | ||
4 | strip_image_src: food-logo-small | ||
5 | strip_id_or_class: timer | ||
6 | strip_id_or_class: photo-sm | ||
7 | strip_id_or_class: page-header | ||
8 | |||
9 | prune: no | ||
10 | |||
11 | test_url: http://www.food.com/recipe/couldnt-be-easier-bbq-pork-tenderloin-crock-pot-317152 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/fool.com.txt b/inc/3rdparty/site_config/standard/fool.com.txt index 69867ccb..89cb8b9a 100644..100755 --- a/inc/3rdparty/site_config/standard/fool.com.txt +++ b/inc/3rdparty/site_config/standard/fool.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | body: //div[@class='entry-content'] | 1 | body: //div[@class='entry-content'] |
2 | date: //meta[@name="date"]/@content | 2 | date: //meta[@name="date"]/@content |
3 | author: //meta[@name="author"]/@content | 3 | author: //meta[@name="author"]/@content |
4 | 4 | ||
5 | strip_id_or_class: ecapShell | 5 | strip_id_or_class: ecapShell |
6 | strip_id_or_class: noindent | 6 | strip_id_or_class: noindent |
7 | strip_id_or_class: targetedPromotion | 7 | strip_id_or_class: targetedPromotion |
8 | 8 | ||
9 | prune: no | 9 | prune: no |
10 | 10 | ||
11 | test_url: http://www.fool.com/investing/general/2012/01/27/dfc-global-beats-up-on-analysts-yet-again.aspx \ No newline at end of file | 11 | test_url: http://www.fool.com/investing/general/2012/01/27/dfc-global-beats-up-on-analysts-yet-again.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/forbes.com.txt b/inc/3rdparty/site_config/standard/forbes.com.txt index 2381b56a..9e1d04c1 100644..100755 --- a/inc/3rdparty/site_config/standard/forbes.com.txt +++ b/inc/3rdparty/site_config/standard/forbes.com.txt | |||
@@ -1,16 +1,27 @@ | |||
1 | title: //hgroup//h1 | 1 | title: //hgroup//h1 |
2 | title: //span[@class='mainarttitle'] | 2 | title: //span[@class='mainarttitle'] |
3 | 3 | ||
4 | body: //div[@id='leftRail']//div[contains(@class, 'body')] | 4 | body: //div[@id='leftRail']//div[contains(@class, 'body')] |
5 | 5 | ||
6 | author: //meta[@name="author"]/@content | 6 | author: //meta[@name="author"]/@content |
7 | author: //span[@class='mainartauthor'] | 7 | author: //span[@class='mainartauthor'] |
8 | 8 | ||
9 | date: substring-before(//hgroup//h6, '@') | 9 | date: substring-before(//hgroup//h6, '@') |
10 | date: //span[@class='mainartdate'] | 10 | date: //span[@class='mainartdate'] |
11 | 11 | ||
12 | prune: no | 12 | prune: no |
13 | 13 | strip: //aside | |
14 | single_page_link: //a[contains(@href, '/print/')] | 14 | strip_id_or_class: sticky_sharing |
15 | 15 | strip_id_or_class: pagination | |
16 | test_url: http://www.forbes.com/forbes/2011/0509/technology-frog-design-jan-chipchase-ethnographer-birth-cool_print.html \ No newline at end of file | 16 | strip_id_or_class: controlsbox |
17 | strip_id_or_class: storyboxes | ||
18 | strip_id_or_class: sponsoredlinks | ||
19 | strip_id_or_class: nextpage | ||
20 | strip_id_or_class: contextuallinks | ||
21 | strip_id_or_class: article_actions | ||
22 | strip_id_or_class: engagement_block | ||
23 | |||
24 | single_page_link: //a[contains(@href, '/print/')] | ||
25 | |||
26 | test_url: http://www.forbes.com/forbes/2011/0509/technology-frog-design-jan-chipchase-ethnographer-birth-cool_print.html | ||
27 | test_url: http://www.forbes.com/sites/bruceupbin/2012/09/11/the-iphone-5-winners-and-losers/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/foreignaffairs.com.txt b/inc/3rdparty/site_config/standard/foreignaffairs.com.txt new file mode 100755 index 00000000..cf8b742f --- /dev/null +++ b/inc/3rdparty/site_config/standard/foreignaffairs.com.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | # TIDY | ||
2 | #tidy: no | ||
3 | # PRUNE | ||
4 | #prune: no | ||
5 | |||
6 | # SINGLE PAGE | ||
7 | single_page_link: //div[@class='showlinks']/a | ||
8 | |||
9 | # TITLE | ||
10 | title: //h1[@class="title"] | ||
11 | |||
12 | # AUTHOR | ||
13 | author: //div[contains(@class,"field-field-article-display-authors")]/div/div/a/text() | ||
14 | |||
15 | # DATE | ||
16 | date: //div[contains(@class,"field-field-article-issue")]/div/div/a/text() | //span[@class="date-display-single"] | ||
17 | |||
18 | # BODY | ||
19 | body: //div[contains(@class,"content-resize")] | ||
20 | |||
21 | # Remove clutter | ||
22 | strip: //div[@class="article-sidebar"] | ||
23 | strip: //div[@class="showlinks"] | ||
24 | strip: //div[contains(@class,"premium-box")] | ||
25 | strip: //div[contains(@class,"premium-box")] | ||
26 | strip: //table[contains(@border,"2")] | ||
27 | |||
28 | # Fix picture captions | ||
29 | wrap_in(small): //p/img/following-sibling::em | ||
30 | wrap_in(small): //p[img]/text() | ||
31 | |||
32 | # Fix sub-headlines | ||
33 | wrap_in(h3): //div[contains(@class,"field-field-article-subtitle")]/div/div/text() | ||
34 | test_url: http://www.foreignaffairs.com/articles/138810/pierre-n-leval/the-long-arm-of-international-law \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/foreignpolicy.com.txt b/inc/3rdparty/site_config/standard/foreignpolicy.com.txt index 6ab7a091..4e84b989 100644..100755 --- a/inc/3rdparty/site_config/standard/foreignpolicy.com.txt +++ b/inc/3rdparty/site_config/standard/foreignpolicy.com.txt | |||
@@ -1,11 +1,15 @@ | |||
1 | title: //div[@id='art-mast']//h1 | 1 | title: //div[@class='translateHead']//h1 | //div[@id='art-mast']//h1 |
2 | author: substring-after(//span[@id='by-line'], 'BY ') | 2 | author: substring-after(//span[@id='by-line'], 'BY ') |
3 | date: //span[@id='pub-date'] | 3 | date: //span[@id='pub-date'] |
4 | body: //div[@id='art-mast']//h2 | //div[@id='art-mast']/h3 | //div[@id='art-body']//div[@class='translateBody'] | 4 | body: //div[@id='art-mast']/h2 | //div[@class='translateBody'] | //div[@id='art-body'] |
5 | strip: //div[@id='share-box'] | 5 | #Strip inside article content |
6 | prune: no | 6 | strip: //div[@id='share-box'] |
7 | 7 | strip: //div[@id='special-box'] | |
8 | single_page_link: //span[@id='controls']/a[contains(@href, 'print=yes')] | 8 | |
9 | 9 | prune: no | |
10 | test_url: http://www.foreignpolicy.com/articles/2011/08/01/a_murderers_manifesto_and_me | 10 | |
11 | test_url: test_url: http://www.foreignpolicy.com/articles/2012/02/29/five_years_in_damascus \ No newline at end of file | 11 | single_page_link: //span[@id='controls']/a[contains(@href, 'print=yes')] |
12 | single_page_link: //a[text()='SINGLE PAGE'] | ||
13 | |||
14 | test_url: http://www.foreignpolicy.com/articles/2011/08/01/a_murderers_manifesto_and_me | ||
15 | test_url: http://www.foreignpolicy.com/articles/2012/02/29/five_years_in_damascus \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/forsvaret.no.txt b/inc/3rdparty/site_config/standard/forsvaret.no.txt index 3085c8f2..c1bd2bac 100644..100755 --- a/inc/3rdparty/site_config/standard/forsvaret.no.txt +++ b/inc/3rdparty/site_config/standard/forsvaret.no.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@class="articleHeader"]/h1 | 1 | title: //div[@class="articleHeader"]/h1 |
2 | author: //p[@class="byline"] | 2 | author: //p[@class="byline"] |
3 | date: //p[contains(@class,"publishedDate")]/span | 3 | date: //p[contains(@class,"publishedDate")]/span |
4 | # remove the right menu | 4 | # remove the right menu |
5 | strip: //div[contains(@class,"aside")] | 5 | strip: //div[contains(@class,"aside")] |
6 | # remove some SharePoint webpart label junk | 6 | # remove some SharePoint webpart label junk |
7 | strip: //div[@id="ctl00_PlaceHolderMain_ArticleLeadField_label"] | 7 | strip: //div[@id="ctl00_PlaceHolderMain_ArticleLeadField_label"] |
8 | strip: //div[@id="ctl00_PlaceHolderMain_PublishingPageContentField_label"] | 8 | strip: //div[@id="ctl00_PlaceHolderMain_PublishingPageContentField_label"] |
9 | test_url: http://forsvaret.no/aktuelt/publisert/nyheter/Sider/F5-fly-til-Skedsmo.aspx \ No newline at end of file | 9 | test_url: http://forsvaret.no/aktuelt/publisert/nyheter/Sider/F5-fly-til-Skedsmo.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/foxnews.com.txt b/inc/3rdparty/site_config/standard/foxnews.com.txt index f1ee4851..e19c77db 100644..100755 --- a/inc/3rdparty/site_config/standard/foxnews.com.txt +++ b/inc/3rdparty/site_config/standard/foxnews.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | prune: no | 1 | prune: no |
2 | 2 | ||
3 | author: //meta[@name="dc.publisher"]/@content | 3 | author: //meta[@name="dc.publisher"]/@content |
4 | date: //meta[@name="dc.date"]/@content | 4 | date: //meta[@name="dc.date"]/@content |
5 | strip: //p[contains(@class, 'contributor vcard')] | 5 | strip: //p[contains(@class, 'contributor vcard')] |
6 | replace_string(<ul><li><div class="photo">): <div class="photo"> | 6 | replace_string(<ul><li><div class="photo">): <div class="photo"> |
7 | strip: //p[a[contains(., 'Click here to read more on this story ')]] | 7 | strip: //p[a[contains(., 'Click here to read more on this story ')]] |
8 | 8 | ||
9 | test_url: http://www.foxnews.com/entertainment/2011/05/04/dwayne-johnson-guys-grow-pair-driving-hybrid/ \ No newline at end of file | 9 | test_url: http://www.foxnews.com/entertainment/2011/05/04/dwayne-johnson-guys-grow-pair-driving-hybrid/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/freelancer.com.txt b/inc/3rdparty/site_config/standard/freelancer.com.txt index f3d5425c..78d37729 100644..100755 --- a/inc/3rdparty/site_config/standard/freelancer.com.txt +++ b/inc/3rdparty/site_config/standard/freelancer.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id="projectDetailsContent"]//td | 1 | body: //div[@id="projectDetailsContent"]//td |
2 | 2 | ||
3 | test_url: http://www.freelancer.com/projects/PHP-Website-Design/debug-Forum-website-code.html \ No newline at end of file | 3 | test_url: http://www.freelancer.com/projects/PHP-Website-Design/debug-Forum-website-code.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/freytag-film.com.txt b/inc/3rdparty/site_config/standard/freytag-film.com.txt index 8dc0dabc..c83f8303 100644..100755 --- a/inc/3rdparty/site_config/standard/freytag-film.com.txt +++ b/inc/3rdparty/site_config/standard/freytag-film.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@class = 'instapaperbody'] | 1 | body: //div[@class = 'instapaperbody'] |
2 | convert_double_br_tags: no | 2 | convert_double_br_tags: no |
3 | date: //div[@class='instadate'] | 3 | date: //div[@class='instadate'] |
4 | title: //h2[@class = 'instatitle'] | 4 | title: //h2[@class = 'instatitle'] |
5 | test_url: http://freytag-film.com/blog/artikel/shooting_a_feature_film_in_10_days \ No newline at end of file | 5 | test_url: http://freytag-film.com/blog/artikel/shooting_a_feature_film_in_10_days \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/fria.nu.txt b/inc/3rdparty/site_config/standard/fria.nu.txt new file mode 100755 index 00000000..9d8eff97 --- /dev/null +++ b/inc/3rdparty/site_config/standard/fria.nu.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | body: //div[contains(@class, 'layout__inner')]//div[contains(@class, 'file-image') or contains(@class, 'node__content')] | ||
2 | author: //article//div[contains(@class, 'field-byline')] | ||
3 | strip_id_or_class: rekommenderade | ||
4 | strip_id_or_class: disqus | ||
5 | strip_id_or_class: annonser | ||
6 | |||
7 | test_url: http://www.fria.nu/artikel/112079 | ||
8 | test_url: http://www.fria.nu/taxonomy/term/1928/all/feed \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/friatidningen.se.txt b/inc/3rdparty/site_config/standard/friatidningen.se.txt new file mode 100755 index 00000000..1e4abc5a --- /dev/null +++ b/inc/3rdparty/site_config/standard/friatidningen.se.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | body: //div[contains(@class, 'layout__inner')]//div[contains(@class, 'file-image') or contains(@class, 'node__content')] | ||
2 | author: //article//div[contains(@class, 'field-byline')] | ||
3 | strip_id_or_class: rekommenderade | ||
4 | strip_id_or_class: disqus | ||
5 | strip_id_or_class: annonser | ||
6 | |||
7 | test_url: http://www.friatidningen.se/artikel/112074 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/friendskorner.com.txt b/inc/3rdparty/site_config/standard/friendskorner.com.txt index 39a9973f..b067d88a 100644..100755 --- a/inc/3rdparty/site_config/standard/friendskorner.com.txt +++ b/inc/3rdparty/site_config/standard/friendskorner.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | #body: (//div[@class='ftr-yt-vid'])[1] | 1 | #body: (//div[@class='ftr-yt-vid'])[1] |
2 | body: (//blockquote[contains(@class, 'postcontent')])[1] | 2 | body: (//blockquote[contains(@class, 'postcontent')])[1] |
3 | body: (//div[starts-with(@id, 'post_message')])[1] | 3 | body: (//div[starts-with(@id, 'post_message')])[1] |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | tidy: no | 6 | tidy: no |
7 | 7 | ||
8 | #replace_string(<iframe title="YouTube video player"): <div class="ftr-yt-vid"><iframe title="YouTube video player" | 8 | #replace_string(<iframe title="YouTube video player"): <div class="ftr-yt-vid"><iframe title="YouTube video player" |
9 | #replace_string(</iframe>): </iframe> </div> | 9 | #replace_string(</iframe>): </iframe> </div> |
10 | 10 | ||
11 | test_url: http://www.friendskorner.com/forum/f137/debate-personal-lives-leaders-west-vs-pakistan-must-read-297989/ \ No newline at end of file | 11 | test_url: http://www.friendskorner.com/forum/f137/debate-personal-lives-leaders-west-vs-pakistan-must-read-297989/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ft.com.txt b/inc/3rdparty/site_config/standard/ft.com.txt index 38d9d326..e66b9603 100644..100755 --- a/inc/3rdparty/site_config/standard/ft.com.txt +++ b/inc/3rdparty/site_config/standard/ft.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[contains(@class, 'ft-story-body')] | 1 | body: //div[contains(@class, 'ft-story-body')] |
2 | 2 | ||
3 | author: substring-after(//div[contains(@class, 'ft-story-header')]/p[1], 'By ') | 3 | author: substring-after(//div[contains(@class, 'ft-story-header')]/p[1], 'By ') |
4 | date: substring-before(substring-after(//div[contains(@class, 'ft-story-header')]/p[2], 'Published:'), '|') | 4 | date: substring-before(substring-after(//div[contains(@class, 'ft-story-header')]/p[2], 'Published:'), '|') |
5 | test_url: http://www.ft.com/cms/s/2/e1be4b5a-620c-11e0-8ee4-00144feab49a.html \ No newline at end of file | 5 | test_url: http://www.ft.com/cms/s/2/e1be4b5a-620c-11e0-8ee4-00144feab49a.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ftchinese.com.txt b/inc/3rdparty/site_config/standard/ftchinese.com.txt new file mode 100755 index 00000000..5c94d9b0 --- /dev/null +++ b/inc/3rdparty/site_config/standard/ftchinese.com.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | # Modified to define the single_page_link | ||
2 | # This filter is tested on: | ||
3 | # http://www.ftchinese.com/story/001047373 | ||
4 | # http://www.ftchinese.com/story/001047631 | ||
5 | # http://www.ftchinese.com/story/001047622/?print=y | ||
6 | # http://www.ftchinese.com/story/001049052 | ||
7 | # http://www.ftchinese.com/story/001049088 | ||
8 | |||
9 | title:substring-before(//title, '-') | ||
10 | author: //div[@class='byline']/a | ||
11 | date: //a[@class='storytime'] | ||
12 | #Set date in print view | ||
13 | #date: //div[@class='byline']/a/following-sibling::a | ||
14 | body: //div[@id="bodytext"] | ||
15 | strip://div[@class='pagination'] | ||
16 | single_page_link://div[@class='pagination']/a[.='全文'] | ||
17 | #next_page_link: //div[@class='pagination']//a[.='下一页'] | ||
18 | test_url: http://www.ftchinese.com/story/001049088 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/ftd.de.txt b/inc/3rdparty/site_config/standard/ftd.de.txt index a58765b0..7d76af00 100644..100755 --- a/inc/3rdparty/site_config/standard/ftd.de.txt +++ b/inc/3rdparty/site_config/standard/ftd.de.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@class='boxIntroHead']/span[@class='h3'] | //div[@class='section']/div[@class='paragraph' or @class='embObjLeft'] | 1 | body: //div[@class='boxIntroHead']/span[@class='h3'] | //div[@class='section']/div[@class='paragraph' or @class='embObjLeft'] |
2 | single_page_link: //a[@class='icon print'] | 2 | single_page_link: //a[@class='icon print'] |
3 | 3 | ||
4 | test_url: http://www.ftd.de/it-medien/it-telekommunikation/:mobilfunk-vivendi-und-vodafone-trennen-sich-in-frankreich/60034691.html | 4 | test_url: http://www.ftd.de/it-medien/it-telekommunikation/:mobilfunk-vivendi-und-vodafone-trennen-sich-in-frankreich/60034691.html |
5 | test_url: http://www.ftd.de/it-medien/medien-internet/:verkauf-von-warner-music-musikbranche-auf-dem-sprung/60048185.html \ No newline at end of file | 5 | test_url: http://www.ftd.de/it-medien/medien-internet/:verkauf-von-warner-music-musikbranche-auf-dem-sprung/60048185.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/fubiz.net.txt b/inc/3rdparty/site_config/standard/fubiz.net.txt index 8e6356bf..0dc30475 100644..100755 --- a/inc/3rdparty/site_config/standard/fubiz.net.txt +++ b/inc/3rdparty/site_config/standard/fubiz.net.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class = 'entry'] | 1 | body: //div[@class = 'entry'] |
2 | 2 | ||
3 | test_url: http://www.fubiz.net/2011/05/31/world-press-photo-2011/ \ No newline at end of file | 3 | test_url: http://www.fubiz.net/2011/05/31/world-press-photo-2011/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/futurezone.at.txt b/inc/3rdparty/site_config/standard/futurezone.at.txt index 50fc144a..808c1f1b 100644..100755 --- a/inc/3rdparty/site_config/standard/futurezone.at.txt +++ b/inc/3rdparty/site_config/standard/futurezone.at.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | date: //span[@class='date'] | 1 | date: //span[@class='date'] |
2 | strip: //div[@class='postsidebar'] | 2 | strip: //div[@class='postsidebar'] |
3 | body: //div[@class='singlepost'] | 3 | body: //div[@class='singlepost'] |
4 | title: //div[@class='singlepost']/h1 | 4 | title: //div[@class='singlepost']/h1 |
5 | move_into(//div[@class='singlepost']): //div[@class='info'] | 5 | move_into(//div[@class='singlepost']): //div[@class='info'] |
6 | strip: //div[@class='gallery'] | 6 | strip: //div[@class='gallery'] |
7 | strip: //div[@class='biggallery'] | 7 | strip: //div[@class='biggallery'] |
8 | strip: //ul[@class='social'] | 8 | strip: //ul[@class='social'] |
9 | strip: //ul[@class='social_mail'] | 9 | strip: //ul[@class='social_mail'] |
10 | 10 | ||
11 | test_url: http://futurezone.at/future/5502-erste-galileo-satelliten-starten-ins-all.php \ No newline at end of file | 11 | test_url: http://futurezone.at/future/5502-erste-galileo-satelliten-starten-ins-all.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gamasutra.com.txt b/inc/3rdparty/site_config/standard/gamasutra.com.txt index 35a8762a..7c808cfd 100644..100755 --- a/inc/3rdparty/site_config/standard/gamasutra.com.txt +++ b/inc/3rdparty/site_config/standard/gamasutra.com.txt | |||
@@ -1,20 +1,20 @@ | |||
1 | # default view title | 1 | # default view title |
2 | title: //span[@class='newsTitle'] | 2 | title: //span[@class='newsTitle'] |
3 | # print view title | 3 | # print view title |
4 | title: //h3[@class='title'] | 4 | title: //h3[@class='title'] |
5 | 5 | ||
6 | # default view author | 6 | # default view author |
7 | author: //span[@class='newsAuth']/a | 7 | author: //span[@class='newsAuth']/a |
8 | author: substring-after(//span[@class='newsAuth'], 'by ') | 8 | author: substring-after(//span[@class='newsAuth'], 'by ') |
9 | 9 | ||
10 | # default view date | 10 | # default view date |
11 | date: //td[@class='newsDate'] | 11 | date: //td[@class='newsDate'] |
12 | 12 | ||
13 | # default view body | 13 | # default view body |
14 | body: //td[@class='featureText'] | 14 | body: //td[@class='featureText'] |
15 | body: //td[@class='newsText'] | 15 | body: //td[@class='newsText'] |
16 | 16 | ||
17 | strip: //h3[@class='title'] | 17 | strip: //h3[@class='title'] |
18 | 18 | ||
19 | single_page_link: //a[contains(@href, '?print=1')] | 19 | single_page_link: //a[contains(@href, '?print=1')] |
20 | test_url: http://www.gamasutra.com/view/feature/132559/staying_power_rethinking_feedback_.php \ No newline at end of file | 20 | test_url: http://www.gamasutra.com/view/feature/132559/staying_power_rethinking_feedback_.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gameblog.fr.txt b/inc/3rdparty/site_config/standard/gameblog.fr.txt index 2cc4b378..73f8342f 100644..100755 --- a/inc/3rdparty/site_config/standard/gameblog.fr.txt +++ b/inc/3rdparty/site_config/standard/gameblog.fr.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | body: //div[@id='GBTVPlayer'] | //div[contains(@class, 'col490')] | 2 | body: //div[@id='GBTVPlayer'] | //div[contains(@class, 'col490')] |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | strip_id_or_class: noprint | 6 | strip_id_or_class: noprint |
7 | strip: //div[@id='gbNewsTextContent']/following-sibling::* | 7 | strip: //div[@id='gbNewsTextContent']/following-sibling::* |
8 | 8 | ||
9 | test_url: http://www.gameblog.fr/news/26330-les-sims-3-showtime-s-annonce-en-video | 9 | test_url: http://www.gameblog.fr/news/26330-les-sims-3-showtime-s-annonce-en-video |
10 | test_url: http://www.gameblog.fr/news/26306-mise-a-jour-du-dashboard-de-la-xbox-360-disponible \ No newline at end of file | 10 | test_url: http://www.gameblog.fr/news/26306-mise-a-jour-du-dashboard-de-la-xbox-360-disponible \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gamechurch.com.txt b/inc/3rdparty/site_config/standard/gamechurch.com.txt new file mode 100755 index 00000000..c9eea5f8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/gamechurch.com.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | title: //h1[@class='title'] | ||
2 | |||
3 | date: substring-before(substring-after(//div[@class='comment-bubble']/.., 'Posted'), 'by') | ||
4 | |||
5 | body: //div[@class='the-content'] | ||
6 | |||
7 | strip: //div[@class='article-image responsive'] | ||
8 | |||
9 | strip_id_or_class: 'pullquote' | ||
10 | test_url: http://gamechurch.com/virtual-gun-control-the-best-amendment/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/gamer.no.txt b/inc/3rdparty/site_config/standard/gamer.no.txt new file mode 100755 index 00000000..e76a59d9 --- /dev/null +++ b/inc/3rdparty/site_config/standard/gamer.no.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | body: //div[@class='pageContent description'] | ||
2 | date: //div[@class='authorsAndDateTime']/span[@title] | ||
3 | single_page_link: //div[@class='pages']/a[last()-1] | ||
4 | |||
5 | # fix images and captions | ||
6 | wrap_in(figure): //div[contains(concat(' ', @class, ' '), ' image')] | ||
7 | wrap_in(figcaption): //div[contains(concat(' ', @class, ' '), ' image')]/div[@class='text']/text() | ||
8 | |||
9 | # get rid of videos | ||
10 | strip_id_or_class: 'video full' | ||
11 | test_url: http://www.gamer.no/artikler/142455/slik-blei-ambisiose-dragons-dogma-skapt/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/gamereactor.no.txt b/inc/3rdparty/site_config/standard/gamereactor.no.txt new file mode 100755 index 00000000..6f7c1b9b --- /dev/null +++ b/inc/3rdparty/site_config/standard/gamereactor.no.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | title: //div[@id='content']/div/h1 | ||
2 | |||
3 | author: //a[@itemprop='reviewer'] | ||
4 | |||
5 | date: //time[@itemprop='dtreviewed']/@datetime | ||
6 | |||
7 | body: //div[@id='breadtext'] | ||
8 | |||
9 | # fix for NOT magically removing anchors with text identical to title | ||
10 | dissolve: //a[text()=//div[@id='content']/div/h1/text()] | ||
11 | test_url: http://www.gamereactor.no/previews/177481/The+Evil+Within/?sid=38b5bd30f56f1b7214de4ff5bed4b76f \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/garythink.com.txt b/inc/3rdparty/site_config/standard/garythink.com.txt index 1791e816..327ac55b 100644..100755 --- a/inc/3rdparty/site_config/standard/garythink.com.txt +++ b/inc/3rdparty/site_config/standard/garythink.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | 2 | ||
3 | test_url: http://www.garythink.com/eft/testing.html \ No newline at end of file | 3 | test_url: http://www.garythink.com/eft/testing.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gasteroprod.com.txt b/inc/3rdparty/site_config/standard/gasteroprod.com.txt index ef68082a..8eda0c36 100644..100755 --- a/inc/3rdparty/site_config/standard/gasteroprod.com.txt +++ b/inc/3rdparty/site_config/standard/gasteroprod.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | # These should work, but don't. They were given by Firefox XPather extension | 1 | # These should work, but don't. They were given by Firefox XPather extension |
2 | title: //article//header//a//h1 | 2 | title: //article//header//a//h1 |
3 | body: //article//section | 3 | body: //article//section |
4 | test_url: http://gasteroprod.com/blog/faut-il-continuer-a-supporter-internet-explorer-6.html \ No newline at end of file | 4 | test_url: http://gasteroprod.com/blog/faut-il-continuer-a-supporter-internet-explorer-6.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gatopardo.com.txt b/inc/3rdparty/site_config/standard/gatopardo.com.txt index 74346328..2ab144f5 100644..100755 --- a/inc/3rdparty/site_config/standard/gatopardo.com.txt +++ b/inc/3rdparty/site_config/standard/gatopardo.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | body: //div[@class='panel'] | 1 | body: //div[@class='panel'] |
2 | strip: //div[@style='float:right'] | 2 | strip: //div[@style='float:right'] |
3 | strip: //span[@class='titulosHomePublicidad'] | 3 | strip: //span[@class='titulosHomePublicidad'] |
4 | strip: //div[@id='TitTop5Der'] | 4 | strip: //div[@id='TitTop5Der'] |
5 | strip: //img[@src='/ImagesGatoPardo/LogoGatopardo.png'] | 5 | strip: //img[@src='/ImagesGatoPardo/LogoGatopardo.png'] |
6 | 6 | ||
7 | prune: yes | 7 | prune: yes |
8 | test_url: http://www.gatopardo.com/ReportajesGP.php?R=95 \ No newline at end of file | 8 | test_url: http://www.gatopardo.com/ReportajesGP.php?R=95 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gawker.com.txt b/inc/3rdparty/site_config/standard/gawker.com.txt index 6531d81a..9bc5613a 100644..100755 --- a/inc/3rdparty/site_config/standard/gawker.com.txt +++ b/inc/3rdparty/site_config/standard/gawker.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[@class="post-body"] | 1 | body: //div[@class="post-body"] |
2 | 2 | ||
3 | # Remove 'content is restricted' | 3 | # Remove 'content is restricted' |
4 | strip: //div[@id='agegate_IDHERE'] | 4 | strip: //div[@id='agegate_IDHERE'] |
5 | 5 | ||
6 | test_url: http://gawker.com/#!5782070/russian-bomb-squad-successfully-defuses-sex-toy \ No newline at end of file | 6 | test_url: http://gawker.com/#!5782070/russian-bomb-squad-successfully-defuses-sex-toy \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/geeksofdoom.com.txt b/inc/3rdparty/site_config/standard/geeksofdoom.com.txt index 55586e1c..89eb402f 100644..100755 --- a/inc/3rdparty/site_config/standard/geeksofdoom.com.txt +++ b/inc/3rdparty/site_config/standard/geeksofdoom.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | author: substring-after(//span[@class='storyauthor'],'Posted by') | 1 | author: substring-after(//span[@class='storyauthor'],'Posted by') |
2 | date: //span[@class='storydate'] | 2 | date: //span[@class='storydate'] |
3 | test_url: http://www.geeksofdoom.com/2012/03/14/robert-rodriguez-says-machete-kills-and-sin-city-2-will-film-this-year/ \ No newline at end of file | 3 | test_url: http://www.geeksofdoom.com/2012/03/14/robert-rodriguez-says-machete-kills-and-sin-city-2-will-film-this-year/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/geenstijl.nl.txt b/inc/3rdparty/site_config/standard/geenstijl.nl.txt index f6dccf48..a664b4d9 100644..100755 --- a/inc/3rdparty/site_config/standard/geenstijl.nl.txt +++ b/inc/3rdparty/site_config/standard/geenstijl.nl.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id = 'article'] | 1 | body: //div[@id = 'article'] |
2 | strip: //div[@id = 'klasbox'] | 2 | strip: //div[@id = 'klasbox'] |
3 | test_url: http://www.geenstijl.nl/mt/archieven/2010/10/vrouw_lange_frans_wou_baas_b_d.html \ No newline at end of file | 3 | test_url: http://www.geenstijl.nl/mt/archieven/2010/10/vrouw_lange_frans_wou_baas_b_d.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/getnews.jp.txt b/inc/3rdparty/site_config/standard/getnews.jp.txt index 537b4c2e..e28d4b8b 100644..100755 --- a/inc/3rdparty/site_config/standard/getnews.jp.txt +++ b/inc/3rdparty/site_config/standard/getnews.jp.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class='post'] | 1 | body: //div[@class='post'] |
2 | strip: //ul[@id='bookmark_single'] | 2 | strip: //ul[@id='bookmark_single'] |
3 | test_url: http://getnews.jp/archives/117312 \ No newline at end of file | 3 | test_url: http://getnews.jp/archives/117312 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/giantbomb.com.txt b/inc/3rdparty/site_config/standard/giantbomb.com.txt index 8a54bc07..61de51b2 100644..100755 --- a/inc/3rdparty/site_config/standard/giantbomb.com.txt +++ b/inc/3rdparty/site_config/standard/giantbomb.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | # 2011-11-19 - carlo@... - Initial setup. | 1 | # 2011-11-19 - carlo@... - Initial setup. |
2 | 2 | ||
3 | strip_id_or_class: user-review-detail | 3 | strip_id_or_class: user-review-detail |
4 | strip: //h1 | 4 | strip: //h1 |
5 | 5 | ||
6 | body: //div[@class="wiki-content"] | //div[@class="section-bd"] | //div[@class="news-story"] | 6 | body: //div[@class="wiki-content"] | //div[@class="section-bd"] | //div[@class="news-story"] |
7 | 7 | ||
8 | author: //span[@class="reviewer"] | //p[@class="byline"]/a/text() | 8 | author: //span[@class="reviewer"] | //p[@class="byline"]/a/text() |
9 | date: //span[@class="dtreviewed"] | 9 | date: //span[@class="dtreviewed"] |
10 | 10 | ||
11 | test_url: http://www.giantbomb.com/the-elder-scrolls-v-skyrim/61-33394/ \ No newline at end of file | 11 | test_url: http://www.giantbomb.com/the-elder-scrolls-v-skyrim/61-33394/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/giga.de.txt b/inc/3rdparty/site_config/standard/giga.de.txt index f60199ad..e2689eae 100644..100755 --- a/inc/3rdparty/site_config/standard/giga.de.txt +++ b/inc/3rdparty/site_config/standard/giga.de.txt | |||
@@ -1,20 +1,20 @@ | |||
1 | tidy:no | 1 | tidy:no |
2 | title://h2[@class="title"] | 2 | title://h2[@class="title"] |
3 | # author:"Ben Miller" | 3 | # author:"Ben Miller" |
4 | date://div[@id="stats"]/span | 4 | date://div[@id="stats"]/span |
5 | strip_id_or_class:stats | 5 | strip_id_or_class:stats |
6 | strip_id_or_class:breadcrumbs | 6 | strip_id_or_class:breadcrumbs |
7 | strip_id_or_class:gn-why-content | 7 | strip_id_or_class:gn-why-content |
8 | strip_id_or_class:single-social | 8 | strip_id_or_class:single-social |
9 | strip_id_or_class:sidebar-ads | 9 | strip_id_or_class:sidebar-ads |
10 | strip_id_or_class:sidebar-top | 10 | strip_id_or_class:sidebar-top |
11 | strip_id_or_class:footer | 11 | strip_id_or_class:footer |
12 | strip_id_or_class:post_meta | 12 | strip_id_or_class:post_meta |
13 | # strip_id_or_class: | 13 | # strip_id_or_class: |
14 | # strip_id_or_class: | 14 | # strip_id_or_class: |
15 | # strip_id_or_class: | 15 | # strip_id_or_class: |
16 | # strip_id_or_class: | 16 | # strip_id_or_class: |
17 | # strip_id_or_class: | 17 | # strip_id_or_class: |
18 | # strip_id_or_class: | 18 | # strip_id_or_class: |
19 | 19 | ||
20 | test_url: http://www.giga.de/benm/2011/10/17/probleme-mit-ios-5-wenn-die-daten-weg-sind/#more-58033 \ No newline at end of file | 20 | test_url: http://www.giga.de/benm/2011/10/17/probleme-mit-ios-5-wenn-die-daten-weg-sind/#more-58033 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gigaom.com.txt b/inc/3rdparty/site_config/standard/gigaom.com.txt index 348bdf23..cc8fdfa0 100644..100755 --- a/inc/3rdparty/site_config/standard/gigaom.com.txt +++ b/inc/3rdparty/site_config/standard/gigaom.com.txt | |||
@@ -1,17 +1,12 @@ | |||
1 | date: //meta[@name='DC.date.issued']/@content | 1 | date: //meta[@name='dcterms.created']/@content |
2 | date: //span[@class='post-meta the-date'] | 2 | title: //meta[@property='og:title']/@content |
3 | 3 | author: //section[@class="post-meta"]//a[@rel="author"] | |
4 | title: //meta[@property='og:title']/@content | 4 | |
5 | 5 | body: //div[starts-with(@id, 'post-content-')] | |
6 | author: //meta[@name='DC.creator']/@content | 6 | |
7 | 7 | strip_id_or_class: sharedaddy | |
8 | body: //div[contains(@class, 'post-sub-head') or starts-with(@id, 'post-content-')] | 8 | |
9 | 9 | prune: no | |
10 | find_string: id="content" | 10 | |
11 | replace_string: id="content-ignore" | 11 | test_url: http://gigaom.com/2011/10/24/groupon-google-lawsuit/ |
12 | 12 | test_url: http://gigaom.com/2012/12/26/snapchat-rises-why-pokes-decline-shows-facebooks-inability-to-invent/ \ No newline at end of file | |
13 | strip_id_or_class: sharedaddy | ||
14 | |||
15 | prune: no | ||
16 | |||
17 | test_url: http://gigaom.com/2011/10/24/groupon-google-lawsuit/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/gihyo.jp.txt b/inc/3rdparty/site_config/standard/gihyo.jp.txt index 478b23a3..d3534b29 100644..100755 --- a/inc/3rdparty/site_config/standard/gihyo.jp.txt +++ b/inc/3rdparty/site_config/standard/gihyo.jp.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | single_page_link: //p[@id='skip']//a[contains(@href, 'skip')] | 1 | single_page_link: //p[@id='skip']//a[contains(@href, 'skip')] |
2 | 2 | ||
3 | test_url: http://gihyo.jp/dev/serial/01/machine-learning/0010 \ No newline at end of file | 3 | test_url: http://gihyo.jp/dev/serial/01/machine-learning/0010 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gist.github.com.txt b/inc/3rdparty/site_config/standard/gist.github.com.txt index 53095b34..90207862 100644..100755 --- a/inc/3rdparty/site_config/standard/gist.github.com.txt +++ b/inc/3rdparty/site_config/standard/gist.github.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[@class="highlight"]/pre | 1 | body: //div[@class="highlight"]/pre |
2 | 2 | ||
3 | prune: no | 3 | prune: no |
4 | tidy: no | 4 | tidy: no |
5 | 5 | ||
6 | test_url: https://gist.github.com/1258908 \ No newline at end of file | 6 | test_url: https://gist.github.com/1258908 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/givemesomethingtoread.com.txt b/inc/3rdparty/site_config/standard/givemesomethingtoread.com.txt index 144ce045..0de0750b 100644..100755 --- a/inc/3rdparty/site_config/standard/givemesomethingtoread.com.txt +++ b/inc/3rdparty/site_config/standard/givemesomethingtoread.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | single_page_link: //div[@id="content"]//h2/a | 1 | single_page_link: //div[@id="content"]//h2/a |
2 | 2 | ||
3 | test_url: http://givemesomethingtoread.com/post/6285838917/the-baddest-lawyer-in-the-history-of-jersey \ No newline at end of file | 3 | test_url: http://givemesomethingtoread.com/post/6285838917/the-baddest-lawyer-in-the-history-of-jersey \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gizmodo.co.uk.txt b/inc/3rdparty/site_config/standard/gizmodo.co.uk.txt index 285e76c0..2eb82a6d 100644..100755 --- a/inc/3rdparty/site_config/standard/gizmodo.co.uk.txt +++ b/inc/3rdparty/site_config/standard/gizmodo.co.uk.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@id="leadimage" or @class="postcontent"] | 1 | body: //div[@id="leadimage" or @class="postcontent"] |
2 | author: //div[@class="contentauthor"] | 2 | author: //div[@class="contentauthor"] |
3 | date: //div[@class="timestamp"] | 3 | date: //div[@class="timestamp"] |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | test_url: http://www.gizmodo.co.uk/2013/02/bbc-forcing-poor-old-sir-david-attenborough-to-go-on-twitter/ \ No newline at end of file | 7 | test_url: http://www.gizmodo.co.uk/2013/02/bbc-forcing-poor-old-sir-david-attenborough-to-go-on-twitter/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gizmodo.com.txt b/inc/3rdparty/site_config/standard/gizmodo.com.txt index c9536255..e73ec9d2 100644..100755 --- a/inc/3rdparty/site_config/standard/gizmodo.com.txt +++ b/inc/3rdparty/site_config/standard/gizmodo.com.txt | |||
@@ -1,7 +1,11 @@ | |||
1 | body: //div[@class="post-body" or contains(@class, 'illustration top')] | 1 | #body: //div[@class="post-body" or contains(@class, 'illustration top')] |
2 | author: (//cite//span[@class="plus-icon"])[1] | 2 | body: //div[contains(@class, 'image-annotation-box') or contains(@class, 'post-content')] |
3 | date: //span[@class="date"] | 3 | #author: (//cite//span[@class="plus-icon"])[1] |
4 | 4 | author: //span[contains(@class, 'display-name')] | |
5 | prune: no | 5 | date: //span[@class="date"] |
6 | 6 | ||
7 | test_url: http://gizmodo.com/5880147/kuhn-rikon-improves-their-spice-grinder-with-grade-school-science \ No newline at end of file | 7 | prune: no |
8 | |||
9 | test_url: http://gizmodo.com/5880147/kuhn-rikon-improves-their-spice-grinder-with-grade-school-science | ||
10 | test_url: http://gizmodo.com/what-van-goghs-paintings-would-look-like-if-they-came-874035680 | ||
11 | test_url: http://gizmodo.com/vip.xml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/gizmodo.uol.com.br.txt b/inc/3rdparty/site_config/standard/gizmodo.uol.com.br.txt new file mode 100755 index 00000000..d963d684 --- /dev/null +++ b/inc/3rdparty/site_config/standard/gizmodo.uol.com.br.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //h1 | ||
2 | |||
3 | body: //div[@id='destaques']//div[contains(@class, 'img')] | //div[@id='maincontent']//p | ||
4 | |||
5 | test_url: http://gizmodo.uol.com.br/nvidia-gtx-titan-z/ | ||
6 | test_url: http://gizmodo.uol.com.br/perfil-mark-zuckerberg-hackeado/ | ||
diff --git a/inc/3rdparty/site_config/standard/gizmologia.com.txt b/inc/3rdparty/site_config/standard/gizmologia.com.txt index d2c7c9f9..d2c7c9f9 100644..100755 --- a/inc/3rdparty/site_config/standard/gizmologia.com.txt +++ b/inc/3rdparty/site_config/standard/gizmologia.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/gizmovil.com.txt b/inc/3rdparty/site_config/standard/gizmovil.com.txt index 5fc204b8..5fc204b8 100644..100755 --- a/inc/3rdparty/site_config/standard/gizmovil.com.txt +++ b/inc/3rdparty/site_config/standard/gizmovil.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/global.txt b/inc/3rdparty/site_config/standard/global.txt index 135ed500..71fbc934 100644..100755 --- a/inc/3rdparty/site_config/standard/global.txt +++ b/inc/3rdparty/site_config/standard/global.txt | |||
@@ -1,4 +1,18 @@ | |||
1 | # Look for Open Graph data - http://ogp.me | 1 | # Look for Open Graph data - http://ogp.me |
2 | title: //meta[@property="og:title"]/@content | 2 | title: //meta[@property="og:title"]/@content |
3 | date: //meta[@property="article:published_time"]/@content | 3 | date: //meta[@property="article:published_time"]/@content |
4 | # article:author is someties URL, e.g. on guardian.co.uk \ No newline at end of file | 4 | # article:author is someties URL, e.g. on guardian.co.uk |
5 | |||
6 | # Remove Google Publisher Tags: https://support.google.com/dfp_sb/answer/1649768?hl=en | ||
7 | #strip_id_or_class: div-gpt-ad | ||
8 | |||
9 | # Strip doubleclick image ads | ||
10 | strip_image_src: doubleclick.net | ||
11 | |||
12 | # If you get chunks of Javascript code appearing in the extracted output, try uncommenting the lines below. | ||
13 | # This tries to convert script tags to hidden div elements (which Full-Text RSS removes). | ||
14 | # If you notice issues with this approach, please let us know. | ||
15 | #find_string: <script | ||
16 | #replace_string: <div style="display:none" | ||
17 | #find_string: </script> | ||
18 | #replace_string: </div> \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/globalissues.org.txt b/inc/3rdparty/site_config/standard/globalissues.org.txt index 95d4becf..ee50f68f 100644..100755 --- a/inc/3rdparty/site_config/standard/globalissues.org.txt +++ b/inc/3rdparty/site_config/standard/globalissues.org.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='content'] |
2 | 2 | ||
3 | strip: //p[@class='top'] | 3 | strip: //p[@class='top'] |
4 | strip: //h2[.='Where next?'] | 4 | strip: //h2[.='Where next?'] |
5 | strip_id_or_class: where-next | 5 | strip_id_or_class: where-next |
6 | strip_id_or_class: social-bookmarks | 6 | strip_id_or_class: social-bookmarks |
7 | strip_id_or_class: link-to-here | 7 | strip_id_or_class: link-to-here |
8 | strip_id_or_class: options-heading | 8 | strip_id_or_class: options-heading |
9 | strip_id_or_class: page-options-content | 9 | strip_id_or_class: page-options-content |
10 | strip_id_or_class: page-info-bottom | 10 | strip_id_or_class: page-info-bottom |
11 | 11 | ||
12 | tidy: no | 12 | tidy: no |
13 | prune: no | 13 | prune: no |
14 | 14 | ||
15 | test_url: http://www.globalissues.org/article/39/a-primer-on-neoliberalism \ No newline at end of file | 15 | test_url: http://www.globalissues.org/article/39/a-primer-on-neoliberalism \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/globoesporte.globo.com.txt b/inc/3rdparty/site_config/standard/globoesporte.globo.com.txt new file mode 100755 index 00000000..fd8e70ff --- /dev/null +++ b/inc/3rdparty/site_config/standard/globoesporte.globo.com.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | title: //h1[@class="entry-title"] | ||
2 | |||
3 | body: //div[@class='materia-titulo']/h2 | //*[@id="materia-letra"] | ||
4 | |||
5 | date: //abbr[@class="published"] | ||
6 | date: //abbr[@class="updated"] | ||
7 | |||
8 | author: //*[@class="author"]/strong | ||
9 | |||
10 | strip: //div[contains(@class,'foto')]/strong | ||
11 | strip: //div[contains(@class,'frase-materia')]/div[@class='autor'] | ||
12 | strip: //div[contains(@class,'saibamais')] | ||
13 | strip: //*[contains(text(),'Clique aqui e veja mais')]/ancestor::p | ||
14 | strip: //ul[@class="toolbar"] | ||
15 | |||
16 | # quotes | ||
17 | wrap_in(blockquote): //div[@id='materia-letra']//div[contains(@class,'frase-materia')]/div[@class='frase'] | ||
18 | |||
19 | prune: no | ||
20 | |||
21 | replace_string([Clique aqui e veja mais vÃdeos do Fluminense]): [] | ||
22 | |||
23 | test_url: http://globoesporte.globo.com/atletismo/noticia/2013/08/michael-johnson-diz-que-bolt-e-melhor-da-historia-nao-ha-duvidas.html | ||
24 | test_url: http://globoesporte.globo.com/futebol/futebol-internacional/futebol-espanhol/noticia/2013/08/barca-atropela-levante-e-neymar-passa-em-branco-em-estreia-oficial.html | ||
25 | test_url: http://globoesporte.globo.com/futebol/times/fluminense/noticia/2013/08/poupado-no-sabado-felipe-se-diz-pronto-para-ser-titular-contra-o-goias.html | ||
diff --git a/inc/3rdparty/site_config/standard/gloswielkopolski.pl.txt b/inc/3rdparty/site_config/standard/gloswielkopolski.pl.txt new file mode 100755 index 00000000..16487955 --- /dev/null +++ b/inc/3rdparty/site_config/standard/gloswielkopolski.pl.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | title: //article[@id='material']/header/h1 | ||
2 | author: //article[@id='material']/header/div[2]/p | ||
3 | date: //article[@id='material']/header/p/time[1] | ||
4 | body: //section[@id='tresc'] | ||
5 | next_page_link: .//section[@id='tresc']/div[@class='stronicowanie']/a[@rel='next'] | ||
6 | strip://div[@class='podobneSonda'] | ||
7 | |||
8 | test_url: http://www.gloswielkopolski.pl/artykul/803547,abc-telemarketingu-praca-ktora-zwalnia-z-myslenia,id,t.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/goal.com.txt b/inc/3rdparty/site_config/standard/goal.com.txt index 075c4d2b..e25e9a00 100644..100755 --- a/inc/3rdparty/site_config/standard/goal.com.txt +++ b/inc/3rdparty/site_config/standard/goal.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | title: //div[@id='article_headline']//h1 | 1 | title: //div[@id='article_headline']//h1 |
2 | date: //div[contains(@class, 'articleDate')]//h4 | 2 | date: //div[contains(@class, 'articleDate')]//h4 |
3 | body: //div[@id='article_headline']/h2 | //div[@id='large_article_image' or @id='article_content'] | 3 | body: //div[@id='article_headline']/h2 | //div[@id='large_article_image' or @id='article_content'] |
4 | 4 | ||
5 | strip_id_or_class: relatedLinksBox | 5 | strip_id_or_class: relatedLinksBox |
6 | strip_id_or_class: betting-widget | 6 | strip_id_or_class: betting-widget |
7 | strip_image_src: install_flash.gif | 7 | strip_image_src: install_flash.gif |
8 | 8 | ||
9 | strip: //table[contains(@style, 'float: right; width: 285px;')] | 9 | strip: //table[contains(@style, 'float: right; width: 285px;')] |
10 | strip: //div[@class='caption'] | 10 | strip: //div[@class='caption'] |
11 | 11 | ||
12 | tidy: no | 12 | tidy: no |
13 | prune: no | 13 | prune: no |
14 | 14 | ||
15 | test_url: http://www.goal.com/en-gb/news/3284/euro-2012/2012/05/31/3139032/video-profile-back-to-his-very-best-for-bayern-frances-flair-and- | 15 | test_url: http://www.goal.com/en-gb/news/3284/euro-2012/2012/05/31/3139032/video-profile-back-to-his-very-best-for-bayern-frances-flair-and- |
16 | test_url: http://www.goal.com/en-gb/news/3284/euro-2012/2012/05/31/3139869/lampard-injury-a-bitter-blow-for-england-and-sorry-way-to# \ No newline at end of file | 16 | test_url: http://www.goal.com/en-gb/news/3284/euro-2012/2012/05/31/3139869/lampard-injury-a-bitter-blow-for-england-and-sorry-way-to# \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/golem.de.txt b/inc/3rdparty/site_config/standard/golem.de.txt index 6c5d1c4f..6afdebe8 100644..100755 --- a/inc/3rdparty/site_config/standard/golem.de.txt +++ b/inc/3rdparty/site_config/standard/golem.de.txt | |||
@@ -1,25 +1,25 @@ | |||
1 | # Jens Kohl, jens.kohl@... | 1 | # Jens Kohl, jens.kohl@... |
2 | # - Added publication date | 2 | # - Added publication date |
3 | # - Striped pagination block | 3 | # - Striped pagination block |
4 | # - Added single page link | 4 | # - Added single page link |
5 | # - Added xpath-querys for the printer friendly version | 5 | # - Added xpath-querys for the printer friendly version |
6 | 6 | ||
7 | title: //h1 | 7 | title: //h1 |
8 | body: //div[@class='formatted'] | 8 | body: //div[@class='formatted'] |
9 | prune: no | 9 | prune: no |
10 | 10 | ||
11 | date: substring-after(//li[2][@class="text1"], 'Datum:') | 11 | date: substring-after(//li[2][@class="text1"], 'Datum:') |
12 | strip: //ol[@class="list-chapters"] | 12 | strip: //ol[@class="list-chapters"] |
13 | strip_comments: yes | 13 | strip_comments: yes |
14 | 14 | ||
15 | # next: commands for printer friendly pages | 15 | # next: commands for printer friendly pages |
16 | single_page_link: //a[contains(@href, 'print.php?a=')]/@href | 16 | single_page_link: //a[contains(@href, 'print.php?a=')]/@href |
17 | title: //body/h3 | 17 | title: //body/h3 |
18 | strip_image_src: staticrl/images/logo.jpg | 18 | strip_image_src: staticrl/images/logo.jpg |
19 | strip_image_src: http://cpx.golem.de/cpx.php?class=7 | 19 | strip_image_src: http://cpx.golem.de/cpx.php?class=7 |
20 | strip: //body/h3 | 20 | strip: //body/h3 |
21 | strip: //body/b[1] | 21 | strip: //body/b[1] |
22 | strip: //body/b[2] | 22 | strip: //body/b[2] |
23 | strip: //body/b[3] | 23 | strip: //body/b[3] |
24 | strip: //div[1] | 24 | strip: //div[1] |
25 | test_url: http://www.golem.de/1112/88696.html \ No newline at end of file | 25 | test_url: http://www.golem.de/1112/88696.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/good.is.txt b/inc/3rdparty/site_config/standard/good.is.txt index 5cf67011..94159fbf 100644..100755 --- a/inc/3rdparty/site_config/standard/good.is.txt +++ b/inc/3rdparty/site_config/standard/good.is.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //div[@class="title"]/div/h1 | 1 | title: //div[@class="title"]/div/h1 |
2 | body: //div[@class="body"] | 2 | body: //div[@class="body"] |
3 | date: //li[@class="date-time"] | 3 | date: //li[@class="date-time"] |
4 | test_url: http://www.good.is/post/why-amazon-is-the-next-top-tech-company/ \ No newline at end of file | 4 | test_url: http://www.good.is/post/why-amazon-is-the-next-top-tech-company/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/goodfil.ms.txt b/inc/3rdparty/site_config/standard/goodfil.ms.txt new file mode 100755 index 00000000..f8bbbc6a --- /dev/null +++ b/inc/3rdparty/site_config/standard/goodfil.ms.txt | |||
@@ -0,0 +1,2 @@ | |||
1 | strip_id_or_class: gutter | ||
2 | test_url: http://goodfil.ms/blog/posts/2012/08/13/angularjs-and-the-goodfilms-mobile-site-part-1/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/gossip-tv.gr.txt b/inc/3rdparty/site_config/standard/gossip-tv.gr.txt index c2fe4e40..e2d2d0b2 100644..100755 --- a/inc/3rdparty/site_config/standard/gossip-tv.gr.txt +++ b/inc/3rdparty/site_config/standard/gossip-tv.gr.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | date: //meta[@name='og:article:published_time']/@value | 1 | date: //meta[@name='og:article:published_time']/@value |
2 | 2 | ||
3 | body: //div[@class='itemIntroText' or @class='itemImageBlock' or @class='itemFullText'] | 3 | body: //div[@class='itemIntroText' or @class='itemImageBlock' or @class='itemFullText'] |
4 | 4 | ||
5 | strip_id_or_class: itemImageGallery | 5 | strip_id_or_class: itemImageGallery |
6 | 6 | ||
7 | # remove extras at end of post content | 7 | # remove extras at end of post content |
8 | find_string: <div style="margin:5px 0 10px;"> | 8 | find_string: <div style="margin:5px 0 10px;"> |
9 | replace_string: </div></body></html><!-- | 9 | replace_string: </div></body></html><!-- |
10 | 10 | ||
11 | prune: no | 11 | prune: no |
12 | 12 | ||
13 | test_url: http://www.gossip-tv.gr/story/158902/aggelike-daliane-semera-duskoleuontai-oloi-sta-epaggelmatika-tous | 13 | test_url: http://www.gossip-tv.gr/story/158902/aggelike-daliane-semera-duskoleuontai-oloi-sta-epaggelmatika-tous |
14 | test_url: http://www.gossip-tv.gr/lifestyle/Taste/story/230266/lahtaristo-kai-ygieino-tost-sokolatas \ No newline at end of file | 14 | test_url: http://www.gossip-tv.gr/lifestyle/Taste/story/230266/lahtaristo-kai-ygieino-tost-sokolatas \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/goteborgsfria.se.txt b/inc/3rdparty/site_config/standard/goteborgsfria.se.txt new file mode 100755 index 00000000..c90aed0b --- /dev/null +++ b/inc/3rdparty/site_config/standard/goteborgsfria.se.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | body: //div[contains(@class, 'layout__inner')]//div[contains(@class, 'file-image') or contains(@class, 'node__content')] | ||
2 | author: //article//div[contains(@class, 'field-byline')] | ||
3 | strip_id_or_class: rekommenderade | ||
4 | strip_id_or_class: disqus | ||
5 | strip_id_or_class: annonser | ||
6 | |||
7 | test_url: http://www.goteborgsfria.se/artikel/112079 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/gothamist.com.txt b/inc/3rdparty/site_config/standard/gothamist.com.txt index 5179fc12..36453878 100644..100755 --- a/inc/3rdparty/site_config/standard/gothamist.com.txt +++ b/inc/3rdparty/site_config/standard/gothamist.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@class='entry-header'] | 1 | title: //div[@class='entry-header'] |
2 | author: //span[@class='vcard author'] | 2 | author: //span[@class='vcard author'] |
3 | date: //abbr[@class='published'] | 3 | date: //abbr[@class='published'] |
4 | #move_into(//div[@class='entry-body']): //img[@id='photo_1'] | 4 | #move_into(//div[@class='entry-body']): //img[@id='photo_1'] |
5 | body: //div[@class='entry-body'] | 5 | body: //div[@class='entry-body'] |
6 | strip: //div[@class='galleryEaseThumbs'] | 6 | strip: //div[@class='galleryEaseThumbs'] |
7 | test_url: http://gothamist.com/2012/03/15/fancy_cocktail_lounge_the_randolph.php \ No newline at end of file | 7 | test_url: http://gothamist.com/2012/03/15/fancy_cocktail_lounge_the_randolph.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gotomanager.com.txt b/inc/3rdparty/site_config/standard/gotomanager.com.txt index 7fb0ee03..f8af7324 100644..100755 --- a/inc/3rdparty/site_config/standard/gotomanager.com.txt +++ b/inc/3rdparty/site_config/standard/gotomanager.com.txt | |||
@@ -1,21 +1,21 @@ | |||
1 | title: //span[@id="showTitle"] | 1 | title: //span[@id="showTitle"] |
2 | author: //span[@id="showAuthor"] | 2 | author: //span[@id="showAuthor"] |
3 | date: //span[@id="showRefDate"] | 3 | date: //span[@id="showRefDate"] |
4 | 4 | ||
5 | strip: //span[@class="black_bold"] | 5 | strip: //span[@class="black_bold"] |
6 | strip: //div[@id="sectionName"] | 6 | strip: //div[@id="sectionName"] |
7 | strip: //div[@id="storyHeader"] | 7 | strip: //div[@id="storyHeader"] |
8 | 8 | ||
9 | body: //div[@id="newsBodyText"] | 9 | body: //div[@id="newsBodyText"] |
10 | 10 | ||
11 | strip_image_src: "http://www.gotomanager.com/img/mgrm/space.gif" | 11 | strip_image_src: "http://www.gotomanager.com/img/mgrm/space.gif" |
12 | strip_image_src: "http://www.gotomanager.com/images/separator.gif" | 12 | strip_image_src: "http://www.gotomanager.com/images/separator.gif" |
13 | strip_image_src: "http://www.gotomanager.com/images/spaces.gif" | 13 | strip_image_src: "http://www.gotomanager.com/images/spaces.gif" |
14 | 14 | ||
15 | convert_double_br_tags: yes | 15 | convert_double_br_tags: yes |
16 | tidy: yes | 16 | tidy: yes |
17 | 17 | ||
18 | strip: //div[@id="smallLeadImage"] | 18 | strip: //div[@id="smallLeadImage"] |
19 | strip: //div[@id="truehitsSurvey"] | 19 | strip: //div[@id="truehitsSurvey"] |
20 | strip: //table[@id="relatedInfoTable"] | 20 | strip: //table[@id="relatedInfoTable"] |
21 | test_url: http://www.gotomanager.com/news/details.aspx?id=86759 \ No newline at end of file | 21 | test_url: http://www.gotomanager.com/news/details.aspx?id=86759 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gov.ky.txt b/inc/3rdparty/site_config/standard/gov.ky.txt new file mode 100755 index 00000000..294ece3a --- /dev/null +++ b/inc/3rdparty/site_config/standard/gov.ky.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | strip: //body//title | ||
2 | |||
3 | test_url: http://www.gov.ky/pls/portal/PORTAL.wwv_media.show?p_id=7593947&p_settingssetid=1&p_settingssiteid=0&p_siteid=2425&p_type=basetext&p_textid=7593948 | ||
4 | test_url: http://www.rcips.ky/pls/portal/wlacomp.wlafeed.show_cignewsfeed_agency?p_sitecode=POL&p_agency=Police \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/gp.se.txt b/inc/3rdparty/site_config/standard/gp.se.txt new file mode 100755 index 00000000..158ae4ed --- /dev/null +++ b/inc/3rdparty/site_config/standard/gp.se.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | body: //div[@id='articleContainer'] | ||
2 | author: //div[@id='articleContent']//div[contains(@class, 'byline')]//span[contains(@class, 'name fn')] | ||
3 | strip_id_or_class: toolbar | ||
4 | strip_id_or_class: ADad | ||
5 | strip_id_or_class: articleSerieWrapper | ||
6 | strip_id_or_class: articleFloatContainer | ||
7 | strip: //div[contains(@class, 'byline')]//img | ||
8 | prune: no | ||
9 | |||
10 | test_url: http://www.gp.se/nyheter/bohuslan/1.2045564-styckade-mannen-hade-mordat-hustrun | ||
11 | test_url: http://www.gp.se/1.16560 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/gq.com.txt b/inc/3rdparty/site_config/standard/gq.com.txt index 233c4a7f..8ad8a14e 100644..100755 --- a/inc/3rdparty/site_config/standard/gq.com.txt +++ b/inc/3rdparty/site_config/standard/gq.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | next_page_link: //div[@class='pagination']//span[@class='paginationNext']/a | 1 | next_page_link: //div[@class='pagination']//span[@class='paginationNext']/a |
2 | strip_id_or_class: utility | 2 | strip_id_or_class: utility |
3 | strip_id_or_class: keywords | 3 | strip_id_or_class: keywords |
4 | strip_id_or_class: pagination | 4 | strip_id_or_class: pagination |
5 | strip_id_or_class: position2_content | 5 | strip_id_or_class: position2_content |
6 | body: //div[@class='article'] | 6 | body: //div[@class='article'] |
7 | title: //h1[@class='content-headline'] | 7 | title: //h1[@class='content-headline'] |
8 | author: //span[@class='contributor']//a | 8 | author: //span[@class='contributor']//a |
9 | test_url: http://www.gq.com/news-politics/newsmakers/201203/terry-thompson-ohio-zoo-massacre-chris-heath-gq-february-2012 \ No newline at end of file | 9 | test_url: http://www.gq.com/news-politics/newsmakers/201203/terry-thompson-ohio-zoo-massacre-chris-heath-gq-february-2012 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/grantland.com.txt b/inc/3rdparty/site_config/standard/grantland.com.txt index 3269e086..b8d419f4 100644..100755 --- a/inc/3rdparty/site_config/standard/grantland.com.txt +++ b/inc/3rdparty/site_config/standard/grantland.com.txt | |||
@@ -1,20 +1,20 @@ | |||
1 | # this is fragile with footnotes -- leave it for now | 1 | # this is fragile with footnotes -- leave it for now |
2 | 2 | ||
3 | #tidy: no | 3 | #tidy: no |
4 | #prune: no | 4 | #prune: no |
5 | #move_into(//article): //aside[@id='footnotes'] | 5 | #move_into(//article): //aside[@id='footnotes'] |
6 | author: //cite/a | 6 | author: //cite/a |
7 | date: //time | 7 | date: //time |
8 | 8 | ||
9 | strip: //a[text()='Grantland'] | 9 | strip: //a[text()='Grantland'] |
10 | strip_id_or_class: ad-wrapper | 10 | strip_id_or_class: ad-wrapper |
11 | strip_id_or_class: fb-connect-link | 11 | strip_id_or_class: fb-connect-link |
12 | strip_id_or_class: fb-status | 12 | strip_id_or_class: fb-status |
13 | strip: //li[@class='print'] | 13 | strip: //li[@class='print'] |
14 | strip: //cite | 14 | strip: //cite |
15 | strip: //a[contains(text(), '[+]')] | 15 | strip: //a[contains(text(), '[+]')] |
16 | strip: //a[@id='jump-nav-link'] | 16 | strip: //a[@id='jump-nav-link'] |
17 | strip: //h1[text()='Share This'] | 17 | strip: //h1[text()='Share This'] |
18 | strip: //h1[text()='Top Stories'] | 18 | strip: //h1[text()='Top Stories'] |
19 | strip: //div[@id="update-text-size"] | 19 | strip: //div[@id="update-text-size"] |
20 | test_url: http://www.grantland.com/story/_/id/8421241/examining-new-albums-rock-veterans-no-doubt-green-day \ No newline at end of file | 20 | test_url: http://www.grantland.com/story/_/id/8421241/examining-new-albums-rock-veterans-no-doubt-green-day \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/greatergreaterwashington.org.txt b/inc/3rdparty/site_config/standard/greatergreaterwashington.org.txt index a5258030..31a41075 100644..100755 --- a/inc/3rdparty/site_config/standard/greatergreaterwashington.org.txt +++ b/inc/3rdparty/site_config/standard/greatergreaterwashington.org.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //div[@class="blogpost"]/h2 | 1 | title: //div[@class="blogpost"]/h2 |
2 | author: //div[@class="blogpost"]/p[@class="byline"]/a | 2 | author: //div[@class="blogpost"]/p[@class="byline"]/a |
3 | date: //div[@class="blogpost"]/p[@class="byline"]/span[@class="time_posted"] | 3 | date: //div[@class="blogpost"]/p[@class="byline"]/span[@class="time_posted"] |
4 | body: //div[@class="blogpost"] | 4 | body: //div[@class="blogpost"] |
5 | strip_id_or_class: flag | 5 | strip_id_or_class: flag |
6 | strip_id_or_class: byline | 6 | strip_id_or_class: byline |
7 | strip_id_or_class: post_footer | 7 | strip_id_or_class: post_footer |
8 | strip_id_or_class: related_posts | 8 | strip_id_or_class: related_posts |
9 | strip_id_or_class: post_author_bios | 9 | strip_id_or_class: post_author_bios |
10 | strip: //h2 | 10 | strip: //h2 |
11 | test_url: http://greatergreaterwashington.org/post/12457/ask-ggw-what-will-happen-to-the-1000-series-railcars/ \ No newline at end of file | 11 | test_url: http://greatergreaterwashington.org/post/12457/ask-ggw-what-will-happen-to-the-1000-series-railcars/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/groups.drupal.org.txt b/inc/3rdparty/site_config/standard/groups.drupal.org.txt index 7e15a5c1..0fe30ef5 100644..100755 --- a/inc/3rdparty/site_config/standard/groups.drupal.org.txt +++ b/inc/3rdparty/site_config/standard/groups.drupal.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title://h1 | 1 | title://h1 |
2 | author://span[@class="submitted"]/a | 2 | author://span[@class="submitted"]/a |
3 | date:substring-after(//span[@class="submitted"],'on ') | 3 | date:substring-after(//span[@class="submitted"],'on ') |
4 | body://div[@class="content"] | 4 | body://div[@class="content"] |
5 | test_url: http://groups.drupal.org/node/36816 \ No newline at end of file | 5 | test_url: http://groups.drupal.org/node/36816 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/gulfnews.com.txt b/inc/3rdparty/site_config/standard/gulfnews.com.txt index e69044b3..97b620de 100644..100755 --- a/inc/3rdparty/site_config/standard/gulfnews.com.txt +++ b/inc/3rdparty/site_config/standard/gulfnews.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@class='wrapper_half']//ul[@class='details'] | //div[@class='wrapper_half']//p[@class='synopsis'] | //div[@class='wrapper_half']//div[@class='image'] | //div[@class='wrapper_half']//div[@class='article'] | 1 | body: //div[@class='wrapper_half']//ul[@class='details'] | //div[@class='wrapper_half']//p[@class='synopsis'] | //div[@class='wrapper_half']//div[@class='image'] | //div[@class='wrapper_half']//div[@class='article'] |
2 | strip: //div[@class='wrapper_half']//ul[@class='details']/li[position()>1] | 2 | strip: //div[@class='wrapper_half']//ul[@class='details']/li[position()>1] |
3 | prune: no | 3 | prune: no |
4 | tidy: no | 4 | tidy: no |
5 | test_url: http://gulfnews.com/news/gulf/uae/government/abu-dhabi-centre-offers-useful-information-1.811084 \ No newline at end of file | 5 | test_url: http://gulfnews.com/news/gulf/uae/government/abu-dhabi-centre-offers-useful-information-1.811084 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/guokr.com.txt b/inc/3rdparty/site_config/standard/guokr.com.txt index 00255eb8..f8327bea 100644..100755 --- a/inc/3rdparty/site_config/standard/guokr.com.txt +++ b/inc/3rdparty/site_config/standard/guokr.com.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | # To administrator: | 1 | # To administrator: |
2 | # Please change the hostname to "www.guokr.com/article/*" | 2 | # Please change the hostname to "www.guokr.com/article/*" |
3 | # Not working for "www.guokr.com/post/" pages configured by carlosliu913@gmail.com | 3 | # Not working for "www.guokr.com/post/" pages configured by carlosliu913@gmail.com |
4 | 4 | ||
5 | # This filter is tested on: | 5 | # This filter is tested on: |
6 | # http://www.guokr.com/article/274325/ | 6 | # http://www.guokr.com/article/274325/ |
7 | # http://www.guokr.com/article/275013/ | 7 | # http://www.guokr.com/article/275013/ |
8 | 8 | ||
9 | title://h1 | 9 | title://h1 |
10 | author://div[contains(@class, 'content-th-info')]/a | 10 | author://div[contains(@class, 'content-th-info')]/a |
11 | date://div[contains(@class, 'content-th-info')]/span | 11 | date://div[contains(@class, 'content-th-info')]/span |
12 | body://div[contains(@class, 'Content')] | 12 | body://div[contains(@class, 'Content')] |
13 | 13 | ||
14 | strip://div[contains(@class, 'bottom-i')] | 14 | strip://div[contains(@class, 'bottom-i')] |
15 | strip://div[contains(@class, 'copyright')] | 15 | strip://div[contains(@class, 'copyright')] |
16 | strip://div[contains(@class, 'fr')] | 16 | strip://div[contains(@class, 'fr')] |
17 | strip://div[contains(@class, 'content-th-info')] | 17 | strip://div[contains(@class, 'content-th-info')] |
18 | strip://h1[contains(@id, 'articleTitle')] | 18 | strip://h1[contains(@id, 'articleTitle')] |
19 | strip://div[contains(@class, 'side')] | 19 | strip://div[contains(@class, 'side')] |
20 | strip://div[contains(@class, 'top-wp')] | 20 | strip://div[contains(@class, 'top-wp')] |
21 | test_url: http://www.guokr.com/article/275013/ | 21 | test_url: http://www.guokr.com/article/275013/ |
22 | test_url: http://www.guokr.com/article/338387/ \ No newline at end of file | 22 | test_url: http://www.guokr.com/article/338387/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/haberler.com.txt b/inc/3rdparty/site_config/standard/haberler.com.txt index bc1ce689..1bb2bc7d 100644..100755 --- a/inc/3rdparty/site_config/standard/haberler.com.txt +++ b/inc/3rdparty/site_config/standard/haberler.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@id="habermetni"]/h1[@id="haber_baslik"] | 1 | title: //div[@id="habermetni"]/h1[@id="haber_baslik"] |
2 | body: //div[@id="habermetni"]/p | 2 | body: //div[@id="habermetni"]/p |
3 | strip: //img[@class='newsDetailLeft'] | 3 | strip: //img[@class='newsDetailLeft'] |
4 | strip_image_src: /haber-resimleri/ | 4 | strip_image_src: /haber-resimleri/ |
5 | test_url: http://www.haberler.com/emniyete-atacakti-elinde-patladi-3198733-haberi/ \ No newline at end of file | 5 | test_url: http://www.haberler.com/emniyete-atacakti-elinde-patladi-3198733-haberi/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/habrahabr.ru.txt b/inc/3rdparty/site_config/standard/habrahabr.ru.txt new file mode 100755 index 00000000..67538359 --- /dev/null +++ b/inc/3rdparty/site_config/standard/habrahabr.ru.txt | |||
@@ -0,0 +1,21 @@ | |||
1 | title: //span[@class="post_title"] | ||
2 | author: //div[@class="author"] | ||
3 | date: //div[@class="published | ||
4 | |||
5 | body: //div[@class='content html_format'] | //div[@id='comments'] | ||
6 | |||
7 | strip: //a[@class="link_to_comment"] | ||
8 | strip: //div[@class="show_tree"] | ||
9 | strip: //a[@class="to_parent"] | ||
10 | |||
11 | |||
12 | replace_string(class="reply_comments"): style="padding-left: 20px" | ||
13 | replace_string(class="voting "): style="float: right" | ||
14 | replace_string(src="//habrastorage.org/getpro/habr/avatars/): style="width:24px; height:24px;" class="123" src="//habrastorage.org/getpro/habr/avatars/ | ||
15 | replace_string(class="info "): style="padding-top:5px;font-size:0.85em;line-height:24px;" | ||
16 | |||
17 | |||
18 | prune: no | ||
19 | tidy: no | ||
20 | |||
21 | test_url: http://habrahabr.ru/post/229883/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/hackmake.org.txt b/inc/3rdparty/site_config/standard/hackmake.org.txt new file mode 100755 index 00000000..98140117 --- /dev/null +++ b/inc/3rdparty/site_config/standard/hackmake.org.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | date: //article//time[@pubdate] | ||
2 | body: //article/div[@id="post-wide"] | ||
3 | title: //article/header/h2 | ||
4 | strip: /div[@id="comment"] | ||
5 | strip: //footer | ||
6 | author: substring-after(//footer/p[@class='byline'] , 'By') | ||
7 | test_url: http://hackmake.org/2012/12/21/mindfulness-of-concentration \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/halo.bungie.org.txt b/inc/3rdparty/site_config/standard/halo.bungie.org.txt index 7989d09f..1802efea 100644..100755 --- a/inc/3rdparty/site_config/standard/halo.bungie.org.txt +++ b/inc/3rdparty/site_config/standard/halo.bungie.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title:substring-before(id("maincontent")/table, 'Posted') | 1 | title:substring-before(id("maincontent")/table, 'Posted') |
2 | body:id("maincontent")/p | 2 | body:id("maincontent")/p |
3 | # eventually convert linebreaks better | 3 | # eventually convert linebreaks better |
4 | 4 | ||
5 | test_url: http://halo.bungie.org/fanfic/?story=Delahunt0312112316071.html \ No newline at end of file | 5 | test_url: http://halo.bungie.org/fanfic/?story=Delahunt0312112316071.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hammers.theoffside.com.txt b/inc/3rdparty/site_config/standard/hammers.theoffside.com.txt index 747f90a1..33f7e726 100644..100755 --- a/inc/3rdparty/site_config/standard/hammers.theoffside.com.txt +++ b/inc/3rdparty/site_config/standard/hammers.theoffside.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | # Remove right column | 1 | # Remove right column |
2 | strip: //*[(@class = 'right_col')] | 2 | strip: //*[(@class = 'right_col')] |
3 | 3 | ||
4 | # Remove comments etc. | 4 | # Remove comments etc. |
5 | strip: //*[(@class = 'category')] | 5 | strip: //*[(@class = 'category')] |
6 | strip: /html/body/div[1][@class='absolute_content_high']/div[1][@class='wrapper']/div[1][@class='main_col']/div[@class='main_content']/h3 | 6 | strip: /html/body/div[1][@class='absolute_content_high']/div[1][@class='wrapper']/div[1][@class='main_col']/div[@class='main_content']/h3 |
7 | test_url: http://hammers.theoffside.com/carling-cup/a-funny-thing-happened-on-the-way-to-4-nil.html \ No newline at end of file | 7 | test_url: http://hammers.theoffside.com/carling-cup/a-funny-thing-happened-on-the-way-to-4-nil.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/handelsblatt.com.txt b/inc/3rdparty/site_config/standard/handelsblatt.com.txt new file mode 100755 index 00000000..7d067aa6 --- /dev/null +++ b/inc/3rdparty/site_config/standard/handelsblatt.com.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | #Single Page | ||
2 | single_page_link: //li[contains(@class,"hcf-print")]/a | ||
3 | |||
4 | # Title hcf-headline | ||
5 | title: //span[@class='hcf-headline'] | ||
6 | |||
7 | # Authors | ||
8 | author: //div[@class="hcf-author"]/a/text() | ||
9 | author: substring-after(//div[@class='hcf-author'], 'von ') | ||
10 | |||
11 | # Date | ||
12 | date: //div[@class='hcf-article-date'] | ||
13 | |||
14 | # Body | ||
15 | body: //div[@class='article'] | ||
16 | |||
17 | # General removements | ||
18 | strip: //div[contains(@class,"hcf-smartbox")] | ||
19 | strip: //div[contains(@class,"hcf-stopper")] | ||
20 | strip: //div[contains(@class,"hcf-img-controls")] | ||
21 | strip: //span[@class='hcf-location-mark'] | ||
22 | strip: //span[@class='hcf-copyright'] | ||
23 | strip: //div[@class='hcf-copyright'] | ||
24 | strip: //div[@class='hcf-origin'] | ||
25 | |||
26 | |||
27 | |||
28 | |||
29 | # Fix picture captions | ||
30 | wrap_in(small): //div[@class="hcf-caption"] | ||
31 | test_url: http://www.handelsblatt.com/meinung/gastbeitraege/gastkommentar-zum-emissionshandel-kurskorrekturen-fuehren-zum-kentern/8044326.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/hanselman.com.txt b/inc/3rdparty/site_config/standard/hanselman.com.txt index d3ffeab1..1dca632f 100644..100755 --- a/inc/3rdparty/site_config/standard/hanselman.com.txt +++ b/inc/3rdparty/site_config/standard/hanselman.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | date: //span[@class="item-date"] | 1 | date: //span[@class="item-date"] |
2 | body: //div[@class="item-content"] | 2 | body: //div[@class="item-content"] |
3 | strip_comments: no | 3 | strip_comments: no |
4 | test_url: http://www.hanselman.com/blog/BrainBytesBackBunsTheProgrammersPriorities.aspx \ No newline at end of file | 4 | test_url: http://www.hanselman.com/blog/BrainBytesBackBunsTheProgrammersPriorities.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hardware.fr.txt b/inc/3rdparty/site_config/standard/hardware.fr.txt index 318885c8..e4f1f6bc 100644..100755 --- a/inc/3rdparty/site_config/standard/hardware.fr.txt +++ b/inc/3rdparty/site_config/standard/hardware.fr.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | author: //a[@class='a_aut'] | 2 | author: //a[@class='a_aut'] |
3 | body: //div[@class='content_dossier'] | 3 | body: //div[@class='content_dossier'] |
4 | strip: //div[@id='pagination'] | 4 | strip: //div[@id='pagination'] |
5 | next_page_link: //div[@class='sommaire_colonne']//span[@class='page_actuelle']/following::span[@class='autres_page']//a/@href | 5 | next_page_link: //div[@class='sommaire_colonne']//span[@class='page_actuelle']/following::span[@class='autres_page']//a/@href |
6 | test_url: http://www.hardware.fr/articles/850-1/pci-express-3-0-impact-performances.html \ No newline at end of file | 6 | test_url: http://www.hardware.fr/articles/850-1/pci-express-3-0-impact-performances.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hardware.no.txt b/inc/3rdparty/site_config/standard/hardware.no.txt new file mode 100755 index 00000000..cbbcf84e --- /dev/null +++ b/inc/3rdparty/site_config/standard/hardware.no.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | title: //h1[@class='headline'] | ||
2 | title: //h2[@itemprop='alternativeHeadline'] | ||
3 | title: //h1[@itemprop='headline'] | ||
4 | author: //span[@itemprop='name'] | ||
5 | date: //time[@itemprop='datePublished'] | ||
6 | body: //div[@itemprop='reviewBody'] | ||
7 | |||
8 | wrap_in(blockquote): //div[@class='factBox'] | ||
9 | |||
10 | next_page_link: //a[@rel='next'] | ||
11 | |||
12 | strip_id_or_class: 'product-box' | ||
13 | strip: //a[@rel='next'] | ||
14 | strip: //a[text()='Del på Facebook'] | ||
15 | strip: //a[text()='Del på Twitter'] | ||
16 | test_url: http://www.hardware.no/artikler/asus-vg248qe/132792 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/hbr.org.txt b/inc/3rdparty/site_config/standard/hbr.org.txt index fd6145e7..c2f292e1 100644..100755 --- a/inc/3rdparty/site_config/standard/hbr.org.txt +++ b/inc/3rdparty/site_config/standard/hbr.org.txt | |||
@@ -1,6 +1,7 @@ | |||
1 | title: //div[@id='article-title'] | 1 | title: //div[@id='article-title'] |
2 | author: //div[@id='articleAuthors'] | 2 | author: //div[@id='articleAuthors'] |
3 | body: //div[@id='article'] | 3 | body: //div[@id='article'] |
4 | strip: //div[@class='module wide'] | 4 | strip: //div[@class='module wide'] |
5 | next_page_link: //a[@title='Next Page'] | 5 | #single_page_link: //a[@class='social-print'] |
6 | test_url: http://hbr.org/2012/04/the-real-leadership-lessons-of-steve-jobs/ar/ \ No newline at end of file | 6 | test_url: http://hbr.org/2012/04/the-real-leadership-lessons-of-steve-jobs/ar/ |
7 | test_url: http://hbr.org/2013/03/big-bang-disruption/ar/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/headrush.typepad.com.txt b/inc/3rdparty/site_config/standard/headrush.typepad.com.txt new file mode 100755 index 00000000..a3146771 --- /dev/null +++ b/inc/3rdparty/site_config/standard/headrush.typepad.com.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | title://div[@class='content']/h3[1] | ||
2 | body://div[@class='content'] | ||
3 | |||
4 | # Article nav | ||
5 | strip://div[@class='content']/p[1] | ||
6 | |||
7 | # Comments and trackbacks | ||
8 | strip://h2/following-sibling::p | ||
9 | strip://h2 | ||
10 | |||
11 | # Posted on | ||
12 | strip://b/p | ||
13 | strip://div[@class='content']/p[@class='posted'] | ||
14 | test_url: http://headrush.typepad.com/creating_passionate_users/2005/05/the_case_for_ea.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/heise-online.mobi.txt b/inc/3rdparty/site_config/standard/heise-online.mobi.txt index 1da82ac7..daff6143 100644..100755 --- a/inc/3rdparty/site_config/standard/heise-online.mobi.txt +++ b/inc/3rdparty/site_config/standard/heise-online.mobi.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id='content']/div | 1 | body: //div[@id='content']/div |
2 | date: //p[@class='author_date']/span[@class='date'] | 2 | date: //p[@class='author_date']/span[@class='date'] |
3 | test_url: http://heise-online.mobi/newsticker/meldung/Amazons-Appstore-in-der-Kritik-Ein-Desaster-fuer-Kunden-und-Entwickler-1273936.html \ No newline at end of file | 3 | test_url: http://heise-online.mobi/newsticker/meldung/Amazons-Appstore-in-der-Kritik-Ein-Desaster-fuer-Kunden-und-Entwickler-1273936.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/heise.de.txt b/inc/3rdparty/site_config/standard/heise.de.txt index 5f19d3f8..c51af561 100644..100755 --- a/inc/3rdparty/site_config/standard/heise.de.txt +++ b/inc/3rdparty/site_config/standard/heise.de.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | single_page_link: //p[@class='news_option']/a | 1 | single_page_link: //p[@class='news_option']/a |
2 | 2 | ||
3 | date: //p[@class='news_datum'] | 3 | date: //p[@class='news_datum'] |
4 | title: //h1 | 4 | title: //h1 |
5 | body: //div[@class='meldung_wrapper'] | 5 | body: //div[@class='meldung_wrapper'] |
6 | 6 | ||
7 | test_url: http://www.heise.de/newsticker/meldung/Europa-soll-Grundrechteschutz-im-Netz-staerken-1392664.html \ No newline at end of file | 7 | test_url: http://www.heise.de/newsticker/meldung/Europa-soll-Grundrechteschutz-im-Netz-staerken-1392664.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hemmings.com.txt b/inc/3rdparty/site_config/standard/hemmings.com.txt new file mode 100755 index 00000000..a02b4a62 --- /dev/null +++ b/inc/3rdparty/site_config/standard/hemmings.com.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | title: //h2 | ||
2 | body: //div[@id='leftdetail'] | ||
3 | single_page_link: //a[contains(@href, 'printable=1')] | ||
4 | strip: //a[contains(., 'Full Version')] | ||
5 | |||
6 | prune: no | ||
7 | |||
8 | test_url: http://www.hemmings.com/classifieds/dealer/ferrari/330gtc/1601235.html | ||
9 | test_url: http://www.hemmings.com/rss/keyword.xml?adtype=carsforsale&make=ferrari \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/heroturko.me.txt b/inc/3rdparty/site_config/standard/heroturko.me.txt new file mode 100755 index 00000000..07b6adf1 --- /dev/null +++ b/inc/3rdparty/site_config/standard/heroturko.me.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //div[contains(@class, 'title')]//h1 | ||
2 | body: //div[contains(@class, 'story')] | ||
3 | |||
4 | prune: no | ||
5 | |||
6 | test_url: http://www.heroturko.me/5223034-ds-catia-p3-v5-6r2014-gasp0-x86x64-multilanguage-english-docs.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/hespress.com.txt b/inc/3rdparty/site_config/standard/hespress.com.txt index d866f629..4ed0b8b5 100644..100755 --- a/inc/3rdparty/site_config/standard/hespress.com.txt +++ b/inc/3rdparty/site_config/standard/hespress.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@id='article_holder']//div[@class='image'] | //div[@id='article_body'] | 1 | body: //div[@id='article_holder']//div[@class='image'] | //div[@id='article_body'] |
2 | 2 | ||
3 | prune: no | 3 | prune: no |
4 | tidy: no | 4 | tidy: no |
5 | 5 | ||
6 | test_url: http://hespress.com/videos/73684.html | 6 | test_url: http://hespress.com/videos/73684.html |
7 | test_url: http://hespress.com/permalink/73678.html \ No newline at end of file | 7 | test_url: http://hespress.com/permalink/73678.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hiamag.com.txt b/inc/3rdparty/site_config/standard/hiamag.com.txt new file mode 100755 index 00000000..3c7ba5ac --- /dev/null +++ b/inc/3rdparty/site_config/standard/hiamag.com.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | body: (//div[contains(@class, 'gallery-slides')]//img)[1] | //div[contains(@class, 'node_body_inner')] | ||
2 | |||
3 | test_url: http://www.hiamag.com/rss.xml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/highscalability.com.txt b/inc/3rdparty/site_config/standard/highscalability.com.txt index fd50b6ad..5a808fa4 100644..100755 --- a/inc/3rdparty/site_config/standard/highscalability.com.txt +++ b/inc/3rdparty/site_config/standard/highscalability.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class='journal-entry-text'] | 1 | body: //div[@class='journal-entry-text'] |
2 | 2 | ||
3 | test_url: http://highscalability.com/blog/2011/3/14/6-lessons-from-dropbox-one-million-files-saved-every-15-minu.html \ No newline at end of file | 3 | test_url: http://highscalability.com/blog/2011/3/14/6-lessons-from-dropbox-one-million-files-saved-every-15-minu.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hiperpop.com.txt b/inc/3rdparty/site_config/standard/hiperpop.com.txt index b5eb062e..b5eb062e 100644..100755 --- a/inc/3rdparty/site_config/standard/hiperpop.com.txt +++ b/inc/3rdparty/site_config/standard/hiperpop.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/hiphopleeft.nl.txt b/inc/3rdparty/site_config/standard/hiphopleeft.nl.txt index c57c1aa9..d869a866 100644..100755 --- a/inc/3rdparty/site_config/standard/hiphopleeft.nl.txt +++ b/inc/3rdparty/site_config/standard/hiphopleeft.nl.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class = 'pd'] | 1 | body: //div[@class = 'pd'] |
2 | strip: //div[@id = 'overzicht-albumrecensies'] | 2 | strip: //div[@id = 'overzicht-albumrecensies'] |
3 | strip: //div[@id = 'jc'] | 3 | strip: //div[@id = 'jc'] |
4 | test_url: http://hiphopleeft.nl/index.php?option=com_content&view=article&id=2767:mark-ronson-record-collection&catid=66:m&Itemid=142 \ No newline at end of file | 4 | test_url: http://hiphopleeft.nl/index.php?option=com_content&view=article&id=2767:mark-ronson-record-collection&catid=66:m&Itemid=142 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/historytoday.com.txt b/inc/3rdparty/site_config/standard/historytoday.com.txt index dc687f3f..78fb60a6 100644..100755 --- a/inc/3rdparty/site_config/standard/historytoday.com.txt +++ b/inc/3rdparty/site_config/standard/historytoday.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body://div[@id = 'content'] | 1 | body://div[@id = 'content'] |
2 | author://span[@class = 'authors'] | 2 | author://span[@class = 'authors'] |
3 | author://span[@class = 'ht-vtag'][1] | 3 | author://span[@class = 'ht-vtag'][1] |
4 | date:substring-before(//meta[@name = 'dc.date']/@content,'T') | 4 | date:substring-before(//meta[@name = 'dc.date']/@content,'T') |
5 | strip://div[contains(@class, 'region-ubercontent')] | 5 | strip://div[contains(@class, 'region-ubercontent')] |
6 | strip://h1 | 6 | strip://h1 |
7 | strip://div[@id = 'ht-author'] | 7 | strip://div[@id = 'ht-author'] |
8 | strip://ul[@class = 'links inline'] | 8 | strip://ul[@class = 'links inline'] |
9 | strip://div[@id = 'ht-tools'] | 9 | strip://div[@id = 'ht-tools'] |
10 | test_url: http://www.historytoday.com/carol-dyhouse/skin-deep-fall-fur \ No newline at end of file | 10 | test_url: http://www.historytoday.com/carol-dyhouse/skin-deep-fall-fur \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hmercer.com.txt b/inc/3rdparty/site_config/standard/hmercer.com.txt index eeee1594..2da13a8e 100644..100755 --- a/inc/3rdparty/site_config/standard/hmercer.com.txt +++ b/inc/3rdparty/site_config/standard/hmercer.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //*[@class='ptitle'] | 1 | title: //*[@class='ptitle'] |
2 | date: //span[@class='date'] | 2 | date: //span[@class='date'] |
3 | body: //div[@class='body'] | 3 | body: //div[@class='body'] |
4 | prune: no | 4 | prune: no |
5 | test_url: http://hmercer.com/2011/07/why-i-switched-to-jekyll/ \ No newline at end of file | 5 | test_url: http://hmercer.com/2011/07/why-i-switched-to-jekyll/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hollywoodlife.com.txt b/inc/3rdparty/site_config/standard/hollywoodlife.com.txt new file mode 100755 index 00000000..975ffa26 --- /dev/null +++ b/inc/3rdparty/site_config/standard/hollywoodlife.com.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | date: //meta[@name='sailthru.date']/@content | ||
2 | body: //article[contains(@class, 'entry-content')] | ||
3 | |||
4 | strip_image_src: subscribe.png | ||
5 | |||
6 | strip_id_or_class: wpcom-iframe-form | ||
7 | strip_id_or_class: gallery-thumbs | ||
8 | strip_id_or_class: twitter | ||
9 | strip_id_or_class: fb-link | ||
10 | strip_id_or_class: pinterest | ||
11 | |||
12 | strip: //div[@class='data'] | ||
13 | strip: //iframe[contains(@name, 'wpcom')] | ||
14 | |||
15 | find_string: <a href="http://www.youtube.com/subscription_center?add_user_id=2rJLq19N0dGrxfib80M | ||
16 | replace_string: </p></div></body></html><!-- | ||
17 | |||
18 | find_string: <h3>More | ||
19 | replace_string: </div></body></html><!-- | ||
20 | |||
21 | test_url: http://hollywoodlife.com/2013/10/04/miriam-carey-dead-capitol-hill-car-chase-shooting-postpartum-depression/ | ||
22 | test_url: http://hollywoodlife.com/feed/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/hometheaterreview.com.txt b/inc/3rdparty/site_config/standard/hometheaterreview.com.txt index d43e6448..8ed26ff5 100644..100755 --- a/inc/3rdparty/site_config/standard/hometheaterreview.com.txt +++ b/inc/3rdparty/site_config/standard/hometheaterreview.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@id='entry-body'] | 1 | body: //div[@id='entry-body'] |
2 | strip_id_or_class: paginate | 2 | strip_id_or_class: paginate |
3 | strip: //p[contains(., 'Additional Resources')] | 3 | strip: //p[contains(., 'Additional Resources')] |
4 | test_url: http://hometheaterreview.com/dreamvision-starlight-3-three-chip-d-ila-projector-reviewed/ \ No newline at end of file | 4 | test_url: http://hometheaterreview.com/dreamvision-starlight-3-three-chip-d-ila-projector-reviewed/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hosted.ap.org.txt b/inc/3rdparty/site_config/standard/hosted.ap.org.txt index e19dd526..dfd81937 100644..100755 --- a/inc/3rdparty/site_config/standard/hosted.ap.org.txt +++ b/inc/3rdparty/site_config/standard/hosted.ap.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //table[@class='ap-smallphoto-table'] | //div[@class='body']//*[@class='entry-content'] | 1 | body: //table[@class='ap-smallphoto-table'] | //div[@class='body']//*[@class='entry-content'] |
2 | tidy: no | 2 | tidy: no |
3 | strip_image_src: analytics.apnewsregistry | 3 | strip_image_src: analytics.apnewsregistry |
4 | 4 | ||
5 | test_url: http://hosted.ap.org/dynamic/stories/U/US_SPENDING_SHOWDOWN?SITE=FLPET&SECTION=HOME&TEMPLATE=DEFAULT&CTIME=2011-04-06-07-46-50 \ No newline at end of file | 5 | test_url: http://hosted.ap.org/dynamic/stories/U/US_SPENDING_SHOWDOWN?SITE=FLPET&SECTION=HOME&TEMPLATE=DEFAULT&CTIME=2011-04-06-07-46-50 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/howtogeek.com.txt b/inc/3rdparty/site_config/standard/howtogeek.com.txt new file mode 100755 index 00000000..baa2ed4a --- /dev/null +++ b/inc/3rdparty/site_config/standard/howtogeek.com.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | body: //div[contains(@class, 'thecontent')] | ||
2 | |||
3 | strip_image_src: loading.gif | ||
4 | find_string:src="http://cdn.howtogeek.com/public/images/blank.gif" | ||
5 | replace_string:- | ||
6 | find_string:data-href= | ||
7 | replace_string:src= | ||
8 | |||
9 | strip_id_or_class: relatedside | ||
10 | |||
11 | test_url: http://www.howtogeek.com/school/microsoft-excel-formulas-and-functions/lesson1/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/hs.fi.txt b/inc/3rdparty/site_config/standard/hs.fi.txt index 67125fb5..360dc725 100644..100755 --- a/inc/3rdparty/site_config/standard/hs.fi.txt +++ b/inc/3rdparty/site_config/standard/hs.fi.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | prune: yes | 1 | prune: yes |
2 | tidy: yes | 2 | tidy: yes |
3 | test_url: http://www.hs.fi/kotimaa/Teollisuushallin%20palo%20levitt%C3%A4%C3%A4%20vaarallista%20savua%20Tuusulassa/a1305571582405 \ No newline at end of file | 3 | test_url: http://www.hs.fi/kotimaa/Teollisuushallin%20palo%20levitt%C3%A4%C3%A4%20vaarallista%20savua%20Tuusulassa/a1305571582405 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ht.ly.txt b/inc/3rdparty/site_config/standard/ht.ly.txt index a8412d2a..46535088 100644..100755 --- a/inc/3rdparty/site_config/standard/ht.ly.txt +++ b/inc/3rdparty/site_config/standard/ht.ly.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | single_page_link: //iframe[@id='hootFrame']/@src | 1 | single_page_link: //iframe[@id='hootFrame']/@src |
2 | 2 | ||
3 | test_url: http://ht.ly/bOiZV \ No newline at end of file | 3 | test_url: http://ht.ly/bOiZV \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/huffingtonpost.com.txt b/inc/3rdparty/site_config/standard/huffingtonpost.com.txt index d40513b2..d4618c14 100644..100755 --- a/inc/3rdparty/site_config/standard/huffingtonpost.com.txt +++ b/inc/3rdparty/site_config/standard/huffingtonpost.com.txt | |||
@@ -1,16 +1,21 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | body: //div[img[starts-with(@id, 'img_caption')]] | //div[@class="big_photo"] | //div[contains(@class, 'entry_body_text')] | 2 | body: //div[img[starts-with(@id, 'img_caption')]] | //div[@class="big_photo"] | //div[contains(@class, 'entry_body_text')] |
3 | date: //meta[@name="publish_date"]/@content | 3 | date: //meta[@name="publish_date"]/@content |
4 | author: //a[@rel="author"] | 4 | author: //a[@rel="author"] |
5 | author: //meta[@name="author"]/@content | 5 | author: //meta[@name="author"]/@content |
6 | prune: no | 6 | |
7 | tidy: no | 7 | prune: no |
8 | strip: //footer | 8 | tidy: no |
9 | strip_id_or_class: ps-slideshow | 9 | |
10 | strip_id_or_class: fs-slideshow | 10 | strip: //footer |
11 | strip: //p[contains(., 'Related on HuffPost:')] | 11 | strip_id_or_class: ps-slideshow |
12 | # end early | 12 | strip_id_or_class: fs-slideshow |
13 | replace_string(<div class="sbm-main): </body></html><div class="not-interested | 13 | strip: //p[contains(., 'Related on HuffPost:')] |
14 | 14 | strip_id_or_class: contribute-story | |
15 | test_url: http://www.huffingtonpost.com/mitch-moxley/tracking-beijings-boom-th_b_1209828.html | 15 | strip_id_or_class: promo_holder |
16 | test_url: http://www.huffingtonpost.com/2012/09/11/president-obama-iphone-throwdown_n_1873826.html \ No newline at end of file | 16 | |
17 | # end early | ||
18 | replace_string(<div class="sbm-main): </body></html><div class="not-interested | ||
19 | |||
20 | test_url: http://www.huffingtonpost.com/mitch-moxley/tracking-beijings-boom-th_b_1209828.html | ||
21 | test_url: http://www.huffingtonpost.com/2012/09/11/president-obama-iphone-throwdown_n_1873826.html | ||
diff --git a/inc/3rdparty/site_config/standard/humantransit.org.txt b/inc/3rdparty/site_config/standard/humantransit.org.txt index ec7d3c06..92d3c678 100644..100755 --- a/inc/3rdparty/site_config/standard/humantransit.org.txt +++ b/inc/3rdparty/site_config/standard/humantransit.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h3[@class="entry-header"] | 1 | title: //h3[@class="entry-header"] |
2 | date: //h2[@class="date-header"] | 2 | date: //h2[@class="date-header"] |
3 | body: //div[contains(@class, 'entry')] | 3 | body: //div[contains(@class, 'entry')] |
4 | 4 | ||
5 | test_url: http://www.humantransit.org/2012/06/can-network-primers-reduce-grief-about-network-design.html \ No newline at end of file | 5 | test_url: http://www.humantransit.org/2012/06/can-network-primers-reduce-grief-about-network-design.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hurriyet.com.tr.txt b/inc/3rdparty/site_config/standard/hurriyet.com.tr.txt index ccf09dcc..68fd220a 100644..100755 --- a/inc/3rdparty/site_config/standard/hurriyet.com.tr.txt +++ b/inc/3rdparty/site_config/standard/hurriyet.com.tr.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@class='HaberDetayTitleHold Title']/h1 | 1 | title: //div[@class='HaberDetayTitleHold Title']/h1 |
2 | body: //div[@id='YazarDetayText'] | 2 | body: //div[@id='YazarDetayText'] |
3 | author: //div[@class='HaberDetayTitleHold Title']/h1 | 3 | author: //div[@class='HaberDetayTitleHold Title']/h1 |
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | test_url: http://www.hurriyet.com.tr/ekonomi/19490260.asp | 6 | test_url: http://www.hurriyet.com.tr/ekonomi/19490260.asp |
7 | test_url: http://www.hurriyet.com.tr/yazarlar/22078439.asp \ No newline at end of file | 7 | test_url: http://www.hurriyet.com.tr/yazarlar/22078439.asp \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hvg.hu.txt b/inc/3rdparty/site_config/standard/hvg.hu.txt index 06fa98d8..05e7b5f1 100644..100755 --- a/inc/3rdparty/site_config/standard/hvg.hu.txt +++ b/inc/3rdparty/site_config/standard/hvg.hu.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@id='pg-content']//h1 | 1 | title: //div[@id='pg-content']//h1 |
2 | body: //div[@id='articleBody0'] | 2 | body: //div[@id='articleBody0'] |
3 | replace_string(</table>): </table><br /><br /> | 3 | replace_string(</table>): </table><br /><br /> |
4 | 4 | ||
5 | single_page_link: //div[@class="up-header"]/a | 5 | single_page_link: //div[@class="up-header"]/a |
6 | 6 | ||
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | test_url: http://hvg.hu/w/20111125_sparta \ No newline at end of file | 9 | test_url: http://hvg.hu/w/20111125_sparta \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/hypebeast.com.txt b/inc/3rdparty/site_config/standard/hypebeast.com.txt index 49b46da5..23e47545 100644..100755 --- a/inc/3rdparty/site_config/standard/hypebeast.com.txt +++ b/inc/3rdparty/site_config/standard/hypebeast.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@id='content']//div[contains(@class, 'wp-image-') or contains(@class, 'entry')][1] | 1 | body: //div[@id='content']//div[contains(@class, 'wp-image-') or contains(@class, 'entry')][1] |
2 | author: //span[@class='author']/a | 2 | author: //span[@class='author']/a |
3 | 3 | ||
4 | strip_id_or_class: disqus | 4 | strip_id_or_class: disqus |
5 | strip_id_or_class: paginator | 5 | strip_id_or_class: paginator |
6 | strip_id_or_class: photo-number | 6 | strip_id_or_class: photo-number |
7 | 7 | ||
8 | prune: no | 8 | prune: no |
9 | 9 | ||
10 | test_url: http://hypebeast.com/2012/11/stussy-2012-fall-winter-november-releases/ \ No newline at end of file | 10 | test_url: http://hypebeast.com/2012/11/stussy-2012-fall-winter-november-releases/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/icannabis.tumblr.com.txt b/inc/3rdparty/site_config/standard/icannabis.tumblr.com.txt new file mode 100755 index 00000000..3bda753c --- /dev/null +++ b/inc/3rdparty/site_config/standard/icannabis.tumblr.com.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | tidy:no | ||
2 | prune:no | ||
3 | |||
4 | body://div[contains(@id,'content')] | ||
5 | |||
6 | strip_id_or_class:meta | ||
7 | strip_id_or_class:notes | ||
8 | strip_id_or_class:pagination | ||
9 | test_url: http://icannabis.tumblr.com/post/28660592471/reviewmswireless3000 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/idealog.co.nz.txt b/inc/3rdparty/site_config/standard/idealog.co.nz.txt new file mode 100755 index 00000000..ca88f606 --- /dev/null +++ b/inc/3rdparty/site_config/standard/idealog.co.nz.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | body: //div[@class='content'] | ||
2 | |||
3 | strip: //p[@class='dateline'] | ||
4 | strip: //hr | ||
5 | strip_id_or_class: share | ||
6 | strip_id_or_class: comments | ||
7 | strip_id_or_class: tags | ||
8 | |||
9 | title: substring-before(//title,' ::') | ||
10 | author: substring-before(//p[@class='dateline'],',') | ||
11 | date: //p[@class='dateline']/time | ||
12 | test_url: http://www.idealog.co.nz/blog/2012/12/geeks-plane-help-kiwis-take-san-francisco \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/idlewords.com.txt b/inc/3rdparty/site_config/standard/idlewords.com.txt index e1badef7..f3b33796 100644..100755 --- a/inc/3rdparty/site_config/standard/idlewords.com.txt +++ b/inc/3rdparty/site_config/standard/idlewords.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //a[@class='post_title'] | 1 | title: //a[@class='post_title'] |
2 | body: //div[@class='entrybox'] | 2 | body: //div[@class='entrybox'] |
3 | strip_id_or_class: post_title | 3 | strip_id_or_class: post_title |
4 | date: //div[@class='entrybox']/b[1] | 4 | date: //div[@class='entrybox']/b[1] |
5 | strip: //div[@class='entrybox']/b[1] | 5 | strip: //div[@class='entrybox']/b[1] |
6 | author: string('Maciej Cegłowski') | 6 | author: string('Maciej Cegłowski') |
7 | test_url: http://idlewords.com/2011/08/why_arabic_is_terrific.htm \ No newline at end of file | 7 | test_url: http://idlewords.com/2011/08/why_arabic_is_terrific.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/igeneration.fr.txt b/inc/3rdparty/site_config/standard/igeneration.fr.txt index d7ec2da1..45dd5f25 100644..100755 --- a/inc/3rdparty/site_config/standard/igeneration.fr.txt +++ b/inc/3rdparty/site_config/standard/igeneration.fr.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | author: substring-after(substring-after(//span[@class='submitted'],'- '),'- ') | 1 | author: substring-after(substring-after(//span[@class='submitted'],'- '),'- ') |
2 | date: substring-before(//span[@class='submitted'], concat('- ',substring-after(substring-after(//span[@class='submitted'],'- '),'- '))) | 2 | date: substring-before(//span[@class='submitted'], concat('- ',substring-after(substring-after(//span[@class='submitted'],'- '),'- '))) |
3 | body: //div[@class='content clear-block zoneApple'] | 3 | body: //div[@class='content clear-block zoneApple'] |
4 | 4 | ||
5 | test_url: http://www.igeneration.fr/iphone/l-iphone-et-l-ipad-chouchous-des-tpe-et-pme-55112 \ No newline at end of file | 5 | test_url: http://www.igeneration.fr/iphone/l-iphone-et-l-ipad-chouchous-des-tpe-et-pme-55112 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ignoredbydinosaurs.com.txt b/inc/3rdparty/site_config/standard/ignoredbydinosaurs.com.txt index f74178a9..60635301 100644..100755 --- a/inc/3rdparty/site_config/standard/ignoredbydinosaurs.com.txt +++ b/inc/3rdparty/site_config/standard/ignoredbydinosaurs.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title://h1[@class='page-title'] | 1 | title://h1[@class='page-title'] |
2 | body://*[@id='content']//div[contains(@class,'node-content')] | 2 | body://*[@id='content']//div[contains(@class,'node-content')] |
3 | 3 | ||
4 | author://*[@id='content']//div[contains(@class,'node-submitted')]/a | 4 | author://*[@id='content']//div[contains(@class,'node-submitted')]/a |
5 | 5 | ||
6 | date:substring-after(//div[contains(@class,'node-submitted')],' on ') | 6 | date:substring-after(//div[contains(@class,'node-submitted')],' on ') |
7 | test_url: http://ignoredbydinosaurs.com/2011/09/great-lie-lorem-ipsum \ No newline at end of file | 7 | test_url: http://ignoredbydinosaurs.com/2011/09/great-lie-lorem-ipsum \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ilounge.com.txt b/inc/3rdparty/site_config/standard/ilounge.com.txt index ca1e54a8..9880b51f 100644..100755 --- a/inc/3rdparty/site_config/standard/ilounge.com.txt +++ b/inc/3rdparty/site_config/standard/ilounge.com.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | # Get proper Title, Author and Date info | 1 | # Get proper Title, Author and Date info |
2 | title: substring-before(//title, '|') | 2 | title: substring-before(//title, '|') |
3 | author: substring-after(//h4/a[@href='http://www.ilounge.com/index.php/ilounge/aboutus/'], 'By') | 3 | author: substring-after(//h4/a[@href='http://www.ilounge.com/index.php/ilounge/aboutus/'], 'By') |
4 | date: //span[@class='instapaper_date'] | 4 | date: //span[@class='instapaper_date'] |
5 | 5 | ||
6 | # For Reviews & First Looks, get the intro paragraph and put it in front of the main body. | 6 | # For Reviews & First Looks, get the intro paragraph and put it in front of the main body. |
7 | move_into(//div[@id='instapaper_para1']): //div[@id='instapaper_body'] | 7 | move_into(//div[@id='instapaper_para1']): //div[@id='instapaper_body'] |
8 | body: //div[@id='instapaper_para1'] | 8 | body: //div[@id='instapaper_para1'] |
9 | strip: //div[@class='reviewinfo'] | 9 | strip: //div[@class='reviewinfo'] |
10 | 10 | ||
11 | # We don't use footnotes, so why bother checking for them? | 11 | # We don't use footnotes, so why bother checking for them? |
12 | footnotes: no | 12 | footnotes: no |
13 | test_url: http://www.ilounge.com/index.php/reviews/entry/luxa2-alum-x-for-iphone-4-4s/?utm_source=twitterfeed&utm_medium=twitter \ No newline at end of file | 13 | test_url: http://www.ilounge.com/index.php/reviews/entry/luxa2-alum-x-for-iphone-4-4s/?utm_source=twitterfeed&utm_medium=twitter \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ilyabirman.ru.txt b/inc/3rdparty/site_config/standard/ilyabirman.ru.txt index da6a60f6..51a7eb9c 100644..100755 --- a/inc/3rdparty/site_config/standard/ilyabirman.ru.txt +++ b/inc/3rdparty/site_config/standard/ilyabirman.ru.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@class='published visible e2-smart-title']//span | 1 | title: //div[@class='published visible e2-smart-title']//span |
2 | author: //span[@id='e2-blog-title'] | 2 | author: //span[@id='e2-blog-title'] |
3 | date: //p[@class='super-h'] | 3 | date: //p[@class='super-h'] |
4 | body: //div[@class='text published visible'] | 4 | body: //div[@class='text published visible'] |
5 | test_url: http://ilyabirman.ru/meanwhile/2011/11/15/2/ \ No newline at end of file | 5 | test_url: http://ilyabirman.ru/meanwhile/2011/11/15/2/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/inc.com.txt b/inc/3rdparty/site_config/standard/inc.com.txt index 0589aaae..5410e64e 100644..100755 --- a/inc/3rdparty/site_config/standard/inc.com.txt +++ b/inc/3rdparty/site_config/standard/inc.com.txt | |||
@@ -1,21 +1,21 @@ | |||
1 | author: substring-after(substring-before(//div[@id='byline'],'|'),'By') | 1 | author: substring-after(substring-before(//div[@id='byline'],'|'),'By') |
2 | author: //div[@class='byline']/a | 2 | author: //div[@class='byline']/a |
3 | date: //span[@class='pubdate'] | 3 | date: //span[@class='pubdate'] |
4 | # print friendly page | 4 | # print friendly page |
5 | body: //div[@id='text'] | 5 | body: //div[@id='text'] |
6 | # regular page | 6 | # regular page |
7 | body: //div[@id= 'articlecontent'] | 7 | body: //div[@id= 'articlecontent'] |
8 | 8 | ||
9 | strip: //div[@id= 'articlecontent']/h1 | 9 | strip: //div[@id= 'articlecontent']/h1 |
10 | strip: //div[@id='articlecontent']/p[@class='deck'] | 10 | strip: //div[@id='articlecontent']/p[@class='deck'] |
11 | strip: //div[@id='articlecontent']/div[@class='byline'] | 11 | strip: //div[@id='articlecontent']/div[@class='byline'] |
12 | strip: //div[@id='articlespacer'] | 12 | strip: //div[@id='articlespacer'] |
13 | strip: //div[@id='incsharebox'] | 13 | strip: //div[@id='incsharebox'] |
14 | strip: //div[@id='articlesidebar'] | 14 | strip: //div[@id='articlesidebar'] |
15 | 15 | ||
16 | prune: no | 16 | prune: no |
17 | 17 | ||
18 | single_page_link: //a[contains(@href, 'Printer_Friendly.html')] | 18 | single_page_link: //a[contains(@href, 'Printer_Friendly.html')] |
19 | strip: //a[contains(., 'Dig Deeper')] | 19 | strip: //a[contains(., 'Dig Deeper')] |
20 | test_url: http://www.inc.com/guides/2010/11/seven-tips-for-lobbying-politicians.html | 20 | test_url: http://www.inc.com/guides/2010/11/seven-tips-for-lobbying-politicians.html |
21 | test_url: http://www.inc.com/eric-schurenberg/startups-are-we-geting-irrationally-exuberant.html \ No newline at end of file | 21 | test_url: http://www.inc.com/eric-schurenberg/startups-are-we-geting-irrationally-exuberant.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/independent.co.uk.txt b/inc/3rdparty/site_config/standard/independent.co.uk.txt index 47baf36b..af742209 100644..100755 --- a/inc/3rdparty/site_config/standard/independent.co.uk.txt +++ b/inc/3rdparty/site_config/standard/independent.co.uk.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | body: //div[contains(@class, 'articleContent')] | 2 | body: //div[contains(@class, 'articleContent')] |
3 | date: //meta[@property='article:published_time']/@content | 3 | date: //meta[@property='article:published_time']/@content |
4 | author: //div[@id='main']//div[@class='byline']//span[@class='authorName'] | 4 | author: //div[@id='main']//div[@class='byline']//span[@class='authorName'] |
5 | 5 | ||
6 | strip_id_or_class: RelatedArtTag | 6 | strip_id_or_class: RelatedArtTag |
7 | 7 | ||
8 | tidy: no | 8 | tidy: no |
9 | test_url: http://www.independent.co.uk/news/world/middle-east/syria-could-face-human-rights-probe-2274326.html \ No newline at end of file | 9 | test_url: http://www.independent.co.uk/news/world/middle-east/syria-could-face-human-rights-probe-2274326.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/indiatimes.com.txt b/inc/3rdparty/site_config/standard/indiatimes.com.txt index e7a35e84..8112105f 100644..100755 --- a/inc/3rdparty/site_config/standard/indiatimes.com.txt +++ b/inc/3rdparty/site_config/standard/indiatimes.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //figure[@class='mainVideo'] | 1 | body: //figure[@class='mainVideo'] |
2 | strip: //figcaption | 2 | strip: //figcaption |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | test_url: http://www.indiatimes.com/bollywood/kareena-insecure-about-saif-working-with-bipasha-23386.html \ No newline at end of file | 6 | test_url: http://www.indiatimes.com/bollywood/kareena-insecure-about-saif-working-with-bipasha-23386.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/inessential.com.txt b/inc/3rdparty/site_config/standard/inessential.com.txt index 312cec4b..52252455 100644..100755 --- a/inc/3rdparty/site_config/standard/inessential.com.txt +++ b/inc/3rdparty/site_config/standard/inessential.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@class='weblogPost']/h3[1] | 1 | title: //div[@class='weblogPost']/h3[1] |
2 | author: ("Brent Simmons") | 2 | author: ("Brent Simmons") |
3 | date: //span[@class="weblogPostDisplayDate"] | 3 | date: //span[@class="weblogPostDisplayDate"] |
4 | body: //div[@class='weblogPostBody'] | 4 | body: //div[@class='weblogPostBody'] |
5 | test_url: http://inessential.com/2011/10/25/why_just_store_the_app_data_on_dropbo \ No newline at end of file | 5 | test_url: http://inessential.com/2011/10/25/why_just_store_the_app_data_on_dropbo \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/info.abril.com.br.txt b/inc/3rdparty/site_config/standard/info.abril.com.br.txt index 64cf3c8e..dee69f80 100644..100755 --- a/inc/3rdparty/site_config/standard/info.abril.com.br.txt +++ b/inc/3rdparty/site_config/standard/info.abril.com.br.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title://h1 | 1 | title://h1 |
2 | body://div[@id='texto_link'] | 2 | body://div[@id='texto_link'] |
3 | 3 | ||
4 | test_url: http://info.abril.com.br/noticias/internet/filme-do-youtube-vai-estrear-nos-cinemas-22042011-6.shl \ No newline at end of file | 4 | test_url: http://info.abril.com.br/noticias/internet/filme-do-youtube-vai-estrear-nos-cinemas-22042011-6.shl \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/infoq.com.txt b/inc/3rdparty/site_config/standard/infoq.com.txt index 3a4e402d..f4a328a6 100644..100755 --- a/inc/3rdparty/site_config/standard/infoq.com.txt +++ b/inc/3rdparty/site_config/standard/infoq.com.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | body: //div[@id="intTranscript"] | 1 | body: //div[@id="intTranscript"] |
2 | body: //div[@class="box-content"] | 2 | body: //div[@class="box-content"] |
3 | title: //div[@class="box-content"]//h1[1] | 3 | title: //div[@class="box-content"]//h1[1] |
4 | author: //p[@class="info"]/strong | 4 | author: //p[@class="info"]/strong |
5 | date: substring-before(substring-after(//p[@class="info"], "on"), "Length") | 5 | date: substring-before(substring-after(//p[@class="info"], "on"), "Length") |
6 | strip: //div[@class="box-content"]//h1[1] | 6 | strip: //div[@class="box-content"]//h1[1] |
7 | strip: //div[@class="box-content"]//p[@class="info"] | 7 | strip: //div[@class="box-content"]//p[@class="info"] |
8 | strip_id_or_class: vendor-content-box | 8 | strip_id_or_class: vendor-content-box |
9 | strip_id_or_class: tags2 | 9 | strip_id_or_class: tags2 |
10 | strip_id_or_class: instructions | 10 | strip_id_or_class: instructions |
11 | strip_id_or_class: comments | 11 | strip_id_or_class: comments |
12 | strip_id_or_class: forum-list-tree | 12 | strip_id_or_class: forum-list-tree |
13 | strip: //div[@class="addthis_toolbox addthis_default_style"] | 13 | strip: //div[@class="addthis_toolbox addthis_default_style"] |
14 | test_url: http://www.infoq.com/interviews/oleg-zhurakousky-javaone2011-interview \ No newline at end of file | 14 | test_url: http://www.infoq.com/interviews/oleg-zhurakousky-javaone2011-interview \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/informador.com.mx.txt b/inc/3rdparty/site_config/standard/informador.com.mx.txt index eedec24f..77987493 100644..100755 --- a/inc/3rdparty/site_config/standard/informador.com.mx.txt +++ b/inc/3rdparty/site_config/standard/informador.com.mx.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@class='tituloInt'] | 1 | title: //div[@class='tituloInt'] |
2 | body: //div[@class='notaPortada'] | 2 | body: //div[@class='notaPortada'] |
3 | strip: //img[@id='imgHorizontalInt imgDetalleImg imagenNota'] | 3 | strip: //img[@id='imgHorizontalInt imgDetalleImg imagenNota'] |
4 | date: //span[@class='publi'] | 4 | date: //span[@class='publi'] |
5 | author: //span[@class='autor'] | 5 | author: //span[@class='autor'] |
6 | tidy: no | 6 | tidy: no |
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | test_url: http://www.informador.com.mx/tecnologia/2011/337606/6/iran-desarrolla-antivirus-tras-afectaciones-por-duqu.htm \ No newline at end of file | 9 | test_url: http://www.informador.com.mx/tecnologia/2011/337606/6/iran-desarrolla-antivirus-tras-afectaciones-por-duqu.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/information.dk.txt b/inc/3rdparty/site_config/standard/information.dk.txt index 6e3c3b1a..3ade754d 100644..100755 --- a/inc/3rdparty/site_config/standard/information.dk.txt +++ b/inc/3rdparty/site_config/standard/information.dk.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | author: //*[@property='dc:creator'] | 2 | author: //*[@property='dc:creator'] |
3 | date: //*[@property='dc:date']/@content | 3 | date: //*[@property='dc:date']/@content |
4 | body: //div[@id='page-content']//div[contains(@class, 'article-body')] | 4 | body: //div[@id='page-content']//div[contains(@class, 'article-body')] |
5 | 5 | ||
6 | tidy: no | 6 | tidy: no |
7 | test_url: http://www.information.dk/282307 \ No newline at end of file | 7 | test_url: http://www.information.dk/282307 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/informationarchitects.net.txt b/inc/3rdparty/site_config/standard/informationarchitects.net.txt index 134306cd..1330a040 100644..100755 --- a/inc/3rdparty/site_config/standard/informationarchitects.net.txt +++ b/inc/3rdparty/site_config/standard/informationarchitects.net.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title://h1[@class="post_title"] | 1 | title://h1[@class="post_title"] |
2 | body://article[@class="post"] | 2 | body://article[@class="post"] |
3 | date://h1[@class="section_separator"] | 3 | date://h1[@class="section_separator"] |
4 | author://span[@class="post_author"] | 4 | author://span[@class="post_author"] |
5 | strip://nav[@class="arrow_nav"] | 5 | strip://nav[@class="arrow_nav"] |
6 | strip://section[@id="contact"] | 6 | strip://section[@id="contact"] |
7 | strip_id_or_class:post_title | 7 | strip_id_or_class:post_title |
8 | strip_id_or_class:post_author | 8 | strip_id_or_class:post_author |
9 | strip_id_or_class:section_separator | 9 | strip_id_or_class:section_separator |
10 | test_url: http://informationarchitects.net/blog/nzz-relaunch-a-quick-review/ \ No newline at end of file | 10 | test_url: http://informationarchitects.net/blog/nzz-relaunch-a-quick-review/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/informationclearinghouse.info.txt b/inc/3rdparty/site_config/standard/informationclearinghouse.info.txt index 0879e9e6..60b798e6 100644..100755 --- a/inc/3rdparty/site_config/standard/informationclearinghouse.info.txt +++ b/inc/3rdparty/site_config/standard/informationclearinghouse.info.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //head/title | 1 | title: //head/title |
2 | body: //table[@id='table3']//div[@class='postContent'] | 2 | body: //table[@id='table3']//div[@class='postContent'] |
3 | prune: no | 3 | prune: no |
4 | tidy: no | 4 | tidy: no |
5 | 5 | ||
6 | test_url: http://www.informationclearinghouse.info/article28238.htm \ No newline at end of file | 6 | test_url: http://www.informationclearinghouse.info/article28238.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/informit.com.txt b/inc/3rdparty/site_config/standard/informit.com.txt index 84c1fdcf..24bf6242 100644..100755 --- a/inc/3rdparty/site_config/standard/informit.com.txt +++ b/inc/3rdparty/site_config/standard/informit.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@id='content']/h1 | 1 | title: //div[@id='content']/h1 |
2 | body: //div[@id="content"] | 2 | body: //div[@id="content"] |
3 | strip: //img[contains(@src, 'informit_printer.png')] | 3 | strip: //img[contains(@src, 'informit_printer.png')] |
4 | single_page_link: //div[contains(@class, 'articleTools')]//a[contains(@href, '/printerfriendly.')] | 4 | single_page_link: //div[contains(@class, 'articleTools')]//a[contains(@href, '/printerfriendly.')] |
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | test_url: http://www.informit.com/articles/article.aspx?p=1729268 \ No newline at end of file | 7 | test_url: http://www.informit.com/articles/article.aspx?p=1729268 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/infoworld.com.txt b/inc/3rdparty/site_config/standard/infoworld.com.txt index dd588ed8..d335bc4a 100644..100755 --- a/inc/3rdparty/site_config/standard/infoworld.com.txt +++ b/inc/3rdparty/site_config/standard/infoworld.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | body: //div[@id='main_text'] | 1 | body: //div[@id='main_text'] |
2 | title: //div[@id='main_text']/h1 | 2 | title: //div[@id='main_text']/h1 |
3 | strip: //div[@id='main_text']/h1 | 3 | strip: //div[@id='main_text']/h1 |
4 | strip: //div[@id='main_text']/h2 | 4 | strip: //div[@id='main_text']/h2 |
5 | strip_id_or_class: tools | 5 | strip_id_or_class: tools |
6 | strip_id_or_class: articleTools | 6 | strip_id_or_class: articleTools |
7 | strip_id_or_class: pagination | 7 | strip_id_or_class: pagination |
8 | strip_id_or_class: byline | 8 | strip_id_or_class: byline |
9 | strip_id_or_class: tweet | 9 | strip_id_or_class: tweet |
10 | date: //div[@class='date'] | 10 | date: //div[@class='date'] |
11 | strip: //div[@class='date'] | 11 | strip: //div[@class='date'] |
12 | test_url: http://www.infoworld.com/d/the-industry-standard/it-jobs-the-rise-both-offshore-and-in-us-187689 \ No newline at end of file | 12 | test_url: http://www.infoworld.com/d/the-industry-standard/it-jobs-the-rise-both-offshore-and-in-us-187689 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/infzm.com.txt b/inc/3rdparty/site_config/standard/infzm.com.txt index 012c873f..489d5aff 100644..100755 --- a/inc/3rdparty/site_config/standard/infzm.com.txt +++ b/inc/3rdparty/site_config/standard/infzm.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | # This filter is tested on: | 1 | # This filter is tested on: |
2 | # http://www.infzm.com/content/71068 | 2 | # http://www.infzm.com/content/71068 |
3 | # http://www.infzm.com/content/41577 | 3 | # http://www.infzm.com/content/41577 |
4 | 4 | ||
5 | author://em[contains(@class, 'toAuthor')] | 5 | author://em[contains(@class, 'toAuthor')] |
6 | date:substring(//em[contains(@class, 'pubTime')],1) | 6 | date:substring(//em[contains(@class, 'pubTime')],1) |
7 | body://section[contains(@id, 'articleContent')] | 7 | body://section[contains(@id, 'articleContent')] |
8 | title://h1[contains(@class ,'articleHeadline clearfix')] | 8 | title://h1[contains(@class ,'articleHeadline clearfix')] |
9 | test_url: http://www.infzm.com/content/41577 \ No newline at end of file | 9 | test_url: http://www.infzm.com/content/41577 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/inhabitat.com.txt b/inc/3rdparty/site_config/standard/inhabitat.com.txt index 6629dafe..c63f53a6 100644..100755 --- a/inc/3rdparty/site_config/standard/inhabitat.com.txt +++ b/inc/3rdparty/site_config/standard/inhabitat.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | # set body | 1 | # set body |
2 | body: //div[@class='post-listing'] | 2 | body: //div[@class='post-listing'] |
3 | 3 | ||
4 | # remove clutter | 4 | # remove clutter |
5 | strip: //a/big | 5 | strip: //a/big |
6 | strip: //a/em | 6 | strip: //a/em |
7 | strip: //p/em | 7 | strip: //p/em |
8 | test_url: http://inhabitat.com/2010/11/18/sliding-walls-transform-this-tokyo-house-into-an-office/ \ No newline at end of file | 8 | test_url: http://inhabitat.com/2010/11/18/sliding-walls-transform-this-tokyo-house-into-an-office/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/instagr.am.txt b/inc/3rdparty/site_config/standard/instagr.am.txt index ad9e8214..522caebc 100644..100755 --- a/inc/3rdparty/site_config/standard/instagr.am.txt +++ b/inc/3rdparty/site_config/standard/instagr.am.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class='caption'] | 1 | title: //div[@class='caption'] |
2 | author: //p[@class='username'] | 2 | author: //p[@class='username'] |
3 | 3 | ||
4 | strip: //div[@class='contents']/h3 | 4 | strip: //div[@class='contents']/h3 |
5 | strip: //div[@class='location'] | 5 | strip: //div[@class='location'] |
6 | test_url: http://instagr.am/p/G-s_aciyDJ/ \ No newline at end of file | 6 | test_url: http://instagr.am/p/G-s_aciyDJ/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/interest.co.nz.txt b/inc/3rdparty/site_config/standard/interest.co.nz.txt index 28c3310a..28c3310a 100644..100755 --- a/inc/3rdparty/site_config/standard/interest.co.nz.txt +++ b/inc/3rdparty/site_config/standard/interest.co.nz.txt | |||
diff --git a/inc/3rdparty/site_config/standard/iolanguage.com.txt b/inc/3rdparty/site_config/standard/iolanguage.com.txt index 231875ad..231875ad 100644..100755 --- a/inc/3rdparty/site_config/standard/iolanguage.com.txt +++ b/inc/3rdparty/site_config/standard/iolanguage.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/ipadclub.nl.txt b/inc/3rdparty/site_config/standard/ipadclub.nl.txt index d196059e..afe058df 100644..100755 --- a/inc/3rdparty/site_config/standard/ipadclub.nl.txt +++ b/inc/3rdparty/site_config/standard/ipadclub.nl.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@id = 'post'] | 1 | body: //div[@id = 'post'] |
2 | strip: //div[@class = 'postinfo'] | 2 | strip: //div[@class = 'postinfo'] |
3 | strip: //div[@id = 'postmetanew'] | 3 | strip: //div[@id = 'postmetanew'] |
4 | strip: //div[@class = 'paginator'] | 4 | strip: //div[@class = 'paginator'] |
5 | strip: //div[@class = 'col-2'] | 5 | strip: //div[@class = 'col-2'] |
6 | strip: //div[@id = 'adfactor-label'] | 6 | strip: //div[@id = 'adfactor-label'] |
7 | test_url: http://www.ipadclub.nl/15808/text-writer-ipad-tekstverwerker-met-functieknoppen/ \ No newline at end of file | 7 | test_url: http://www.ipadclub.nl/15808/text-writer-ipad-tekstverwerker-met-functieknoppen/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ipadplanet.nl.txt b/inc/3rdparty/site_config/standard/ipadplanet.nl.txt index a2e49005..dedb5572 100644..100755 --- a/inc/3rdparty/site_config/standard/ipadplanet.nl.txt +++ b/inc/3rdparty/site_config/standard/ipadplanet.nl.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@id = 'post'] | 1 | body: //div[@id = 'post'] |
2 | strip: //div[@class = 'postinfo'] | 2 | strip: //div[@class = 'postinfo'] |
3 | strip: //div[@id = 'postmetanew'] | 3 | strip: //div[@id = 'postmetanew'] |
4 | strip: //div[@class = 'paginator'] | 4 | strip: //div[@class = 'paginator'] |
5 | strip: //div[@class = 'col-2'] | 5 | strip: //div[@class = 'col-2'] |
6 | strip: //div[@id = 'adfactor-label'] | 6 | strip: //div[@id = 'adfactor-label'] |
7 | test_url: http://www.ipadplanet.nl/11723/steve-jobs-bevestigt-verdwijnen-fysieke-rotatieschakelaar-in-ios-4-2/ \ No newline at end of file | 7 | test_url: http://www.ipadplanet.nl/11723/steve-jobs-bevestigt-verdwijnen-fysieke-rotatieschakelaar-in-ios-4-2/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/iphoneclub.nl.txt b/inc/3rdparty/site_config/standard/iphoneclub.nl.txt index f8d4f6a6..850a24e9 100644..100755 --- a/inc/3rdparty/site_config/standard/iphoneclub.nl.txt +++ b/inc/3rdparty/site_config/standard/iphoneclub.nl.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@id = 'post'] | 1 | body: //div[@id = 'post'] |
2 | strip: //div[@class = 'postinfo'] | 2 | strip: //div[@class = 'postinfo'] |
3 | strip: //div[@id = 'postmetanew'] | 3 | strip: //div[@id = 'postmetanew'] |
4 | strip: //div[@class = 'paginator'] | 4 | strip: //div[@class = 'paginator'] |
5 | strip: //div[@class = 'col-2'] | 5 | strip: //div[@class = 'col-2'] |
6 | strip: //div[@id = 'adfactor-label'] | 6 | strip: //div[@id = 'adfactor-label'] |
7 | test_url: http://www.iphoneclub.nl/105808/t-mobile-mobiel-internet-wordt-duurder-maar-blijft-onbeperkt/ \ No newline at end of file | 7 | test_url: http://www.iphoneclub.nl/105808/t-mobile-mobiel-internet-wordt-duurder-maar-blijft-onbeperkt/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/iphonehacks.com.txt b/inc/3rdparty/site_config/standard/iphonehacks.com.txt index c97ff43c..e8ccea06 100644..100755 --- a/inc/3rdparty/site_config/standard/iphonehacks.com.txt +++ b/inc/3rdparty/site_config/standard/iphonehacks.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //meta[@name='og:title']/@content | 1 | title: //meta[@name='og:title']/@content |
2 | body: //small[@class='postmetadata'] | //div[contains(@class, 'entry-content')] | 2 | body: //small[@class='postmetadata'] | //div[contains(@class, 'entry-content')] |
3 | 3 | ||
4 | strip: //span[@vanilla-identifier] | 4 | strip: //span[@vanilla-identifier] |
5 | 5 | ||
6 | prune: no | 6 | prune: no |
7 | tidy: no | 7 | tidy: no |
8 | 8 | ||
9 | test_url: http://www.iphonehacks.com/2012/07/app-review-process-behind-the-scenes.html \ No newline at end of file | 9 | test_url: http://www.iphonehacks.com/2012/07/app-review-process-behind-the-scenes.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/iplaysoft.com.txt b/inc/3rdparty/site_config/standard/iplaysoft.com.txt index 4a944768..4a944768 100644..100755 --- a/inc/3rdparty/site_config/standard/iplaysoft.com.txt +++ b/inc/3rdparty/site_config/standard/iplaysoft.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/isource.com.txt b/inc/3rdparty/site_config/standard/isource.com.txt index a1c16a16..215fdf87 100644..100755 --- a/inc/3rdparty/site_config/standard/isource.com.txt +++ b/inc/3rdparty/site_config/standard/isource.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | # Remove social buttons | 1 | # Remove social buttons |
2 | strip: //div[@id='temp_Content_Right'] | 2 | strip: //div[@id='temp_Content_Right'] |
3 | 3 | ||
4 | # Remove duplicate article title | 4 | # Remove duplicate article title |
5 | strip: //*[(@class='storytitle')] | 5 | strip: //*[(@class='storytitle')] |
6 | test_url: http://isource.com/2010/10/24/swearch-a-cool-iphone-web-app/ \ No newline at end of file | 6 | test_url: http://isource.com/2010/10/24/swearch-a-cool-iphone-web-app/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/itavisen.no.txt b/inc/3rdparty/site_config/standard/itavisen.no.txt index 8da78cb0..3ba484a7 100644..100755 --- a/inc/3rdparty/site_config/standard/itavisen.no.txt +++ b/inc/3rdparty/site_config/standard/itavisen.no.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | author: //p[@class = 'writer'] | 1 | author: //p[@class = 'writer'] |
2 | 2 | ||
3 | date: //p[@class = 'published-time'] | 3 | date: //p[@class = 'published-time'] |
4 | 4 | ||
5 | body: //div[@class = 'text main'] | 5 | body: //div[@class = 'text main'] |
6 | test_url: http://www.itavisen.no/899786/old-republic-blir-gratis \ No newline at end of file | 6 | test_url: http://www.itavisen.no/899786/old-republic-blir-gratis \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/itmedia.co.jp.txt b/inc/3rdparty/site_config/standard/itmedia.co.jp.txt new file mode 100755 index 00000000..97f00ce8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/itmedia.co.jp.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | body: //div[@id='cmsBody'] | ||
2 | |||
3 | next_page_link: //span[@id='next']/a | ||
4 | |||
5 | strip_id_or_class: cmsCopyright | ||
6 | strip_id_or_class: masterSocialbuttonBtm | ||
7 | |||
8 | test_url: http://www.itmedia.co.jp/enterprise/articles/0912/05/news002.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/itstactical.com.txt b/inc/3rdparty/site_config/standard/itstactical.com.txt index 550875ec..b8cb461c 100644..100755 --- a/inc/3rdparty/site_config/standard/itstactical.com.txt +++ b/inc/3rdparty/site_config/standard/itstactical.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //h1[@class="entry-title"] | 1 | title: //h1[@class="entry-title"] |
2 | body: //div[@class='format_text entry-content'] | 2 | body: //div[@class='format_text entry-content'] |
3 | author: //span[@class="author vcard"]/a | 3 | author: //span[@class="author vcard"]/a |
4 | date: //abbr[@class="published"] | 4 | date: //abbr[@class="published"] |
5 | 5 | ||
6 | strip_id_or_class: related-posts | 6 | strip_id_or_class: related-posts |
7 | strip_id_or_class: membershipbox | 7 | strip_id_or_class: membershipbox |
8 | strip_id_or_class: share_this_compact_bt | 8 | strip_id_or_class: share_this_compact_bt |
9 | 9 | ||
10 | 10 | ||
11 | footnotes: no | 11 | footnotes: no |
12 | test_url: http://www.itstactical.com/warcom/knives/exclusive-triple-aught-design-production-dauntless-knife-video-walkthrough/ \ No newline at end of file | 12 | test_url: http://www.itstactical.com/warcom/knives/exclusive-triple-aught-design-production-dauntless-knife-video-walkthrough/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/itwire.com.txt b/inc/3rdparty/site_config/standard/itwire.com.txt new file mode 100755 index 00000000..72b41065 --- /dev/null +++ b/inc/3rdparty/site_config/standard/itwire.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | author: //a[@rel="author"] | ||
2 | date: //li[@class="itemDateCreated"] | ||
3 | strip: //div[contains(@class, 'legend-rounded')] | ||
4 | |||
5 | test_url: http://www.itwire.com/it-industry-news/market/59661-ibm-looks-to-high-value-solutions-to-meet-changing-demands | ||
diff --git a/inc/3rdparty/site_config/standard/itworld.com.txt b/inc/3rdparty/site_config/standard/itworld.com.txt index d4fa604e..1ee0ee58 100644..100755 --- a/inc/3rdparty/site_config/standard/itworld.com.txt +++ b/inc/3rdparty/site_config/standard/itworld.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //*[@id="article-title"] | 1 | title: //*[@id="article-title"] |
2 | author: //*[@id="article-info"]/strong | 2 | author: //*[@id="article-info"]/strong |
3 | date: //*[@class="article-dateline"]/strong | 3 | date: //*[@class="article-dateline"]/strong |
4 | body: //*[@id="article-content"] | 4 | body: //*[@id="article-content"] |
5 | test_url: http://www.itworld.com/open-source/140916/android-sued-microsoft-not-linux \ No newline at end of file | 5 | test_url: http://www.itworld.com/open-source/140916/android-sued-microsoft-not-linux \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/izismile.com.txt b/inc/3rdparty/site_config/standard/izismile.com.txt index af3f299a..b0114d35 100644..100755 --- a/inc/3rdparty/site_config/standard/izismile.com.txt +++ b/inc/3rdparty/site_config/standard/izismile.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[starts-with(@id, 'news-id-')] | 1 | body: //div[starts-with(@id, 'news-id-')] |
2 | prune: no | 2 | prune: no |
3 | 3 | ||
4 | test_url: http://izismile.com/2011/06/13/uncanny_factoid_fashion_or_creepy_2_pics.html \ No newline at end of file | 4 | test_url: http://izismile.com/2011/06/13/uncanny_factoid_fashion_or_creepy_2_pics.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/jalopnik.com.txt b/inc/3rdparty/site_config/standard/jalopnik.com.txt index fc2eef8e..fc2eef8e 100644..100755 --- a/inc/3rdparty/site_config/standard/jalopnik.com.txt +++ b/inc/3rdparty/site_config/standard/jalopnik.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/jandan.net.txt b/inc/3rdparty/site_config/standard/jandan.net.txt index f1dd3d17..343fd6fb 100644..100755 --- a/inc/3rdparty/site_config/standard/jandan.net.txt +++ b/inc/3rdparty/site_config/standard/jandan.net.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[@id='content']//div[@class = 'post f'] | 1 | body: //div[@id='content']//div[@class = 'post f'] |
2 | strip_id_or_class: comment-big | 2 | strip_id_or_class: comment-big |
3 | strip_id_or_class: avatar | 3 | strip_id_or_class: avatar |
4 | strip: //div[@class='time_s'] | 4 | strip: //div[@class='time_s'] |
5 | 5 | ||
6 | test_url: http://jandan.net/2011/04/03/iphone-5-sony.html \ No newline at end of file | 6 | test_url: http://jandan.net/2011/04/03/iphone-5-sony.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/jetzt.sueddeutsche.de.txt b/inc/3rdparty/site_config/standard/jetzt.sueddeutsche.de.txt index 6e8af934..00e4cf63 100644..100755 --- a/inc/3rdparty/site_config/standard/jetzt.sueddeutsche.de.txt +++ b/inc/3rdparty/site_config/standard/jetzt.sueddeutsche.de.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | author: //p[contains(@class, 'author')]/a | 2 | author: //p[contains(@class, 'author')]/a |
3 | date: //p[contains(@class, 'time')] | 3 | date: //p[contains(@class, 'time')] |
4 | body: //div[@class='content']/div[contains(@class, 'text')] | 4 | body: //div[@class='content']/div[contains(@class, 'text')] |
5 | 5 | ||
6 | # prevent "no text" errors on multi-page articles | 6 | # prevent "no text" errors on multi-page articles |
7 | tidy: no | 7 | tidy: no |
8 | 8 | ||
9 | # we use a custom next-link detector instead of the print view because | 9 | # we use a custom next-link detector instead of the print view because |
10 | # it's pretty hard to strip out the unwanted parts in the print view | 10 | # it's pretty hard to strip out the unwanted parts in the print view |
11 | autodetect_next_page: no | 11 | autodetect_next_page: no |
12 | next_page_link: //div[contains(@class, 'text')]/div/div[contains(@class, 'paging')]/a[@class='more '] | 12 | next_page_link: //div[contains(@class, 'text')]/div/div[contains(@class, 'paging')]/a[@class='more '] |
13 | 13 | ||
14 | strip: //h1 | 14 | strip: //h1 |
15 | 15 | ||
16 | strip_id_or_class: meta | 16 | strip_id_or_class: meta |
17 | strip_id_or_class: author | 17 | strip_id_or_class: author |
18 | strip_id_or_class: paging | 18 | strip_id_or_class: paging |
19 | 19 | ||
20 | # prevent "Report an Error" from being recognized as footnote | 20 | # prevent "Report an Error" from being recognized as footnote |
21 | footnotes: no | 21 | footnotes: no |
22 | test_url: http://jetzt.sueddeutsche.de/texte/anzeigen/544308/Alles-flicken \ No newline at end of file | 22 | test_url: http://jetzt.sueddeutsche.de/texte/anzeigen/544308/Alles-flicken \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/jjahnke.net.txt b/inc/3rdparty/site_config/standard/jjahnke.net.txt index 95c45ee7..d45c8899 100644..100755 --- a/inc/3rdparty/site_config/standard/jjahnke.net.txt +++ b/inc/3rdparty/site_config/standard/jjahnke.net.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class='entry'] | 1 | body: //div[@class='entry'] |
2 | prune: no | 2 | prune: no |
3 | 3 | ||
4 | test_url: http://www.jjahnke.net/rundbr87.html#2514 \ No newline at end of file | 4 | test_url: http://www.jjahnke.net/rundbr87.html#2514 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/jobbank.gc.ca.txt b/inc/3rdparty/site_config/standard/jobbank.gc.ca.txt index af8d7d17..1dbe2072 100644..100755 --- a/inc/3rdparty/site_config/standard/jobbank.gc.ca.txt +++ b/inc/3rdparty/site_config/standard/jobbank.gc.ca.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@id='formatCont_en'] | 1 | body: //div[@id='formatCont_en'] |
2 | 2 | ||
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: http://www.jobbank.gc.ca/detail-eng.aspx?Source=JobPosting&OrderNum=6397922 \ No newline at end of file | 5 | test_url: http://www.jobbank.gc.ca/detail-eng.aspx?Source=JobPosting&OrderNum=6397922 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/joelonsoftware.com.txt b/inc/3rdparty/site_config/standard/joelonsoftware.com.txt index 75fbee5a..241a361f 100644..100755 --- a/inc/3rdparty/site_config/standard/joelonsoftware.com.txt +++ b/inc/3rdparty/site_config/standard/joelonsoftware.com.txt | |||
@@ -1,21 +1,21 @@ | |||
1 | # Works with old posts too, such as http://www.joelonsoftware.com/articles/fog0000000332.html | 1 | # Works with old posts too, such as http://www.joelonsoftware.com/articles/fog0000000332.html |
2 | 2 | ||
3 | author: substring-after(//div[@class="author"], 'by ') | 3 | author: substring-after(//div[@class="author"], 'by ') |
4 | date: //div[@class="date"] | 4 | date: //div[@class="date"] |
5 | 5 | ||
6 | ## Clean stuff at top ## | 6 | ## Clean stuff at top ## |
7 | 7 | ||
8 | strip: //h1[1] | 8 | strip: //h1[1] |
9 | strip: //h2[1] | 9 | strip: //h2[1] |
10 | strip: //div[@class="date"] | 10 | strip: //div[@class="date"] |
11 | strip: //div[@class="author"] | 11 | strip: //div[@class="author"] |
12 | 12 | ||
13 | ## Clean stuff at bottom ## | 13 | ## Clean stuff at bottom ## |
14 | 14 | ||
15 | strip: //blockquote[@class="textmessage"] | 15 | strip: //blockquote[@class="textmessage"] |
16 | strip: //div[@style="width:500px"]/p[last()] | 16 | strip: //div[@style="width:500px"]/p[last()] |
17 | strip: //div[@style="width:500px"]/p[last()-1] | 17 | strip: //div[@style="width:500px"]/p[last()-1] |
18 | strip: //div[@style="width:500px"]/h4[last()] | 18 | strip: //div[@style="width:500px"]/h4[last()] |
19 | strip: //div[@style="width:500px"]/h4[last()-1] | 19 | strip: //div[@style="width:500px"]/h4[last()-1] |
20 | strip: //div[@style="width:500px"]/div[last()] | 20 | strip: //div[@style="width:500px"]/div[last()] |
21 | test_url: http://www.joelonsoftware.com/items/2011/09/15.html \ No newline at end of file | 21 | test_url: http://www.joelonsoftware.com/items/2011/09/15.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/jouire.com.txt b/inc/3rdparty/site_config/standard/jouire.com.txt index 535a501e..3cf60672 100644..100755 --- a/inc/3rdparty/site_config/standard/jouire.com.txt +++ b/inc/3rdparty/site_config/standard/jouire.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | author: //h1 | 1 | author: //h1 |
2 | date: //p[contains(@class,'date')] | 2 | date: //p[contains(@class,'date')] |
3 | test_url: http://jouire.com/2011/01/exquisite-whispers/ \ No newline at end of file | 3 | test_url: http://jouire.com/2011/01/exquisite-whispers/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/joystiq.com.txt b/inc/3rdparty/site_config/standard/joystiq.com.txt index 7fbd467d..7a8e56f8 100644..100755 --- a/inc/3rdparty/site_config/standard/joystiq.com.txt +++ b/inc/3rdparty/site_config/standard/joystiq.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | author: //a[@class="byline-author"] | 1 | author: //a[@class="byline-author"] |
2 | title: //h1[@class="headline"] | 2 | title: //h1[@class="headline"] |
3 | strip: //div[@id="info-card"] | 3 | strip: //div[@id="info-card"] |
4 | strip: //div[@id="breaking-news"] | 4 | strip: //div[@id="breaking-news"] |
5 | strip: //div[@class="rmod list-post-mod"] | 5 | strip: //div[@class="rmod list-post-mod"] |
6 | strip: //div[@id="footer"] | 6 | strip: //div[@id="footer"] |
7 | strip: //div[@id="GH_strip"] | 7 | strip: //div[@id="GH_strip"] |
8 | test_url: http://www.joystiq.com/2012/06/20/magic-the-gathering-duels-of-the-planeswalkers-2013-review/ \ No newline at end of file | 8 | test_url: http://www.joystiq.com/2012/06/20/magic-the-gathering-duels-of-the-planeswalkers-2013-review/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/juedische-allgemeine.de.txt b/inc/3rdparty/site_config/standard/juedische-allgemeine.de.txt index be844e57..ff5a0244 100644..100755 --- a/inc/3rdparty/site_config/standard/juedische-allgemeine.de.txt +++ b/inc/3rdparty/site_config/standard/juedische-allgemeine.de.txt | |||
@@ -1,19 +1,19 @@ | |||
1 | body: //div[@id='article_container'] | 1 | body: //div[@id='article_container'] |
2 | author: //h4//a[@class='author'] | 2 | author: //h4//a[@class='author'] |
3 | title: //h1 | 3 | title: //h1 |
4 | 4 | ||
5 | replace_string(lang="en"): lang="de" | 5 | replace_string(lang="en"): lang="de" |
6 | replace_string(/>1</a>):/></a> | 6 | replace_string(/>1</a>):/></a> |
7 | 7 | ||
8 | strip_id_or_class: share_toolbox | 8 | strip_id_or_class: share_toolbox |
9 | strip_id_or_class: article_header | 9 | strip_id_or_class: article_header |
10 | strip_id_or_class: phototext | 10 | strip_id_or_class: phototext |
11 | 11 | ||
12 | strip_image_src: icon_author.gif | 12 | strip_image_src: icon_author.gif |
13 | 13 | ||
14 | strip: //img[@src=''] | 14 | strip: //img[@src=''] |
15 | strip: //h4[@id='author'] | 15 | strip: //h4[@id='author'] |
16 | 16 | ||
17 | prune: no | 17 | prune: no |
18 | 18 | ||
19 | test_url: http://www.juedische-allgemeine.de/article/view/id/13366 \ No newline at end of file | 19 | test_url: http://www.juedische-allgemeine.de/article/view/id/13366 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/juppy.org.txt b/inc/3rdparty/site_config/standard/juppy.org.txt index e2d07f24..fdf7cdc9 100644..100755 --- a/inc/3rdparty/site_config/standard/juppy.org.txt +++ b/inc/3rdparty/site_config/standard/juppy.org.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | convert_double_br_tags: yes | 1 | convert_double_br_tags: yes |
2 | 2 | ||
3 | title: //div[@id="storycredits"]/p/span[@class="title"] | 3 | title: //div[@id="storycredits"]/p/span[@class="title"] |
4 | author: //div[@id="storycredits"]/p/br[1]/following-sibling::text() | 4 | author: //div[@id="storycredits"]/p/br[1]/following-sibling::text() |
5 | 5 | ||
6 | strip: //div[@id="storycredits"] | 6 | strip: //div[@id="storycredits"] |
7 | 7 | ||
8 | test_url: http://www.juppy.org/santa/stories.php?ForAuthorID=35&Year=2005 \ No newline at end of file | 8 | test_url: http://www.juppy.org/santa/stories.php?ForAuthorID=35&Year=2005 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kachestvo.ru.txt b/inc/3rdparty/site_config/standard/kachestvo.ru.txt index 34404e96..535693c4 100644..100755 --- a/inc/3rdparty/site_config/standard/kachestvo.ru.txt +++ b/inc/3rdparty/site_config/standard/kachestvo.ru.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[contains(@class, 'inner_content')] | 1 | body: //div[contains(@class, 'inner_content')] |
2 | 2 | ||
3 | test_url: http://kachestvo.ru/promtovar/odezhda/denim.html \ No newline at end of file | 3 | test_url: http://kachestvo.ru/promtovar/odezhda/denim.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kachiblog.com.txt b/inc/3rdparty/site_config/standard/kachiblog.com.txt new file mode 100755 index 00000000..35baf8df --- /dev/null +++ b/inc/3rdparty/site_config/standard/kachiblog.com.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //h3[contains(@class, 'entry-title')] | ||
2 | date: //abbr[@itemprop='datePublished']/@title | ||
3 | body: //div[@itemprop='articleBody'] | ||
4 | tidy: no | ||
5 | |||
6 | test_url: http://www.kachiblog.com/2013/05/samsung-galaxy-s4-vs-samsung-galaxy.html | ||
7 | test_url: http://www.kachiblog.com/feeds/posts/default \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/kathimerini.gr.txt b/inc/3rdparty/site_config/standard/kathimerini.gr.txt new file mode 100755 index 00000000..2c7c518c --- /dev/null +++ b/inc/3rdparty/site_config/standard/kathimerini.gr.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | title: //td[contains(@class, 'articleTitlos')] | ||
2 | body: //td[contains(@class, 'eelantext')] | ||
3 | |||
4 | test_url: http://www.kathimerini.gr/4dcgi/_w_articles_kathremote_1_03/12/2013_530490 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/kenrockwell.com.txt b/inc/3rdparty/site_config/standard/kenrockwell.com.txt index e6d100ea..90c64cbf 100644..100755 --- a/inc/3rdparty/site_config/standard/kenrockwell.com.txt +++ b/inc/3rdparty/site_config/standard/kenrockwell.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | # Ads | 1 | # Ads |
2 | strip: //table[@align="right"][@width="120"] | 2 | strip: //table[@align="right"][@width="120"] |
3 | 3 | ||
4 | # Affiliate link paragraphs | 4 | # Affiliate link paragraphs |
5 | strip: //a[.="Adorama"]/parent::p[contains(., "goodies")] | 5 | strip: //a[.="Adorama"]/parent::p[contains(., "goodies")] |
6 | strip: //a[.="Adorama"]/parent::p[contains(., "This free website's biggest source of")] | 6 | strip: //a[.="Adorama"]/parent::p[contains(., "This free website's biggest source of")] |
7 | test_url: http://www.kenrockwell.com/tech/composition.htm \ No newline at end of file | 7 | test_url: http://www.kenrockwell.com/tech/composition.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kicker.de.txt b/inc/3rdparty/site_config/standard/kicker.de.txt index 7d5daa4b..db4f63c4 100644..100755 --- a/inc/3rdparty/site_config/standard/kicker.de.txt +++ b/inc/3rdparty/site_config/standard/kicker.de.txt | |||
@@ -1,21 +1,21 @@ | |||
1 | # set body | 1 | # set body |
2 | body: //div[@id='ovArtikel'] | 2 | body: //div[@id='ovArtikel'] |
3 | 3 | ||
4 | # set title | 4 | # set title |
5 | title: //div[@id='ovArtikel']/h1 | 5 | title: //div[@id='ovArtikel']/h1 |
6 | # strip main title and leave sub title | 6 | # strip main title and leave sub title |
7 | strip: //div[@id='ovArtikel']/h1 | 7 | strip: //div[@id='ovArtikel']/h1 |
8 | 8 | ||
9 | date: //div[@class='publicdate'] | 9 | date: //div[@class='publicdate'] |
10 | 10 | ||
11 | #remove captions | 11 | #remove captions |
12 | strip: //*/div[@class='bu'] | 12 | strip: //*/div[@class='bu'] |
13 | strip: //*/div[@class='credit'] | 13 | strip: //*/div[@class='credit'] |
14 | 14 | ||
15 | #remove adds | 15 | #remove adds |
16 | strip: //*/div[@class='ad-head'] | 16 | strip: //*/div[@class='ad-head'] |
17 | strip: //*/div[@class='linksebay'] | 17 | strip: //*/div[@class='linksebay'] |
18 | 18 | ||
19 | # remove video content | 19 | # remove video content |
20 | strip: //*/div[@class='ovVideo'] | 20 | strip: //*/div[@class='ovVideo'] |
21 | test_url: http://www.kicker.de/news/fussball/frauen/wmfr/frauen-weltmeisterschaft/2011/3/1123662/spielbericht_frankreich-frauen_deutschland-frauen.html \ No newline at end of file | 21 | test_url: http://www.kicker.de/news/fussball/frauen/wmfr/frauen-weltmeisterschaft/2011/3/1123662/spielbericht_frankreich-frauen_deutschland-frauen.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kickstarter.com.txt b/inc/3rdparty/site_config/standard/kickstarter.com.txt index c055659f..7b3daa58 100644..100755 --- a/inc/3rdparty/site_config/standard/kickstarter.com.txt +++ b/inc/3rdparty/site_config/standard/kickstarter.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h1[@id='name'] | 1 | title: //h1[@id='name'] |
2 | body: //*[@id='leftcol'] | 2 | body: //*[@id='leftcol'] |
3 | 3 | ||
4 | strip_id_or_class: 'share-box' | 4 | strip_id_or_class: 'share-box' |
5 | strip_id_or_class: 'project-faqs' | 5 | strip_id_or_class: 'project-faqs' |
6 | strip_id_or_class: 'report-issue-wrap' | 6 | strip_id_or_class: 'report-issue-wrap' |
7 | test_url: http://www.kickstarter.com/projects/hop/elevation-dock-the-best-dock-for-iphone \ No newline at end of file | 7 | test_url: http://www.kickstarter.com/projects/hop/elevation-dock-the-best-dock-for-iphone \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kingarthurflour.com.txt b/inc/3rdparty/site_config/standard/kingarthurflour.com.txt index 2f6783a3..b27539f5 100644..100755 --- a/inc/3rdparty/site_config/standard/kingarthurflour.com.txt +++ b/inc/3rdparty/site_config/standard/kingarthurflour.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //div[@class='post']/h2 | 1 | title: //div[@class='post']/h2 |
2 | body: //div[@class='entry'] | 2 | body: //div[@class='entry'] |
3 | strip: //p[contains(.,'Tags:')] | 3 | strip: //p[contains(.,'Tags:')] |
4 | test_url: http://www.kingarthurflour.com/blog/2011/01/28/a-big-sandwich-for-the-big-game/ \ No newline at end of file | 4 | test_url: http://www.kingarthurflour.com/blog/2011/01/28/a-big-sandwich-for-the-big-game/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kotaku.com.txt b/inc/3rdparty/site_config/standard/kotaku.com.txt index be439d75..be439d75 100644..100755 --- a/inc/3rdparty/site_config/standard/kotaku.com.txt +++ b/inc/3rdparty/site_config/standard/kotaku.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/kottke.org.txt b/inc/3rdparty/site_config/standard/kottke.org.txt index f93a61e7..582f251c 100644..100755 --- a/inc/3rdparty/site_config/standard/kottke.org.txt +++ b/inc/3rdparty/site_config/standard/kottke.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | author: //*[@id='main']/div/a[1] | 2 | author: //*[@id='main']/div/a[1] |
3 | date: substring-before(substring-after(//div[@class='meta'],'•'),'•') | 3 | date: substring-before(substring-after(//div[@class='meta'],'•'),'•') |
4 | body: //div[@id='main'] | 4 | body: //div[@id='main'] |
5 | strip: //div[@class='meta'] | 5 | strip: //div[@class='meta'] |
6 | test_url: http://kottke.org/08/02/king-of-kong-a-fistful-of-quarters \ No newline at end of file | 6 | test_url: http://kottke.org/08/02/king-of-kong-a-fistful-of-quarters \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kumailplus.com.txt b/inc/3rdparty/site_config/standard/kumailplus.com.txt index 9e15cc34..2f604de0 100644..100755 --- a/inc/3rdparty/site_config/standard/kumailplus.com.txt +++ b/inc/3rdparty/site_config/standard/kumailplus.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class = "entry-full"] | 1 | body: //div[@class = "entry-full"] |
2 | 2 | ||
3 | test_url: http://www.kumailplus.com/2011/12/02/24308 \ No newline at end of file | 3 | test_url: http://www.kumailplus.com/2011/12/02/24308 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kumb.com.txt b/inc/3rdparty/site_config/standard/kumb.com.txt index 3f0d2369..fe350622 100644..100755 --- a/inc/3rdparty/site_config/standard/kumb.com.txt +++ b/inc/3rdparty/site_config/standard/kumb.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //div[@id='centrediv']/h1 | 1 | title: //div[@id='centrediv']/h1 |
2 | 2 | ||
3 | author: substring-after(//div[@id='centrediv']/h3,'By: ') | 3 | author: substring-after(//div[@id='centrediv']/h3,'By: ') |
4 | 4 | ||
5 | date: substring-after(substring-before(//div[@id='centrediv']/h3,'By: '),'Filed: ') | 5 | date: substring-after(substring-before(//div[@id='centrediv']/h3,'By: '),'Filed: ') |
6 | 6 | ||
7 | body: //div[@class='KonaBody'] | 7 | body: //div[@class='KonaBody'] |
8 | 8 | ||
9 | convert_double_br_tags: yes | 9 | convert_double_br_tags: yes |
10 | test_url: http://www.kumb.com/story.php?id=126084 \ No newline at end of file | 10 | test_url: http://www.kumb.com/story.php?id=126084 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/kwerfeldein.de.txt b/inc/3rdparty/site_config/standard/kwerfeldein.de.txt index 879b4d6c..cf4d3b8c 100644..100755 --- a/inc/3rdparty/site_config/standard/kwerfeldein.de.txt +++ b/inc/3rdparty/site_config/standard/kwerfeldein.de.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | date: //span[@class='datum'] | 1 | date: //span[@class='datum'] |
2 | title: //div[@class='artikel']/h2 | 2 | title: //div[@class='artikel']/h2 |
3 | body: //div[@class='entry'] | 3 | body: //div[@class='entry'] |
4 | strip: //p[@class='tags'] | 4 | strip: //p[@class='tags'] |
5 | author: substring-after(//div[@class='authorinfo']/em,'Dies ist ein Artikel von ') | 5 | author: substring-after(//div[@class='authorinfo']/em,'Dies ist ein Artikel von ') |
6 | strip: //div[@class='authorinfo'] | 6 | strip: //div[@class='authorinfo'] |
7 | strip: //div[@class='authorpic'] | 7 | strip: //div[@class='authorpic'] |
8 | 8 | ||
9 | test_url: http://kwerfeldein.de/index.php/2011/10/17/doppelbelichtungen-mit-konzept/ \ No newline at end of file | 9 | test_url: http://kwerfeldein.de/index.php/2011/10/17/doppelbelichtungen-mit-konzept/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/landetsfria.se.txt b/inc/3rdparty/site_config/standard/landetsfria.se.txt new file mode 100755 index 00000000..e5317a5a --- /dev/null +++ b/inc/3rdparty/site_config/standard/landetsfria.se.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | body: //div[contains(@class, 'layout__inner')]//div[contains(@class, 'file-image') or contains(@class, 'node__content')] | ||
2 | author: //article//div[contains(@class, 'field-byline')] | ||
3 | strip_id_or_class: rekommenderade | ||
4 | strip_id_or_class: disqus | ||
5 | strip_id_or_class: annonser | ||
6 | |||
7 | test_url: http://www.landetsfria.se/artikel/112070 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/laphamsquarterly.org.txt b/inc/3rdparty/site_config/standard/laphamsquarterly.org.txt index a34e39dd..d25999d0 100644..100755 --- a/inc/3rdparty/site_config/standard/laphamsquarterly.org.txt +++ b/inc/3rdparty/site_config/standard/laphamsquarterly.org.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title: //h1[@class='headline'] | 1 | title: //h1[@class='headline'] |
2 | body: //div[@class='article'] | 2 | body: //div[@class='article'] |
3 | strip: //div[@class='article']//h3[contains(@class, 'section')] | 3 | strip: //div[@class='article']//h3[contains(@class, 'section')] |
4 | strip: //div[@class='article']//ul[contains(@class, 'article-actions')] | 4 | strip: //div[@class='article']//ul[contains(@class, 'article-actions')] |
5 | strip: //div[@id='syndication-upper'] | 5 | strip: //div[@id='syndication-upper'] |
6 | strip: //a[@id='syndication'] | 6 | strip: //a[@id='syndication'] |
7 | strip: //dl[@id='article-tags'] | 7 | strip: //dl[@id='article-tags'] |
8 | strip: //div[@id='article-like'] | 8 | strip: //div[@id='article-like'] |
9 | prune: no | 9 | prune: no |
10 | 10 | ||
11 | single_page_link: //li[@class='single-page']/a | 11 | single_page_link: //li[@class='single-page']/a |
12 | 12 | ||
13 | test_url: http://www.laphamsquarterly.org/essays/balanced-diets.php \ No newline at end of file | 13 | test_url: http://www.laphamsquarterly.org/essays/balanced-diets.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/laprensagrafica.com.txt b/inc/3rdparty/site_config/standard/laprensagrafica.com.txt index e771f81f..82374c0b 100644..100755 --- a/inc/3rdparty/site_config/standard/laprensagrafica.com.txt +++ b/inc/3rdparty/site_config/standard/laprensagrafica.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | 2 | ||
3 | test_url: http://www.laprensagrafica.com/opinion/editorial/229252-reflexiones-sobre-la-educacion-que-necesitamos.html \ No newline at end of file | 3 | test_url: http://www.laprensagrafica.com/opinion/editorial/229252-reflexiones-sobre-la-educacion-que-necesitamos.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/laquadrature.net.txt b/inc/3rdparty/site_config/standard/laquadrature.net.txt index 5bad8e65..746bfca7 100644..100755 --- a/inc/3rdparty/site_config/standard/laquadrature.net.txt +++ b/inc/3rdparty/site_config/standard/laquadrature.net.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@id='content-content']//div[@class='content'] | 1 | body: //div[@id='content-content']//div[@class='content'] |
2 | title: //h1[@class='title'] | 2 | title: //h1[@class='title'] |
3 | date: substring-after(//*[@class='submitted'],'Submitted on') | 3 | date: substring-after(//*[@class='submitted'],'Submitted on') |
4 | tidy: no | 4 | tidy: no |
5 | strip: //div[@class='terms terms-inline'] | 5 | strip: //div[@class='terms terms-inline'] |
6 | strip: //div[@class='more'] | 6 | strip: //div[@class='more'] |
7 | strip: //div[@class='share-links'] | 7 | strip: //div[@class='share-links'] |
8 | strip: //table[@id='attachments'] | 8 | strip: //table[@id='attachments'] |
9 | 9 | ||
10 | test_url: http://www.laquadrature.net/en/finalization-of-eu-parliaments-weak-net-neutrality-resolution \ No newline at end of file | 10 | test_url: http://www.laquadrature.net/en/finalization-of-eu-parliaments-weak-net-neutrality-resolution \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/lareviewofbooks.org.txt b/inc/3rdparty/site_config/standard/lareviewofbooks.org.txt index 504dbea1..25e36543 100644..100755 --- a/inc/3rdparty/site_config/standard/lareviewofbooks.org.txt +++ b/inc/3rdparty/site_config/standard/lareviewofbooks.org.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | #meta data | 1 | #metadata |
2 | title:substring-after(title,'|') | 2 | title: substring-before(//title,' |') |
3 | 3 | author: //a[contains(@class,'person') and starts-with(@href, '/contributor')] | |
4 | author:substring-before( substring-after(//meta[@name = 'description']/@content, normalize-space(substring-after(//title,'|'))),' respond ') | 4 | |
5 | date://h5[@class = 'postDate'] | 5 | #text |
6 | 6 | body: //div[contains(@class, 'article_body')] | |
7 | #text | 7 | |
8 | body://div[@class = 'articleBody'] | 8 | #clean up |
9 | 9 | strip_id_or_class: recommended_section | |
10 | #clean up | 10 | |
11 | strip://center | 11 | test_url: http://lareviewofbooks.org/review/american-politics-redeembale-robert-gates-hillary-clinton-two-memoirs-washington-dc |
12 | test_url: http://lareviewofbooks.org/post/14066007115/literary-transactions-and-their-vicissitudes \ No newline at end of file | 12 | test_url: http://lareviewofbooks.org/interview/souvenirs-future |
diff --git a/inc/3rdparty/site_config/standard/latimes.com.txt b/inc/3rdparty/site_config/standard/latimes.com.txt index 0d6ac851..b2db37bf 100644..100755 --- a/inc/3rdparty/site_config/standard/latimes.com.txt +++ b/inc/3rdparty/site_config/standard/latimes.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | strip: //div[@id="tugs_story_display"] | 1 | strip: //div[@id="tugs_story_display"] |
2 | strip: //div[@id="search_overlay"] | 2 | strip: //div[@id="search_overlay"] |
3 | strip: //div[@id="adv_search"] | 3 | strip: //div[@id="adv_search"] |
4 | body: //div[@class='story'] | 4 | body: //div[@class='story'] |
5 | tidy: no | 5 | tidy: no |
6 | convert_double_br_tags: yes | 6 | convert_double_br_tags: yes |
7 | single_page_link: //a[contains(@href, ',print.')] | 7 | single_page_link: //a[contains(@href, ',print.')] |
8 | strip: //p[starts-with(., 'latimes.com')] | 8 | strip: //p[starts-with(., 'latimes.com')] |
9 | strip: //h1[starts-with(., 'latimes.com')] | 9 | strip: //h1[starts-with(., 'latimes.com')] |
10 | strip_id_or_class: cubead | 10 | strip_id_or_class: cubead |
11 | test_url: http://www.latimes.com/news/opinion/commentary/la-oe-gartonash-wilders-20110512,0,2876761.story \ No newline at end of file | 11 | test_url: http://www.latimes.com/news/opinion/commentary/la-oe-gartonash-wilders-20110512,0,2876761.story \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/laughingsquid.com.txt b/inc/3rdparty/site_config/standard/laughingsquid.com.txt index 1814988a..ab2f834f 100644..100755 --- a/inc/3rdparty/site_config/standard/laughingsquid.com.txt +++ b/inc/3rdparty/site_config/standard/laughingsquid.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h1[@class='entry-title'] | 1 | title: //h1[@class='entry-title'] |
2 | body: //div[@class='entry-content'] | 2 | body: //div[@class='entry-content'] |
3 | test_url: http://laughingsquid.com/mysterious-tiny-doors-appearing-around-san-francisco/ \ No newline at end of file | 3 | test_url: http://laughingsquid.com/mysterious-tiny-doors-appearing-around-san-francisco/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/leancrew.com.txt b/inc/3rdparty/site_config/standard/leancrew.com.txt index 0a4c84ba..e78cf7e6 100644..100755 --- a/inc/3rdparty/site_config/standard/leancrew.com.txt +++ b/inc/3rdparty/site_config/standard/leancrew.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@id="content"]/h1[1] | 1 | title: //div[@id="content"]/h1[1] |
2 | date: substring-before(//p[@class="postdate"], ' at ') | 2 | date: substring-before(//p[@class="postdate"], ' at ') |
3 | author: ("Dr. Drang") | 3 | author: ("Dr. Drang") |
4 | 4 | ||
5 | strip: //div[@id="content"]/h1[1] | 5 | strip: //div[@id="content"]/h1[1] |
6 | strip: //p[@class="postdate"] | 6 | strip: //p[@class="postdate"] |
7 | strip: //h2[@id="respond"] | 7 | strip: //h2[@id="respond"] |
8 | strip: //blockquote[@class="bbpTweet"]/p/span/a/img | 8 | strip: //blockquote[@class="bbpTweet"]/p/span/a/img |
9 | test_url: http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/ \ No newline at end of file | 9 | test_url: http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/lefigaro.fr.txt b/inc/3rdparty/site_config/standard/lefigaro.fr.txt index f5494b96..e720e377 100644..100755 --- a/inc/3rdparty/site_config/standard/lefigaro.fr.txt +++ b/inc/3rdparty/site_config/standard/lefigaro.fr.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //meta[@name='title']/@content | 1 | title: //meta[@name='title']/@content |
2 | author: //span[@class='sign']//a[@class='journaliste'] | 2 | author: //span[@class='sign']//a[@class='journaliste'] |
3 | author: //meta[@name='author']/@content | 3 | author: //meta[@name='author']/@content |
4 | body: //*[@id='article']/div[@class='photo'] | //*[@id='article']/h2 | //*[@id='article']/div[@class='texte'] | 4 | body: //*[@id='article']/div[@class='photo'] | //*[@id='article']/h2 | //*[@id='article']/div[@class='texte'] |
5 | date: //time[@pubdate]/@datetime | 5 | date: //time[@pubdate]/@datetime |
6 | prune: no | 6 | prune: no |
7 | test_url: http://www.lefigaro.fr/environnement/2011/11/10/01029-20111110ARTFIG00801-la-chine-confrontee-a-un-immense-defi-ecologique.php | 7 | test_url: http://www.lefigaro.fr/environnement/2011/11/10/01029-20111110ARTFIG00801-la-chine-confrontee-a-un-immense-defi-ecologique.php |
8 | test_url: http://www.lefigaro.fr/conjoncture/2012/11/20/20002-20121120ARTFIG00609-l-usager-devrait-payer-plus-pour-financer-les-transports.php \ No newline at end of file | 8 | test_url: http://www.lefigaro.fr/conjoncture/2012/11/20/20002-20121120ARTFIG00609-l-usager-devrait-payer-plus-pour-financer-les-transports.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/lemonde.fr.txt b/inc/3rdparty/site_config/standard/lemonde.fr.txt index eb205275..097999b6 100644..100755 --- a/inc/3rdparty/site_config/standard/lemonde.fr.txt +++ b/inc/3rdparty/site_config/standard/lemonde.fr.txt | |||
@@ -1,13 +1,18 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | 2 | ||
3 | # they have a single component containing both author and date | 3 | # We can have multiple authors |
4 | #author: //p[@class='source'] | 4 | author: //a[@class='auteur'] |
5 | #date: //p[@class='source'] | 5 | |
6 | 6 | # Last edition date (if any) | |
7 | body: //div[@class='contenu_article'] | 7 | date: //time[@itemprop='dateModified']/@datetime |
8 | #Shoot the insane "conjugaison.lemonde.fr" links : | 8 | # Publication date |
9 | strip: //a[contains(@class, 'listLink')] | 9 | date: //time[@itemprop='datePublished']/@datetime |
10 | 10 | ||
11 | prune: no | 11 | |
12 | 12 | body: //div[@id='articleBody'] | |
13 | test_url: http://www.lemonde.fr/economie/article/2011/07/05/moody-s-abaisse-la-note-du-portugal-de-quatre-crans_1545237_3234.html \ No newline at end of file | 13 | #Shoot the insane "conjugaison.lemonde.fr" links : |
14 | #strip: //a[contains(@class, 'conjug')] | ||
15 | |||
16 | prune: no | ||
17 | |||
18 | test_url: http://www.lemonde.fr/economie/article/2011/07/05/moody-s-abaisse-la-note-du-portugal-de-quatre-crans_1545237_3234.html | ||
diff --git a/inc/3rdparty/site_config/standard/lesnumeriques.com.txt b/inc/3rdparty/site_config/standard/lesnumeriques.com.txt index 9b57f726..51e025ae 100644..100755 --- a/inc/3rdparty/site_config/standard/lesnumeriques.com.txt +++ b/inc/3rdparty/site_config/standard/lesnumeriques.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //h1/following::span[@class='fn'] | 1 | title: //h1/following::span[@class='fn'] |
2 | # Author: should stop parsing until <br> reached, but I don't know how to do this. | 2 | # Author: should stop parsing until <br> reached, but I don't know how to do this. |
3 | author: //following::div[@class='PDate2'] | 3 | author: //following::div[@class='PDate2'] |
4 | date: //following::div[@class='PDate2']/strong | 4 | date: //following::div[@class='PDate2']/strong |
5 | 5 | ||
6 | body: //div[@class='ArTexte'] | 6 | body: //div[@class='ArTexte'] |
7 | body: //div[@id='prod_txt_b'] | 7 | body: //div[@id='prod_txt_b'] |
8 | body: //div[@class='ArPhotoP'] | 8 | body: //div[@class='ArPhotoP'] |
9 | test_url: http://www.lesnumeriques.com/disque-dur-multimedia/popcorn-hour-300-p12231/test.html \ No newline at end of file | 9 | test_url: http://www.lesnumeriques.com/disque-dur-multimedia/popcorn-hour-300-p12231/test.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/letemps.ch.txt b/inc/3rdparty/site_config/standard/letemps.ch.txt index c4bee7ec..49b019f9 100644..100755 --- a/inc/3rdparty/site_config/standard/letemps.ch.txt +++ b/inc/3rdparty/site_config/standard/letemps.ch.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | strip_image_src: logo.gif | 2 | strip_image_src: logo.gif |
3 | test_url: http://www.letemps.ch/Facet/print/Uuid/7c9f912c-07c9-11e0-9b50-4d96c9eca37f \ No newline at end of file | 3 | test_url: http://www.letemps.ch/Facet/print/Uuid/7c9f912c-07c9-11e0-9b50-4d96c9eca37f \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/libcom.org.txt b/inc/3rdparty/site_config/standard/libcom.org.txt new file mode 100755 index 00000000..d1404d10 --- /dev/null +++ b/inc/3rdparty/site_config/standard/libcom.org.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | date: //span[contains(@class, 'page-date')] | ||
2 | body: //div[@id='node-page'] | ||
3 | strip_id_or_class: book-navigation | ||
4 | prune: no | ||
5 | |||
6 | test_url: http://libcom.org/library/what-was-the-ussr-aufheben-1 | ||
7 | test_url: http://libcom.org/library-latest/feed \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/lifeandculture.fr.txt b/inc/3rdparty/site_config/standard/lifeandculture.fr.txt index c3888aa8..0e1dceb1 100644..100755 --- a/inc/3rdparty/site_config/standard/lifeandculture.fr.txt +++ b/inc/3rdparty/site_config/standard/lifeandculture.fr.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h2[@class="entry-title"] | 1 | title: //h2[@class="entry-title"] |
2 | body: //div[@class="entry-content"] | 2 | body: //div[@class="entry-content"] |
3 | test_url: http://www.lifeandculture.fr/digital/facebook-and-the-epiphanator-an-end-to-endings/ \ No newline at end of file | 3 | test_url: http://www.lifeandculture.fr/digital/facebook-and-the-epiphanator-an-end-to-endings/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/lifehacker.com.txt b/inc/3rdparty/site_config/standard/lifehacker.com.txt index 32ade14a..ec97f06c 100644..100755 --- a/inc/3rdparty/site_config/standard/lifehacker.com.txt +++ b/inc/3rdparty/site_config/standard/lifehacker.com.txt | |||
@@ -1,42 +1,47 @@ | |||
1 | # Adds author text: Gawker sites commonly show as "Author: View Profile" | 1 | # Adds author text: Gawker sites commonly show as "Author: View Profile" |
2 | author://a[@class="plus-icon modfont"] | 2 | author://a[@class="plus-icon modfont"] |
3 | 3 | ||
4 | # Add date and time | 4 | # Add date and time |
5 | date: //span[@class="date"] | 5 | date: //span[@class="date"] |
6 | 6 | ||
7 | # Remove date and time from article text | 7 | body: //div[contains(@class, 'marquee-asset-wrapper') or contains(@class, 'post-content')] |
8 | strip: //span[@class="date"] | 8 | |
9 | 9 | # Remove date and time from article text | |
10 | # Remove login/comment text | 10 | strip: //span[@class="date"] |
11 | strip: //*[(@class="presence_control_external smalltype")] | 11 | |
12 | 12 | # Remove login/comment text | |
13 | strip: //div[@class="nodebyline modfont"] | 13 | strip: //*[(@class="presence_control_external smalltype")] |
14 | 14 | ||
15 | # Remove right sidebar | 15 | strip: //div[@class="nodebyline modfont"] |
16 | strip: //div[@id="rightwrapper"] | 16 | |
17 | 17 | # Remove right sidebar | |
18 | # Remove print header | 18 | strip: //div[@id="rightwrapper"] |
19 | strip: //div[@id='printhead']/h1 | 19 | |
20 | 20 | # Remove print header | |
21 | # Remove 'content is restricted' | 21 | strip: //div[@id='printhead']/h1 |
22 | strip: //div[@id='agegate_IDHERE'] | 22 | |
23 | 23 | # Remove 'content is restricted' | |
24 | # Remove follow text | 24 | strip: //div[@id='agegate_IDHERE'] |
25 | strip: //*[(@class="permalink_ads")] | 25 | |
26 | 26 | # Remove follow text | |
27 | # Remove view/comment count | 27 | strip: //*[(@class="permalink_ads")] |
28 | strip: //div[@id='wrapper']/div[2][@class='postmeta_permalink_wrapper']/div[1][@class='postmeta_permalink']/div[2][@class='pm_line'] | 28 | |
29 | 29 | strip_id_or_class: inset_groups | |
30 | # Remove contact text | 30 | |
31 | strip: //div[@id='wrapper']/div[1][@class='content permalink']/p[6][@class='contactinfo'] | 31 | # Remove view/comment count |
32 | 32 | strip: //div[@id='wrapper']/div[2][@class='postmeta_permalink_wrapper']/div[1][@class='postmeta_permalink']/div[2][@class='pm_line'] | |
33 | # Remove medium duplicates of the article image | 33 | |
34 | strip_image_src: medium.jpg | 34 | # Remove contact text |
35 | 35 | strip: //div[@id='wrapper']/div[1][@class='content permalink']/p[6][@class='contactinfo'] | |
36 | # Remove "arrow" class at bottom of page | 36 | |
37 | strip: //p[@class="arrow"] | 37 | # Remove medium duplicates of the article image |
38 | 38 | strip_image_src: medium.jpg | |
39 | # Remove "track" image from article body | 39 | |
40 | strip: //img[@alt="track"] | 40 | # Remove "arrow" class at bottom of page |
41 | test_url: http://lifehacker.com/5925801/how-can-i-turn-vague-goals-into-actionable-to+dos | 41 | strip: //p[@class="arrow"] |
42 | test_url: http://lifehacker.com/5941600/hack-an-old-computer-mouse-into-a-wireless-bluetooth-mouse \ No newline at end of file | 42 | |
43 | # Remove "track" image from article body | ||
44 | strip: //img[@alt="track"] | ||
45 | test_url: http://lifehacker.com/5925801/how-can-i-turn-vague-goals-into-actionable-to+dos | ||
46 | test_url: http://lifehacker.com/5941600/hack-an-old-computer-mouse-into-a-wireless-bluetooth-mouse | ||
47 | test_url: http://lifehacker.com/what-happens-to-the-brain-when-you-meditate-and-how-it-1202533314 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/lifestyle.inquirer.net.txt b/inc/3rdparty/site_config/standard/lifestyle.inquirer.net.txt new file mode 100755 index 00000000..25d544ae --- /dev/null +++ b/inc/3rdparty/site_config/standard/lifestyle.inquirer.net.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //h1[@class='singlePageTitle'] | ||
2 | |||
3 | strip: //p[contains(text(), 'Follow Us')] | ||
4 | strip: //p/strong[contains(text(), 'Recent Stories:')] | ||
5 | strip: //div[@id="sharefeature"] | ||
6 | |||
7 | test_url: http://lifestyle.inquirer.net/100223/dusting-your-ceiling-fan | ||
diff --git a/inc/3rdparty/site_config/standard/lifeweek.com.cn.txt b/inc/3rdparty/site_config/standard/lifeweek.com.cn.txt new file mode 100755 index 00000000..e09f6692 --- /dev/null +++ b/inc/3rdparty/site_config/standard/lifeweek.com.cn.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://www.lifeweek.com.cn/2012/1211/39439.shtml | ||
3 | # http://www.lifeweek.com.cn/2013/0308/40213.shtml | ||
4 | |||
5 | title:substring-before(//h1, '(') | ||
6 | title://h1 | ||
7 | date://ul[@class='authorbox']/li | ||
8 | author: substring-after(//ul[@class='authorbox']/li/following-sibling::li, '作者:') | ||
9 | |||
10 | next_page_link: //div[@class='pageturn_list']/a[@class='pagedown'] | ||
11 | body: //div[@class='original '] | ||
12 | |||
13 | strip://h1 | ||
14 | strip://ul[@class='authorbox'] | ||
15 | strip://span[@class='app_p'] | ||
16 | strip://div[@style='text-align:right;'] | ||
17 | strip://div[@class='pageturn_list'] | ||
18 | strip://div[@class='lifespeaks'] | ||
19 | strip://div[@class='vright fr'] | ||
20 | strip://div[@class='copyrt mg20'] | ||
21 | strip://div[@class='keyabout mg20'] | ||
22 | strip://ul[@class='readabout mg20'] | ||
23 | test_url: http://www.lifeweek.com.cn/2013/0308/40213.shtml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/linkedin.com.txt b/inc/3rdparty/site_config/standard/linkedin.com.txt index 37e83cf6..37e83cf6 100644..100755 --- a/inc/3rdparty/site_config/standard/linkedin.com.txt +++ b/inc/3rdparty/site_config/standard/linkedin.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/livescience.com.txt b/inc/3rdparty/site_config/standard/livescience.com.txt new file mode 100755 index 00000000..5275d34a --- /dev/null +++ b/inc/3rdparty/site_config/standard/livescience.com.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | title: //div[@class="album_title"]//h1 | ||
2 | author: substring-before(//div[@class='by_line'], ',') | ||
3 | date: substring-after(substring-before(//div[@class="album_time"], ' Time'), 'Date: ') | ||
4 | body: //div[@class="about_text"] | ||
5 | |||
6 | strip: //div[@class='large_popper'] | ||
7 | strip: //span[contains(@id, 'mag_glass')] | ||
8 | strip: //span[contains(@class, 'img_overlay')] | ||
9 | strip: //td//span | ||
10 | strip: //div[@class="center_adsense"] | ||
11 | strip: //div[@class="article_info"]//div[@class='asset_section'] | ||
12 | strip: //div[@class="article_additional"] | ||
13 | strip: //div[contains(@style, 'overflow:hidden')] | ||
14 | strip: //div[@class="aa_text"] | ||
15 | strip: //div[@id='nointelliTXT'] | ||
16 | |||
17 | prune: no | ||
18 | autodetect_on_failure: no | ||
19 | |||
20 | test_url: http://www.livescience.com/34569-why-flowers-close-at-night-nyctinasty.html | ||
diff --git a/inc/3rdparty/site_config/standard/longform.org.txt b/inc/3rdparty/site_config/standard/longform.org.txt index 48d5e1a7..1310ec0d 100644..100755 --- a/inc/3rdparty/site_config/standard/longform.org.txt +++ b/inc/3rdparty/site_config/standard/longform.org.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | single_page_link: //div[@class="post"]/div[@class="title"]/a | 1 | single_page_link: //div[@class="post"]/div[@class="title"]/a |
2 | 2 | ||
3 | test_url: http://longform.org/2011/05/06/disconcerting-new-answers-in-models-suicide/ \ No newline at end of file | 3 | test_url: http://longform.org/2011/05/06/disconcerting-new-answers-in-models-suicide/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/loopinsight.com.txt b/inc/3rdparty/site_config/standard/loopinsight.com.txt index 08ad90c3..730af947 100644..100755 --- a/inc/3rdparty/site_config/standard/loopinsight.com.txt +++ b/inc/3rdparty/site_config/standard/loopinsight.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //div[@class='container_16']//div[@class='grid_11'] | 1 | body: //div[@class='container_16']//div[@class='grid_11'] |
2 | strip: //h2[@class='mast'] | 2 | strip: //h2[@class='mast'] |
3 | strip: //div[@class='container_16']//div[@class='grid_11']/h1 | 3 | strip: //div[@class='container_16']//div[@class='grid_11']/h1 |
4 | strip: //div[@class='container_16']//div[@class='grid_11']/p[1] | 4 | strip: //div[@class='container_16']//div[@class='grid_11']/p[1] |
5 | strip: //div[@class='container_16']//div[@class='grid_11']/div | 5 | strip: //div[@class='container_16']//div[@class='grid_11']/div |
6 | author: //a[starts-with(@title, 'Posts by')] | 6 | author: //a[starts-with(@title, 'Posts by')] |
7 | date: substring-before(substring-after(//time, 'Posted on '), ' at') | 7 | date: substring-before(substring-after(//time, 'Posted on '), ' at') |
8 | test_url: http://www.loopinsight.com/2012/09/13/forget-iphone-5-naysayers-this-thing-is-big/ | 8 | test_url: http://www.loopinsight.com/2012/09/13/forget-iphone-5-naysayers-this-thing-is-big/ |
9 | test_url: http://www.loopinsight.com/2011/05/20/playbook-returns-high-misses-sales-targets-by-90/ \ No newline at end of file | 9 | test_url: http://www.loopinsight.com/2011/05/20/playbook-returns-high-misses-sales-targets-by-90/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/lostgarden.com.txt b/inc/3rdparty/site_config/standard/lostgarden.com.txt index a823e649..d7eb0fa0 100644..100755 --- a/inc/3rdparty/site_config/standard/lostgarden.com.txt +++ b/inc/3rdparty/site_config/standard/lostgarden.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | prune: no | 1 | prune: no |
2 | convert_double_br_tags: yes | 2 | convert_double_br_tags: yes |
3 | test_url: http://www.lostgarden.com/2012/04/loops-and-arcs.html \ No newline at end of file | 3 | test_url: http://www.lostgarden.com/2012/04/loops-and-arcs.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/lovefm.com.txt b/inc/3rdparty/site_config/standard/lovefm.com.txt new file mode 100755 index 00000000..20d26c56 --- /dev/null +++ b/inc/3rdparty/site_config/standard/lovefm.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //*[@id='title'] | ||
2 | date: //*[@id='date'] | ||
3 | body: //*[@id='desc'] | ||
4 | tidy: no | ||
5 | |||
6 | test_url: http://www.lovefm.com/local_news.php?item=2176 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/lovetv.com.bz.txt b/inc/3rdparty/site_config/standard/lovetv.com.bz.txt new file mode 100755 index 00000000..a71fccdd --- /dev/null +++ b/inc/3rdparty/site_config/standard/lovetv.com.bz.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | title: //div[contains(@class, 'post')]//h1 | ||
2 | body: //div[contains(@class, 'post')] | ||
3 | strip: //hr | ||
4 | strip_id_or_class: post-meta | ||
5 | |||
6 | prune: no | ||
7 | |||
8 | test_url: http://www.lovetv.com.bz/2013/06/28/recently-discovered-ancient-maya-wooden-canoe-paddle-to-be-handed-over-to-archaeology/ | ||
9 | test_url: http://www.lovetv.com.bz/feed/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/lrb.co.uk.txt b/inc/3rdparty/site_config/standard/lrb.co.uk.txt index ce5053d4..f1aacb7d 100644..100755 --- a/inc/3rdparty/site_config/standard/lrb.co.uk.txt +++ b/inc/3rdparty/site_config/standard/lrb.co.uk.txt | |||
@@ -1,8 +1,12 @@ | |||
1 | title: substring-before(//title, ' · LRB') | 1 | title: //div[contains(@class, "article-body")]/hgroup/h1 |
2 | 2 | body: //div[contains(@class, "article-body")] | |
3 | body: //div[@class="article-body indent"] | 3 | |
4 | 4 | date: substring-after(//p[@class="meta-info"]/a, '· ') | |
5 | date: substring-after(//p[@class="meta-info"]/a, '· ') | 5 | |
6 | 6 | author: //div[contains(@class, "article-body")]/hgroup/h2 | |
7 | prune: no | 7 | |
8 | test_url: http://www.lrb.co.uk/v33/n18/james-meek/its-already-happened \ No newline at end of file | 8 | strip_id_or_class: print-hide |
9 | strip_id_or_class: books | ||
10 | |||
11 | test_url: http://www.lrb.co.uk/v33/n18/james-meek/its-already-happened | ||
12 | test_url: http://www.lrb.co.uk/v36/n13/benjamin-kunkel/paupers-and-richlings | ||
diff --git a/inc/3rdparty/site_config/standard/luminous-landscape.com.txt b/inc/3rdparty/site_config/standard/luminous-landscape.com.txt index 92ccf3ba..b445f5eb 100644..100755 --- a/inc/3rdparty/site_config/standard/luminous-landscape.com.txt +++ b/inc/3rdparty/site_config/standard/luminous-landscape.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | 2 | ||
3 | body: // div[@id='content'] | 3 | body: // div[@id='content'] |
4 | 4 | ||
5 | strip: //div[@class='sidebar_wrapper'] | 5 | strip: //div[@class='sidebar_wrapper'] |
6 | test_url: http://www.luminous-landscape.com/tutorials/optimizing_exposure.shtml \ No newline at end of file | 6 | test_url: http://www.luminous-landscape.com/tutorials/optimizing_exposure.shtml \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/luxuo.com.txt b/inc/3rdparty/site_config/standard/luxuo.com.txt new file mode 100755 index 00000000..a3d5cb17 --- /dev/null +++ b/inc/3rdparty/site_config/standard/luxuo.com.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | body: //div[@class='post-content'] | ||
2 | prune: no | ||
3 | |||
4 | test_url: http://www.luxuo.com/watches/feed \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/m.bbc.co.uk.txt b/inc/3rdparty/site_config/standard/m.bbc.co.uk.txt index a8af5438..d1ff0b43 100644..100755 --- a/inc/3rdparty/site_config/standard/m.bbc.co.uk.txt +++ b/inc/3rdparty/site_config/standard/m.bbc.co.uk.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //div[@class="story-body"]/div[@class="story-inner"]/h1 | 1 | title: //div[@class="story-body"]/div[@class="story-inner"]/h1 |
2 | body: //div[@class="story-body"] | 2 | body: //div[@class="story-body"] |
3 | date: //p[@class='date']/strong | 3 | date: //p[@class='date']/strong |
4 | author: substring-after(//div[@class="story-inner"]/div[@class="byline"]//span[@class='name'], 'By') | 4 | author: substring-after(//div[@class="story-inner"]/div[@class="byline"]//span[@class='name'], 'By') |
5 | 5 | ||
6 | strip: //div[@class="story-inner"]/div[@class="byline"] | 6 | strip: //div[@class="story-inner"]/div[@class="byline"] |
7 | 7 | ||
8 | test_url: http://m.bbc.co.uk/news/science-environment-19144464 \ No newline at end of file | 8 | test_url: http://m.bbc.co.uk/news/science-environment-19144464 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/m.douban.com.txt b/inc/3rdparty/site_config/standard/m.douban.com.txt new file mode 100755 index 00000000..ce9a3167 --- /dev/null +++ b/inc/3rdparty/site_config/standard/m.douban.com.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://m.douban.com/note/240776310/?session=6ac86d1e | ||
3 | # http://m.douban.com/note/208270705/?session=e00ec732_3433229 | ||
4 | |||
5 | title: //h2 | ||
6 | author: //a[@class='founder'] | ||
7 | date: substring-after(//span[@class='info'],' | ') | ||
8 | body: //div[contains(@class,'entry item')] | ||
9 | |||
10 | strip://span[contains(@class,'info')] | ||
11 | |||
12 | convert_double_br_tags: yes | ||
13 | test_url: http://m.douban.com/note/240776310/?session=6ac86d1e \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/m.vanityfair.com.txt b/inc/3rdparty/site_config/standard/m.vanityfair.com.txt new file mode 100755 index 00000000..e47ce2ce --- /dev/null +++ b/inc/3rdparty/site_config/standard/m.vanityfair.com.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | # Article Metadata | ||
2 | title: //h1 | ||
3 | author: //span[@class="name"]/a | ||
4 | date: //time | ||
5 | |||
6 | # Content Pruning | ||
7 | strip: //h5 | ||
8 | strip: //time | ||
9 | strip: //div[@class="byline"] | ||
10 | strip: //h2[@class="headline "] | ||
11 | test_url: http://m.vanityfair.com/politics/2012/10/michael-lewis-profile-barack-obama \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/m00natic.github.io.txt b/inc/3rdparty/site_config/standard/m00natic.github.io.txt new file mode 100644 index 00000000..911fcbd0 --- /dev/null +++ b/inc/3rdparty/site_config/standard/m00natic.github.io.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | # Generated by FiveFilters.org's web-based selection tool | ||
2 | # Place this file inside your site_config/custom/ folder | ||
3 | # Source: http://siteconfig.fivefilters.org/grab.php?url=https%3A%2F%2Fm00natic.github.io%2Femacs%2Femacs-wiki.html | ||
4 | |||
5 | body: //div[@id='content'] | ||
6 | strip_id_or_class: table-of-contents | ||
7 | test_url: https://m00natic.github.io/emacs/emacs-wiki.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/mac4ever.com.txt b/inc/3rdparty/site_config/standard/mac4ever.com.txt index 892b47f5..9999758b 100644..100755 --- a/inc/3rdparty/site_config/standard/mac4ever.com.txt +++ b/inc/3rdparty/site_config/standard/mac4ever.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | author: substring-after(//div[@class='author'],'Par ') | 1 | author: substring-after(//div[@class='author'],'Par ') |
2 | date: //div[@class='date'] | 2 | date: //div[@class='date'] |
3 | body: //div[@class='content'] | 3 | body: //div[@class='content'] |
4 | 4 | ||
5 | test_url: http://www.mac4ever.com/news/64182/icloud_les_prix_en_euros_et_en_chf/ \ No newline at end of file | 5 | test_url: http://www.mac4ever.com/news/64182/icloud_les_prix_en_euros_et_en_chf/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/macdrifter.com.txt b/inc/3rdparty/site_config/standard/macdrifter.com.txt index fd1ede7d..e57bd640 100644..100755 --- a/inc/3rdparty/site_config/standard/macdrifter.com.txt +++ b/inc/3rdparty/site_config/standard/macdrifter.com.txt | |||
@@ -1,2 +1,2 @@ | |||
1 | title: substring-before(//title,' « Macdrifter') | 1 | title: substring-before(//title,' « Macdrifter') |
2 | test_url: http://www.macdrifter.com/2012/03/instacast-on-my-mac/ \ No newline at end of file | 2 | test_url: http://www.macdrifter.com/2012/03/instacast-on-my-mac/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/macformat.techradar.com.txt b/inc/3rdparty/site_config/standard/macformat.techradar.com.txt index 109eae45..522efb49 100644..100755 --- a/inc/3rdparty/site_config/standard/macformat.techradar.com.txt +++ b/inc/3rdparty/site_config/standard/macformat.techradar.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | # Remove news feed | 1 | # Remove news feed |
2 | strip: //div[@id='news_feed_front'] | 2 | strip: //div[@id='news_feed_front'] |
3 | 3 | ||
4 | # Remove pull quote | 4 | # Remove pull quote |
5 | strip: //div[@class='field field-type-text field-field-pull-quote'] | 5 | strip: //div[@class='field field-type-text field-field-pull-quote'] |
6 | 6 | ||
7 | # Remove login | 7 | # Remove login |
8 | strip: //div[@class='right_bar_login'] | 8 | strip: //div[@class='right_bar_login'] |
9 | test_url: http://macformat.techradar.com/blog/solid-state-storage-bringing-parity-back-mac-29-10-10&article=89189666 \ No newline at end of file | 9 | test_url: http://macformat.techradar.com/blog/solid-state-storage-bringing-parity-back-mac-29-10-10&article=89189666 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/macgeneration.com.txt b/inc/3rdparty/site_config/standard/macgeneration.com.txt index e6bbe28e..739eff4e 100644..100755 --- a/inc/3rdparty/site_config/standard/macgeneration.com.txt +++ b/inc/3rdparty/site_config/standard/macgeneration.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | author: substring-before(substring-after(//div[@class='dateNews'],'par '),' le') | 1 | author: substring-before(substring-after(//div[@class='dateNews'],'par '),' le') |
2 | date: substring-after(//div[@class='dateNews'],' le ') | 2 | date: substring-after(//div[@class='dateNews'],' le ') |
3 | body: //div[@class='singleNews zoneApple'] | 3 | body: //div[@class='singleNews zoneApple'] |
4 | 4 | ||
5 | test_url: http://www.macgeneration.com/news/voir/211162/dropbox-encore-un-mac-et-deux-comptes-dropbox \ No newline at end of file | 5 | test_url: http://www.macgeneration.com/news/voir/211162/dropbox-encore-un-mac-et-deux-comptes-dropbox \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/macmagazine.com.br.txt b/inc/3rdparty/site_config/standard/macmagazine.com.br.txt index 47ebfd79..da7df695 100644..100755 --- a/inc/3rdparty/site_config/standard/macmagazine.com.br.txt +++ b/inc/3rdparty/site_config/standard/macmagazine.com.br.txt | |||
@@ -1,21 +1,21 @@ | |||
1 | # Remove sliders | 1 | # Remove sliders |
2 | strip: //*[(@class="slides_container")] | 2 | strip: //*[(@class="slides_container")] |
3 | strip: //div[(@id="slides_two")] | 3 | strip: //div[(@id="slides_two")] |
4 | 4 | ||
5 | # Remove tag cloud | 5 | # Remove tag cloud |
6 | strip: //span[(@class="secao")] | 6 | strip: //span[(@class="secao")] |
7 | 7 | ||
8 | # Fix date article | 8 | # Fix date article |
9 | # TODO | 9 | # TODO |
10 | 10 | ||
11 | # Remove other stuff | 11 | # Remove other stuff |
12 | strip: //div[(@id="idc-container")] | 12 | strip: //div[(@id="idc-container")] |
13 | strip: //div[(@id="idc-noscript")] | 13 | strip: //div[(@id="idc-noscript")] |
14 | strip: //div[(@class="linkwithin_div")] | 14 | strip: //div[(@class="linkwithin_div")] |
15 | strip: //div[(@class="navPosts")] | 15 | strip: //div[(@class="navPosts")] |
16 | strip: //div[(@id="lateral")] | 16 | strip: //div[(@id="lateral")] |
17 | strip: //div[(@id="autor")] | 17 | strip: //div[(@id="autor")] |
18 | strip: //div[(@id="rodape")] | 18 | strip: //div[(@id="rodape")] |
19 | strip: //div[(@id="post")]/h1 | 19 | strip: //div[(@id="post")]/h1 |
20 | strip: //div[(@id="post")]/div[(@id="boxInformacoes")] | 20 | strip: //div[(@id="post")]/div[(@id="boxInformacoes")] |
21 | test_url: http://macmagazine.com.br/2011/08/01/skype-para-ipad-esta-finalmente-chegando-a-app-store/ \ No newline at end of file | 21 | test_url: http://macmagazine.com.br/2011/08/01/skype-para-ipad-esta-finalmente-chegando-a-app-store/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/macrumors.com.txt b/inc/3rdparty/site_config/standard/macrumors.com.txt index 76f999d3..83cfb4a6 100644..100755 --- a/inc/3rdparty/site_config/standard/macrumors.com.txt +++ b/inc/3rdparty/site_config/standard/macrumors.com.txt | |||
@@ -1,10 +1,12 @@ | |||
1 | author: substring-after(//div[@class='byline'], " by ") | 1 | author: substring-after(//div[@class='byline'], " by ") |
2 | date: substring-before(//div[@class='byline'], " by ") | 2 | date: substring-before(//div[@class='byline'], " by ") |
3 | 3 | ||
4 | # set body | 4 | # set body |
5 | body: //div[@class='content'] | 5 | body: //div[@class='content'] |
6 | 6 | strip_id_or_class: commentsContainer | |
7 | # set title | 7 | strip_id_or_class: linkback |
8 | title: //h3 | 8 | |
9 | # set title | ||
10 | title: //h3 | ||
9 | #strip: //div[@class='content']/h3 | 11 | #strip: //div[@class='content']/h3 |
10 | test_url: http://www.macrumors.com/2010/11/10/apple-debuts-new-apple-tv-and-itunes-movie-content-in-japan/ \ No newline at end of file | 12 | test_url: http://www.macrumors.com/2010/11/10/apple-debuts-new-apple-tv-and-itunes-movie-content-in-japan/ |
diff --git a/inc/3rdparty/site_config/standard/macstories.net.txt b/inc/3rdparty/site_config/standard/macstories.net.txt index 6e651ca0..639fdd19 100644..100755 --- a/inc/3rdparty/site_config/standard/macstories.net.txt +++ b/inc/3rdparty/site_config/standard/macstories.net.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | strip: //*[(@id = "featured")] | 1 | strip: //*[(@id = "featured")] |
2 | 2 | ||
3 | author:substring-after( //div[@class='posttitle']/h2[@class='author'],'by ') | 3 | author:substring-after( //div[@class='posttitle']/h2[@class='author'],'by ') |
4 | 4 | ||
5 | date: concat(//div[@class='month'],' ',//div[@class='day']) | 5 | date: concat(//div[@class='month'],' ',//div[@class='day']) |
6 | 6 | ||
7 | #macstories doesn't provide a year, but month/day is better than nothing | 7 | #macstories doesn't provide a year, but month/day is better than nothing |
8 | test_url: http://www.macstories.net/news/instapaper-4-0-available-completely-redesigned-ipad-ui-new-features-search-subscription/ \ No newline at end of file | 8 | test_url: http://www.macstories.net/news/instapaper-4-0-available-completely-redesigned-ipad-ui-new-features-search-subscription/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mactalk.com.au.txt b/inc/3rdparty/site_config/standard/mactalk.com.au.txt index e8d60522..9be865af 100644..100755 --- a/inc/3rdparty/site_config/standard/mactalk.com.au.txt +++ b/inc/3rdparty/site_config/standard/mactalk.com.au.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | author://div[@class="article_username_container_full"] | 1 | author://div[@class="article_username_container_full"] |
2 | date://div[@class="article_username_container"] | 2 | date://div[@class="article_username_container"] |
3 | body://div[@class="article cms_clear restore postcontainer"] | 3 | body://div[@class="article cms_clear restore postcontainer"] |
4 | test_url: http://www.mactalk.com.au/content/chat-basil-shkara-developer-taptax-2452/ \ No newline at end of file | 4 | test_url: http://www.mactalk.com.au/content/chat-basil-shkara-developer-taptax-2452/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mactechnews.de.txt b/inc/3rdparty/site_config/standard/mactechnews.de.txt index c3fc0e44..5c03518a 100644..100755 --- a/inc/3rdparty/site_config/standard/mactechnews.de.txt +++ b/inc/3rdparty/site_config/standard/mactechnews.de.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: substring-after(substring-after(//title, '>'), '>') | 1 | title: substring-after(substring-after(//title, '>'), '>') |
2 | body: //div[@class='NewsArticleContent'] | 2 | body: //div[@class='NewsArticleContent'] |
3 | test_url: http://www.mactechnews.de/news/index/Apple-Pressekonferenz-zum-iPhone-4-147316.html \ No newline at end of file | 3 | test_url: http://www.mactechnews.de/news/index/Apple-Pressekonferenz-zum-iPhone-4-147316.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/macworld.com.txt b/inc/3rdparty/site_config/standard/macworld.com.txt index 96175872..e7d97202 100644..100755 --- a/inc/3rdparty/site_config/standard/macworld.com.txt +++ b/inc/3rdparty/site_config/standard/macworld.com.txt | |||
@@ -1,24 +1,24 @@ | |||
1 | title: //article//h1 | 1 | title: //article//h1 |
2 | date: //meta[@name="date"]/@content | 2 | date: //meta[@name="date"]/@content |
3 | author: //div[@class="author-name" or @class="article-byline"]/a[1] | 3 | author: //div[@class="author-name" or @class="article-byline"]/a[1] |
4 | 4 | ||
5 | body: //section[@class="page"] | 5 | body: //section[@class="page"] |
6 | 6 | ||
7 | # remove 'From the Lab' and 'Recent posts' text | 7 | # remove 'From the Lab' and 'Recent posts' text |
8 | strip: //div[@class='blogLabel'] | 8 | strip: //div[@class='blogLabel'] |
9 | 9 | ||
10 | # remove byline and meta info | 10 | # remove byline and meta info |
11 | strip: //div[@class="article-meta"] | 11 | strip: //div[@class="article-meta"] |
12 | strip: //div[@class="author-info"] | 12 | strip: //div[@class="author-info"] |
13 | 13 | ||
14 | #strip tags and categories | 14 | #strip tags and categories |
15 | strip: //div[@class="department"] | 15 | strip: //div[@class="department"] |
16 | 16 | ||
17 | #strip product cap links | 17 | #strip product cap links |
18 | strip: //div[@class="cap-main"] | 18 | strip: //div[@class="cap-main"] |
19 | strip: //div[@id="compare-lede"] | 19 | strip: //div[@id="compare-lede"] |
20 | 20 | ||
21 | prune: no | 21 | prune: no |
22 | 22 | ||
23 | # copes less well with Review pages, seems fine for News | 23 | # copes less well with Review pages, seems fine for News |
24 | test_url: http://www.macworld.com/article/163184/2011/10/the_ipod_as_an_iconic_cultural_force.html \ No newline at end of file | 24 | test_url: http://www.macworld.com/article/163184/2011/10/the_ipod_as_an_iconic_cultural_force.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mainichi.jp.txt b/inc/3rdparty/site_config/standard/mainichi.jp.txt index e701207f..414a2f53 100644..100755 --- a/inc/3rdparty/site_config/standard/mainichi.jp.txt +++ b/inc/3rdparty/site_config/standard/mainichi.jp.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class='NewsArticle'] | 1 | body: //div[@class='NewsArticle'] |
2 | 2 | ||
3 | test_url: http://mainichi.jp/select/weathernews/20110311/news/20110520k0000e040062000c.html \ No newline at end of file | 3 | test_url: http://mainichi.jp/select/weathernews/20110311/news/20110520k0000e040062000c.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mainpost.de.txt b/inc/3rdparty/site_config/standard/mainpost.de.txt index a2d25d56..2136de3f 100644..100755 --- a/inc/3rdparty/site_config/standard/mainpost.de.txt +++ b/inc/3rdparty/site_config/standard/mainpost.de.txt | |||
@@ -1,28 +1,28 @@ | |||
1 | title: substring-before(//title, '|') | 1 | title: substring-before(//title, '|') |
2 | body: //*[@id='content-left'] | 2 | body: //*[@id='content-left'] |
3 | 3 | ||
4 | # Why is this not working here? | 4 | # Why is this not working here? |
5 | # body: //*[@id='content-left']/div[@class='content-container'][2]/div[@class='content-body']/div[@class='inner-container']/div[@class='detail'] | 5 | # body: //*[@id='content-left']/div[@class='content-container'][2]/div[@class='content-body']/div[@class='inner-container']/div[@class='detail'] |
6 | 6 | ||
7 | 7 | ||
8 | #Header | 8 | #Header |
9 | strip_id_or_class: 'subHead' | 9 | strip_id_or_class: 'subHead' |
10 | strip_id_or_class: 'fl_right' | 10 | strip_id_or_class: 'fl_right' |
11 | strip_id_or_class: 'infolink' | 11 | strip_id_or_class: 'infolink' |
12 | strip_id_or_class: 'content-head' | 12 | strip_id_or_class: 'content-head' |
13 | strip_id_or_class: 'tab' | 13 | strip_id_or_class: 'tab' |
14 | strip_id_or_class: 'tab-active' | 14 | strip_id_or_class: 'tab-active' |
15 | strip: //*[contains(@class,'trenner')] | 15 | strip: //*[contains(@class,'trenner')] |
16 | 16 | ||
17 | # Headline | 17 | # Headline |
18 | strip: //h1/* | 18 | strip: //h1/* |
19 | strip_id_or_class: 'font16' | 19 | strip_id_or_class: 'font16' |
20 | 20 | ||
21 | #Images | 21 | #Images |
22 | strip_id_or_class: 'leftimage' | 22 | strip_id_or_class: 'leftimage' |
23 | strip_id_or_class: 'rightimage' | 23 | strip_id_or_class: 'rightimage' |
24 | 24 | ||
25 | #Comments | 25 | #Comments |
26 | strip: //table | 26 | strip: //table |
27 | strip: //p/following-sibling::*[0] | 27 | strip: //p/following-sibling::*[0] |
28 | test_url: http://www.mainpost.de/ueberregional/meinung/Dioxin-Skandal-bringt-Agrarministerin-in-Bedraengnis;art9517,5920211 \ No newline at end of file | 28 | test_url: http://www.mainpost.de/ueberregional/meinung/Dioxin-Skandal-bringt-Agrarministerin-in-Bedraengnis;art9517,5920211 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/makeuseof.com.txt b/inc/3rdparty/site_config/standard/makeuseof.com.txt index 6809afed..078e8d08 100644..100755 --- a/inc/3rdparty/site_config/standard/makeuseof.com.txt +++ b/inc/3rdparty/site_config/standard/makeuseof.com.txt | |||
@@ -1,3 +1,9 @@ | |||
1 | tidy: no | 1 | title: //h1[@class='entry-title'] |
2 | 2 | ||
3 | test_url: http://www.makeuseof.com/dir/kindle-it-web-pages-kindle-friendly/ \ No newline at end of file | 3 | body: //article//header//img | //article//section[@class='post'] |
4 | |||
5 | strip: //article//section[@class='post']/aside | ||
6 | strip: //article//section[@class='post']/footer | ||
7 | |||
8 | test_url: http://www.makeuseof.com/tag/cool-websites-and-tools-advanced-photo-editor-keep-your-kids-stuff-online-identify-60-languages/ | ||
9 | test_url: http://www.makeuseof.com/tag/what-do-you-think-of-our-new-look-makeuseof-poll/ | ||
diff --git a/inc/3rdparty/site_config/standard/manager.co.th.txt b/inc/3rdparty/site_config/standard/manager.co.th.txt new file mode 100755 index 00000000..cd6c5c01 --- /dev/null +++ b/inc/3rdparty/site_config/standard/manager.co.th.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | title: //td[@class="headline"] | ||
2 | author: //font[@color="#003366"] | ||
3 | date: //td[@class="date"] | ||
4 | |||
5 | strip: //td[@class="headline"] | ||
6 | strip: //font[@color="#003366"] | ||
7 | strip: //td[@class="date"] | ||
8 | |||
9 | strip: //img[@src="images/2009/logo_en.gif"] | ||
10 | |||
11 | body: //tbody[@class="body"] | ||
12 | convert_double_br_tags:yes | ||
13 | |||
14 | strip: //img[@src="/images/TabOver.gif"] | ||
15 | strip: //td[@width="160"] | ||
16 | strip: //img[@src="/images/TabUnder.gif"] | ||
17 | |||
18 | strip: //td[@class="small"] | ||
19 | strip: //td[@height="47"] | ||
20 | |||
21 | strip: //td[@valign="middle"] | ||
22 | strip: //td[@background="/images/menu_bottombg.gif"] | ||
23 | strip: //img[@src="/images/sc_footer_l.gif"] | ||
24 | strip: //img[@src="/images/sc_footer_m.gif"] | ||
25 | strip: //img[@src="/images/sc_footer_r.gif"] | ||
26 | test_url: http://www.manager.co.th/Entertainment/ViewNews.aspx?NewsID=9550000101979 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/marco.org.txt b/inc/3rdparty/site_config/standard/marco.org.txt index ef2e03d3..4bb24a62 100644..100755 --- a/inc/3rdparty/site_config/standard/marco.org.txt +++ b/inc/3rdparty/site_config/standard/marco.org.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | prune: no | 2 | prune: no |
3 | date: //article//time[@pubdate] | 3 | date: //article//time[@pubdate] |
4 | title: //article/header/h2 | 4 | title: //article/header/h2 |
5 | body: //article | 5 | body: //article |
6 | strip: //header | 6 | strip: //header |
7 | test_url: http://www.marco.org/2012/09/08/businessweek-gruber | 7 | test_url: http://www.marco.org/2012/09/08/businessweek-gruber |
8 | test_url: http://www.marco.org/2012/04/24/might-upgrade-someday \ No newline at end of file | 8 | test_url: http://www.marco.org/2012/04/24/might-upgrade-someday \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/marksdailyapple.com.txt b/inc/3rdparty/site_config/standard/marksdailyapple.com.txt index 0077f560..0077f560 100644..100755 --- a/inc/3rdparty/site_config/standard/marksdailyapple.com.txt +++ b/inc/3rdparty/site_config/standard/marksdailyapple.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/martinfowler.com.txt b/inc/3rdparty/site_config/standard/martinfowler.com.txt index 8e0e349f..4ff4a9c2 100644..100755 --- a/inc/3rdparty/site_config/standard/martinfowler.com.txt +++ b/inc/3rdparty/site_config/standard/martinfowler.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | date: //div[@id="main"]/p[@class="date"] | 1 | date: //div[@id="main"]/p[@class="date"] |
2 | author: string("Martin Fowler") | 2 | author: string("Martin Fowler") |
3 | body: //div[@id="main"] | 3 | body: //div[@id="main"] |
4 | strip_id_or_class: date | 4 | strip_id_or_class: date |
5 | strip_id_or_class: tags | 5 | strip_id_or_class: tags |
6 | strip_id_or_class: tagLabel | 6 | strip_id_or_class: tagLabel |
7 | strip: //div[@id="main"]/h1[1] | 7 | strip: //div[@id="main"]/h1[1] |
8 | test_url: http://martinfowler.com/bliki/DatabaseThaw.html \ No newline at end of file | 8 | test_url: http://martinfowler.com/bliki/DatabaseThaw.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mashable.com.txt b/inc/3rdparty/site_config/standard/mashable.com.txt index 2c5a14a6..b6efb6c5 100644..100755 --- a/inc/3rdparty/site_config/standard/mashable.com.txt +++ b/inc/3rdparty/site_config/standard/mashable.com.txt | |||
@@ -1,4 +1,11 @@ | |||
1 | title: //header[@class='entry-title']/h1 | 1 | title: //h1[@class='title'] |
2 | body: //div[@class='description'] | 2 | author: substring-after(//span[@class='author_name'], 'By ') |
3 | date: //time | ||
4 | |||
5 | body: //article | ||
3 | strip: //div[@class='ytm-gallery-box'] | 6 | strip: //div[@class='ytm-gallery-box'] |
4 | test_url: http://mashable.com/2011/12/05/india-wants-google-and-facebook-to-censor-user-content/ \ No newline at end of file | 7 | strip: //div[contains(@class, 'adsense')] |
8 | strip: //aside[contains(@class, 'social')] | ||
9 | strip_id_or_class: article-topics | ||
10 | |||
11 | test_url: http://mashable.com/2013/05/24/myspace-architects-rebuilding-a-brand/ | ||
diff --git a/inc/3rdparty/site_config/standard/matt.might.net.txt b/inc/3rdparty/site_config/standard/matt.might.net.txt new file mode 100755 index 00000000..30d585cf --- /dev/null +++ b/inc/3rdparty/site_config/standard/matt.might.net.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //h1 | ||
2 | author: string("Matt Might") | ||
3 | strip: //h1/following-sibling::div | ||
4 | |||
5 | test_url: http://matt.might.net/articles/oo-cesk/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/mattcutts.com.txt b/inc/3rdparty/site_config/standard/mattcutts.com.txt index 76b1eac6..76b1eac6 100644..100755 --- a/inc/3rdparty/site_config/standard/mattcutts.com.txt +++ b/inc/3rdparty/site_config/standard/mattcutts.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/mbl.is.txt b/inc/3rdparty/site_config/standard/mbl.is.txt index fd26f091..fd26f091 100644..100755 --- a/inc/3rdparty/site_config/standard/mbl.is.txt +++ b/inc/3rdparty/site_config/standard/mbl.is.txt | |||
diff --git a/inc/3rdparty/site_config/standard/medialens.org.txt b/inc/3rdparty/site_config/standard/medialens.org.txt index 94f27b71..4c333aa1 100644..100755 --- a/inc/3rdparty/site_config/standard/medialens.org.txt +++ b/inc/3rdparty/site_config/standard/medialens.org.txt | |||
@@ -1,2 +1,4 @@ | |||
1 | strip: //div[contains(@class, 'article-tools')] | 1 | strip_id_or_class: article-tools |
2 | strip_id_or_class: pagenav | ||
3 | prune: no | ||
2 | test_url: http://www.medialens.org/index.php/alerts/alert-archive/2012/713-the-illusion-of-democracy.html \ No newline at end of file | 4 | test_url: http://www.medialens.org/index.php/alerts/alert-archive/2012/713-the-illusion-of-democracy.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/medium.com.txt b/inc/3rdparty/site_config/standard/medium.com.txt new file mode 100755 index 00000000..acf7cc90 --- /dev/null +++ b/inc/3rdparty/site_config/standard/medium.com.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | body: //div[contains(@class, 'post-content-inner')] | ||
2 | strip_id_or_class: follow-ups | ||
3 | strip_id_or_class: footer | ||
4 | |||
5 | prune: no | ||
6 | |||
7 | test_url: https://medium.com/p/6844c0d7893b \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/megamp3.eu.txt b/inc/3rdparty/site_config/standard/megamp3.eu.txt new file mode 100755 index 00000000..1b6a1279 --- /dev/null +++ b/inc/3rdparty/site_config/standard/megamp3.eu.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | title: //h3[@class='episode_title'] | ||
2 | body: //ul[contains(@class, 'episode_imgdesc')]/li/descendant::* | ||
3 | prune: no | ||
4 | strip://*[contains(@class, 'plugin')] | ||
5 | strip://*[contains(@class, 'episode_keywords')] | ||
6 | |||
7 | test_url: http://www.megamp3.eu/?p=episode&name=2013-04-19_la_filiere_progressive_431.mp3 | ||
8 | test_url: http://www.megamp3.eu/feed.xml | ||
diff --git a/inc/3rdparty/site_config/standard/menshealth.com.txt b/inc/3rdparty/site_config/standard/menshealth.com.txt index e7e1e269..a1a46f63 100644..100755 --- a/inc/3rdparty/site_config/standard/menshealth.com.txt +++ b/inc/3rdparty/site_config/standard/menshealth.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | # need to find a way to eliminate <span> content for "related content" without eliminating important content | 1 | # need to find a way to eliminate <span> content for "related content" without eliminating important content |
2 | 2 | ||
3 | convert_double_br_tags: [yes] | 3 | convert_double_br_tags: [yes] |
4 | #body: //div[@id='leftside'] | 4 | #body: //div[@id='leftside'] |
5 | title: //h1 | 5 | title: //h1 |
6 | title: //h2 | 6 | title: //h2 |
7 | Author: substring-after(//h4, 'By ') | 7 | Author: substring-after(//h4, 'By ') |
8 | Author: substring-after(//h4, 'By: ') | 8 | Author: substring-after(//h4, 'By: ') |
9 | #Strip: //span | 9 | #Strip: //span |
10 | strip_id_or_class: morefromcat | 10 | strip_id_or_class: morefromcat |
11 | strip_id_or_class: mostpopular | 11 | strip_id_or_class: mostpopular |
12 | strip_id_or_class: articlepagination | 12 | strip_id_or_class: articlepagination |
13 | strip_id_or_class: toolbar | 13 | strip_id_or_class: toolbar |
14 | body: //div[@id='zmodcontent'] | 14 | body: //div[@id='zmodcontent'] |
15 | single_page_link: //li[@class='onepage'] //a[contains (@href, 'printer.php')] | 15 | single_page_link: //li[@class='onepage'] //a[contains (@href, 'printer.php')] |
16 | test_url: http://www.menshealth.com/mhlists/pursuit_of_happiness/index.php \ No newline at end of file | 16 | test_url: http://www.menshealth.com/mhlists/pursuit_of_happiness/index.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/metafilter.com.txt b/inc/3rdparty/site_config/standard/metafilter.com.txt new file mode 100755 index 00000000..a2f3ada9 --- /dev/null +++ b/inc/3rdparty/site_config/standard/metafilter.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | body: //div[contains(@class, 'copy') or contains(@class, 'comments')] | ||
2 | strip_id_or_class: related | ||
3 | strip: //a[. = 'Subscribe'] | ||
4 | strip: //h1/span[@class = 'smallcopy'] | ||
5 | strip: //a[@class = 'skip'] | ||
6 | strip: //div[@id = 'logo'] | ||
7 | strip: //div[contains(@class, 'comments') and contains(., 'You are not currently logged in')] | ||
8 | test_url: http://www.metafilter.com/128101/Probably-more-secure-than-the-Drafts-folder-on-a-shared-Gmail-account \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/mforum.cari.com.my.txt b/inc/3rdparty/site_config/standard/mforum.cari.com.my.txt new file mode 100755 index 00000000..c295d734 --- /dev/null +++ b/inc/3rdparty/site_config/standard/mforum.cari.com.my.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | body: (//td[starts-with(@id, 'postmessage_')])[1] | ||
2 | |||
3 | prune: no | ||
4 | |||
5 | test_url: http://mforum.cari.com.my/forum.php?mod=viewthread&tid=788033 | ||
6 | test_url: http://mforum.cari.com.my/forum.php?mod=rss&fid=265&auth=0 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/mikeash.com.txt b/inc/3rdparty/site_config/standard/mikeash.com.txt index af8a7d30..abaa6a81 100644..100755 --- a/inc/3rdparty/site_config/standard/mikeash.com.txt +++ b/inc/3rdparty/site_config/standard/mikeash.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@class="blogtitle"] | 1 | title: //div[@class="blogtitle"] |
2 | strip: //div[@class="blogtitle"] | 2 | strip: //div[@class="blogtitle"] |
3 | 3 | ||
4 | author: substring-after(//span[@class="blogheader"], 'Author: ') | 4 | author: substring-after(//span[@class="blogheader"], 'Author: ') |
5 | test_url: http://www.mikeash.com/pyblog/friday-qa-2012-01-13-the-mac-toolbox.html \ No newline at end of file | 5 | test_url: http://www.mikeash.com/pyblog/friday-qa-2012-01-13-the-mac-toolbox.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mikeindustries.com.txt b/inc/3rdparty/site_config/standard/mikeindustries.com.txt index 3d488e13..fb4636cc 100644..100755 --- a/inc/3rdparty/site_config/standard/mikeindustries.com.txt +++ b/inc/3rdparty/site_config/standard/mikeindustries.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@class='post_content']/h2 | 1 | title: //div[@class='post_content']/h2 |
2 | date: //div[@class='dateline'] | 2 | date: //div[@class='dateline'] |
3 | body: //div[@class='entry'] | 3 | body: //div[@class='entry'] |
4 | 4 | ||
5 | strip: //div[@class='closer'] | 5 | strip: //div[@class='closer'] |
6 | strip: //div[@class='navigation'] | 6 | strip: //div[@class='navigation'] |
7 | strip: //div[@class='aux_pane'] | 7 | strip: //div[@class='aux_pane'] |
8 | strip: //div[@class='aux_aux_pane'] | 8 | strip: //div[@class='aux_aux_pane'] |
9 | test_url: http://www.mikeindustries.com/blog/archive/2011/10/never-be-another \ No newline at end of file | 9 | test_url: http://www.mikeindustries.com/blog/archive/2011/10/never-be-another \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/minnesota.publicradio.org.txt b/inc/3rdparty/site_config/standard/minnesota.publicradio.org.txt index 7e43d63c..773a627c 100644..100755 --- a/inc/3rdparty/site_config/standard/minnesota.publicradio.org.txt +++ b/inc/3rdparty/site_config/standard/minnesota.publicradio.org.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //*[@class="article"]/h1 | 1 | title: //*[@class="article"]/h1 |
2 | date: //*[@class="article"]/div[@class="date"] | 2 | date: //*[@class="article"]/div[@class="date"] |
3 | 3 | ||
4 | # strip the title and date from the article text | 4 | # strip the title and date from the article text |
5 | strip: //*[@class="article"]/h1 | 5 | strip: //*[@class="article"]/h1 |
6 | strip: //*[@class="article"]/div[@class="date"] | 6 | strip: //*[@class="article"]/div[@class="date"] |
7 | 7 | ||
8 | # strip annoying <br> between metadata and article | 8 | # strip annoying <br> between metadata and article |
9 | strip: //*[@class="article"]/div[@class="date"]/following-sibling::br | 9 | strip: //*[@class="article"]/div[@class="date"]/following-sibling::br |
10 | test_url: http://minnesota.publicradio.org/display/web/2012/06/19/health/senators-want-health-care-ruling-on-tv/ \ No newline at end of file | 10 | test_url: http://minnesota.publicradio.org/display/web/2012/06/19/health/senators-want-health-care-ruling-on-tv/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/minnpost.com.txt b/inc/3rdparty/site_config/standard/minnpost.com.txt index 51a0630b..dc926a6f 100644..100755 --- a/inc/3rdparty/site_config/standard/minnpost.com.txt +++ b/inc/3rdparty/site_config/standard/minnpost.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //*[@id="content-header"]/h1 | 1 | title: //*[@id="content-header"]/h1 |
2 | author: //*[contains(@class, 'byline')]/a/text() | 2 | author: //*[contains(@class, 'byline')]/a/text() |
3 | date: substring-after(//*[contains(@class, 'byline')]/text()[2], '|') | 3 | date: substring-after(//*[contains(@class, 'byline')]/text()[2], '|') |
4 | body: //*[contains(@class, 'node-body')] | 4 | body: //*[contains(@class, 'node-body')] |
5 | test_url: http://www.minnpost.com/eric-black-ink/2012/06/overturning-obamacare-would-be-game-changer-supreme-court \ No newline at end of file | 5 | test_url: http://www.minnpost.com/eric-black-ink/2012/06/overturning-obamacare-would-be-game-changer-supreme-court \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mirrorfootball.co.uk.txt b/inc/3rdparty/site_config/standard/mirrorfootball.co.uk.txt index 4215a051..2033cf33 100644..100755 --- a/inc/3rdparty/site_config/standard/mirrorfootball.co.uk.txt +++ b/inc/3rdparty/site_config/standard/mirrorfootball.co.uk.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | # Remove extra links | 1 | # Remove extra links |
2 | strip: //*[@class='appended_html'] | 2 | strip: //*[@class='appended_html'] |
3 | test_url: http://www.mirrorfootball.co.uk/news/West-Ham-crisis-Carlton-Cole-slams-diabolical-performance-and-rips-into-Avram-Grant-lack-of-tactical-nous-following-Liverpool-mauling-article636151.html \ No newline at end of file | 3 | test_url: http://www.mirrorfootball.co.uk/news/West-Ham-crisis-Carlton-Cole-slams-diabolical-performance-and-rips-into-Avram-Grant-lack-of-tactical-nous-following-Liverpool-mauling-article636151.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mises.org.txt b/inc/3rdparty/site_config/standard/mises.org.txt index ae542aa6..73c485e6 100644..100755 --- a/inc/3rdparty/site_config/standard/mises.org.txt +++ b/inc/3rdparty/site_config/standard/mises.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | strip_id_or_class: 'book-ad' | 1 | strip_id_or_class: 'book-ad' |
2 | strip_id_or_class: 'bigger pullquote' | 2 | strip_id_or_class: 'bigger pullquote' |
3 | strip_id_or_class: 'subscribe' | 3 | strip_id_or_class: 'subscribe' |
4 | strip_id_or_class: 'blog-link' | 4 | strip_id_or_class: 'blog-link' |
5 | test_url: http://mises.org/daily/4804 \ No newline at end of file | 5 | test_url: http://mises.org/daily/4804 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mlb.mlb.com.txt b/inc/3rdparty/site_config/standard/mlb.mlb.com.txt index 30e8aff2..765fab3f 100644..100755 --- a/inc/3rdparty/site_config/standard/mlb.mlb.com.txt +++ b/inc/3rdparty/site_config/standard/mlb.mlb.com.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //h1[@class='article-headline'] | 1 | title: //h1[@class='article-headline'] |
2 | date: //span[@class='timeStamp'] | 2 | date: //span[@class='timeStamp'] |
3 | author: substring-before(//p[@class='article-byline'], '/') | 3 | author: substring-before(//p[@class='article-byline'], '/') |
4 | body: //div[@id='article'] | 4 | body: //div[@id='article'] |
5 | #strip: //div[@class='inner'] | 5 | #strip: //div[@class='inner'] |
6 | strip: //div[@id='article_head'] | 6 | strip: //div[@id='article_head'] |
7 | strip: //p[@class='tagLine'] | 7 | strip: //p[@class='tagLine'] |
8 | strip: //div[@id='article_related_links'] | 8 | strip: //div[@id='article_related_links'] |
9 | strip: //div[@id='article_related_mlb'] | 9 | strip: //div[@id='article_related_mlb'] |
10 | strip: //span[@class='more'] | 10 | strip: //span[@class='more'] |
11 | strip: //div[@class='article_component'] | 11 | strip: //div[@class='article_component'] |
12 | strip: //span[@class='screen_reader'] | 12 | strip: //span[@class='screen_reader'] |
13 | strip: //ul[@class='columnists_blurb'] | 13 | strip: //ul[@class='columnists_blurb'] |
14 | test_url: http://mlb.mlb.com/news/article.jsp?ymd=20120403&content_id=27880830 \ No newline at end of file | 14 | test_url: http://mlb.mlb.com/news/article.jsp?ymd=20120403&content_id=27880830 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mlb.sbnation.com.txt b/inc/3rdparty/site_config/standard/mlb.sbnation.com.txt index c4e3389e..8480e302 100644..100755 --- a/inc/3rdparty/site_config/standard/mlb.sbnation.com.txt +++ b/inc/3rdparty/site_config/standard/mlb.sbnation.com.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //h1[@id = 'stream_title'] | 1 | title: //h1[@id = 'stream_title'] |
2 | author: //p[@class = 'byline']/a | 2 | author: //p[@class = 'byline']/a |
3 | date: //span[@class = 'datetime'] | 3 | date: //span[@class = 'datetime'] |
4 | 4 | ||
5 | body: //div[@id = 'stream_container'] | 5 | body: //div[@id = 'stream_container'] |
6 | strip: //p[@class = 'byline'] | 6 | strip: //p[@class = 'byline'] |
7 | strip_id_or_class: stream_summary | 7 | strip_id_or_class: stream_summary |
8 | strip_id_or_class: social-spoken | 8 | strip_id_or_class: social-spoken |
9 | strip_id_or_class: datetime | 9 | strip_id_or_class: datetime |
10 | strip_id_or_class: author-mini-profile | 10 | strip_id_or_class: author-mini-profile |
11 | strip_id_or_class: social-tools | 11 | strip_id_or_class: social-tools |
12 | strip_id_or_class: entry-tags | 12 | strip_id_or_class: entry-tags |
13 | strip_id_or_class: fb-like-box | 13 | strip_id_or_class: fb-like-box |
14 | test_url: http://mlb.sbnation.com/2011/10/17/2495845/2011-world-series-st-louis-cardinals-texas-rangers-home-field-advantage \ No newline at end of file | 14 | test_url: http://mlb.sbnation.com/2011/10/17/2495845/2011-world-series-st-louis-cardinals-texas-rangers-home-field-advantage \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mlssoccer.com.txt b/inc/3rdparty/site_config/standard/mlssoccer.com.txt index 41e15136..5d706f88 100644..100755 --- a/inc/3rdparty/site_config/standard/mlssoccer.com.txt +++ b/inc/3rdparty/site_config/standard/mlssoccer.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //*[@class="header_title"]/h1 | 1 | title: //*[@class="header_title"]/h1 |
2 | date: //*[@class="field-date"] | 2 | date: //*[@class="field-date"] |
3 | author: //*[@class="field-author"] | 3 | author: //*[@class="field-author"] |
4 | body: //div[contains(@class, 'content')] | 4 | body: //div[contains(@class, 'content')] |
5 | 5 | ||
6 | test_url: http://www.mlssoccer.com/news/article/2012/06/19/lack-depth-front-forces-arena-alter-las-formation \ No newline at end of file | 6 | test_url: http://www.mlssoccer.com/news/article/2012/06/19/lack-depth-front-forces-arena-alter-las-formation \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mmo-champion.com.txt b/inc/3rdparty/site_config/standard/mmo-champion.com.txt index 918fae36..50d8a24f 100644..100755 --- a/inc/3rdparty/site_config/standard/mmo-champion.com.txt +++ b/inc/3rdparty/site_config/standard/mmo-champion.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id = 'article_content']/div[contains(@class,'article')] | 2 | body: //div[@id = 'article_content']/div[contains(@class,'article')] |
3 | author: //sub[@class = 'article_promoted_text']/a[starts-with(@href, 'member')] | 3 | author: //sub[@class = 'article_promoted_text']/a[starts-with(@href, 'member')] |
4 | date: //div[@class = 'article_username_container'] | 4 | date: //div[@class = 'article_username_container'] |
5 | test_url: http://www.mmo-champion.com/content/2688-Other-Press-Tour-Interviews-A-Night-in-Mists-of-Pandaria-Blue-Posts-MoP-Screenshot \ No newline at end of file | 5 | test_url: http://www.mmo-champion.com/content/2688-Other-Press-Tour-Interviews-A-Night-in-Mists-of-Pandaria-Blue-Posts-MoP-Screenshot \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mnn.com.txt b/inc/3rdparty/site_config/standard/mnn.com.txt index ddfe6fa2..d3576df2 100644..100755 --- a/inc/3rdparty/site_config/standard/mnn.com.txt +++ b/inc/3rdparty/site_config/standard/mnn.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | author: //div[@id="above-content"]//img/@alt | //div[@class="comment-auth"]/span[1]/a/text() | 2 | author: //div[@id="above-content"]//img/@alt | //div[@class="comment-auth"]/span[1]/a/text() |
3 | date: //div[@class="comment-auth"]/div | //div[@class="comment-auth"]/span[2] | 3 | date: //div[@class="comment-auth"]/div | //div[@class="comment-auth"]/span[2] |
4 | body: //div[@class="node"] | 4 | body: //div[@class="node"] |
5 | 5 | ||
6 | strip_id_or_class: vertical-social-bar | 6 | strip_id_or_class: vertical-social-bar |
7 | strip_id_or_class: blogs_paginator | 7 | strip_id_or_class: blogs_paginator |
8 | strip_id_or_class: horizontal-social-links | 8 | strip_id_or_class: horizontal-social-links |
9 | strip_id_or_class: servicelinksdiv | 9 | strip_id_or_class: servicelinksdiv |
10 | 10 | ||
11 | test_url: http://www.mnn.com/green-tech/research-innovations/blogs/5-breakthroughs-that-will-make-solar-power-cheaper-than-coal \ No newline at end of file | 11 | test_url: http://www.mnn.com/green-tech/research-innovations/blogs/5-breakthroughs-that-will-make-solar-power-cheaper-than-coal \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mno.hu.txt b/inc/3rdparty/site_config/standard/mno.hu.txt index ba158953..8a3f9391 100644..100755 --- a/inc/3rdparty/site_config/standard/mno.hu.txt +++ b/inc/3rdparty/site_config/standard/mno.hu.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //title | 1 | title: //title |
2 | 2 | ||
3 | author: //div[@class="author"] | 3 | author: //div[@class="author"] |
4 | 4 | ||
5 | strip_id_or_class: 'header' | 5 | strip_id_or_class: 'header' |
6 | strip_id_or_class: 'cikk_ajanlo' | 6 | strip_id_or_class: 'cikk_ajanlo' |
7 | strip_id_or_class: 'buttons' | 7 | strip_id_or_class: 'buttons' |
8 | strip_id_or_class: 'related' | 8 | strip_id_or_class: 'related' |
9 | strip_id_or_class: 'adbox ad_cikk_kozepre' | 9 | strip_id_or_class: 'adbox ad_cikk_kozepre' |
10 | strip_id_or_class: 'cikk-cimkek' | 10 | strip_id_or_class: 'cikk-cimkek' |
11 | strip_id_or_class: 'cikk_ertekeles' | 11 | strip_id_or_class: 'cikk_ertekeles' |
12 | 12 | ||
13 | strip_comments: yes | 13 | strip_comments: yes |
14 | test_url: http://mno.hu/grund/a-gumibottal-hadonaszo-rendort-joval-konnyebb-utalni-1055351 \ No newline at end of file | 14 | test_url: http://mno.hu/grund/a-gumibottal-hadonaszo-rendort-joval-konnyebb-utalni-1055351 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mobile.nytimes.com.txt b/inc/3rdparty/site_config/standard/mobile.nytimes.com.txt new file mode 100755 index 00000000..c60252ef --- /dev/null +++ b/inc/3rdparty/site_config/standard/mobile.nytimes.com.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | title: //h1[contains(@class, 'headline')] | ||
2 | body: //article[contains(@class, 'full-art')] | ||
3 | strip_id_or_class: image-credit | ||
4 | test_url: http://mobile.nytimes.com/2014/06/19/opinion/gail-collins-romney-and-the-2016-contenders-huddle.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/mobile.slate.com.txt b/inc/3rdparty/site_config/standard/mobile.slate.com.txt index d5d81034..6ffcd18f 100644..100755 --- a/inc/3rdparty/site_config/standard/mobile.slate.com.txt +++ b/inc/3rdparty/site_config/standard/mobile.slate.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h2[@class="article_title"] | 1 | title: //h2[@class="article_title"] |
2 | strip: //a[@class="houseAdLink"] | 2 | strip: //a[@class="houseAdLink"] |
3 | strip: //h1 | 3 | strip: //h1 |
4 | strip: //div[@class="more_articles"] | 4 | strip: //div[@class="more_articles"] |
5 | test_url: http://mobile.slate.com/rss.jsp?rssid=411&item=http%3a%2f%2fwww.slate.com%2fdefault.aspx%3fdisplaymode%3d201%26id%3d2293749%26device%3drss \ No newline at end of file | 5 | test_url: http://mobile.slate.com/rss.jsp?rssid=411&item=http%3a%2f%2fwww.slate.com%2fdefault.aspx%3fdisplaymode%3d201%26id%3d2293749%26device%3drss \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mobileopportunity.blogspot.com.txt b/inc/3rdparty/site_config/standard/mobileopportunity.blogspot.com.txt index a1cc5317..82da4aec 100644..100755 --- a/inc/3rdparty/site_config/standard/mobileopportunity.blogspot.com.txt +++ b/inc/3rdparty/site_config/standard/mobileopportunity.blogspot.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | body: //div[@class='post uncustomized-post-template'] | 1 | body: //div[@class='post uncustomized-post-template'] |
2 | 2 | ||
3 | # remove duplicate of post title, which is a link | 3 | # remove duplicate of post title, which is a link |
4 | strip: //h3[@class='post-title'] | 4 | strip: //h3[@class='post-title'] |
5 | 5 | ||
6 | # remove permalink and timestamp, which isn't useful as it's a time with no date | 6 | # remove permalink and timestamp, which isn't useful as it's a time with no date |
7 | strip: //span[@class='post-timestamp'] | 7 | strip: //span[@class='post-timestamp'] |
8 | 8 | ||
9 | # remove labels (tags) | 9 | # remove labels (tags) |
10 | strip: //span[@class='post-labels'] | 10 | strip: //span[@class='post-labels'] |
11 | test_url: http://mobileopportunity.blogspot.com/2010/12/rims-q3-financials-tale-of-two.html \ No newline at end of file | 11 | test_url: http://mobileopportunity.blogspot.com/2010/12/rims-q3-financials-tale-of-two.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/modernghana.com.txt b/inc/3rdparty/site_config/standard/modernghana.com.txt index 4c93d0cf..306ef8d9 100644..100755 --- a/inc/3rdparty/site_config/standard/modernghana.com.txt +++ b/inc/3rdparty/site_config/standard/modernghana.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | author: //meta[@name="author"]/@content | 2 | author: //meta[@name="author"]/@content |
3 | date: //span[@class='date1'] | 3 | date: //span[@class='date1'] |
4 | body: //div[@id='newsimage'] | //div[@id='bodytext'] | 4 | body: //div[@id='newsimage'] | //div[@id='bodytext'] |
5 | tidy: no | 5 | tidy: no |
6 | prune: no | 6 | prune: no |
7 | 7 | ||
8 | test_url: http://www.modernghana.com/news/323765/1/039ghost039-teachers-removed-salaries-allowances-p.html \ No newline at end of file | 8 | test_url: http://www.modernghana.com/news/323765/1/039ghost039-teachers-removed-salaries-allowances-p.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/money.cnn.com.txt b/inc/3rdparty/site_config/standard/money.cnn.com.txt index a0d1628a..d5e03d20 100644..100755 --- a/inc/3rdparty/site_config/standard/money.cnn.com.txt +++ b/inc/3rdparty/site_config/standard/money.cnn.com.txt | |||
@@ -1,24 +1,24 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | title: //h1[@class='storyheadline'] | 2 | title: //h1[@class='storyheadline'] |
3 | author: //meta[@name="AUTHOR"]/@content | 3 | author: //meta[@name="AUTHOR"]/@content |
4 | date: //span[@class='cnnDateStamp'] | 4 | date: //span[@class='cnnDateStamp'] |
5 | date: //meta[@name="DATE"]/@content | 5 | date: //meta[@name="DATE"]/@content |
6 | body: //div[@id='storytext' or @class='storytext'] | 6 | body: //div[@id='storytext' or @class='storytext'] |
7 | 7 | ||
8 | strip_id_or_class: ie_column | 8 | strip_id_or_class: ie_column |
9 | strip_id_or_class: sharewidgets | 9 | strip_id_or_class: sharewidgets |
10 | strip_image_src: bug.gif | 10 | strip_image_src: bug.gif |
11 | 11 | ||
12 | strip: //div[@class="hed_side"] | 12 | strip: //div[@class="hed_side"] |
13 | strip: //span[@class="byline"] | 13 | strip: //span[@class="byline"] |
14 | strip: //a[@class="soc-twtname"] | 14 | strip: //a[@class="soc-twtname"] |
15 | strip: //span[@class="cnnDateStamp"] | 15 | strip: //span[@class="cnnDateStamp"] |
16 | strip: //div[@class="storytimestamp"] | 16 | strip: //div[@class="storytimestamp"] |
17 | strip: //div[@class="cnnCol_side"] | 17 | strip: //div[@class="cnnCol_side"] |
18 | 18 | ||
19 | prune: no | 19 | prune: no |
20 | tidy: no | 20 | tidy: no |
21 | 21 | ||
22 | test_url: http://money.cnn.com/2011/03/15/news/companies/steve_jobs_thought_process.fortune/index.htm?section=money_topstories&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+rss%2Fmoney_topstories+%28Top+Stories%29 | 22 | test_url: http://money.cnn.com/2011/03/15/news/companies/steve_jobs_thought_process.fortune/index.htm?section=money_topstories&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+rss%2Fmoney_topstories+%28Top+Stories%29 |
23 | test_url: http://money.cnn.com/2012/01/27/markets/markets_newyork/index.htm | 23 | test_url: http://money.cnn.com/2012/01/27/markets/markets_newyork/index.htm |
24 | test_url: http://money.cnn.com/2012/05/13/technology/yahoo-ceo-out-rumor/index.htm \ No newline at end of file | 24 | test_url: http://money.cnn.com/2012/05/13/technology/yahoo-ceo-out-rumor/index.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/monkeyzen.com.txt b/inc/3rdparty/site_config/standard/monkeyzen.com.txt index f779c38e..f779c38e 100644..100755 --- a/inc/3rdparty/site_config/standard/monkeyzen.com.txt +++ b/inc/3rdparty/site_config/standard/monkeyzen.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/moonsault.de.txt b/inc/3rdparty/site_config/standard/moonsault.de.txt index 061a8d5c..55026eeb 100644..100755 --- a/inc/3rdparty/site_config/standard/moonsault.de.txt +++ b/inc/3rdparty/site_config/standard/moonsault.de.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | strip_image_src: menu | 1 | strip_image_src: menu |
2 | strip_image_src: templates | 2 | strip_image_src: templates |
3 | strip: //div/a | 3 | strip: //div/a |
4 | strip: //div/b | 4 | strip: //div/b |
5 | strip: //div/strong | 5 | strip: //div/strong |
6 | strip: //td[@width='30%'] | 6 | strip: //td[@width='30%'] |
7 | strip: //br[1] | 7 | strip: //br[1] |
8 | strip: //br[2] | 8 | strip: //br[2] |
9 | strip: //br[3] | 9 | strip: //br[3] |
10 | strip: //br[4] | 10 | strip: //br[4] |
11 | strip: //a[@href='http://www.moonsault.de/newzboard/index.php?act=home'] | 11 | strip: //a[@href='http://www.moonsault.de/newzboard/index.php?act=home'] |
12 | strip_id_or_class: cse-branding-right | 12 | strip_id_or_class: cse-branding-right |
13 | test_url: http://www.moonsault.de/newzboard/index.php?news=22321&act=previous \ No newline at end of file | 13 | test_url: http://www.moonsault.de/newzboard/index.php?news=22321&act=previous \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/moreintelligentlife.com.txt b/inc/3rdparty/site_config/standard/moreintelligentlife.com.txt index a7e59c30..780cca4f 100644..100755 --- a/inc/3rdparty/site_config/standard/moreintelligentlife.com.txt +++ b/inc/3rdparty/site_config/standard/moreintelligentlife.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h1[@class='print-title'] | 1 | title: //h1[@class='print-title'] |
2 | body: //div[@class='print-submitted' or @class='print-created' or @class='print-content'] | 2 | body: //div[@class='print-submitted' or @class='print-created' or @class='print-content'] |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | single_page_link: //li[@class='print']/a | 5 | single_page_link: //li[@class='print']/a |
6 | 6 | ||
7 | test_url: http://moreintelligentlife.com/content/places/paul-markillie/they-trash-cars-dont-they \ No newline at end of file | 7 | test_url: http://moreintelligentlife.com/content/places/paul-markillie/they-trash-cars-dont-they \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/motherboard.vice.com.txt b/inc/3rdparty/site_config/standard/motherboard.vice.com.txt index 6faf1c9a..c6312c0e 100644..100755 --- a/inc/3rdparty/site_config/standard/motherboard.vice.com.txt +++ b/inc/3rdparty/site_config/standard/motherboard.vice.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | author: //span[@class="author"]/a | 1 | author: //span[@class="author"]/a |
2 | date: //span[@class="date"] | 2 | date: //span[@class="date"] |
3 | body: //div[@class="story-content"] | 3 | body: //div[@class="story-content"] |
4 | strip: //aside | 4 | strip: //aside |
5 | test_url: http://motherboard.vice.com/blog/you-can-carry-a-copy-of-the-pirate-bay-in-your-pocket \ No newline at end of file | 5 | test_url: http://motherboard.vice.com/blog/you-can-carry-a-copy-of-the-pirate-bay-in-your-pocket \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/mothering.com.txt b/inc/3rdparty/site_config/standard/mothering.com.txt index a9d9195f..a34adff7 100644..100755 --- a/inc/3rdparty/site_config/standard/mothering.com.txt +++ b/inc/3rdparty/site_config/standard/mothering.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h2[contains(@class,'post_headline')] | 1 | title: //h2[contains(@class,'post_headline')] |
2 | body: //div[@class='entry'] | 2 | body: //div[@class='entry'] |
3 | convert_double_br_tags: yes | 3 | convert_double_br_tags: yes |
4 | strip_image_src: _selected.gif | 4 | strip_image_src: _selected.gif |
5 | strip_id_or_class: addthis_ | 5 | strip_id_or_class: addthis_ |
6 | strip: //a[contains(@href,'feedburner.com')] | 6 | strip: //a[contains(@href,'feedburner.com')] |
7 | test_url: http://mothering.com/all-things-mothering/inspiration/motherhood-brings-me-down \ No newline at end of file | 7 | test_url: http://mothering.com/all-things-mothering/inspiration/motherhood-brings-me-down \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/motherjones.com.txt b/inc/3rdparty/site_config/standard/motherjones.com.txt index d58c7d2c..851feb7e 100644..100755 --- a/inc/3rdparty/site_config/standard/motherjones.com.txt +++ b/inc/3rdparty/site_config/standard/motherjones.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id = 'content-area'] | 2 | body: //div[@id = 'content-area'] |
3 | next_page_link: //div[@class='node-pager']/a[contains(@class, 'next')] | 3 | next_page_link: //div[@class='node-pager']/a[contains(@class, 'next')] |
4 | tidy: no | 4 | tidy: no |
5 | author: //p[contains(@class, 'byline')]/a | 5 | author: //p[contains(@class, 'byline')]/a |
6 | 6 | ||
7 | strip_id_or_class: node-header | 7 | strip_id_or_class: node-header |
8 | strip_id_or_class: hdr-tools | 8 | strip_id_or_class: hdr-tools |
9 | strip_id_or_class: node-body-break | 9 | strip_id_or_class: node-body-break |
10 | strip_id_or_class: pullquote | 10 | strip_id_or_class: pullquote |
11 | strip_id_or_class: node-pager | 11 | strip_id_or_class: node-pager |
12 | strip_id_or_class: author-bio | 12 | strip_id_or_class: author-bio |
13 | strip_id_or_class: node-footer | 13 | strip_id_or_class: node-footer |
14 | 14 | ||
15 | test_url: http://motherjones.com/politics/2012/02/mac-mcclelland-free-online-shipping-warehouses-labor \ No newline at end of file | 15 | test_url: http://motherjones.com/politics/2012/02/mac-mcclelland-free-online-shipping-warehouses-labor \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/motorfull.com.txt b/inc/3rdparty/site_config/standard/motorfull.com.txt index c6bec7e9..c6bec7e9 100644..100755 --- a/inc/3rdparty/site_config/standard/motorfull.com.txt +++ b/inc/3rdparty/site_config/standard/motorfull.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/movie.douban.com.txt b/inc/3rdparty/site_config/standard/movie.douban.com.txt new file mode 100755 index 00000000..eae211ed --- /dev/null +++ b/inc/3rdparty/site_config/standard/movie.douban.com.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://movie.douban.com/review/1062013/ | ||
3 | |||
4 | title: //span[contains(@property, 'v:summary')] | ||
5 | author: //span[contains(@property, 'v:reviewer')] | ||
6 | date://span[contains(@property, 'v:dtreviewed')] | ||
7 | body://div[contains(@class, 'main-bd')] | ||
8 | |||
9 | strip://img[contains(@class,'rating')]|//img[contains(@class,'review-stat')] | ||
10 | convert_double_br_tags: yes | ||
11 | test_url: http://movie.douban.com/review/1062013/ | ||
12 | test_url: http://movie.douban.com/review/1021870/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/msdn.microsoft.com.txt b/inc/3rdparty/site_config/standard/msdn.microsoft.com.txt index f4f20450..7a284275 100644..100755 --- a/inc/3rdparty/site_config/standard/msdn.microsoft.com.txt +++ b/inc/3rdparty/site_config/standard/msdn.microsoft.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[class="mainBody"] | 1 | body: //div[class="mainBody"] |
2 | footnotes: no | 2 | footnotes: no |
3 | test_url: http://msdn.microsoft.com/en-us/library/hh542796(VS.103).aspx \ No newline at end of file | 3 | test_url: http://msdn.microsoft.com/en-us/library/hh542796(VS.103).aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/msnbc.msn.com.txt b/inc/3rdparty/site_config/standard/msnbc.msn.com.txt index ad89cda8..f008d2d1 100644..100755 --- a/inc/3rdparty/site_config/standard/msnbc.msn.com.txt +++ b/inc/3rdparty/site_config/standard/msnbc.msn.com.txt | |||
@@ -1,21 +1,21 @@ | |||
1 | title: //title | 1 | title: //title |
2 | author: //div[@id='byline'] | 2 | author: //div[@id='byline'] |
3 | 3 | ||
4 | date: //div[contains(@class,'timestamp')]/abbr/text() | 4 | date: //div[contains(@class,'timestamp')]/abbr/text() |
5 | 5 | ||
6 | body: //div[@id='intellitTXT'] | 6 | body: //div[@id='intellitTXT'] |
7 | 7 | ||
8 | strip: //div[@id='byline'] | 8 | strip: //div[@id='byline'] |
9 | strip: //div[contains(@class,'timestamp')] | 9 | strip: //div[contains(@class,'timestamp')] |
10 | strip: //div[contains(@class, 'ad-label')] | 10 | strip: //div[contains(@class, 'ad-label')] |
11 | strip: //div[contains(@class, 'ad-break')] | 11 | strip: //div[contains(@class, 'ad-break')] |
12 | strip: //span[contains(@class, 'x-video')] | 12 | strip: //span[contains(@class, 'x-video')] |
13 | strip: //span[contains(@class, 'inline')] | 13 | strip: //span[contains(@class, 'inline')] |
14 | strip: //div[contains(@class, 'video')] | 14 | strip: //div[contains(@class, 'video')] |
15 | strip: //div[contains(@class, 'discuss')] | 15 | strip: //div[contains(@class, 'discuss')] |
16 | strip: //div[@id='most-popular'] | 16 | strip: //div[@id='most-popular'] |
17 | strip: //div[contains(@class,'drawer')] | 17 | strip: //div[contains(@class,'drawer')] |
18 | strip: //*[contains(@class, 'hide')] | 18 | strip: //*[contains(@class, 'hide')] |
19 | 19 | ||
20 | footnotes: no | 20 | footnotes: no |
21 | test_url: http://www.msnbc.msn.com/id/44748412/ns/business-world_business/#.TolUv-vfDbE \ No newline at end of file | 21 | test_url: http://www.msnbc.msn.com/id/44748412/ns/business-world_business/#.TolUv-vfDbE \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/myfoxatlanta.com.txt b/inc/3rdparty/site_config/standard/myfoxatlanta.com.txt new file mode 100755 index 00000000..8a7590ab --- /dev/null +++ b/inc/3rdparty/site_config/standard/myfoxatlanta.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | body: //div[@id='WNStoryBody'] | ||
2 | author: //div[@id='WNStoryByline'] | ||
3 | prune: no | ||
4 | |||
5 | test_url: http://www.myfoxatlanta.com/category/233685/local-news?clienttype=rss \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/myfoxboston.com.txt b/inc/3rdparty/site_config/standard/myfoxboston.com.txt index 1a35b4fc..9ad8ce05 100644..100755 --- a/inc/3rdparty/site_config/standard/myfoxboston.com.txt +++ b/inc/3rdparty/site_config/standard/myfoxboston.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class="col1"]//div[@class="photo"] | //div[@class="detail"]/p[@class="fontStyle21"] | //div[@class="story last"] | 1 | body: //div[@class="col1"]//div[@class="photo"] | //div[@class="detail"]/p[@class="fontStyle21"] | //div[@class="story last"] |
2 | tidy: no | 2 | tidy: no |
3 | 3 | ||
4 | test_url: http://www.myfoxboston.com/dpp/news/local/transit-police-say-woman-spat-on-mbta-bus-driver-2010611 \ No newline at end of file | 4 | test_url: http://www.myfoxboston.com/dpp/news/local/transit-police-say-woman-spat-on-mbta-bus-driver-2010611 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/myrecipes.com.txt b/inc/3rdparty/site_config/standard/myrecipes.com.txt index 8b99d22d..956be1e6 100644..100755 --- a/inc/3rdparty/site_config/standard/myrecipes.com.txt +++ b/inc/3rdparty/site_config/standard/myrecipes.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //h2[contains(@class, 'name')] | 1 | title: //h2[contains(@class, 'name')] |
2 | body: //div[@class='printFullPageContentContainer']//div[contains(@class, 'recipe')] | 2 | body: //div[@class='printFullPageContentContainer']//div[contains(@class, 'recipe')] |
3 | 3 | ||
4 | strip_id_or_class: photoBy | 4 | strip_id_or_class: photoBy |
5 | strip_id_or_class: link | 5 | strip_id_or_class: link |
6 | 6 | ||
7 | single_page_link: //li[@class='print']/a[contains(@href, '/print/')] | 7 | single_page_link: //li[@class='print']/a[contains(@href, '/print/')] |
8 | 8 | ||
9 | prune: no | 9 | prune: no |
10 | tidy: no | 10 | tidy: no |
11 | 11 | ||
12 | test_url: http://www.myrecipes.com/recipe/hummingbird-cake-10000000387218/ \ No newline at end of file | 12 | test_url: http://www.myrecipes.com/recipe/hummingbird-cake-10000000387218/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/narenji.ir.txt b/inc/3rdparty/site_config/standard/narenji.ir.txt index 6c3d0c24..6c3d0c24 100644..100755 --- a/inc/3rdparty/site_config/standard/narenji.ir.txt +++ b/inc/3rdparty/site_config/standard/narenji.ir.txt | |||
diff --git a/inc/3rdparty/site_config/standard/nasa.gov.txt b/inc/3rdparty/site_config/standard/nasa.gov.txt index d95530f3..7df1112b 100644..100755 --- a/inc/3rdparty/site_config/standard/nasa.gov.txt +++ b/inc/3rdparty/site_config/standard/nasa.gov.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //div[@class='address']/span | 1 | title: //div[@class='address']/span |
2 | author: substring-before(//span[@class='credits'],',') | 2 | author: substring-before(//span[@class='credits'],',') |
3 | date: //div[@class='promodatepress']/span | 3 | date: //div[@class='promodatepress']/span |
4 | body: //div[@class='default_style_wrap'] | 4 | body: //div[@class='default_style_wrap'] |
5 | strip: //div[@class='text_adjust'] | 5 | strip: //div[@class='text_adjust'] |
6 | strip: //div[@class='skiplink'] | 6 | strip: //div[@class='skiplink'] |
7 | strip: //h2 | 7 | strip: //h2 |
8 | test_url: http://www.nasa.gov/mission_pages/kepler/news/kepler-21b.html \ No newline at end of file | 8 | test_url: http://www.nasa.gov/mission_pages/kepler/news/kepler-21b.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/nbweekly.com.txt b/inc/3rdparty/site_config/standard/nbweekly.com.txt index 0b722d33..2645d406 100644..100755 --- a/inc/3rdparty/site_config/standard/nbweekly.com.txt +++ b/inc/3rdparty/site_config/standard/nbweekly.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | date://span[contains(@class,'date')] | 1 | date://span[contains(@class,'date')] |
2 | 2 | ||
3 | body://div[contains(@class,'contWarp')] | 3 | body://div[contains(@class,'contWarp')] |
4 | 4 | ||
5 | strip://div[contains(@class,'keyWord')] | 5 | strip://div[contains(@class,'keyWord')] |
6 | strip://div[contains(@class,'submitComt')] | 6 | strip://div[contains(@class,'submitComt')] |
7 | strip://div[contains(@class,'cmts')] | 7 | strip://div[contains(@class,'cmts')] |
8 | strip://div[contains(@class,'notice')] | 8 | strip://div[contains(@class,'notice')] |
9 | strip://div[contains(@class,'part pt-second')] | 9 | strip://div[contains(@class,'part pt-second')] |
10 | test_url: http://www.nbweekly.com/news/china/201203/29316.aspx \ No newline at end of file | 10 | test_url: http://www.nbweekly.com/news/china/201203/29316.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/neh.gov.txt b/inc/3rdparty/site_config/standard/neh.gov.txt index 45136a2b..e7cc4313 100644..100755 --- a/inc/3rdparty/site_config/standard/neh.gov.txt +++ b/inc/3rdparty/site_config/standard/neh.gov.txt | |||
@@ -1,17 +1,17 @@ | |||
1 | #host configuration should be http://www.neh.gov/news/humanities/ | 1 | #host configuration should be http://www.neh.gov/news/humanities/ |
2 | 2 | ||
3 | 3 | ||
4 | #meta data | 4 | #meta data |
5 | title:substring-after(substring-after(//title,':'),':') | 5 | title:substring-after(substring-after(//title,':'),':') |
6 | author:substring-after(//h2[@class = 'subHead'],'By') | 6 | author:substring-after(//h2[@class = 'subHead'],'By') |
7 | date:substring-before(substring-after(//title,':'),':') | 7 | date:substring-before(substring-after(//title,':'),':') |
8 | 8 | ||
9 | #img and caption handling | 9 | #img and caption handling |
10 | wrap_in(small)://div[@id = 'mainContent']/table/descendant::p/descendant::text() | 10 | wrap_in(small)://div[@id = 'mainContent']/table/descendant::p/descendant::text() |
11 | wrap_in(fieldset)://div[@id = 'mainContent']/table | 11 | wrap_in(fieldset)://div[@id = 'mainContent']/table |
12 | 12 | ||
13 | # clean up | 13 | # clean up |
14 | strip: //table[@class = 'marginpaddingTop'] | 14 | strip: //table[@class = 'marginpaddingTop'] |
15 | strip: //h2[@class = 'subHead'] | 15 | strip: //h2[@class = 'subHead'] |
16 | 16 | ||
17 | test_url: http://www.neh.gov/news/humanities/2011-11/IslamicScholar.html \ No newline at end of file | 17 | test_url: http://www.neh.gov/news/humanities/2011-11/IslamicScholar.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/neomoney.co.txt b/inc/3rdparty/site_config/standard/neomoney.co.txt index 564d5492..2089fc39 100644..100755 --- a/inc/3rdparty/site_config/standard/neomoney.co.txt +++ b/inc/3rdparty/site_config/standard/neomoney.co.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //*[@class="header_title"]/h1 | 1 | title: //*[@class="header_title"]/h1 |
2 | body: //div[contains(@class, 'content')] | 2 | body: //div[contains(@class, 'content')] |
3 | test_url: http://neomoney.co/personal/expatriate-and-migrant-loans/expatriate-loans/ \ No newline at end of file | 3 | test_url: http://neomoney.co/personal/expatriate-and-migrant-loans/expatriate-loans/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/net-security.org.txt b/inc/3rdparty/site_config/standard/net-security.org.txt index 4e6d66d4..b7fedbf3 100644..100755 --- a/inc/3rdparty/site_config/standard/net-security.org.txt +++ b/inc/3rdparty/site_config/standard/net-security.org.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@class='content-title'] | 1 | title: //div[@class='content-title'] |
2 | #date: substring-after(//div[@class='dernek-text-under'],'Posted on') | 2 | #date: substring-after(//div[@class='dernek-text-under'],'Posted on') |
3 | body: //div[@class='content-item'] | 3 | body: //div[@class='content-item'] |
4 | next_page_link: //li[@class='next']/a | 4 | next_page_link: //li[@class='next']/a |
5 | convert_double_br_tags: yes | 5 | convert_double_br_tags: yes |
6 | 6 | ||
7 | test_url: http://www.net-security.org/article.php?id=1732 \ No newline at end of file | 7 | test_url: http://www.net-security.org/article.php?id=1732 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/netmagazine.com.txt b/inc/3rdparty/site_config/standard/netmagazine.com.txt index 86885445..dcea047c 100644..100755 --- a/inc/3rdparty/site_config/standard/netmagazine.com.txt +++ b/inc/3rdparty/site_config/standard/netmagazine.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | author: //div[@class="submitted"]/span | 2 | author: //div[@class="submitted"]/span |
3 | 3 | ||
4 | # seems like this should work, but nothing is returned. Issue with xpath parser? | 4 | # seems like this should work, but nothing is returned. Issue with xpath parser? |
5 | date: //div[@class="submitted"]/time | 5 | date: //div[@class="submitted"]/time |
6 | 6 | ||
7 | body: //div[@id="main-content"] | 7 | body: //div[@id="main-content"] |
8 | 8 | ||
9 | strip_comments: no | 9 | strip_comments: no |
10 | 10 | ||
11 | strip: //h1 | 11 | strip: //h1 |
12 | strip: //div[@class="submitted"] | 12 | strip: //div[@class="submitted"] |
13 | strip: //dd[@class="profile-avatar"] | 13 | strip: //dd[@class="profile-avatar"] |
14 | strip: //div[@class="author-profile"]/dl/dt[1] | 14 | strip: //div[@class="author-profile"]/dl/dt[1] |
15 | strip: //div[@id="right-col"] | 15 | strip: //div[@id="right-col"] |
16 | test_url: http://www.netmagazine.com/opinions/nielsen-wrong-mobile \ No newline at end of file | 16 | test_url: http://www.netmagazine.com/opinions/nielsen-wrong-mobile \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/netzpolitik.org.txt b/inc/3rdparty/site_config/standard/netzpolitik.org.txt index 87dc3cdf..7fa43fd7 100644..100755 --- a/inc/3rdparty/site_config/standard/netzpolitik.org.txt +++ b/inc/3rdparty/site_config/standard/netzpolitik.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1[@class='entry-title'] | 1 | title: //h1[@class='entry-title'] |
2 | author: //a[@ref='author'] | 2 | author: //a[@ref='author'] |
3 | date: //span[@class='entry-date'] | 3 | date: //span[@class='entry-date'] |
4 | body: //div[@class='entry-content'] | 4 | body: //div[@class='entry-content'] |
5 | 5 | ||
6 | test_url: http://netzpolitik.org/2011/buch-generation-facebook/ \ No newline at end of file | 6 | test_url: http://netzpolitik.org/2011/buch-generation-facebook/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/newleftproject.org.txt b/inc/3rdparty/site_config/standard/newleftproject.org.txt new file mode 100755 index 00000000..d9af99d8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/newleftproject.org.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | title: //div[contains(@class, 'article_header')]//h3 | ||
2 | |||
3 | test_url: http://www.newleftproject.org/index.php/site/article_comments/do_we_need_a_facebook_of_the_left \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/newmatilda.com.txt b/inc/3rdparty/site_config/standard/newmatilda.com.txt index ab766847..f17ecdc6 100644..100755 --- a/inc/3rdparty/site_config/standard/newmatilda.com.txt +++ b/inc/3rdparty/site_config/standard/newmatilda.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@id="maincontent"]/h1 | 1 | title: //div[@id="maincontent"]/h1 |
2 | body: //div[@id="maincontent"] | 2 | body: //div[@id="maincontent"] |
3 | date: //div[@id="maincontent"]/p[2] | 3 | date: //div[@id="maincontent"]/p[2] |
4 | author: //ul[@id="contributors"]/li/p/b | 4 | author: //ul[@id="contributors"]/li/p/b |
5 | 5 | ||
6 | strip: //p[@*] | 6 | strip: //p[@*] |
7 | strip: //h1 | 7 | strip: //h1 |
8 | strip: //div[@id="maincontent"]/div | 8 | strip: //div[@id="maincontent"]/div |
9 | test_url: http://newmatilda.com/2011/07/22/turnbull-makes-sense-climate \ No newline at end of file | 9 | test_url: http://newmatilda.com/2011/07/22/turnbull-makes-sense-climate \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/newrepublic.com.txt b/inc/3rdparty/site_config/standard/newrepublic.com.txt new file mode 100755 index 00000000..039f0385 --- /dev/null +++ b/inc/3rdparty/site_config/standard/newrepublic.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | author: //span[@class="authors"] | ||
2 | date: //span[@class="date"] | ||
3 | body: //div[@class="primary"] | ||
4 | |||
5 | strip: //div[@id="controls"] | ||
6 | strip: //div[@id="read-next"] | ||
7 | |||
8 | test_url: http://www.newrepublic.com/article/112731/moocs-will-online-education-ruin-university-experience \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/news-gazette.com.txt b/inc/3rdparty/site_config/standard/news-gazette.com.txt index 1f1e5d3a..2b352707 100644..100755 --- a/inc/3rdparty/site_config/standard/news-gazette.com.txt +++ b/inc/3rdparty/site_config/standard/news-gazette.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //div[@id="main-content"]//h2 | 1 | title: //div[@id="main-content"]//h2 |
2 | 2 | ||
3 | author: //div[@id="main-content"]//span[@class="authors"] | 3 | author: //div[@id="main-content"]//span[@class="authors"] |
4 | 4 | ||
5 | date: //div[@id="main-content"]//span[@class="timestamp"] | 5 | date: //div[@id="main-content"]//span[@class="timestamp"] |
6 | 6 | ||
7 | body: //div[@id="main-content"]//div[@class="content"] | 7 | body: //div[@id="main-content"]//div[@class="content"] |
8 | test_url: http://www.news-gazette.com/news/business/economy/2011-08-08/ibm-drops-out-blue-waters-project.html \ No newline at end of file | 8 | test_url: http://www.news-gazette.com/news/business/economy/2011-08-08/ibm-drops-out-blue-waters-project.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.cnet.com.txt b/inc/3rdparty/site_config/standard/news.cnet.com.txt index b7ab224a..78af70f4 100644..100755 --- a/inc/3rdparty/site_config/standard/news.cnet.com.txt +++ b/inc/3rdparty/site_config/standard/news.cnet.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | #This should apply to *.cnet.com. Not just news.cnet.com. | 1 | #This should apply to *.cnet.com. Not just news.cnet.com. |
2 | title: //h1 | 2 | title: //h1 |
3 | author: //img[@class="mugshot"]/@alt | 3 | author: //img[@class="mugshot"]/@alt |
4 | strip: //h1 | 4 | strip: //h1 |
5 | strip_id_or_class: breadcrumb | 5 | strip_id_or_class: breadcrumb |
6 | strip: //p[@id="introP"] | 6 | strip: //p[@id="introP"] |
7 | strip: //div[@class="postByline"] | 7 | strip: //div[@class="postByline"] |
8 | strip: //div[@class="editorBio"] | 8 | strip: //div[@class="editorBio"] |
9 | strip: //div[@class="inline-slideshow"] | 9 | strip: //div[@class="inline-slideshow"] |
10 | strip: //div[@class="related"] | 10 | strip: //div[@class="related"] |
11 | body: //div[@class="postBody txtWrap"] | 11 | body: //div[@class="postBody txtWrap"] |
12 | test_url: http://news.cnet.com/8301-27076_3-57405303-248/apple-ipad-charging-fine-keep-it-plugged-in/?tag=mncol;posts \ No newline at end of file | 12 | test_url: http://news.cnet.com/8301-27076_3-57405303-248/apple-ipad-charging-fine-keep-it-plugged-in/?tag=mncol;posts \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.detik.com.txt b/inc/3rdparty/site_config/standard/news.detik.com.txt index 3ed1dc85..629bc917 100644..100755 --- a/inc/3rdparty/site_config/standard/news.detik.com.txt +++ b/inc/3rdparty/site_config/standard/news.detik.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title://div[@class="content_detail"]/h1 | 1 | title://div[@class="content_detail"]/h1 |
2 | 2 | ||
3 | author://div[@class="author"]/strong | 3 | author://div[@class="author"]/strong |
4 | 4 | ||
5 | date:substring-before(substring-after(//div[@class="content_detail"]/span[@class="date"], ','), ' WIB') | 5 | date:substring-before(substring-after(//div[@class="content_detail"]/span[@class="date"], ','), ' WIB') |
6 | 6 | ||
7 | body://div[@class="text_detail"] | 7 | body://div[@class="text_detail"] |
8 | test_url: http://news.detik.com/read/2012/05/22/225531/1922307/10/menkeu-cek-soal-lolosnya-315-kg-sabu-dari-bea-cukai \ No newline at end of file | 8 | test_url: http://news.detik.com/read/2012/05/22/225531/1922307/10/menkeu-cek-soal-lolosnya-315-kg-sabu-dari-bea-cukai \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.kanaloco.jp.txt b/inc/3rdparty/site_config/standard/news.kanaloco.jp.txt index 6fc86137..5754d47a 100644..100755 --- a/inc/3rdparty/site_config/standard/news.kanaloco.jp.txt +++ b/inc/3rdparty/site_config/standard/news.kanaloco.jp.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //div[@id='main'] | 1 | body: //div[@id='main'] |
2 | strip: //div[@id='sbs'] | 2 | strip: //div[@id='sbs'] |
3 | strip: //div[@id='fsizeSwitch'] | 3 | strip: //div[@id='fsizeSwitch'] |
4 | strip: //div[@id='googleAd'] | 4 | strip: //div[@id='googleAd'] |
5 | strip: //div[@id='detailFoot'] | 5 | strip: //div[@id='detailFoot'] |
6 | strip_image_src: counter?key | 6 | strip_image_src: counter?key |
7 | convert_double_br_tags: yes | 7 | convert_double_br_tags: yes |
8 | 8 | ||
9 | test_url: http://news.kanaloco.jp/localnews/article/1105200018/ \ No newline at end of file | 9 | test_url: http://news.kanaloco.jp/localnews/article/1105200018/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.mynavi.jp.txt b/inc/3rdparty/site_config/standard/news.mynavi.jp.txt index ded680f1..1df47314 100644..100755 --- a/inc/3rdparty/site_config/standard/news.mynavi.jp.txt +++ b/inc/3rdparty/site_config/standard/news.mynavi.jp.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h2[@class="lyt-hdg-02-04"] | 1 | title: //h2[@class="lyt-hdg-02-04"] |
2 | 2 | ||
3 | author: //div[@class="lyt-namearea"]/a | 3 | author: //div[@class="lyt-namearea"]/a |
4 | 4 | ||
5 | date: //div[@class="lyt-namearea"]/text() | 5 | date: //div[@class="lyt-namearea"]/text() |
6 | 6 | ||
7 | body: //div[@class="articleContent"] | 7 | body: //div[@class="articleContent"] |
8 | 8 | ||
9 | strip: //div[@id="tab-aside"] | 9 | strip: //div[@id="tab-aside"] |
10 | 10 | ||
11 | test_url: http://news.mynavi.jp/articles/2011/12/07/nico/index.html \ No newline at end of file | 11 | test_url: http://news.mynavi.jp/articles/2011/12/07/nico/index.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.orf.at.txt b/inc/3rdparty/site_config/standard/news.orf.at.txt index b60deea4..3b1d3ccb 100644..100755 --- a/inc/3rdparty/site_config/standard/news.orf.at.txt +++ b/inc/3rdparty/site_config/standard/news.orf.at.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | single_page_link: //div[@id='content']//p[@class='readMore']/a | 1 | single_page_link: //div[@id='content']//p[@class='readMore']/a |
2 | 2 | ||
3 | title: //div[@class='hidden offscreen']/h2 | 3 | title: //div[@class='hidden offscreen']/h2 |
4 | body: //div[@id="storyText"] | 4 | body: //div[@id="storyText"] |
5 | move_into(//div[@id='storyText']): //div[@class='fact'] | 5 | move_into(//div[@id='storyText']): //div[@class='fact'] |
6 | strip: //small[@class='credit'] | 6 | strip: //small[@class='credit'] |
7 | strip: //small[@class='caption'] | 7 | strip: //small[@class='caption'] |
8 | date: substring-after(//div[@id='storyMeta']//p[@class='date'],'Publiziert am') | 8 | date: substring-after(//div[@id='storyMeta']//p[@class='date'],'Publiziert am') |
9 | strip: //p[@class='toplink'] | 9 | strip: //p[@class='toplink'] |
10 | 10 | ||
11 | test_url: http://news.orf.at/stories/2084731/ \ No newline at end of file | 11 | test_url: http://news.orf.at/stories/2084731/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.rambler.ru.txt b/inc/3rdparty/site_config/standard/news.rambler.ru.txt index 743245f8..1d547334 100644..100755 --- a/inc/3rdparty/site_config/standard/news.rambler.ru.txt +++ b/inc/3rdparty/site_config/standard/news.rambler.ru.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //article | 1 | body: //article |
2 | title: //h1 | 2 | title: //h1 |
3 | author: //span[@class='b-article-source-dropdown'] | 3 | author: //span[@class='b-article-source-dropdown'] |
4 | strip: //span[@class='b-article-photo-incut__source'] | 4 | strip: //span[@class='b-article-photo-incut__source'] |
5 | strip: //a[@class='b-read-more b-read-more_bottom'] | 5 | strip: //a[@class='b-read-more b-read-more_bottom'] |
6 | 6 | ||
7 | 7 | ||
8 | tidy:no | 8 | tidy:no |
9 | test_url: http://news.rambler.ru/12972208/ \ No newline at end of file | 9 | test_url: http://news.rambler.ru/12972208/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.techmeme.com.txt b/inc/3rdparty/site_config/standard/news.techmeme.com.txt index c80c3327..ba4db828 100644..100755 --- a/inc/3rdparty/site_config/standard/news.techmeme.com.txt +++ b/inc/3rdparty/site_config/standard/news.techmeme.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class='main']/div[@class='item'] | 1 | body: //div[@class='main']/div[@class='item'] |
2 | strip: //div[@class='right'] | 2 | strip: //div[@class='right'] |
3 | 3 | ||
4 | test_url: http://news.techmeme.com/110516/fh-rip \ No newline at end of file | 4 | test_url: http://news.techmeme.com/110516/fh-rip \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.yahoo.com.txt b/inc/3rdparty/site_config/standard/news.yahoo.com.txt index 5ee04049..fc1739c8 100644..100755 --- a/inc/3rdparty/site_config/standard/news.yahoo.com.txt +++ b/inc/3rdparty/site_config/standard/news.yahoo.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | title: //h1[@class='headline'] | 2 | title: //h1[@class='headline'] |
3 | author: //cite[contains(@class, 'byline') and contains(@class, 'vcard')]//span[@class='fn'] | 3 | author: //cite[contains(@class, 'byline') and contains(@class, 'vcard')]//span[@class='fn'] |
4 | date: //cite[contains(@class, 'byline') and contains(@class, 'vcard')]//abbr/@title | 4 | date: //cite[contains(@class, 'byline') and contains(@class, 'vcard')]//abbr/@title |
5 | body: //div[@id='mediaarticlelead']//a[@class='media'] | //div[contains(@class,'yom-art-content')] | 5 | body: //div[@id='mediaarticlelead']//a[@class='media'] | //div[contains(@class,'yom-art-content')] |
6 | #strip: //cite/abbr | 6 | #strip: //cite/abbr |
7 | strip_id_or_class: action | 7 | strip_id_or_class: action |
8 | strip_id_or_class: prefetch | 8 | strip_id_or_class: prefetch |
9 | tidy: no | 9 | tidy: no |
10 | prune: no | 10 | prune: no |
11 | 11 | ||
12 | test_url: http://news.yahoo.com/cold-la-nina-winter-forecast-west-coast-183535067.html \ No newline at end of file | 12 | test_url: http://news.yahoo.com/cold-la-nina-winter-forecast-west-coast-183535067.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.ycombinator.com.txt b/inc/3rdparty/site_config/standard/news.ycombinator.com.txt index 0b01f8a1..f7441d17 100644..100755 --- a/inc/3rdparty/site_config/standard/news.ycombinator.com.txt +++ b/inc/3rdparty/site_config/standard/news.ycombinator.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | strip_comments: no | 1 | strip_comments: no |
2 | strip: //a[. = 'reply'] | 2 | strip: //a[. = 'reply'] |
3 | test_url: http://news.ycombinator.com/item?id=1516461 \ No newline at end of file | 3 | test_url: http://news.ycombinator.com/item?id=1516461 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/news.zing.vn.txt b/inc/3rdparty/site_config/standard/news.zing.vn.txt new file mode 100755 index 00000000..af81e90e --- /dev/null +++ b/inc/3rdparty/site_config/standard/news.zing.vn.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | body://div[@class="newsdetail_wrapper"] | ||
2 | strip://div[@class="more_news"] | ||
3 | test_url: http://news.zing.vn/xa-hoi/s-phat-nang-xe-may-di-duong-tren-cao-ha-noi/a280838.html#home_noibat1 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/news247.gr.txt b/inc/3rdparty/site_config/standard/news247.gr.txt new file mode 100755 index 00000000..87637bed --- /dev/null +++ b/inc/3rdparty/site_config/standard/news247.gr.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //h1[@class='title'] | ||
2 | |||
3 | body: //img[@id='relPicsMainPic'] | //div[contains(@class, 'storyContent')] | ||
4 | |||
5 | test_url: http://news247.gr/eidiseis/katatheseis_fwtia_htan_apofasismenoi_akomh_kai_na_afairesoyn_zwes_an_thewrousan_oti_to_thuma_htan_antipalos_toys.2433351.html | ||
6 | test_url: http://news247.gr/?widget=rssfeed&view=feed&contentId=38291 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/newsbomb.gr.txt b/inc/3rdparty/site_config/standard/newsbomb.gr.txt index 0500890f..5eb0ea46 100644..100755 --- a/inc/3rdparty/site_config/standard/newsbomb.gr.txt +++ b/inc/3rdparty/site_config/standard/newsbomb.gr.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | date: //meta[@name='og:article:published_time']/@value | 1 | date: //meta[@name='og:article:published_time']/@value |
2 | 2 | ||
3 | body: //div[@class='itemIntroText' or @class='itemImageBlock' or @class='itemFullText'] | 3 | body: //div[@class='itemIntroText' or @class='itemImageBlock' or @class='itemFullText'] |
4 | 4 | ||
5 | strip_id_or_class: itemImageGallery | 5 | strip_id_or_class: itemImageGallery |
6 | 6 | ||
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | test_url: http://www.newsbomb.gr/gossip/story/257234/i-proin-moy-protimoyse-na-serfarei-apo-to-na-kanoyme-sex \ No newline at end of file | 9 | test_url: http://www.newsbomb.gr/gossip/story/257234/i-proin-moy-protimoyse-na-serfarei-apo-to-na-kanoyme-sex \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/newsle.com.txt b/inc/3rdparty/site_config/standard/newsle.com.txt index e500ddcc..e500ddcc 100644..100755 --- a/inc/3rdparty/site_config/standard/newsle.com.txt +++ b/inc/3rdparty/site_config/standard/newsle.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/newsmill.se.txt b/inc/3rdparty/site_config/standard/newsmill.se.txt index eb7d3350..1a990319 100644..100755 --- a/inc/3rdparty/site_config/standard/newsmill.se.txt +++ b/inc/3rdparty/site_config/standard/newsmill.se.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: (//div[@class='articleImg']//img)[1] | //p[contains(@class, 'commentTextArticle') or contains(@class, 'articlePublished')] | //div[@id='articleLeftContent'] | 2 | body: (//div[@class='articleImg']//img)[1] | //p[contains(@class, 'commentTextArticle') or contains(@class, 'articlePublished')] | //div[@id='articleLeftContent'] |
3 | author: //div[@class='byline']//a[contains(@href, '/user/')] | 3 | author: //div[@class='byline']//a[contains(@href, '/user/')] |
4 | 4 | ||
5 | strip_id_or_class: facts | 5 | strip_id_or_class: facts |
6 | strip_id_or_class: articleBlogsHolder | 6 | strip_id_or_class: articleBlogsHolder |
7 | strip_id_or_class: byline | 7 | strip_id_or_class: byline |
8 | 8 | ||
9 | prune: no | 9 | prune: no |
10 | tidy: no | 10 | tidy: no |
11 | 11 | ||
12 | test_url: http://www.newsmill.se/artikel/2012/05/06/medielogiken-v-ger-tyngre-n-reportrarnas-sikter \ No newline at end of file | 12 | test_url: http://www.newsmill.se/artikel/2012/05/06/medielogiken-v-ger-tyngre-n-reportrarnas-sikter \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/newsunspun.org.txt b/inc/3rdparty/site_config/standard/newsunspun.org.txt index 860ad66b..247bbebb 100644..100755 --- a/inc/3rdparty/site_config/standard/newsunspun.org.txt +++ b/inc/3rdparty/site_config/standard/newsunspun.org.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@class='right']//div[@class='articles'] | 1 | body: //div[@class='right']//div[@class='articles'] |
2 | author: //div[@id='artinfo']//a[contains(@href, '/author/')] | 2 | author: //div[@id='artinfo']//a[contains(@href, '/author/')] |
3 | strip: //div[@id='artinfo'] | 3 | strip: //div[@id='artinfo'] |
4 | strip: //table[//a[contains(@href, 'twitter.com')]] | 4 | strip: //table[//a[contains(@href, 'twitter.com')]] |
5 | strip_id_or_class: twitter | 5 | strip_id_or_class: twitter |
6 | 6 | ||
7 | prune: no | 7 | prune: no |
8 | tidy: no | 8 | tidy: no |
9 | 9 | ||
10 | test_url: http://www.newsunspun.org/eotn/bbc-headline-change-iran-goes-from-not-building-to-undecided-on-nuclear-bomb \ No newline at end of file | 10 | test_url: http://www.newsunspun.org/eotn/bbc-headline-change-iran-goes-from-not-building-to-undecided-on-nuclear-bomb \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/newsweek.com.txt b/inc/3rdparty/site_config/standard/newsweek.com.txt new file mode 100755 index 00000000..565648ba --- /dev/null +++ b/inc/3rdparty/site_config/standard/newsweek.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | body: //div[@class = 'article-body'] | ||
2 | title: //h1[@class = 'article-title'] | ||
3 | strip: //aside | ||
4 | |||
5 | test_url: http://www.newsweek.com/day-steve-mcqueen-met-his-new-nazi-neighbor-keith-moon-229741 | ||
6 | test_url: http://www.newsweek.com/2014/06/13/how-greylock-partners-finds-next-facebook-253329.html | ||
diff --git a/inc/3rdparty/site_config/standard/newswise.com.txt b/inc/3rdparty/site_config/standard/newswise.com.txt new file mode 100755 index 00000000..10120ea1 --- /dev/null +++ b/inc/3rdparty/site_config/standard/newswise.com.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | prune: no | ||
2 | tidy: no | ||
3 | |||
4 | title: //h1/a[2] | ||
5 | body: //div[@id="main"] | ||
6 | author: //span[@id="articlesource"] | ||
7 | date: //span[contains(@class, 'releasedate')] | ||
8 | |||
9 | strip: //div[@class="inst-logo"] | ||
10 | strip: //h1[1] | ||
11 | |||
12 | strip_id_or_class: addthis | ||
13 | strip_id_or_class: released | ||
14 | strip_id_or_class: skiptranslate | ||
15 | strip_id_or_class: flash | ||
16 | |||
17 | test_url: http://www.newswise.com/articles/first-heat-wave-of-season-puts-elderly-at-risk | ||
diff --git a/inc/3rdparty/site_config/standard/newyorker.com.txt b/inc/3rdparty/site_config/standard/newyorker.com.txt index 5624aa8c..950324a3 100644..100755 --- a/inc/3rdparty/site_config/standard/newyorker.com.txt +++ b/inc/3rdparty/site_config/standard/newyorker.com.txt | |||
@@ -1,10 +1,11 @@ | |||
1 | title: //h1[@id='articlehed'] | //h2[@id="articleintro"] | 1 | title: //h1[@id='articlehed'] | //h2[@id="articleintro"] |
2 | body: //div[@id='articletext'] | 2 | body: //div[@id='articletext'] |
3 | 3 | ||
4 | strip: //ul[@id="bc"] | //div[@id="yrail"] | //div[@class="entry-keywords"] | //div[@class="entry-categories"] | //div[@class="socialUtils"] | //div[@id="footer"] | 4 | strip: //ul[@id="bc"] | //div[@id="yrail"] | //div[@class="entry-keywords"] | //div[@class="entry-categories"] | //div[@class="socialUtils"] | //div[@id="footer"] | //div[@class="cartoon"] |
5 | 5 | ||
6 | date: //h4[@id='articleauthor']/span[@class='dd dds'] | 6 | date: //h4[@id='articleauthor']/span[@class='dd dds'] |
7 | date: //div[@id="pagebody"]/div[@class='hentry entry']/div[@class='published'] | 7 | date: //div[@id="pagebody"]/div[@class='hentry entry']/div[@class='published'] |
8 | 8 | ||
9 | single_page_link: //div[@class='paginationViewSinglePage']/a | 9 | single_page_link: //div[@class='paginationViewSinglePage']/a |
10 | test_url: http://www.newyorker.com/online/blogs/culture/2012/06/mug-shot-web-sites.html \ No newline at end of file | 10 | test_url: http://www.newyorker.com/online/blogs/culture/2012/06/mug-shot-web-sites.html |
11 | test_url: http://www.newyorker.com/reporting/2013/04/22/130422fa_fact_bilger?currentPage=all&mobify=0 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/next-gen.biz.txt b/inc/3rdparty/site_config/standard/next-gen.biz.txt index 806a3dfd..b8d235db 100644..100755 --- a/inc/3rdparty/site_config/standard/next-gen.biz.txt +++ b/inc/3rdparty/site_config/standard/next-gen.biz.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | # 2011-08-22 [carlo@...] initial version | 1 | # 2011-08-22 [carlo@...] initial version |
2 | # 2011-08-22 [carlo@...] removed comments & social links | 2 | # 2011-08-22 [carlo@...] removed comments & social links |
3 | 3 | ||
4 | tidy: no | 4 | tidy: no |
5 | 5 | ||
6 | single_page_link: //a[@class="single active"] | 6 | single_page_link: //a[@class="single active"] |
7 | 7 | ||
8 | body: //div[@id="main"]//div[@class="content-region"]/article | 8 | body: //div[@id="main"]//div[@class="content-region"]/article |
9 | author: //span[@class="author-name"] | 9 | author: //span[@class="author-name"] |
10 | date: //time/text() | 10 | date: //time/text() |
11 | 11 | ||
12 | strip_id_or_class: //aside[@id="related"] | 12 | strip_id_or_class: //aside[@id="related"] |
13 | strip: //footer | 13 | strip: //footer |
14 | 14 | ||
15 | title: //h1 | 15 | title: //h1 |
16 | test_url: http://www.next-gen.biz/reviews/deus-ex-human-revolution-review \ No newline at end of file | 16 | test_url: http://www.next-gen.biz/reviews/deus-ex-human-revolution-review \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/nfl.com.txt b/inc/3rdparty/site_config/standard/nfl.com.txt index 70f92473..956b288f 100644..100755 --- a/inc/3rdparty/site_config/standard/nfl.com.txt +++ b/inc/3rdparty/site_config/standard/nfl.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | # doesn't look like selecting an attribute value works? | 1 | # doesn't look like selecting an attribute value works? |
2 | # author: //meta[@id="authorName"]@value | 2 | # author: //meta[@id="authorName"]@value |
3 | 3 | ||
4 | author: substring-after(//li[@id="article-hdr-meta-author"]/text(), "By ") | 4 | author: substring-after(//li[@id="article-hdr-meta-author"]/text(), "By ") |
5 | date: //abbr[@id="article-time"] | 5 | date: //abbr[@id="article-time"] |
6 | title: //div[@id="article-hdr"]/h1 | 6 | title: //div[@id="article-hdr"]/h1 |
7 | body: //div[@class="articleText"] | 7 | body: //div[@class="articleText"] |
8 | 8 | ||
9 | # strip miscellaneous teasers & etc | 9 | # strip miscellaneous teasers & etc |
10 | strip: //div[@class="removeformobile"] | 10 | strip: //div[@class="removeformobile"] |
11 | test_url: http://www.nfl.com/news/story/09000d5d82388707/article/close-shave-chiefs-haley-perseveres-through-rough-start?module=HP11_content_stream \ No newline at end of file | 11 | test_url: http://www.nfl.com/news/story/09000d5d82388707/article/close-shave-chiefs-haley-perseveres-through-rough-start?module=HP11_content_stream \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ngm.nationalgeographic.com.txt b/inc/3rdparty/site_config/standard/ngm.nationalgeographic.com.txt index 60834862..44a82a95 100644..100755 --- a/inc/3rdparty/site_config/standard/ngm.nationalgeographic.com.txt +++ b/inc/3rdparty/site_config/standard/ngm.nationalgeographic.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | next_page_link: //div[@class='nextpage_continue']/a | 1 | next_page_link: //div[@class='nextpage_continue']/a |
2 | strip: //div[@class='nextpage_continue'] | 2 | strip: //div[@class='nextpage_continue'] |
3 | strip_id_or_class: nextpage | 3 | strip_id_or_class: nextpage |
4 | title: //div[@class='article_title']//h1 | 4 | title: //div[@class='article_title']//h1 |
5 | body: //div[@class='article_title']/.. | 5 | body: //div[@class='article_title']/.. |
6 | body: //div[@class='content'] | 6 | body: //div[@class='content'] |
7 | test_url: http://ngm.nationalgeographic.com/2012/02/tsunami/folger-text \ No newline at end of file | 7 | test_url: http://ngm.nationalgeographic.com/2012/02/tsunami/folger-text \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/nhk.or.jp.txt b/inc/3rdparty/site_config/standard/nhk.or.jp.txt index 0a3bb913..0a3bb913 100644..100755 --- a/inc/3rdparty/site_config/standard/nhk.or.jp.txt +++ b/inc/3rdparty/site_config/standard/nhk.or.jp.txt | |||
diff --git a/inc/3rdparty/site_config/standard/nintendoworldreport.com.txt b/inc/3rdparty/site_config/standard/nintendoworldreport.com.txt index 409a8977..f0e28afb 100644..100755 --- a/inc/3rdparty/site_config/standard/nintendoworldreport.com.txt +++ b/inc/3rdparty/site_config/standard/nintendoworldreport.com.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | body: //div[@id="main"] | 1 | body: //div[@id="main"] |
2 | title: //div[@id="main"]/h3 | 2 | title: //div[@id="main"]/h3 |
3 | 3 | ||
4 | # Remove ‘Review’ and ‘Wii’. | 4 | # Remove ‘Review’ and ‘Wii’. |
5 | strip: //div[@class="badge"] | 5 | strip: //div[@class="badge"] |
6 | 6 | ||
7 | # Remove duplicate title and country flag. | 7 | # Remove duplicate title and country flag. |
8 | strip: //h3 | 8 | strip: //h3 |
9 | 9 | ||
10 | # Commented out below are attempts to extract the author and date, which did not work. | 10 | # Commented out below are attempts to extract the author and date, which did not work. |
11 | # author: //p[@class="extra "]/a | 11 | # author: //p[@class="extra "]/a |
12 | # date: //p[@class="extra "]/span[@class="when"] | 12 | # date: //p[@class="extra "]/span[@class="when"] |
13 | test_url: http://www.nintendoworldreport.com/review/28400 \ No newline at end of file | 13 | test_url: http://www.nintendoworldreport.com/review/28400 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/nojesguiden.se.txt b/inc/3rdparty/site_config/standard/nojesguiden.se.txt index ae2d7e41..b15f0612 100644..100755 --- a/inc/3rdparty/site_config/standard/nojesguiden.se.txt +++ b/inc/3rdparty/site_config/standard/nojesguiden.se.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | author: //span[@class='meta']/span[@class='username'] | 1 | author: //span[@class='meta']/span[@class='username'] |
2 | body: //div[@class='article-content'] | 2 | body: //div[@class='article-content'] |
3 | 3 | ||
4 | strip_id_or_class: 'article-actions' | 4 | strip_id_or_class: 'article-actions' |
5 | test_url: http://nojesguiden.se/blogg/maja-bredberg/maja-laser-tidningen-en-helt-vanlig-lordag-i \ No newline at end of file | 5 | test_url: http://nojesguiden.se/blogg/maja-bredberg/maja-laser-tidningen-en-helt-vanlig-lordag-i \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/northumberlandview.ca.txt b/inc/3rdparty/site_config/standard/northumberlandview.ca.txt index 04a0a34d..88429a78 100644..100755 --- a/inc/3rdparty/site_config/standard/northumberlandview.ca.txt +++ b/inc/3rdparty/site_config/standard/northumberlandview.ca.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id='pn-maincontent'] | 2 | body: //div[@id='pn-maincontent'] |
3 | strip_id_or_class: z-menu | 3 | strip_id_or_class: z-menu |
4 | strip_id_or_class: news_category | 4 | strip_id_or_class: news_category |
5 | strip_id_or_class: news_title | 5 | strip_id_or_class: news_title |
6 | strip_id_or_class: news_modify | 6 | strip_id_or_class: news_modify |
7 | strip_id_or_class: news_morearticlesincat | 7 | strip_id_or_class: news_morearticlesincat |
8 | strip_id_or_class: ezc_comments | 8 | strip_id_or_class: ezc_comments |
9 | strip_comments: yes | 9 | strip_comments: yes |
10 | 10 | ||
11 | test_url: http://www.northumberlandview.ca/index.php?module=news&func=display&sid=5972 \ No newline at end of file | 11 | test_url: http://www.northumberlandview.ca/index.php?module=news&func=display&sid=5972 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/nosalty.hu.txt b/inc/3rdparty/site_config/standard/nosalty.hu.txt new file mode 100755 index 00000000..7e20cadf --- /dev/null +++ b/inc/3rdparty/site_config/standard/nosalty.hu.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //div[@id='tab-recept']//h1 | ||
2 | body: //div[@id='tab-recept']//div[contains(@class, 'column-container')] | ||
3 | strip_id_or_class: ajanlo-box | ||
4 | prune: no | ||
5 | |||
6 | test_url: http://www.nosalty.hu/recept/szupergyors-fank \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/nplusonemag.com.txt b/inc/3rdparty/site_config/standard/nplusonemag.com.txt index 205b1af4..1b817c04 100644..100755 --- a/inc/3rdparty/site_config/standard/nplusonemag.com.txt +++ b/inc/3rdparty/site_config/standard/nplusonemag.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: /html/body/div[3]/div/div/h1 | 1 | title: /html/body/div[3]/div/div/h1 |
2 | 2 | ||
3 | body: //*[@id="article-body"] | 3 | body: //*[@id="article-body"] |
4 | 4 | ||
5 | 5 | ||
6 | test_url: http://nplusonemag.com/the-outskirts-of-progress \ No newline at end of file | 6 | test_url: http://nplusonemag.com/the-outskirts-of-progress \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/npr.org.txt b/inc/3rdparty/site_config/standard/npr.org.txt index afab0eb3..acd73e48 100644..100755 --- a/inc/3rdparty/site_config/standard/npr.org.txt +++ b/inc/3rdparty/site_config/standard/npr.org.txt | |||
@@ -1,32 +1,34 @@ | |||
1 | title: //div[contains(@class, 'storytitle')]//h1 | 1 | title: //div[contains(@class, 'storytitle')]//h1 |
2 | author: //p[@class="byline"]/span | 2 | author: //p[@class="byline"]/span |
3 | body: //div[@id='storyspan02']//*[@class='duration' or @class='download' or contains(@class, 'photo')] | //div[@id='storytext'] | //div[@class='transcript'] | 3 | body: //div[@id='primaryaudio']//*[@class='duration' or @class='download' or contains(@class, 'photo')] | //div[@id='storytext' or @id='supplementarycontent' or contains(@class, 'transcript')] |
4 | date: //meta[@name="date"]/@content | 4 | date: //meta[@name="date"]/@content |
5 | 5 | ||
6 | strip: //div[@class='enlarge_measure'] | 6 | strip_id_or_class: enlarge_measure |
7 | strip: //div[@class='enlarge_html'] | 7 | strip_id_or_class: enlarge_html |
8 | strip: //a[@class='enlargeicon'] | 8 | strip: //a[contains(@class, 'enlargeicon')] |
9 | strip: //div[contains(@class, 'bookedition')] | 9 | strip: //div[contains(@class, 'bookedition')] |
10 | strip: //div[@class='textsize'] | 10 | strip: //div[@class='textsize'] |
11 | strip: //ul[@class='genres'] | 11 | strip: //ul[@class='genres'] |
12 | strip: //span[@class='bull'] | 12 | strip: //span[@class='bull'] |
13 | strip_id_or_class: secondary | 13 | strip_id_or_class: secondary |
14 | strip_id_or_class: con1col | 14 | strip_id_or_class: con1col |
15 | strip: //h3[@class='conheader'] | 15 | strip: //h3[@class='conheader'] |
16 | 16 | ||
17 | replace_string(<a name="more"> </a>): <!-- no more --> | 17 | replace_string(<a name="more"> </a>): <!-- no more --> |
18 | replace_string(<div class="transcript">): <div class="transcript"><h2>Transcript</h2> | 18 | replace_string(<div class="transcript">): <div class="transcript"><h2>Transcript</h2> |
19 | 19 | replace_string(<div class="transcript storytext">): <div class="transcript storytext"><h2>Transcript</h2> | |
20 | prune: no | 20 | |
21 | strip://div[@class="ecommercepop"] | 21 | prune: no |
22 | strip://span[@class="bull"] | 22 | strip://div[@class="ecommercepop"] |
23 | strip://span[@class="purchaseLink"] | 23 | strip://span[@class="bull"] |
24 | strip://div[@class="enlarge_html"] | 24 | strip://span[@class="purchaseLink"] |
25 | strip://div[@class="enlarge_measure"] | 25 | strip://div[@class="enlarge_html"] |
26 | strip://div[@class="container con1col small"] | 26 | strip://div[@class="enlarge_measure"] |
27 | strip://a[contains(@class, "enlargebtn")] | 27 | strip://div[@class="container con1col small"] |
28 | strip://div[contains(@class, "bucketwrap internallink")] | 28 | strip://a[contains(@class, "enlargebtn")] |
29 | 29 | strip://div[contains(@class, "bucketwrap internallink")] | |
30 | test_url: http://www.npr.org/blogs/thetwo-way/2011/07/12/137799301/sports-loses-its-escapist-gleam-in-a-summer-of-court-dates | 30 | |
31 | test_url: http://www.npr.org/2012/07/04/156190948/feeling-under-siege-catholic-leadership-shifts-right | 31 | test_url: http://www.npr.org/blogs/thetwo-way/2011/07/12/137799301/sports-loses-its-escapist-gleam-in-a-summer-of-court-dates |
32 | test_url: http://www.npr.org/2012/12/13/166480907/the-years-best-sci-fi-crosses-galaxies-and-genres \ No newline at end of file | 32 | test_url: http://www.npr.org/2012/07/04/156190948/feeling-under-siege-catholic-leadership-shifts-right |
33 | test_url: http://www.npr.org/2012/12/13/166480907/the-years-best-sci-fi-crosses-galaxies-and-genres | ||
34 | test_url: http://www.npr.org/templates/story/story.php?storyId=229103221 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/nybooks.com.txt b/inc/3rdparty/site_config/standard/nybooks.com.txt index 8ecb8961..d95ec68e 100644..100755 --- a/inc/3rdparty/site_config/standard/nybooks.com.txt +++ b/inc/3rdparty/site_config/standard/nybooks.com.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | strip_id_or_class: sIFR-alternate | 1 | strip_id_or_class: sIFR-alternate |
2 | title: //div[@id='page-title-wrapper']/div[@id='page-title']/h2 | 2 | title: //div[@id='page-title-wrapper']/div[@id='page-title']/h2 |
3 | single_page_link: //a[contains(@href, 'pagination=false') and not(contains(@href, 'printpage=true'))] | 3 | single_page_link: //a[contains(@href, 'pagination=false') and not(contains(@href, 'printpage=true'))] |
4 | 4 | ||
5 | body: //div[@id = 'article-body'] | 5 | body: //div[@id = 'article-body'] |
6 | strip_id_or_class:article-tools | 6 | strip_id_or_class:article-tools |
7 | strip_id_or_class:js_target | 7 | strip_id_or_class:js_target |
8 | strip_id_or_class:marker | 8 | strip_id_or_class:marker |
9 | author://div[@id = 'page-title']/h3 | 9 | author://div[@id = 'page-title']/h3 |
10 | date://div[@id = 'page-title']/h5/a[starts-with(@href,'/issues/')] | 10 | date://div[@id = 'page-title']/h5/a[starts-with(@href,'/issues/')] |
11 | 11 | ||
12 | 12 | ||
13 | test_url: http://www.nybooks.com/articles/archives/2012/feb/23/were-more-unequal-you-think/ \ No newline at end of file | 13 | test_url: http://www.nybooks.com/articles/archives/2012/feb/23/were-more-unequal-you-think/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/nymag.com.txt b/inc/3rdparty/site_config/standard/nymag.com.txt index f664c93d..7a1d62d9 100644..100755 --- a/inc/3rdparty/site_config/standard/nymag.com.txt +++ b/inc/3rdparty/site_config/standard/nymag.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h2[contains(@class, 'primary')] | 1 | title: //h2[contains(@class, 'primary')] |
2 | body: //div[@id='story'] | 2 | body: //div[@id='story'] |
3 | author: //*[@class='by']/a | 3 | author: //*[@class='by']/a |
4 | date: substring-after(//*[@class='date'], 'Published') | 4 | date: substring-after(//*[@class='date'], 'Published') |
5 | 5 | ||
6 | next_page_link: //div[@class='page-navigation']//li[@class='next']/a | 6 | next_page_link: //div[@class='page-navigation']//li[@class='next']/a |
7 | 7 | ||
8 | test_url: http://nymag.com/news/features/wall-street-2012-2/ \ No newline at end of file | 8 | test_url: http://nymag.com/news/features/wall-street-2012-2/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/nyteknik.se.txt b/inc/3rdparty/site_config/standard/nyteknik.se.txt index 8c9e37f4..f4bedb6a 100644..100755 --- a/inc/3rdparty/site_config/standard/nyteknik.se.txt +++ b/inc/3rdparty/site_config/standard/nyteknik.se.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //div[@class="article default-article"]/h1 | 1 | title: //div[@class="article default-article"]/h1 |
2 | author: //p[@class="author"]/a[2] | 2 | author: //p[@class="author"]/a[2] |
3 | 3 | ||
4 | # Article introduction: | 4 | # Article introduction: |
5 | #move_into(//div[@class="article-bread"]): //p[@class="lead"] | 5 | #move_into(//div[@class="article-bread"]): //p[@class="lead"] |
6 | 6 | ||
7 | body: //div[@class="article-bread"] | 7 | body: //div[@class="article-bread"] |
8 | test_url: http://www.nyteknik.se/nyheter/energi_miljo/energi/article3391426.ece \ No newline at end of file | 8 | test_url: http://www.nyteknik.se/nyheter/energi_miljo/energi/article3391426.ece \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/nytimes.com.txt b/inc/3rdparty/site_config/standard/nytimes.com.txt index 8d9a794a..23c9ad11 100644..100755 --- a/inc/3rdparty/site_config/standard/nytimes.com.txt +++ b/inc/3rdparty/site_config/standard/nytimes.com.txt | |||
@@ -1,36 +1,49 @@ | |||
1 | title://h1[@class="articleHeadline"] | 1 | title://h1[@class="articleHeadline"] |
2 | body://div[@id="article"] | 2 | body://div[@id="article"] |
3 | strip_id_or_class:articleTools | 3 | body://*[@itemprop="articleBody"] |
4 | strip_id_or_class:readerscomment | 4 | strip_id_or_class:articleTools |
5 | #strip://div[contains(@class, "articleInline runaroundLeft")] | 5 | strip_id_or_class:readerscomment |
6 | strip: //div[contains(@class, "doubleRule")] | 6 | #strip://div[contains(@class, "articleInline runaroundLeft")] |
7 | # strip image credit - appears as a bold heading | 7 | strip: //div[contains(@class, "doubleRule")] |
8 | strip: //div[contains(@class, "articleInline")]//h6 | 8 | # strip image credit - appears as a bold heading |
9 | strip_id_or_class:enlargeThis | 9 | strip: //div[contains(@class, "articleInline")]//h6 |
10 | strip_id_or_class:pageLinks | 10 | strip_id_or_class:enlargeThis |
11 | strip_id_or_class:memberTools | 11 | strip_id_or_class:pageLinks |
12 | strip_id_or_class:articleExtras | 12 | strip_id_or_class:memberTools |
13 | strip_id_or_class:singleAd | 13 | strip_id_or_class:articleExtras |
14 | strip_id_or_class:byline | 14 | strip_id_or_class:singleAd |
15 | strip_id_or_class:dateline | 15 | strip_id_or_class:byline |
16 | strip_id_or_class:articleheadline | 16 | strip_id_or_class:dateline |
17 | strip_id_or_class:articleBottomExtra | 17 | strip_id_or_class:articleheadline |
18 | strip://a[contains(@href, 'nytimes.com/adx/')] | 18 | strip_id_or_class:articleBottomExtra |
19 | strip: //nyt_byline | 19 | strip_id_or_class:shareTools |
20 | strip: //span[contains(@class, 'slideshow') or contains(@class, 'video')] | 20 | strip://a[contains(@href, 'nytimes.com/adx/')] |
21 | strip: //p[@class='caption']//a[contains(., 'More Photos')] | 21 | strip: //nyt_byline |
22 | 22 | strip: //span[contains(@class, 'slideshow') or contains(@class, 'video')] | |
23 | prune: no | 23 | strip: //p[@class='caption']//a[contains(., 'More Photos')] |
24 | tidy: no | 24 | |
25 | 25 | prune: no | |
26 | date: substring-after(//*[contains(@class, 'dateline')], 'Published:') | 26 | tidy: no |
27 | 27 | ||
28 | single_page_link: //link[contains(@href, 'pagewanted=all')] | 28 | find_string: <script |
29 | #single_page_link: //a[contains(@href, 'pagewanted=all') and not(contains(@href, 'login'))] | 29 | replace_string: <div style="display:none" |
30 | 30 | find_string: </script> | |
31 | strip://ul[@id = 'toolsList'] | 31 | replace_string: </div> |
32 | strip://h6[@class = 'kicker'] | 32 | |
33 | author:substring-after(//h6[@class='byline'],'By ') | 33 | date: substring-after(//*[contains(@class, 'dateline')], 'Published:') |
34 | 34 | ||
35 | test_url: http://www.nytimes.com/2011/07/24/books/review/an-academic-authors-unintentional-masterpiece.html | 35 | single_page_link: //link[contains(@href, 'pagewanted=all')] |
36 | test_url: http://www.nytimes.com/2012/06/10/arts/television/the-newsroom-aaron-sorkins-return-to-tv.html \ No newline at end of file | 36 | single_page_link: //link[@rel='alternate' and contains(@href, 'mobile.nytimes.com')]/@href |
37 | single_page_link: concat(substring-before(//div[@id='pageLinks']//a[contains(@href, 'pagewanted=')]/@href, 'pagewanted='), 'pagewanted=all') | ||
38 | #single_page_link: //a[contains(@href, 'pagewanted=all') and not(contains(@href, 'login'))] | ||
39 | |||
40 | strip://ul[@id = 'toolsList'] | ||
41 | strip://h6[@class = 'kicker'] | ||
42 | author:substring-after(//h6[@class='byline'],'By ') | ||
43 | |||
44 | test_url: http://www.nytimes.com/2011/07/24/books/review/an-academic-authors-unintentional-masterpiece.html | ||
45 | test_url: http://www.nytimes.com/2012/06/10/arts/television/the-newsroom-aaron-sorkins-return-to-tv.html | ||
46 | test_url: http://www.nytimes.com/2013/03/25/world/middleeast/israeli-military-responds-after-patrols-come-under-fire-from-syria.html | ||
47 | test_url: http://www.nytimes.com/2013/08/15/nyregion/when-the-new-york-city-subway-ran-without-rails.html | ||
48 | test_url: http://www.nytimes.com/2004/02/29/weekinreview/correspondence-class-consciousness-china-s-wealthy-live-creed-hobbes-darwin-meet.html | ||
49 | test_url: http://www.nytimes.com/2014/06/19/opinion/gail-collins-romney-and-the-2016-contenders-huddle.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/nzz.ch.txt b/inc/3rdparty/site_config/standard/nzz.ch.txt index 81faabae..749f4f2a 100644..100755 --- a/inc/3rdparty/site_config/standard/nzz.ch.txt +++ b/inc/3rdparty/site_config/standard/nzz.ch.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | body: //*[@class='article-full'] | 1 | body: //*[@class='article-full'] |
2 | title: //h3 | 2 | title: //h3 |
3 | strip: //header[@class='group'] | 3 | strip: //header[@class='group'] |
4 | #body: //p[@class='lead'] | 4 | #body: //p[@class='lead'] |
5 | #move_into(//p[@class='lead']): //*[@class='article-full']/figure | 5 | #move_into(//p[@class='lead']): //*[@class='article-full']/figure |
6 | #move_into(//p[@class='lead']): //div[@id='articleBodyText'] | 6 | #move_into(//p[@class='lead']): //div[@id='articleBodyText'] |
7 | strip: //div[@id='social-media-floater'] | 7 | strip: //div[@id='social-media-floater'] |
8 | strip: //div[@class='advertisement'] | 8 | strip: //div[@class='advertisement'] |
9 | strip: //div[@class='infobox'] | 9 | strip: //div[@class='infobox'] |
10 | strip: //div[@id='articleComments'] | 10 | strip: //div[@id='articleComments'] |
11 | 11 | ||
12 | test_url: http://www.nzz.ch/wissen/wissenschaft/sonnenschutz-fuer-die-erde-1.17282213 \ No newline at end of file | 12 | test_url: http://www.nzz.ch/wissen/wissenschaft/sonnenschutz-fuer-die-erde-1.17282213 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/observer.com.txt b/inc/3rdparty/site_config/standard/observer.com.txt index e409ca2e..0b107538 100644..100755 --- a/inc/3rdparty/site_config/standard/observer.com.txt +++ b/inc/3rdparty/site_config/standard/observer.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //article[contains(@class, 'instapaper_body')] | 1 | body: //article[contains(@class, 'instapaper_body')] |
2 | 2 | ||
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | single_page_link: //a[@id='print-button'] | 5 | single_page_link: //a[@id='print-button'] |
6 | 6 | ||
7 | test_url: http://www.observer.com/2008/would-you-take-tumblr-man \ No newline at end of file | 7 | test_url: http://www.observer.com/2008/would-you-take-tumblr-man \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/off.net.mk.txt b/inc/3rdparty/site_config/standard/off.net.mk.txt index a2fb5f21..bf107876 100644..100755 --- a/inc/3rdparty/site_config/standard/off.net.mk.txt +++ b/inc/3rdparty/site_config/standard/off.net.mk.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[(@id = "content")] | 1 | body: //div[(@id = "content")] |
2 | strip: //div[(@class = "links-bar")] | 2 | strip: //div[(@class = "links-bar")] |
3 | strip: //div[(@class = "povrzani")] | 3 | strip: //div[(@class = "povrzani")] |
4 | strip: //div[(@class = "povrzani-dolu")] | 4 | strip: //div[(@class = "povrzani-dolu")] |
5 | strip: //div[(@class = "tags")] | 5 | strip: //div[(@class = "tags")] |
6 | strip: //h1[(@id = "page-title")] | 6 | strip: //h1[(@id = "page-title")] |
7 | test_url: http://off.net.mk/zhivot-i-zabava/gadzheti/dzhabe-raboti-dzhabe-ne-dishi \ No newline at end of file | 7 | test_url: http://off.net.mk/zhivot-i-zabava/gadzheti/dzhabe-raboti-dzhabe-ne-dishi \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/omaha.com.txt b/inc/3rdparty/site_config/standard/omaha.com.txt index 53db061d..53db061d 100644..100755 --- a/inc/3rdparty/site_config/standard/omaha.com.txt +++ b/inc/3rdparty/site_config/standard/omaha.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/omiliya.org.txt b/inc/3rdparty/site_config/standard/omiliya.org.txt index 1b39b625..4b3a7202 100644..100755 --- a/inc/3rdparty/site_config/standard/omiliya.org.txt +++ b/inc/3rdparty/site_config/standard/omiliya.org.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@id='squeeze']/h1 | 1 | title: //div[@id='squeeze']/h1 |
2 | strip: //div[@id='squeeze']/h1 | 2 | strip: //div[@id='squeeze']/h1 |
3 | author: //div[@class='submitted']/a | 3 | author: //div[@class='submitted']/a |
4 | strip: //div[@class='submitted']/a | 4 | strip: //div[@class='submitted']/a |
5 | convert_double_br_tags: yes | 5 | convert_double_br_tags: yes |
6 | 6 | ||
7 | 7 | ||
8 | 8 | ||
9 | test_url: http://omiliya.org/content/predchuvstvie.html \ No newline at end of file | 9 | test_url: http://omiliya.org/content/predchuvstvie.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/on.net.mk.txt b/inc/3rdparty/site_config/standard/on.net.mk.txt index be7a17ef..a95c2b0f 100644..100755 --- a/inc/3rdparty/site_config/standard/on.net.mk.txt +++ b/inc/3rdparty/site_config/standard/on.net.mk.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[(@class = "statija")] | 1 | body: //div[(@class = "statija")] |
2 | strip: //div[(@class = "relatedBlock")] | 2 | strip: //div[(@class = "relatedBlock")] |
3 | strip: //div[(@class = "swftools")] | 3 | strip: //div[(@class = "swftools")] |
4 | strip: //table[(@class = "links")] | 4 | strip: //table[(@class = "links")] |
5 | test_url: http://on.net.mk/video/na-trkala/lamborghini-aventador-avionot-shto-ne-leta \ No newline at end of file | 5 | test_url: http://on.net.mk/video/na-trkala/lamborghini-aventador-avionot-shto-ne-leta \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/online.wsj.com.txt b/inc/3rdparty/site_config/standard/online.wsj.com.txt index edb52855..448bb7e1 100644..100755 --- a/inc/3rdparty/site_config/standard/online.wsj.com.txt +++ b/inc/3rdparty/site_config/standard/online.wsj.com.txt | |||
@@ -1,23 +1,25 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | body: //div[@id='article_story_body'] | 2 | body: //div[@id='article_story_body'] |
3 | 3 | ||
4 | author: //h3[@class='byline']/a | 4 | author: //h3[@class='byline']/a |
5 | # for slid show content | 5 | # for slide show content |
6 | body: //ul[@id='imageSlide']//li[@class='firstSlide']//img | (//div[@class='txt_body']//p)[1] | 6 | body: //ul[@id='imageSlide']//li[@class='firstSlide']//img | (//div[@class='txt_body']//p)[1] |
7 | date: //li[@class='dateStamp']/small | 7 | date: //li[@class='dateStamp']/small |
8 | 8 | ||
9 | strip_id_or_class: insetFullBracket | 9 | strip_id_or_class: insetFullBracket |
10 | strip_id_or_class: insettipBox | 10 | strip_id_or_class: insettipBox |
11 | #strip_id_or_class: legacyInset | 11 | #strip_id_or_class: legacyInset |
12 | strip_id_or_class: recipeACShopAndBuyText | 12 | strip_id_or_class: recipeACShopAndBuyText |
13 | 13 | ||
14 | strip: //div[contains(@class, 'insetContent')]//cite | 14 | strip: //div[contains(@class, 'insetContent')]//cite |
15 | strip: //*[contains(@style, 'visibility: hidden;')] | 15 | strip: //*[contains(@style, 'visibility: hidden;')] |
16 | strip: //div[contains(@class, 'insetContent') and not(contains(@class, 'image'))] | 16 | strip: //div[contains(@class, 'insetContent') and not(contains(@class, 'image'))] |
17 | 17 | strip: //div[contains(@class, 'carousel')] | |
18 | prune: no | 18 | |
19 | tidy: no | 19 | prune: no |
20 | 20 | tidy: no | |
21 | test_url: http://online.wsj.com/article/SB10001424052970203363504577185322849515102.html | 21 | |
22 | # slide show | 22 | test_url: http://online.wsj.com/news/articles/SB10001424052702304626304579509100018004342 |
23 | test_url: http://online.wsj.com/article/SB10001424052970204791104577110550376458164.html \ No newline at end of file | 23 | test_url: http://online.wsj.com/article/SB10001424052970203363504577185322849515102.html |
24 | # slide show | ||
25 | test_url: http://online.wsj.com/article/SB10001424052970204791104577110550376458164.html | ||
diff --git a/inc/3rdparty/site_config/standard/onlinewelten.com.txt b/inc/3rdparty/site_config/standard/onlinewelten.com.txt index 1609fa83..1609fa83 100644..100755 --- a/inc/3rdparty/site_config/standard/onlinewelten.com.txt +++ b/inc/3rdparty/site_config/standard/onlinewelten.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/onstartups.com.txt b/inc/3rdparty/site_config/standard/onstartups.com.txt index cccce8cd..cccce8cd 100644..100755 --- a/inc/3rdparty/site_config/standard/onstartups.com.txt +++ b/inc/3rdparty/site_config/standard/onstartups.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/ontologicalgeek.com.txt b/inc/3rdparty/site_config/standard/ontologicalgeek.com.txt new file mode 100755 index 00000000..a9bf71ef --- /dev/null +++ b/inc/3rdparty/site_config/standard/ontologicalgeek.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | title: //h1[@class='entry-title'] | ||
2 | |||
3 | author: //a[@rel='author'] | ||
4 | |||
5 | date: substring-before(//aside[@class='entry-meta'], '|') | ||
6 | |||
7 | body: //div[@class='entry-content'] | ||
8 | test_url: http://ontologicalgeek.com/change-or-live-final-fantasy-x-as-catholic-dystopia/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/opensource.org.txt b/inc/3rdparty/site_config/standard/opensource.org.txt index 2bd3ccdb..2bd3ccdb 100644..100755 --- a/inc/3rdparty/site_config/standard/opensource.org.txt +++ b/inc/3rdparty/site_config/standard/opensource.org.txt | |||
diff --git a/inc/3rdparty/site_config/standard/openthemagazine.com.txt b/inc/3rdparty/site_config/standard/openthemagazine.com.txt index 510eb252..6913eb0e 100644..100755 --- a/inc/3rdparty/site_config/standard/openthemagazine.com.txt +++ b/inc/3rdparty/site_config/standard/openthemagazine.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@id = 'content-inner'] | 1 | body: //div[@id = 'content-inner'] |
2 | strip: //div[@id = 'content-bottom'] | 2 | strip: //div[@id = 'content-bottom'] |
3 | strip_id_or_class: print_sharebutton | 3 | strip_id_or_class: print_sharebutton |
4 | test_url: http://openthemagazine.com/article/nation/sania-vs-saina \ No newline at end of file | 4 | test_url: http://openthemagazine.com/article/nation/sania-vs-saina \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/openwebx.org.txt b/inc/3rdparty/site_config/standard/openwebx.org.txt index b7663540..a5dcdb59 100644..100755 --- a/inc/3rdparty/site_config/standard/openwebx.org.txt +++ b/inc/3rdparty/site_config/standard/openwebx.org.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class="chapter"] | 1 | body: //div[@class="chapter"] |
2 | prune: no | 2 | prune: no |
3 | tidy: no | 3 | tidy: no |
4 | test_url: http://openwebx.org/docs/springext.html \ No newline at end of file | 4 | test_url: http://openwebx.org/docs/springext.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/orf.at.txt b/inc/3rdparty/site_config/standard/orf.at.txt index ff16ca79..fb4f2181 100644..100755 --- a/inc/3rdparty/site_config/standard/orf.at.txt +++ b/inc/3rdparty/site_config/standard/orf.at.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | single_page_link: //div[@id='content']//p[@class='readMore']/a | 1 | single_page_link: //div[@id='content']//p[@class='readMore']/a |
2 | 2 | ||
3 | title: //div[@class='hidden offscreen']/h2 | 3 | title: //div[@class='hidden offscreen']/h2 |
4 | body: //div[@id="storyText"] | 4 | body: //div[@id="storyText"] |
5 | move_into(//div[@id='storyText']): //div[@class='fact'] | 5 | move_into(//div[@id='storyText']): //div[@class='fact'] |
6 | strip: //small[@class='credit'] | 6 | strip: //small[@class='credit'] |
7 | strip: //small[@class='caption'] | 7 | strip: //small[@class='caption'] |
8 | date: substring-after(//div[@id='storyMeta']//p[@class='date'],'Publiziert am') | 8 | date: substring-after(//div[@id='storyMeta']//p[@class='date'],'Publiziert am') |
9 | strip: //p[@class='toplink'] | 9 | strip: //p[@class='toplink'] |
10 | 10 | ||
11 | test_url: http://orf.at/stories/2084731/ \ No newline at end of file | 11 | test_url: http://orf.at/stories/2084731/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/origo.hu.txt b/inc/3rdparty/site_config/standard/origo.hu.txt index 0dedac3d..50717f25 100644..100755 --- a/inc/3rdparty/site_config/standard/origo.hu.txt +++ b/inc/3rdparty/site_config/standard/origo.hu.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | title: /html/body/div[5]/div[2]/h1 | 1 | title: /html/body/div[5]/div[2]/h1 |
2 | body: /html/body/div[5]/div[2]/div[6]/div/div | 2 | body: /html/body/div[5]/div[2]/div[6]/div/div |
3 | body: //*[@id="cikk"] | 3 | body: //*[@id="cikk"] |
4 | strip: /html/body/div[5]/div[2]/h1 | 4 | strip: /html/body/div[5]/div[2]/h1 |
5 | strip: /html/body/div[5]/div[2]/div[4] | 5 | strip: /html/body/div[5]/div[2]/div[4] |
6 | strip: //*[@id="multidoboz"] | 6 | strip: //*[@id="multidoboz"] |
7 | strip: /html/body/div[5]/div[2]/div[6]/div[2] | 7 | strip: /html/body/div[5]/div[2]/div[6]/div[2] |
8 | strip: //*[@id="comments"] | 8 | strip: //*[@id="comments"] |
9 | strip: //*[@id="rating-doboz"] | 9 | strip: //*[@id="rating-doboz"] |
10 | strip: /html/body/div[5]/div[2]/div[10] | 10 | strip: /html/body/div[5]/div[2]/div[10] |
11 | strip: /html/body/div[5]/div[2]/a | 11 | strip: /html/body/div[5]/div[2]/a |
12 | strip: /html/body/div[5]/div[2]/span | 12 | strip: /html/body/div[5]/div[2]/span |
13 | strip: /html/body/div[5]/div[2]/span[2] | 13 | strip: /html/body/div[5]/div[2]/span[2] |
14 | strip: /html/body/div[5]/div[2]/span[3] | 14 | strip: /html/body/div[5]/div[2]/span[3] |
15 | strip: /html/body/div[5]/div[2]/span[4] | 15 | strip: /html/body/div[5]/div[2]/span[4] |
16 | strip: /html/body/div[5]/div[2]/span[5] | 16 | strip: /html/body/div[5]/div[2]/span[5] |
17 | strip: //*[@id="kommentszam"] | 17 | strip: //*[@id="kommentszam"] |
18 | test_url: http://www.origo.hu/itthon/20110119-lemondott-a-kulturaert-felelos-helyettes-allamtitkar.html \ No newline at end of file | 18 | test_url: http://www.origo.hu/itthon/20110119-lemondott-a-kulturaert-felelos-helyettes-allamtitkar.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/oschina.net.txt b/inc/3rdparty/site_config/standard/oschina.net.txt new file mode 100755 index 00000000..56451539 --- /dev/null +++ b/inc/3rdparty/site_config/standard/oschina.net.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | title: //h1 | ||
2 | strip_id_or_class: syntaxhighlighter | ||
3 | test_url: http://www.oschina.net/translate/event-based-programming-what-async-has-over-sync?print \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/pakistantvdekho.com.txt b/inc/3rdparty/site_config/standard/pakistantvdekho.com.txt index f03c9551..7e2985e0 100644..100755 --- a/inc/3rdparty/site_config/standard/pakistantvdekho.com.txt +++ b/inc/3rdparty/site_config/standard/pakistantvdekho.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | #body: (//div[@class='ftr-yt-vid'])[1] | 1 | #body: (//div[@class='ftr-yt-vid'])[1] |
2 | body: (//blockquote[contains(@class, 'postcontent')])[1] | 2 | body: (//blockquote[contains(@class, 'postcontent')])[1] |
3 | body: (//div[starts-with(@id, 'post_message')])[1] | 3 | body: (//div[starts-with(@id, 'post_message')])[1] |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | tidy: no | 6 | tidy: no |
7 | 7 | ||
8 | #replace_string(<iframe title="YouTube video player"): <div class="ftr-yt-vid"><iframe title="YouTube video player" | 8 | #replace_string(<iframe title="YouTube video player"): <div class="ftr-yt-vid"><iframe title="YouTube video player" |
9 | #replace_string(</iframe>): </iframe> </div> | 9 | #replace_string(</iframe>): </iframe> </div> |
10 | 10 | ||
11 | test_url: http://pakistantvdekho.com/showthread.php?647741-Sitam-Gar-by-HUM-TV-Episode-07&p=659080#post659080 \ No newline at end of file | 11 | test_url: http://pakistantvdekho.com/showthread.php?647741-Sitam-Gar-by-HUM-TV-Episode-07&p=659080#post659080 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pakmedia.tv.txt b/inc/3rdparty/site_config/standard/pakmedia.tv.txt new file mode 100755 index 00000000..5d6e4c8c --- /dev/null +++ b/inc/3rdparty/site_config/standard/pakmedia.tv.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | title: //h1[@class='entry-title'] | ||
2 | body: //article//div[@class='entry'] | ||
3 | strip_id_or_class: addthis | ||
4 | strip_id_or_class: gdsrcacheloader | ||
5 | strip_id_or_class: entry-meta | ||
6 | strip_id_or_class: entry-tags | ||
7 | strip_id_or_class: authorbox | ||
8 | strip: //div[@class='entry']/p[1] | ||
9 | strip: //img[@width='600' and @height='70'] | ||
10 | # related posts | ||
11 | strip: //h3[contains(., 'Related posts')] | ||
12 | strip: //div[contains(@style, 'border: 0pt none ; margin: 0pt; padding: 0pt;')] | ||
13 | |||
14 | prune: no | ||
15 | tidy: no | ||
16 | |||
17 | test_url: http://pakmedia.tv/tv-one/feed \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/pandagon.net.txt b/inc/3rdparty/site_config/standard/pandagon.net.txt index d0d2a5d0..35121e14 100644..100755 --- a/inc/3rdparty/site_config/standard/pandagon.net.txt +++ b/inc/3rdparty/site_config/standard/pandagon.net.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title://h2 | 1 | title://h2 |
2 | author://div[@class="posted"]/a | 2 | author://div[@class="posted"]/a |
3 | date://div[@class="date"] | 3 | date://div[@class="date"] |
4 | body://div[@class="entry"] | 4 | body://div[@class="entry"] |
5 | test_url: http://pandagon.net/index.php/site/its-okay-to-admit-that-mass-hysteria-is-real \ No newline at end of file | 5 | test_url: http://pandagon.net/index.php/site/its-okay-to-admit-that-mass-hysteria-is-real \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pandodaily.com.txt b/inc/3rdparty/site_config/standard/pandodaily.com.txt index 7d1c2183..a5d427af 100644..100755 --- a/inc/3rdparty/site_config/standard/pandodaily.com.txt +++ b/inc/3rdparty/site_config/standard/pandodaily.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | body: //article | 2 | body: //article |
3 | date: //time/@datetime | 3 | date: //time/@datetime |
4 | strip_id_or_class: sharedaddy | 4 | strip_id_or_class: sharedaddy |
5 | test_url: http://pandodaily.com/2012/01/19/ibooks-author-is-not-going-to-hurt-publishers-it-might-even-help-them/ \ No newline at end of file | 5 | test_url: http://pandodaily.com/2012/01/19/ibooks-author-is-not-going-to-hurt-publishers-it-might-even-help-them/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/panic.com.txt b/inc/3rdparty/site_config/standard/panic.com.txt index 0361f06d..e0e2595c 100644..100755 --- a/inc/3rdparty/site_config/standard/panic.com.txt +++ b/inc/3rdparty/site_config/standard/panic.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class='entry'] | 1 | body: //div[@class='entry'] |
2 | date: //h3[@class='postDate'] | 2 | date: //h3[@class='postDate'] |
3 | test_url: http://www.panic.com/blog/2011/07/panic-is-ready-for-lion/ \ No newline at end of file | 3 | test_url: http://www.panic.com/blog/2011/07/panic-is-ready-for-lion/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/papodehomem.com.br.txt b/inc/3rdparty/site_config/standard/papodehomem.com.br.txt new file mode 100755 index 00000000..2c522da4 --- /dev/null +++ b/inc/3rdparty/site_config/standard/papodehomem.com.br.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //h2[@class="page_title"] | ||
2 | body: //div[@class="entry arquivo"] | ||
3 | author: //span[@class="author"] | ||
4 | footnotes: yes | ||
5 | prune: yes | ||
6 | test_url: http://papodehomem.com.br/um-relato-confessional-sobre-a-maioridade-penal/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/parislemon.com.txt b/inc/3rdparty/site_config/standard/parislemon.com.txt index a3bd4b0f..cd9bd55d 100644..100755 --- a/inc/3rdparty/site_config/standard/parislemon.com.txt +++ b/inc/3rdparty/site_config/standard/parislemon.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h2[@class="post-title"] | 1 | title: //h2[@class="post-title"] |
2 | author: substring-after(//div[@class="description"],'Words by ') | 2 | author: substring-after(//div[@class="description"],'Words by ') |
3 | date: //li[@class="date"] | 3 | date: //li[@class="date"] |
4 | strip: //h2[@class="post-title"] | 4 | strip: //h2[@class="post-title"] |
5 | body: //div[@class="copy"] | 5 | body: //div[@class="copy"] |
6 | test_url: http://parislemon.com/post/13462682469/the-15-inch-air \ No newline at end of file | 6 | test_url: http://parislemon.com/post/13462682469/the-15-inch-air \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/parliament.uk.txt b/inc/3rdparty/site_config/standard/parliament.uk.txt index 478a669f..caaa2e94 100644..100755 --- a/inc/3rdparty/site_config/standard/parliament.uk.txt +++ b/inc/3rdparty/site_config/standard/parliament.uk.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id='news-article'] | 2 | body: //div[@id='news-article'] |
3 | test_url: http://www.parliament.uk/business/committees/committees-a-z/commons-select/backbench-business-committee/news/guidance-for-e-petitioners/ \ No newline at end of file | 3 | test_url: http://www.parliament.uk/business/committees/committees-a-z/commons-select/backbench-business-committee/news/guidance-for-e-petitioners/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pastebin.com.txt b/inc/3rdparty/site_config/standard/pastebin.com.txt index 89d13b2a..03b67b7e 100644..100755 --- a/inc/3rdparty/site_config/standard/pastebin.com.txt +++ b/inc/3rdparty/site_config/standard/pastebin.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title://div[@class="paste_box_line1"]/h1 | 1 | title://div[@class="paste_box_line1"]/h1 |
2 | author://div[@class="paste_box_line2"]/a | 2 | author://div[@class="paste_box_line2"]/a |
3 | body://div[@class="text"] | 3 | body://div[@class="text"] |
4 | date:substring-before(substring-after(//div[@class="paste_box_line2"],'|'),'|') | 4 | date:substring-before(substring-after(//div[@class="paste_box_line2"],'|'),'|') |
5 | dissolve://li | 5 | dissolve://li |
6 | test_url: http://pastebin.com/LAykd1es \ No newline at end of file | 6 | test_url: http://pastebin.com/LAykd1es \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pastepad.fivefilters.org.txt b/inc/3rdparty/site_config/standard/pastepad.fivefilters.org.txt index 40a049e0..c535158d 100644..100755 --- a/inc/3rdparty/site_config/standard/pastepad.fivefilters.org.txt +++ b/inc/3rdparty/site_config/standard/pastepad.fivefilters.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id='ff-pastepad-content'] | 2 | body: //div[@id='ff-pastepad-content'] |
3 | prune: no | 3 | prune: no |
4 | # todo: add test file | 4 | # todo: add test file |
5 | test_url: http://pastepad.fivefilters.org/test.html \ No newline at end of file | 5 | test_url: http://pastepad.fivefilters.org/test.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pathawks.com.txt b/inc/3rdparty/site_config/standard/pathawks.com.txt index 1a4cd25b..25042224 100644..100755 --- a/inc/3rdparty/site_config/standard/pathawks.com.txt +++ b/inc/3rdparty/site_config/standard/pathawks.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title://*[contains(@class,'post-title')] | 1 | title://*[contains(@class,'post-title')] |
2 | body://div[contains(@class,'post-body')] | 2 | body://div[contains(@class,'post-body')] |
3 | body://div[contains(@class,'entry-content')] | 3 | body://div[contains(@class,'entry-content')] |
4 | strip_comments:no | 4 | strip_comments:no |
5 | prune:no | 5 | prune:no |
6 | convert_double_br_tags:yes | 6 | convert_double_br_tags:yes |
7 | tidy:yes | 7 | tidy:yes |
8 | test_url: http://www.pathawks.com/2011/06/crazyawesomecoloradotrip.html \ No newline at end of file | 8 | test_url: http://www.pathawks.com/2011/06/crazyawesomecoloradotrip.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pcast.me.txt b/inc/3rdparty/site_config/standard/pcast.me.txt index ae38e8e1..ae38e8e1 100644..100755 --- a/inc/3rdparty/site_config/standard/pcast.me.txt +++ b/inc/3rdparty/site_config/standard/pcast.me.txt | |||
diff --git a/inc/3rdparty/site_config/standard/pcmag.com.txt b/inc/3rdparty/site_config/standard/pcmag.com.txt index cebea4d7..96bdd95a 100644..100755 --- a/inc/3rdparty/site_config/standard/pcmag.com.txt +++ b/inc/3rdparty/site_config/standard/pcmag.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | prune:yes | 1 | prune:yes |
2 | 2 | ||
3 | date://*[contains(@class,'date')] | 3 | date://*[contains(@class,'date')] |
4 | 4 | ||
5 | body://div[contains(@id,'content')] | 5 | body://div[contains(@id,'content')] |
6 | 6 | ||
7 | next_page_link://a[contains(.,'Next >')] | 7 | next_page_link://a[contains(.,'Next >')] |
8 | 8 | ||
9 | strip_id_or_class:sponsors | 9 | strip_id_or_class:sponsors |
10 | test_url: http://www.pcmag.com/article2/0,2817,2401676,00.asp \ No newline at end of file | 10 | test_url: http://www.pcmag.com/article2/0,2817,2401676,00.asp \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pcworld.com.txt b/inc/3rdparty/site_config/standard/pcworld.com.txt index 30ccbb5f..7193f87e 100644..100755 --- a/inc/3rdparty/site_config/standard/pcworld.com.txt +++ b/inc/3rdparty/site_config/standard/pcworld.com.txt | |||
@@ -1,19 +1,19 @@ | |||
1 | title: //div[@class='articleHead']//h1 | 1 | title: //div[@class='articleHead']//h1 |
2 | author: //div[@class="author-name"]/a[1] | 2 | author: //div[@class="author-name"]/a[1] |
3 | body: //div[@class="main"] | 3 | body: //div[@class="main"] |
4 | 4 | ||
5 | # remove 'From the Lab' and 'Recent posts' text | 5 | # remove 'From the Lab' and 'Recent posts' text |
6 | strip: //div[@class='blogLabel'] | 6 | strip: //div[@class='blogLabel'] |
7 | 7 | ||
8 | # remove byline and meta info | 8 | # remove byline and meta info |
9 | strip: //h1 | 9 | strip: //h1 |
10 | strip: //div[@class="article-meta"] | 10 | strip: //div[@class="article-meta"] |
11 | strip: //div[@class="author-info"] | 11 | strip: //div[@class="author-info"] |
12 | 12 | ||
13 | #strip tags and categories | 13 | #strip tags and categories |
14 | strip: //div[@class="department"] | 14 | strip: //div[@class="department"] |
15 | 15 | ||
16 | #strip product cap links | 16 | #strip product cap links |
17 | strip: //div[@class="cap-main"] | 17 | strip: //div[@class="cap-main"] |
18 | strip: //div[@id="compare-lede"] | 18 | strip: //div[@id="compare-lede"] |
19 | test_url: http://www.pcworld.com/article/262034/are-printer-companies-gouging-us-on-laser-toner-pricing.html \ No newline at end of file | 19 | test_url: http://www.pcworld.com/article/262034/are-printer-companies-gouging-us-on-laser-toner-pricing.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/penny-arcade.com.txt b/inc/3rdparty/site_config/standard/penny-arcade.com.txt index f97615f1..a0d5099e 100644..100755 --- a/inc/3rdparty/site_config/standard/penny-arcade.com.txt +++ b/inc/3rdparty/site_config/standard/penny-arcade.com.txt | |||
@@ -1,23 +1,23 @@ | |||
1 | # 2012-01-14 carlo@... - fixed title, body; added author, date | 1 | # 2012-01-14 carlo@... - fixed title, body; added author, date |
2 | 2 | ||
3 | title: //div[@class="title"]/h2/a | 3 | title: //div[@class="title"]/h2/a |
4 | # body: //div[@class="post"] | 4 | # body: //div[@class="post"] |
5 | # author: //p[@class="iconEmail"]/a | 5 | # author: //p[@class="iconEmail"]/a |
6 | # date: //p[@class="iconDate"] | 6 | # date: //p[@class="iconDate"] |
7 | 7 | ||
8 | # 1/24/2013 yosoyju - fixed author, date, and body, added support for PA Report | 8 | # 1/24/2013 yosoyju - fixed author, date, and body, added support for PA Report |
9 | 9 | ||
10 | # Penny Arcade | 10 | # Penny Arcade |
11 | 11 | ||
12 | author: //li[@class="iconEmail"]/a | 12 | author: //li[@class="iconEmail"]/a |
13 | date: //li[@class="iconDate"] | 13 | date: //li[@class="iconDate"] |
14 | body: //div[@class="body"] | 14 | body: //div[@class="body"] |
15 | 15 | ||
16 | # PA Report | 16 | # PA Report |
17 | 17 | ||
18 | author: //div[@class="meta"]/p/a | 18 | author: //div[@class="meta"]/p/a |
19 | date: substring-after(//div[@class="meta"]/p, '/ ') | 19 | date: substring-after(//div[@class="meta"]/p, '/ ') |
20 | title: substring-after(//title, '- ') | 20 | title: substring-after(//title, '- ') |
21 | 21 | ||
22 | test_url: http://penny-arcade.com/2012/01/13/i-put-some-news-in-your-news | 22 | test_url: http://penny-arcade.com/2012/01/13/i-put-some-news-in-your-news |
23 | test_url: http://penny-arcade.com/report/editorial-article/the-dystopian-future-of-casual-games-personalized-targeted-pricing-and-mech \ No newline at end of file | 23 | test_url: http://penny-arcade.com/report/editorial-article/the-dystopian-future-of-casual-games-personalized-targeted-pricing-and-mech \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pentaxforums.com.txt b/inc/3rdparty/site_config/standard/pentaxforums.com.txt index 00f61a48..00f61a48 100644..100755 --- a/inc/3rdparty/site_config/standard/pentaxforums.com.txt +++ b/inc/3rdparty/site_config/standard/pentaxforums.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/philadelphiaeagles.com.txt b/inc/3rdparty/site_config/standard/philadelphiaeagles.com.txt index a369fd65..5ba5f772 100644..100755 --- a/inc/3rdparty/site_config/standard/philadelphiaeagles.com.txt +++ b/inc/3rdparty/site_config/standard/philadelphiaeagles.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | prune: no | 1 | prune: no |
2 | tidy: no | 2 | tidy: no |
3 | body: //div[@class='article-content'] | 3 | body: //div[@class='article-content'] |
4 | dissolve: //nobr/a | 4 | dissolve: //nobr/a |
5 | dissolve: //nobr | 5 | dissolve: //nobr |
6 | test_url: http://www.philadelphiaeagles.com/news/article-1/Jacksons-Light-Shined-On-Sunday-Night/51a862de-42b4-40f1-a5a8-ba0fb8a435b7 \ No newline at end of file | 6 | test_url: http://www.philadelphiaeagles.com/news/article-1/Jacksons-Light-Shined-On-Sunday-Night/51a862de-42b4-40f1-a5a8-ba0fb8a435b7 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/philly.com.txt b/inc/3rdparty/site_config/standard/philly.com.txt index 41318f63..accbd60b 100644..100755 --- a/inc/3rdparty/site_config/standard/philly.com.txt +++ b/inc/3rdparty/site_config/standard/philly.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //h1[@class='entry-title'] | 1 | title: //h1[@class='entry-title'] |
2 | author: //p[@class='byline']/span | 2 | author: //p[@class='byline']/span |
3 | body: //@id='body-content' | 3 | body: //@id='body-content' |
4 | date: //div[@class='article_timestamp']/span | 4 | date: //div[@class='article_timestamp']/span |
5 | 5 | ||
6 | strip: //@class=b-group | 6 | strip: //@class=b-group |
7 | strip: //*[contains(@style, 'none')] | 7 | strip: //*[contains(@style, 'none')] |
8 | strip: //a[contains(@href, 'comments')] | 8 | strip: //a[contains(@href, 'comments')] |
9 | strip: //*[contains(@class, 'comment')] | 9 | strip: //*[contains(@class, 'comment')] |
10 | test_url: http://www.philly.com/philly/sports/eagles/20120127_Ohio_State_s_Posey_didn_t_waste_time_lost_to_suspension.html \ No newline at end of file | 10 | test_url: http://www.philly.com/philly/sports/eagles/20120127_Ohio_State_s_Posey_didn_t_waste_time_lost_to_suspension.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/photo.tutsplus.com.txt b/inc/3rdparty/site_config/standard/photo.tutsplus.com.txt index 4e2ccb01..7f7e3830 100644..100755 --- a/inc/3rdparty/site_config/standard/photo.tutsplus.com.txt +++ b/inc/3rdparty/site_config/standard/photo.tutsplus.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | author: substring-before(//div[@class='post_meta'],' on') | 1 | author: substring-before(//div[@class='post_meta'],' on') |
2 | date: substring-after(substring-before(//div[@class='post_meta'],'with'),' on') | 2 | date: substring-after(substring-before(//div[@class='post_meta'],'with'),' on') |
3 | title: //h1[class='post_title'] | 3 | title: //h1[class='post_title'] |
4 | body: //div[@class='article'] | 4 | body: //div[@class='article'] |
5 | 5 | ||
6 | test_url: http://photo.tutsplus.com/articles/news/a-brilliant-beginners-guide-to-architectural-photography/ \ No newline at end of file | 6 | test_url: http://photo.tutsplus.com/articles/news/a-brilliant-beginners-guide-to-architectural-photography/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/php.net.txt b/inc/3rdparty/site_config/standard/php.net.txt index 7c57a84d..cc643f05 100644..100755 --- a/inc/3rdparty/site_config/standard/php.net.txt +++ b/inc/3rdparty/site_config/standard/php.net.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='content'] |
2 | strip_id_or_class: manualnavbar | 2 | strip_id_or_class: manualnavbar |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | test_url: http://www.php.net/manual/en/migration5.incompatible.php \ No newline at end of file | 6 | test_url: http://www.php.net/manual/en/migration5.incompatible.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/physicstoday.org.txt b/inc/3rdparty/site_config/standard/physicstoday.org.txt index a8163995..624055b7 100644..100755 --- a/inc/3rdparty/site_config/standard/physicstoday.org.txt +++ b/inc/3rdparty/site_config/standard/physicstoday.org.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //div[@class='abstitle']//h1 | 1 | title: //div[@class='abstitle']//h1 |
2 | author: //div[@class='authorList'] | 2 | author: //div[@class='authorList'] |
3 | body: //div[@id='fulltext_body'] | 3 | body: //div[@id='fulltext_body'] |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | test_url: http://www.physicstoday.org/resource/1/phtoad/v64/i10/p48_s1?bypassSSO=1 \ No newline at end of file | 7 | test_url: http://www.physicstoday.org/resource/1/phtoad/v64/i10/p48_s1?bypassSSO=1 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pinterest.com.txt b/inc/3rdparty/site_config/standard/pinterest.com.txt new file mode 100755 index 00000000..01b6df41 --- /dev/null +++ b/inc/3rdparty/site_config/standard/pinterest.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //title | ||
2 | body: //div[contains(@class, 'imageContainer')] | ||
3 | |||
4 | test_url: http://pinterest.com/pin/380906080954441188/ | ||
5 | test_url: http://pinterest.com/michaelsorm/architecture/rss \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/pitchfork.com.txt b/inc/3rdparty/site_config/standard/pitchfork.com.txt index 3decc538..eee96a9c 100644..100755 --- a/inc/3rdparty/site_config/standard/pitchfork.com.txt +++ b/inc/3rdparty/site_config/standard/pitchfork.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | title:concat(//h1,' - ',//h2,' - ',//h3) | 1 | title:concat(//h1,' - ',//h2,' - ',//h3) |
2 | author://address | 2 | author://address |
3 | date://span[@class='pub-date'] | 3 | date://span[@class='pub-date'] |
4 | body://div[@id='main'] | 4 | body://div[@id='main'] |
5 | single_page_link://link[@rel='canonical'] | 5 | single_page_link://link[@rel='canonical'] |
6 | strip://div[@class='info'] | 6 | strip://div[@class='info'] |
7 | strip_id_or_class:'object-grid related-content' | 7 | strip_id_or_class:'object-grid related-content' |
8 | strip_id_or_class:'object-prevnext' | 8 | strip_id_or_class:'object-prevnext' |
9 | strip_id_or_class:'object-header' | 9 | strip_id_or_class:'object-header' |
10 | strip_id_or_class:'source' | 10 | strip_id_or_class:'source' |
11 | strip_id_or_class:'label' | 11 | strip_id_or_class:'label' |
12 | strip_id_or_class:'title' | 12 | strip_id_or_class:'title' |
13 | dissolve://ul | 13 | dissolve://ul |
14 | strip://li[@class='next'] | 14 | strip://li[@class='next'] |
15 | strip://li[@class='prev'] | 15 | strip://li[@class='prev'] |
16 | test_url: http://pitchfork.com/features/why-we-fight/8796-on-the-far-slope-of-the-uncanny-valley/ \ No newline at end of file | 16 | test_url: http://pitchfork.com/features/why-we-fight/8796-on-the-far-slope-of-the-uncanny-valley/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pittnews.com.txt b/inc/3rdparty/site_config/standard/pittnews.com.txt index 92777073..c302526d 100644..100755 --- a/inc/3rdparty/site_config/standard/pittnews.com.txt +++ b/inc/3rdparty/site_config/standard/pittnews.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h2[@class='post-title'] | 1 | title: //h2[@class='post-title'] |
2 | author: substring-before(substring-after(//h3[@class='post-byline'],'By:'),'/') | 2 | author: substring-before(substring-after(//h3[@class='post-byline'],'By:'),'/') |
3 | date: substring-before(substring-after(//p[@class='post-details'],'Posted on '),'in') | 3 | date: substring-before(substring-after(//p[@class='post-details'],'Posted on '),'in') |
4 | strip: //h2[@class='post-title'] | 4 | strip: //h2[@class='post-title'] |
5 | strip: //p[@class='post-details'] | 5 | strip: //p[@class='post-details'] |
6 | strip: //h3[@class='post-byline'] | 6 | strip: //h3[@class='post-byline'] |
7 | body: //div[@id='content'] | 7 | body: //div[@id='content'] |
8 | test_url: http://pittnews.com/newsstory/mens-basketball-pitt-recruit-robinson-to-bring-leadership/ \ No newline at end of file | 8 | test_url: http://pittnews.com/newsstory/mens-basketball-pitt-recruit-robinson-to-bring-leadership/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pittsburgh.pirates.mlb.com.txt b/inc/3rdparty/site_config/standard/pittsburgh.pirates.mlb.com.txt index 824cb064..f2948528 100644..100755 --- a/inc/3rdparty/site_config/standard/pittsburgh.pirates.mlb.com.txt +++ b/inc/3rdparty/site_config/standard/pittsburgh.pirates.mlb.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | title: substring-before(//title,'pirates.com') | 1 | title: substring-before(//title,'pirates.com') |
2 | date: //span[@class='timeStamp'] | 2 | date: //span[@class='timeStamp'] |
3 | author: substring-before(substring-after(//div[@class='byLine'],'By'),'/') | 3 | author: substring-before(substring-after(//div[@class='byLine'],'By'),'/') |
4 | body: //div[@id='article'] | 4 | body: //div[@id='article'] |
5 | #strip: //div[@class='inner'] | 5 | #strip: //div[@class='inner'] |
6 | strip: //div[@id='article_head'] | 6 | strip: //div[@id='article_head'] |
7 | strip: //p[@class='tagLine'] | 7 | strip: //p[@class='tagLine'] |
8 | strip: //div[@id='article_related_links'] | 8 | strip: //div[@id='article_related_links'] |
9 | strip: //div[@id='article_related_mlb'] | 9 | strip: //div[@id='article_related_mlb'] |
10 | strip: //div[@id='article_related_club'] | 10 | strip: //div[@id='article_related_club'] |
11 | strip: //span[@class='more'] | 11 | strip: //span[@class='more'] |
12 | strip: //div[@class='article_component'] | 12 | strip: //div[@class='article_component'] |
13 | strip: //span[@class='screen_reader'] | 13 | strip: //span[@class='screen_reader'] |
14 | strip: //ul[@class='columnists_blurb'] | 14 | strip: //ul[@class='columnists_blurb'] |
15 | test_url: http://pittsburgh.pirates.mlb.com/news/article.jsp?ymd=20120330&content_id=27759040&vkey=news_pit&c_id=pit \ No newline at end of file | 15 | test_url: http://pittsburgh.pirates.mlb.com/news/article.jsp?ymd=20120330&content_id=27759040&vkey=news_pit&c_id=pit \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pittsburghlive.com.txt b/inc/3rdparty/site_config/standard/pittsburghlive.com.txt index b3e66166..cc7891f3 100644..100755 --- a/inc/3rdparty/site_config/standard/pittsburghlive.com.txt +++ b/inc/3rdparty/site_config/standard/pittsburghlive.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: substring-before(//title,'- Pittsburgh Tribune') | 1 | title: substring-before(//title,'- Pittsburgh Tribune') |
2 | author: substring-before(substring-after(//div[@class='byline'],'By '),',') | 2 | author: substring-before(substring-after(//div[@class='byline'],'By '),',') |
3 | date: substring-after(substring-after(//div[@class='byline'],','),',') | 3 | date: substring-after(substring-after(//div[@class='byline'],','),',') |
4 | body: //div[@id='storyBody'] | 4 | body: //div[@id='storyBody'] |
5 | strip: //div[@class='morestories'] | 5 | strip: //div[@class='morestories'] |
6 | dissolve: //p[@class='subheader'] | 6 | dissolve: //p[@class='subheader'] |
7 | test_url: http://www.pittsburghlive.com/x/pittsburghtrib/sports/columnists/s_785654.html \ No newline at end of file | 7 | test_url: http://www.pittsburghlive.com/x/pittsburghtrib/sports/columnists/s_785654.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pittsburghmagazine.com.txt b/inc/3rdparty/site_config/standard/pittsburghmagazine.com.txt index dd715d8f..4d02f6bb 100644..100755 --- a/inc/3rdparty/site_config/standard/pittsburghmagazine.com.txt +++ b/inc/3rdparty/site_config/standard/pittsburghmagazine.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //title | 1 | title: //title |
2 | author: substring-after(//div[@class='by-line'],'BY') | 2 | author: substring-after(//div[@class='by-line'],'BY') |
3 | 3 | ||
4 | body: //div[@id='article-body'] | 4 | body: //div[@id='article-body'] |
5 | 5 | ||
6 | strip: //div[@class='by-line'] | 6 | strip: //div[@class='by-line'] |
7 | strip: //div[@id='article-body']/h1 | 7 | strip: //div[@id='article-body']/h1 |
8 | test_url: http://www.pittsburghmagazine.com/Pittsburgh-Magazine/May-2012/Verde-Lights-the-Night/ \ No newline at end of file | 8 | test_url: http://www.pittsburghmagazine.com/Pittsburgh-Magazine/May-2012/Verde-Lights-the-Night/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pittsburghpanthers.com.txt b/inc/3rdparty/site_config/standard/pittsburghpanthers.com.txt index 6113b96e..c372284a 100644..100755 --- a/inc/3rdparty/site_config/standard/pittsburghpanthers.com.txt +++ b/inc/3rdparty/site_config/standard/pittsburghpanthers.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //span[@class='StoryHeadline'] | 1 | title: //span[@class='StoryHeadline'] |
2 | strip: //div[@class='fivevert'] | 2 | strip: //div[@class='fivevert'] |
3 | body: //div[@id='Content'] | 3 | body: //div[@id='Content'] |
4 | test_url: http://www.pittsburghpanthers.com/sports/m-baskbl/recaps/031412aaa.html \ No newline at end of file | 4 | test_url: http://www.pittsburghpanthers.com/sports/m-baskbl/recaps/031412aaa.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pittscriptblog.com.txt b/inc/3rdparty/site_config/standard/pittscriptblog.com.txt index 3936310d..571874a4 100644..100755 --- a/inc/3rdparty/site_config/standard/pittscriptblog.com.txt +++ b/inc/3rdparty/site_config/standard/pittscriptblog.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1[@class='articletitle'] | 1 | title: //h1[@class='articletitle'] |
2 | author: substring-after(//span[@class='author'],'by') | 2 | author: substring-after(//span[@class='author'],'by') |
3 | date: //span[@class='created'] | 3 | date: //span[@class='created'] |
4 | body: //div[@class='article'] | 4 | body: //div[@class='article'] |
5 | strip: //div[@class='headline'] | 5 | strip: //div[@class='headline'] |
6 | strip: //p[@class='articleinfo'] | 6 | strip: //p[@class='articleinfo'] |
7 | #dissolve: //p[@class='subheader'] | 7 | #dissolve: //p[@class='subheader'] |
8 | test_url: http://www.pittscriptblog.com/2012-articles/march/2012-football-opponents-set-and-the-attendance-dilemma.html \ No newline at end of file | 8 | test_url: http://www.pittscriptblog.com/2012-articles/march/2012-football-opponents-set-and-the-attendance-dilemma.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/planetvita.de.txt b/inc/3rdparty/site_config/standard/planetvita.de.txt new file mode 100755 index 00000000..bfc3342d --- /dev/null +++ b/inc/3rdparty/site_config/standard/planetvita.de.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //div[@id='frnRahmen']/div/div[@id='content']/div[2]/h2 | ||
2 | author: //div[@id='content']/div[1]/div/a | ||
3 | body: //div[@id='content']/div[2]/span | ||
4 | strip: //div[@id='commenthead'] | ||
5 | test_url: http://www.planetvita.de/news/10389-psn-store-update-vom-03-april-neue-inhalte-fuer-psvita.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/playboy.com.txt b/inc/3rdparty/site_config/standard/playboy.com.txt index 07b347a0..92834947 100644..100755 --- a/inc/3rdparty/site_config/standard/playboy.com.txt +++ b/inc/3rdparty/site_config/standard/playboy.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | author: //article//*[@class="author"] | 1 | author: //article//*[@class="author"] |
2 | date: //article//*[@class="publication-date"] | 2 | date: //article//*[@class="publication-date"] |
3 | body: //article | 3 | body: //article |
4 | strip: //article/header | 4 | strip: //article/header |
5 | strip: //article/section | 5 | strip: //article/section |
6 | test_url: http://www.playboy.com/playground/view/playboy-interview-jon-hamm \ No newline at end of file | 6 | test_url: http://www.playboy.com/playground/view/playboy-interview-jon-hamm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/plus.google.com.txt b/inc/3rdparty/site_config/standard/plus.google.com.txt index 50a5dbf5..4a7ea126 100644..100755 --- a/inc/3rdparty/site_config/standard/plus.google.com.txt +++ b/inc/3rdparty/site_config/standard/plus.google.com.txt | |||
@@ -1,17 +1,17 @@ | |||
1 | body: //div[@id='contentPane']//div[@class='vg'] | 1 | body: //div[@id='contentPane']//div[@class='vg'] |
2 | body: //div[@id='contentPane'] | 2 | body: //div[@id='contentPane'] |
3 | 3 | ||
4 | # Grab the author by finding the first profile pic, then backing up a node and getting the title of <a> tag which will be the author hopefully. Sorry can't test this due to parser errors, thanks google :( | 4 | # Grab the author by finding the first profile pic, then backing up a node and getting the title of <a> tag which will be the author hopefully. Sorry can't test this due to parser errors, thanks google :( |
5 | 5 | ||
6 | author: //div[@id='contentPane']//img[contains(@alt, 'profile photo')][1]/../@title | 6 | author: //div[@id='contentPane']//img[contains(@alt, 'profile photo')][1]/../@title |
7 | 7 | ||
8 | 8 | ||
9 | strip: //*[@title="People who +1'd this"]/../.. | 9 | strip: //*[@title="People who +1'd this"]/../.. |
10 | strip: //*[contains(@class, 'a-b-f-i-Hg-Uf')] | 10 | strip: //*[contains(@class, 'a-b-f-i-Hg-Uf')] |
11 | strip: //*[@role='menu'] | 11 | strip: //*[@role='menu'] |
12 | strip: //img[contains(@alt, 'profile photo')] | 12 | strip: //img[contains(@alt, 'profile photo')] |
13 | strip: //*[@class='a-f-i-Ad'] | 13 | strip: //*[@class='a-f-i-Ad'] |
14 | 14 | ||
15 | tidy: no | 15 | tidy: no |
16 | 16 | ||
17 | test_url: http://plus.google.com/u/0/117840649766034848455/posts/FddaP6jeCqp \ No newline at end of file | 17 | test_url: http://plus.google.com/u/0/117840649766034848455/posts/FddaP6jeCqp \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/plzkthxbai.com.txt b/inc/3rdparty/site_config/standard/plzkthxbai.com.txt index bb9be0a9..ec151b42 100644..100755 --- a/inc/3rdparty/site_config/standard/plzkthxbai.com.txt +++ b/inc/3rdparty/site_config/standard/plzkthxbai.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //h2[@class='jcw-pagetitle' | 1 | title: //h2[@class='jcw-pagetitle' |
2 | date: //p[@class='postinfo'] | 2 | date: //p[@class='postinfo'] |
3 | body: //div[@class='contenttext'] | 3 | body: //div[@class='contenttext'] |
4 | test_url: http://plzkthxbai.com/blog/2011/06/28/1password-and-internet-security/ \ No newline at end of file | 4 | test_url: http://plzkthxbai.com/blog/2011/06/28/1password-and-internet-security/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/pogue.blogs.nytimes.com.txt b/inc/3rdparty/site_config/standard/pogue.blogs.nytimes.com.txt index 880311d3..65ddba54 100644..100755 --- a/inc/3rdparty/site_config/standard/pogue.blogs.nytimes.com.txt +++ b/inc/3rdparty/site_config/standard/pogue.blogs.nytimes.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@id="content"]/div[1] | 1 | body: //div[@id="content"]/div[1] |
2 | 2 | ||
3 | title: //h1[@class="entry-title"] | 3 | title: //h1[@class="entry-title"] |
4 | test_url: http://pogue.blogs.nytimes.com/2011/05/12/the-future-of-skype/ \ No newline at end of file | 4 | test_url: http://pogue.blogs.nytimes.com/2011/05/12/the-future-of-skype/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/politico.com.txt b/inc/3rdparty/site_config/standard/politico.com.txt index c5302d1b..d8f5e575 100755 --- a/inc/3rdparty/site_config/standard/politico.com.txt +++ b/inc/3rdparty/site_config/standard/politico.com.txt | |||
@@ -1,17 +1,13 @@ | |||
1 | title://div[contains(@class, "article")]/h1 | 1 | title://div[contains(@class, "article")]/h1 |
2 | body://div[contains(@class,"story-text")] | 2 | body://div[contains(@class,"story-text")] |
3 | 3 | ||
4 | # Why doesn't this work? next_page_link://ul[contains(@class,"pagination")]/li/a[@rel="next"] | 4 | # Why doesn't this work? next_page_link://ul[contains(@class,"pagination")]/li/a[@rel="next"] |
5 | 5 | ||
6 | next_page_link://ul[contains(@class,"pagination")]/li[contains(@class, "current")]/following-sibling::node()/a | 6 | next_page_link://ul[contains(@class,"pagination")]/li[contains(@class, "current")]/following-sibling::node()/a |
7 | next_page_link://div[contains(@class,"pagination")]/ol/li[contains(@class, "current")]/following-sibling::node()/a | 7 | date://meta[@name="publish_date"]/@content |
8 | date://meta[@name="publish_date"]/@content | 8 | |
9 | 9 | strip://div[contains(@class, "breadcrumbs")] | |
10 | strip://div[contains(@class, "breadcrumbs")] | 10 | strip://a[contains(@class, "hidden")] |
11 | strip://a[contains(@class, "hidden")] | 11 | strip://div[contains(@class, "story-embed")] |
12 | strip://div[contains(@class, "story-embed")] | ||
13 | strip://div[contains(@class, "story-text")]//p/a[contains(text(), "Also on POLITICO:")]/.. | 12 | strip://div[contains(@class, "story-text")]//p/a[contains(text(), "Also on POLITICO:")]/.. |
14 | strip://div[contains(@class, "story-interrupt")] | ||
15 | strip://footer[contains(@class, "author-bio")] | ||
16 | |||
17 | test_url: http://www.politico.com/news/stories/0712/78105.html \ No newline at end of file | 13 | test_url: http://www.politico.com/news/stories/0712/78105.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/politifact.com.txt b/inc/3rdparty/site_config/standard/politifact.com.txt index fd247b5b..65a8fc57 100644..100755 --- a/inc/3rdparty/site_config/standard/politifact.com.txt +++ b/inc/3rdparty/site_config/standard/politifact.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@id="content"] | 1 | body: //div[@id="content"] |
2 | 2 | ||
3 | strip: //div[@class="pfcontentmid"]/div[position()>4]|//div[@class="pfad"] | 3 | strip: //div[@class="pfcontentmid"]/div[position()>4]|//div[@class="pfad"] |
4 | test_url: http://www.politifact.com/truth-o-meter/statements/2011/may/30/barbara-boxer/barbara-boxer-says-medicare-overhead-far-lower-pri/ \ No newline at end of file | 4 | test_url: http://www.politifact.com/truth-o-meter/statements/2011/may/30/barbara-boxer/barbara-boxer-says-medicare-overhead-far-lower-pri/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/politiken.dk.txt b/inc/3rdparty/site_config/standard/politiken.dk.txt index 8deecbca..b13f8f87 100644..100755 --- a/inc/3rdparty/site_config/standard/politiken.dk.txt +++ b/inc/3rdparty/site_config/standard/politiken.dk.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | # 21/10-2011: | 1 | # 21/10-2011: |
2 | # Added Author+Date | 2 | # Added Author+Date |
3 | # Remove fakta-boks if found | 3 | # Remove fakta-boks if found |
4 | # Deleted 'Læs også...' filter | 4 | # Deleted 'Læs ogsÃ¥...' filter |
5 | # - Change in markup caused it to strip too much. | 5 | # - Change in markup caused it to strip too much. |
6 | 6 | ||
7 | author://span[@class='autor-name'] | 7 | author://span[@class='autor-name'] |
8 | date:substring-after(//div[@class='art-created'], ' ') | 8 | date:substring-after(//div[@class='art-created'], ' ') |
9 | title: //h1[contains(@class, 'stor-type')] | 9 | title: //h1[contains(@class, 'stor-type')] |
10 | body: //div[@id='art-body'] | 10 | body: //div[@id='art-body'] |
11 | strip: //div[@class='art-fakta article-box'] | 11 | strip: //div[@class='art-fakta article-box'] |
12 | 12 | ||
13 | test_url: http://politiken.dk/kultur/boger/skonlitteratur_boger/ECE1426386/makabre-tegneserie-zombier-aeder-alt-levende/ \ No newline at end of file | 13 | test_url: http://politiken.dk/kultur/boger/skonlitteratur_boger/ECE1426386/makabre-tegneserie-zombier-aeder-alt-levende/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/polygon.com.txt b/inc/3rdparty/site_config/standard/polygon.com.txt new file mode 100755 index 00000000..8fe9b1be --- /dev/null +++ b/inc/3rdparty/site_config/standard/polygon.com.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | body: //div[@id='article-content'] | ||
2 | body: //article[@id='entry-top']/div[@class='float_wrapper'] | ||
3 | author: //header/p[@class='byline']/em/a | ||
4 | date: //header/p[@class='byline']/span[@class='timestamp'] | ||
5 | |||
6 | strip: //div[@id='article-content']//header | ||
7 | strip: //label | ||
8 | |||
9 | #photos on left column (delete all) | ||
10 | strip: //div[@class='big_photo'] | ||
11 | |||
12 | #photos on left column (remove extras used for scroll effect) | ||
13 | #strip: //div[@class='big_photo']/div[./img] | ||
14 | #strip: //div[@class='big_photo']/img[position()>1] | ||
15 | |||
16 | strip_id_or_class: vox-lazy-load | ||
17 | strip_id_or_class: social_buttons | ||
18 | strip_id_or_class: feature_toc | ||
19 | |||
20 | prune: no | ||
21 | |||
22 | find_string: <noscript> | ||
23 | replace_string: <div> | ||
24 | find_string: </noscript> | ||
25 | replace_string: </div> | ||
26 | |||
27 | #find_string: <script | ||
28 | #replace_string: <div style="display:none" | ||
29 | #find_string: </script> | ||
30 | #replace_string: </div> | ||
31 | |||
32 | strip: //div[@class='float_wrapper']/header | ||
33 | test_url: http://www.polygon.com/2013/4/5/4189028/donkey-kong-country-returns-3d-new-content | ||
34 | test_url: http://www.polygon.com/features/2013/8/22/4602568/30-years-xbox-360-playstation-3-wii \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/popularmechanics.com.txt b/inc/3rdparty/site_config/standard/popularmechanics.com.txt index 85b7656b..2582e6fb 100644..100755 --- a/inc/3rdparty/site_config/standard/popularmechanics.com.txt +++ b/inc/3rdparty/site_config/standard/popularmechanics.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | next_page_link: //div[@id='longPagination']/a[@class='next'] | 1 | next_page_link: //div[@id='longPagination']/a[@class='next'] |
2 | 2 | ||
3 | title: //div[@id='contentHeader']//h1 | 3 | title: //div[@id='contentHeader']//h1 |
4 | 4 | ||
5 | body: //div[@id='articleBody'] | 5 | body: //div[@id='articleBody'] |
6 | # this is so sad | 6 | # this is so sad |
7 | body: //div[@id='intelliTXT'] | 7 | body: //div[@id='intelliTXT'] |
8 | test_url: http://www.popularmechanics.com/technology/aviation/crashes/what-really-happened-aboard-air-france-447-6611877 \ No newline at end of file | 8 | test_url: http://www.popularmechanics.com/technology/aviation/crashes/what-really-happened-aboard-air-france-447-6611877 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/portertech.ca.txt b/inc/3rdparty/site_config/standard/portertech.ca.txt new file mode 100755 index 00000000..2897cb57 --- /dev/null +++ b/inc/3rdparty/site_config/standard/portertech.ca.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | author: //*[(@class = "author")] | ||
2 | date: //*[(@class = "date")] | ||
3 | test_url: http://portertech.ca/2012/12/10/iac-morning-market/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/positioningmag.com.txt b/inc/3rdparty/site_config/standard/positioningmag.com.txt index 21cd833c..f8eeb0a3 100644..100755 --- a/inc/3rdparty/site_config/standard/positioningmag.com.txt +++ b/inc/3rdparty/site_config/standard/positioningmag.com.txt | |||
@@ -1,19 +1,19 @@ | |||
1 | title: //div[@id="newsDetailTitle"] | 1 | title: //div[@id="newsDetailTitle"] |
2 | author: //span[@id="showAuthor"] | 2 | author: //span[@id="showAuthor"] |
3 | date: //span[@id="showRefDate"] | 3 | date: //span[@id="showRefDate"] |
4 | 4 | ||
5 | strip: //div[@id="breadcrumbs"] | 5 | strip: //div[@id="breadcrumbs"] |
6 | strip: //span[@id="PageTitle"] | 6 | strip: //span[@id="PageTitle"] |
7 | strip: //div[@id="newsDetailAuthorPublish"] | 7 | strip: //div[@id="newsDetailAuthorPublish"] |
8 | 8 | ||
9 | strip: //div[@class="leadPix"] | 9 | strip: //div[@class="leadPix"] |
10 | 10 | ||
11 | strip: //span[@id="ctl00_PageTitle"] | 11 | strip: //span[@id="ctl00_PageTitle"] |
12 | strip: //div[@id="newsDetailTitle"] | 12 | strip: //div[@id="newsDetailTitle"] |
13 | convert_double_br_tags:yes | 13 | convert_double_br_tags:yes |
14 | 14 | ||
15 | strip: //div[@id="newsDetailCredential"] | 15 | strip: //div[@id="newsDetailCredential"] |
16 | strip: //div[@id="sidebar2"] | 16 | strip: //div[@id="sidebar2"] |
17 | strip: //div[@id="footer"] | 17 | strip: //div[@id="footer"] |
18 | 18 | ||
19 | test_url: http://www.positioningmag.com/magazine/details.aspx?id=41083 \ No newline at end of file | 19 | test_url: http://www.positioningmag.com/magazine/details.aspx?id=41083 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/post-gazette.com.txt b/inc/3rdparty/site_config/standard/post-gazette.com.txt index 1ea945a0..baa9d69d 100644..100755 --- a/inc/3rdparty/site_config/standard/post-gazette.com.txt +++ b/inc/3rdparty/site_config/standard/post-gazette.com.txt | |||
@@ -1,26 +1,26 @@ | |||
1 | title: //div[@class='story_headline'] | 1 | title: //div[@class='story_headline'] |
2 | author: substring-before(substring-after(//div[@class='story_byline'],'By'),'/') | 2 | author: substring-before(substring-after(//div[@class='story_byline'],'By'),'/') |
3 | date: //div[@class='story_lastupdate'] | 3 | date: //div[@class='story_lastupdate'] |
4 | body: //div[@id='story'] | 4 | body: //div[@id='story'] |
5 | strip: //div[@class='story_byline'] | 5 | strip: //div[@class='story_byline'] |
6 | strip: //div[@class='story_lastupdate'] | 6 | strip: //div[@class='story_lastupdate'] |
7 | strip: //div[@class='story_headline'] | 7 | strip: //div[@class='story_headline'] |
8 | strip: //div[@id='abuse'] | 8 | strip: //div[@id='abuse'] |
9 | strip: //h2 | 9 | strip: //h2 |
10 | strip: //div[@class='pagenumbers_wrap'] | 10 | strip: //div[@class='pagenumbers_wrap'] |
11 | strip: //ul[@class='pagenumbers'] | 11 | strip: //ul[@class='pagenumbers'] |
12 | strip: //div[starts-with(., 'To report inappropriate comments')] | 12 | strip: //div[starts-with(., 'To report inappropriate comments')] |
13 | 13 | ||
14 | strip_id_or_class: story_share | 14 | strip_id_or_class: story_share |
15 | strip_id_or_class: OUTBRAIN | 15 | strip_id_or_class: OUTBRAIN |
16 | strip_id_or_class: story_box_right | 16 | strip_id_or_class: story_box_right |
17 | strip: //div[a[@href='http://www.post-gazette.com/pg/12062/1213990-42.stm']] | 17 | strip: //div[a[@href='http://www.post-gazette.com/pg/12062/1213990-42.stm']] |
18 | strip: //ul[@id='pikame']/li[position()>1] | 18 | strip: //ul[@id='pikame']/li[position()>1] |
19 | 19 | ||
20 | prune: no | 20 | prune: no |
21 | tidy: no | 21 | tidy: no |
22 | 22 | ||
23 | single_page_link: //a[contains(@href, '?p=0')] | 23 | single_page_link: //a[contains(@href, '?p=0')] |
24 | 24 | ||
25 | test_url: http://www.post-gazette.com/stories/sports/penguins/pens-crosby-expects-to-return-thursday-226648/ | 25 | test_url: http://www.post-gazette.com/stories/sports/penguins/pens-crosby-expects-to-return-thursday-226648/ |
26 | test_url: http://www.post-gazette.com/stories/sports/pirates/pirates-fork-over-changes-for-fans-at-pnc-park-629789 \ No newline at end of file | 26 | test_url: http://www.post-gazette.com/stories/sports/pirates/pirates-fork-over-changes-for-fans-at-pnc-park-629789 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/posta.com.tr.txt b/inc/3rdparty/site_config/standard/posta.com.tr.txt index 86cb5d0b..0f01149c 100644..100755 --- a/inc/3rdparty/site_config/standard/posta.com.tr.txt +++ b/inc/3rdparty/site_config/standard/posta.com.tr.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | title: //div[@id='divAdnetKeyword']/h1 | 1 | title: //div[@id='divAdnetKeyword']/h1 |
2 | body: //div[@id='_middle_content_bottom'] | 2 | body: //div[@id='_middle_content_bottom'] |
3 | 3 | ||
4 | wrap_in(fieldset)://div[@id='_middle_content_bottom_child2']/img | 4 | wrap_in(fieldset)://div[@id='_middle_content_bottom_child2']/img |
5 | 5 | ||
6 | strip: //div[@id='_middle_content_bottom_child1'] | 6 | strip: //div[@id='_middle_content_bottom_child1'] |
7 | strip: //div[@id='_middle_content_bottom_child4'] | 7 | strip: //div[@id='_middle_content_bottom_child4'] |
8 | strip: //div[@class='cls'] | 8 | strip: //div[@class='cls'] |
9 | strip: //div[@class='iphoneBox'] | 9 | strip: //div[@class='iphoneBox'] |
10 | strip: //ul[@class='ilgiliHaber'] | 10 | strip: //ul[@class='ilgiliHaber'] |
11 | strip: //div[@class='yorumlar'] | 11 | strip: //div[@class='yorumlar'] |
12 | strip: //div[@class='kategoriler'] | 12 | strip: //div[@class='kategoriler'] |
13 | strip: //div[@class='textSize'] | 13 | strip: //div[@class='textSize'] |
14 | strip: //span[@class='tarih'] | 14 | strip: //span[@class='tarih'] |
15 | test_url: http://www.posta.com.tr/yasam/teknoloji/HaberDetay/Fedailer_Istanbul_da.htm?ArticleID=101044 \ No newline at end of file | 15 | test_url: http://www.posta.com.tr/yasam/teknoloji/HaberDetay/Fedailer_Istanbul_da.htm?ArticleID=101044 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/prb.org.txt b/inc/3rdparty/site_config/standard/prb.org.txt index 7f7a5031..3952ea99 100644..100755 --- a/inc/3rdparty/site_config/standard/prb.org.txt +++ b/inc/3rdparty/site_config/standard/prb.org.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | date: /html/head/meta[@name="date"]/@content | 2 | date: /html/head/meta[@name="date"]/@content |
3 | body: //div[@id="featuredlinksbox"] | 3 | body: //div[@id="featuredlinksbox"] |
4 | strip: //div[@class="relatedbox"] | 4 | strip: //div[@class="relatedbox"] |
5 | strip: //h1 | 5 | strip: //h1 |
6 | strip: //br | 6 | strip: //br |
7 | strip_image_src: "/images" | 7 | strip_image_src: "/images" |
8 | test_url: http://www.prb.org/Journalists/Webcasts/2011/military-families.aspx \ No newline at end of file | 8 | test_url: http://www.prb.org/Journalists/Webcasts/2011/military-families.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/prog21.dadgum.com.txt b/inc/3rdparty/site_config/standard/prog21.dadgum.com.txt index 906c27a0..9a49557e 100644..100755 --- a/inc/3rdparty/site_config/standard/prog21.dadgum.com.txt +++ b/inc/3rdparty/site_config/standard/prog21.dadgum.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id='left'] | 2 | body: //div[@id='left'] |
3 | strip: //h1 | 3 | strip: //h1 |
4 | convert_double_br_tags: yes | 4 | convert_double_br_tags: yes |
5 | strip_id_or_class: entry-footer | 5 | strip_id_or_class: entry-footer |
6 | strip: //h1[. = 'Previously']/following::* | 6 | strip: //h1[. = 'Previously']/following::* |
7 | author: string('James Hague') | 7 | author: string('James Hague') |
8 | date: //div[@class = 'entry-footer']/text() | 8 | date: //div[@class = 'entry-footer']/text() |
9 | test_url: http://prog21.dadgum.com/105.html \ No newline at end of file | 9 | test_url: http://prog21.dadgum.com/105.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/prolost.com.txt b/inc/3rdparty/site_config/standard/prolost.com.txt index cef811d4..82ebf6bb 100644..100755 --- a/inc/3rdparty/site_config/standard/prolost.com.txt +++ b/inc/3rdparty/site_config/standard/prolost.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class='body'] | 1 | body: //div[@class='body'] |
2 | title: //h2[@class='title'] | 2 | title: //h2[@class='title'] |
3 | date: //span[@class='posted-on'] | 3 | date: //span[@class='posted-on'] |
4 | test_url: http://prolost.com/blog/2011/10/13/real-men-comp-with-film.html \ No newline at end of file | 4 | test_url: http://prolost.com/blog/2011/10/13/real-men-comp-with-film.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/propublica.org.txt b/inc/3rdparty/site_config/standard/propublica.org.txt index 11e63bd0..d141ac90 100644..100755 --- a/inc/3rdparty/site_config/standard/propublica.org.txt +++ b/inc/3rdparty/site_config/standard/propublica.org.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h1[@class="article-title"] | 1 | title: //h1[@class="article-title"] |
2 | author: //meta[@name="author"]/@content | 2 | author: //meta[@name="author"]/@content |
3 | body: //div[@class="article-full"] | 3 | body: //div[@class="article-full"] |
4 | strip_id_or_class: sidebar_inject | 4 | strip_id_or_class: sidebar_inject |
5 | strip_id_or_class: callout | 5 | strip_id_or_class: callout |
6 | strip_id_or_class: content-inset | 6 | strip_id_or_class: content-inset |
7 | strip_id_or_class: byline-block | 7 | strip_id_or_class: byline-block |
8 | strip_id_or_class: photo-caption | 8 | strip_id_or_class: photo-caption |
9 | strip_id_or_class: foot-tools | 9 | strip_id_or_class: foot-tools |
10 | 10 | ||
11 | test_url: http://www.propublica.org/article/pardon-applicants-benefit-from-friends-in-high-places \ No newline at end of file | 11 | test_url: http://www.propublica.org/article/pardon-applicants-benefit-from-friends-in-high-places \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/prosa.dk.txt b/inc/3rdparty/site_config/standard/prosa.dk.txt index dedd33d3..ba9ce8b8 100644..100755 --- a/inc/3rdparty/site_config/standard/prosa.dk.txt +++ b/inc/3rdparty/site_config/standard/prosa.dk.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | author: //p[@class='name'] | 1 | author: //p[@class='name'] |
2 | date: substring-before(//p[@class='date'], ' | ') | 2 | date: substring-before(//p[@class='date'], ' | ') |
3 | body: //div[@class='news_single_item'] | 3 | body: //div[@class='news_single_item'] |
4 | test_url: http://www.prosa.dk/aktuelt/nyhed/artikel/internetaktivisten-uden-maske/ \ No newline at end of file | 4 | test_url: http://www.prosa.dk/aktuelt/nyhed/artikel/internetaktivisten-uden-maske/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/prospectmagazine.co.uk.txt b/inc/3rdparty/site_config/standard/prospectmagazine.co.uk.txt index 19059c4a..739d1b9e 100644..100755 --- a/inc/3rdparty/site_config/standard/prospectmagazine.co.uk.txt +++ b/inc/3rdparty/site_config/standard/prospectmagazine.co.uk.txt | |||
@@ -1,26 +1,26 @@ | |||
1 | #basics | 1 | #basics |
2 | author: (//div[contains(@class,'author')])[1] | 2 | author: (//div[contains(@class,'author')])[1] |
3 | date: substring-before(//a[@class='issue'], '—') | 3 | date: substring-before(//a[@class='issue'], '—') |
4 | #body://div[@class = 'entry'] | 4 | #body://div[@class = 'entry'] |
5 | # use this until move_into support is ready | 5 | # use this until move_into support is ready |
6 | body: //div[@class = 'entry' or @class='standfirst' or @class='lead_image'] | 6 | body: //div[@class = 'entry' or @class='standfirst' or @class='lead_image'] |
7 | 7 | ||
8 | #moves header image and tagline into body | 8 | #moves header image and tagline into body |
9 | move_into(//div[@class='entry']/div)://div[@class = 'lead_image'] | 9 | move_into(//div[@class='entry']/div)://div[@class = 'lead_image'] |
10 | move_into(//div[@class='entry']/div)://div[@class = 'standfirst'] | 10 | move_into(//div[@class='entry']/div)://div[@class = 'standfirst'] |
11 | 11 | ||
12 | 12 | ||
13 | # moves author info to end of text | 13 | # moves author info to end of text |
14 | move_into(//p[strong[string(.) = 'Follow Prospect on Twitter']])://div[@id='sidebar_content']/p/em | 14 | move_into(//p[strong[string(.) = 'Follow Prospect on Twitter']])://div[@id='sidebar_content']/p/em |
15 | 15 | ||
16 | prune: no | 16 | prune: no |
17 | 17 | ||
18 | # strips social links | 18 | # strips social links |
19 | strip_id_or_class:login-status | 19 | strip_id_or_class:login-status |
20 | strip_id_or_class:shareinpost | 20 | strip_id_or_class:shareinpost |
21 | strip_id_or_class:content_subscribe | 21 | strip_id_or_class:content_subscribe |
22 | strip_id_or_class:postinfo | 22 | strip_id_or_class:postinfo |
23 | strip_id_or_class:postutils | 23 | strip_id_or_class:postutils |
24 | strip_id_or_class:comments | 24 | strip_id_or_class:comments |
25 | strip://strong[string(.) = 'Follow Prospect on Twitter'] | 25 | strip://strong[string(.) = 'Follow Prospect on Twitter'] |
26 | test_url: http://www.prospectmagazine.co.uk/2011/07/postmodernism-is-dead-va-exhibition-age-of-authenticism/ \ No newline at end of file | 26 | test_url: http://www.prospectmagazine.co.uk/2011/07/postmodernism-is-dead-va-exhibition-age-of-authenticism/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/protothema.gr.txt b/inc/3rdparty/site_config/standard/protothema.gr.txt new file mode 100755 index 00000000..fae261b0 --- /dev/null +++ b/inc/3rdparty/site_config/standard/protothema.gr.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | body: //a[contains(@rel, 'mainphotos')] | //div[contains(@class, 'article-content')] | ||
2 | |||
3 | prune: no | ||
4 | |||
5 | test_url: http://www.protothema.gr//politics/article/326464/diamadopoulou-floridis-kaminis-kai-boutaris-se-ekdilosi-ton-europaion-fileleutheron/ | ||
6 | test_url: http://www.protothema.gr/rss/news/politics/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/psychologytoday.com.txt b/inc/3rdparty/site_config/standard/psychologytoday.com.txt index 3da3cea3..1bb63c29 100644..100755 --- a/inc/3rdparty/site_config/standard/psychologytoday.com.txt +++ b/inc/3rdparty/site_config/standard/psychologytoday.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@class="page-title"]/h1 | 1 | title: //div[@class="page-title"]/h1 |
2 | author: //a[@title="View Bio"] | 2 | author: //a[@title="View Bio"] |
3 | date: substring-before(substring-after(//span[@class="submitted"], 'Published on '), ' by') | 3 | date: substring-before(substring-after(//span[@class="submitted"], 'Published on '), ' by') |
4 | strip://div[@class="page-title"]/h1 | 4 | strip://div[@class="page-title"]/h1 |
5 | strip://div[@class="article-abstract"] | 5 | strip://div[@class="article-abstract"] |
6 | strip://div[@class="article-meta"] | 6 | strip://div[@class="article-meta"] |
7 | strip://div[@id="rightColumn"] | 7 | strip://div[@id="rightColumn"] |
8 | strip://div[@id="inline-content-bottom-left"] | 8 | strip://div[@id="inline-content-bottom-left"] |
9 | test_url: http://www.psychologytoday.com/blog/how-happiness/201205/my-quibble-facebook \ No newline at end of file | 9 | test_url: http://www.psychologytoday.com/blog/how-happiness/201205/my-quibble-facebook \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/publications.parliament.uk.txt b/inc/3rdparty/site_config/standard/publications.parliament.uk.txt index fa099473..8f32d7a4 100644..100755 --- a/inc/3rdparty/site_config/standard/publications.parliament.uk.txt +++ b/inc/3rdparty/site_config/standard/publications.parliament.uk.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | author: //meta[@name="Author"] | 1 | author: //meta[@name="Author"] |
2 | date: //meta[@name="Date"] | 2 | date: //meta[@name="Date"] |
3 | strip: //h5 | 3 | strip: //h5 |
4 | test_url: http://www.publications.parliament.uk/pa/ld201011/ldhansrd/text/111109-0003.htm \ No newline at end of file | 4 | test_url: http://www.publications.parliament.uk/pa/ld201011/ldhansrd/text/111109-0003.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/publico.pt.txt b/inc/3rdparty/site_config/standard/publico.pt.txt new file mode 100755 index 00000000..bb6a05e1 --- /dev/null +++ b/inc/3rdparty/site_config/standard/publico.pt.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | title: //h1[@class="entry-title"] | ||
2 | author: //span[@class="author"] | ||
3 | body: //article[@itemtype="http://schema.org/Article"] | ||
4 | date: //time[@itemprop="dateCreated"] | ||
5 | |||
6 | strip: //header[@class="entry-header single-header"] | ||
7 | strip: //aside[@class="entry-assets"] | ||
8 | strip: //div[@class="entry-options entry-options-above group"] | ||
9 | strip: //div[@class="entry-options entry-options-below group"] | ||
10 | |||
11 | convert_double_br_tags: yes | ||
12 | test_url: http://www.publico.pt/politica/noticia/passos-diz-que-se-limitacao-de-mandatos-fosse-para-todos-os-concelhos-estaria-claro-na-lei-1577691 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/purpleplanetmedia.com.txt b/inc/3rdparty/site_config/standard/purpleplanetmedia.com.txt index 126f9e27..0f1392a4 100644..100755 --- a/inc/3rdparty/site_config/standard/purpleplanetmedia.com.txt +++ b/inc/3rdparty/site_config/standard/purpleplanetmedia.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //div[@class='title'] | 1 | title: //div[@class='title'] |
2 | body: //div[@class='body'] | 2 | body: //div[@class='body'] |
3 | next_page_link: //div[@class='source']/text()[contains(., 'page')]/following-sibling::a | 3 | next_page_link: //div[@class='source']/text()[contains(., 'page')]/following-sibling::a |
4 | test_url: http://purpleplanetmedia.com/eye/inte/ngaiman.php \ No newline at end of file | 4 | test_url: http://purpleplanetmedia.com/eye/inte/ngaiman.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/qctimes.com.txt b/inc/3rdparty/site_config/standard/qctimes.com.txt new file mode 100755 index 00000000..3c3edfeb --- /dev/null +++ b/inc/3rdparty/site_config/standard/qctimes.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | # this site seems to work OK in the web view, but only occasionally in the instapaper app itself. | ||
2 | |||
3 | body: //div[@class='entry-content'] | ||
4 | author: //span[@class='byline'] | ||
5 | test_url: http://qctimes.com/news/local/woman-faces-perjury-charges-in-meth-case/article_83f4c470-956a-11e2-a921-001a4bcf887a.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/quantumdiaries.org.txt b/inc/3rdparty/site_config/standard/quantumdiaries.org.txt index a366c1b3..c17fb312 100644..100755 --- a/inc/3rdparty/site_config/standard/quantumdiaries.org.txt +++ b/inc/3rdparty/site_config/standard/quantumdiaries.org.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //div[contains(@class, "hentry")]/h3 | 1 | title: //div[contains(@class, "hentry")]/h3 |
2 | 2 | ||
3 | author: //div[contains(@class, "hentry")]/h2[contains(@class, "author_bio")] | 3 | author: //div[contains(@class, "hentry")]/h2[contains(@class, "author_bio")] |
4 | 4 | ||
5 | date: substring-before(substring-after(normalize-space(//p[contains(@class, "postmetadata")]/small), "was posted on "), " and is filed under") | 5 | date: substring-before(substring-after(normalize-space(//p[contains(@class, "postmetadata")]/small), "was posted on "), " and is filed under") |
6 | 6 | ||
7 | body: //div[contains(@class, "entry")] | 7 | body: //div[contains(@class, "entry")] |
8 | 8 | ||
9 | strip_id_or_class: addtoany_share_save_container | 9 | strip_id_or_class: addtoany_share_save_container |
10 | strip_id_or_class: postmetadata | 10 | strip_id_or_class: postmetadata |
11 | strip_id_or_class: author_bio | 11 | strip_id_or_class: author_bio |
12 | strip_id_or_class: author_bio_2 | 12 | strip_id_or_class: author_bio_2 |
13 | strip: //div[contains(@class, "hentry")]/h3 | 13 | strip: //div[contains(@class, "hentry")]/h3 |
14 | test_url: http://www.quantumdiaries.org/2011/10/25/piling-up/ \ No newline at end of file | 14 | test_url: http://www.quantumdiaries.org/2011/10/25/piling-up/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/queerty.com.txt b/inc/3rdparty/site_config/standard/queerty.com.txt index 655f8b80..fc7ab37f 100644..100755 --- a/inc/3rdparty/site_config/standard/queerty.com.txt +++ b/inc/3rdparty/site_config/standard/queerty.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class='copy'] | 1 | body: //div[@class='copy'] |
2 | title: //h1[@class='hed'] | 2 | title: //h1[@class='hed'] |
3 | test_url: http://www.queerty.com/rawhide-radicals-meet-five-heroes-from-the-leather-community-20120302/ \ No newline at end of file | 3 | test_url: http://www.queerty.com/rawhide-radicals-meet-five-heroes-from-the-leather-community-20120302/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/quepasa.cl.txt b/inc/3rdparty/site_config/standard/quepasa.cl.txt index fae4e6a3..fb09a8f3 100644..100755 --- a/inc/3rdparty/site_config/standard/quepasa.cl.txt +++ b/inc/3rdparty/site_config/standard/quepasa.cl.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | 2 | ||
3 | body: //div[@class="cuerpoArticulo"] | 3 | body: //div[@class="cuerpoArticulo"] |
4 | 4 | ||
5 | 5 | ||
6 | test_url: http://www.quepasa.cl/magazine/articulo/print.html?id=5299 \ No newline at end of file | 6 | test_url: http://www.quepasa.cl/magazine/articulo/print.html?id=5299 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/quora.com.txt b/inc/3rdparty/site_config/standard/quora.com.txt index 3d34f2f8..732d12d7 100644..100755 --- a/inc/3rdparty/site_config/standard/quora.com.txt +++ b/inc/3rdparty/site_config/standard/quora.com.txt | |||
@@ -1,17 +1,17 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | prune: no | 2 | prune: no |
3 | body: //div[contains(@class, 'main_col')] | 3 | body: //div[contains(@class, 'main_col')] |
4 | title: //h1 | 4 | title: //h1 |
5 | 5 | ||
6 | strip_id_or_class: hidden | 6 | strip_id_or_class: hidden |
7 | strip_id_or_class: item_action_bar | 7 | strip_id_or_class: item_action_bar |
8 | strip_id_or_class: answer_voters | 8 | strip_id_or_class: answer_voters |
9 | strip_id_or_class: question_topics | 9 | strip_id_or_class: question_topics |
10 | strip_id_or_class: answer_header_text | 10 | strip_id_or_class: answer_header_text |
11 | strip_id_or_class: editor_link | 11 | strip_id_or_class: editor_link |
12 | strip_id_or_class: view_tag | 12 | strip_id_or_class: view_tag |
13 | strip_id_or_class: include_details | 13 | strip_id_or_class: include_details |
14 | strip_id_or_class: sig_edit | 14 | strip_id_or_class: sig_edit |
15 | strip_id_or_class: profile_photo_img | 15 | strip_id_or_class: profile_photo_img |
16 | 16 | ||
17 | test_url: http://www.quora.com/What-everyday-habit-do-you-wish-you-had-developed-earlier-in-life \ No newline at end of file | 17 | test_url: http://www.quora.com/What-everyday-habit-do-you-wish-you-had-developed-earlier-in-life \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/racjonalista.pl.txt b/inc/3rdparty/site_config/standard/racjonalista.pl.txt new file mode 100755 index 00000000..19c719d4 --- /dev/null +++ b/inc/3rdparty/site_config/standard/racjonalista.pl.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | author: /html/body/center/b | ||
2 | date: /html/body/table/tr[2]/td/i | ||
3 | single_page_link: //*[@id='oTxt']/table[3]/tr[2]/td/a[1] | ||
4 | |||
5 | test_url: http://www.racjonalista.pl/kk.php/s,7214/q,Geneza.szubrawstwa \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/radar.oreilly.com.txt b/inc/3rdparty/site_config/standard/radar.oreilly.com.txt index 99ab4bb1..fa66b815 100644..100755 --- a/inc/3rdparty/site_config/standard/radar.oreilly.com.txt +++ b/inc/3rdparty/site_config/standard/radar.oreilly.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | date://span[@class='date'] | 1 | date://span[@class='date'] |
2 | body://div[@class='entry-body'] | 2 | body://div[@class='entry-body'] |
3 | test_url: http://radar.oreilly.com/2012/01/genome-cloud-digital-humanities-hadoop-world-strata.html \ No newline at end of file | 3 | test_url: http://radar.oreilly.com/2012/01/genome-cloud-digital-humanities-hadoop-world-strata.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/radionz.co.nz.txt b/inc/3rdparty/site_config/standard/radionz.co.nz.txt index e2617dc5..2496ddab 100644..100755 --- a/inc/3rdparty/site_config/standard/radionz.co.nz.txt +++ b/inc/3rdparty/site_config/standard/radionz.co.nz.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class='body'] | 1 | body: //div[@class='body'] |
2 | title: //div[@class='newsstory']/h2 | 2 | title: //div[@class='newsstory']/h2 |
3 | test_url: http://www.radionz.co.nz/news/stories/2010/07/18/12481029a86d \ No newline at end of file | 3 | test_url: http://www.radionz.co.nz/news/stories/2010/07/18/12481029a86d \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/randsinrepose.com.txt b/inc/3rdparty/site_config/standard/randsinrepose.com.txt index f0c91c51..6970a744 100644..100755 --- a/inc/3rdparty/site_config/standard/randsinrepose.com.txt +++ b/inc/3rdparty/site_config/standard/randsinrepose.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //div[@id='center-col']/h4 | 1 | title: //div[@id='center-col']/h4 |
2 | author: substring-before(//title,'In') | 2 | author: substring-before(//title,'In') |
3 | date: substring-after(//div[@class='commenttext']/span,'#') | 3 | date: substring-after(//div[@class='commenttext']/span,'#') |
4 | body: //div[@id='center-col'] | 4 | body: //div[@id='center-col'] |
5 | strip: //div[@id='center-col']/h4 | 5 | strip: //div[@id='center-col']/h4 |
6 | strip: //div[@class='graytext'] | 6 | strip: //div[@class='graytext'] |
7 | 7 | ||
8 | # Anthony Perez-Sanz 2012.3.14 | 8 | # Anthony Perez-Sanz 2012.3.14 |
9 | # Removed long gif from the end | 9 | # Removed long gif from the end |
10 | strip: //img[@src='http://www.randsinrepose.com/spreader.gif'] | 10 | strip: //img[@src='http://www.randsinrepose.com/spreader.gif'] |
11 | test_url: http://www.randsinrepose.com/archives/2012/03/13/hacking_is_important.html \ No newline at end of file | 11 | test_url: http://www.randsinrepose.com/archives/2012/03/13/hacking_is_important.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/readability.com.txt b/inc/3rdparty/site_config/standard/readability.com.txt index 80337291..2d5aba76 100644..100755 --- a/inc/3rdparty/site_config/standard/readability.com.txt +++ b/inc/3rdparty/site_config/standard/readability.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | single_page_link: //link[@rel='canonical']/@href | 1 | single_page_link: //link[@rel='canonical']/@href |
2 | 2 | ||
3 | test_url: http://www.readability.com/read?url=http://feeds.gawker.com/~r/lifehacker/full/~3/jaxAjSay_Rw/add-a-rain-gutter-to-a-picnic-table-for-a-built+in-drink-cooler \ No newline at end of file | 3 | test_url: http://www.readability.com/read?url=http://feeds.gawker.com/~r/lifehacker/full/~3/jaxAjSay_Rw/add-a-rain-gutter-to-a-picnic-table-for-a-built+in-drink-cooler \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/readwriteweb.com.txt b/inc/3rdparty/site_config/standard/readwriteweb.com.txt index ff799aa0..e2aabda9 100644..100755 --- a/inc/3rdparty/site_config/standard/readwriteweb.com.txt +++ b/inc/3rdparty/site_config/standard/readwriteweb.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1[@class="titlelink"] | 1 | title: //h1[@class="titlelink"] |
2 | date: //span[@class="timestamp"]/@data-published | 2 | date: //span[@class="timestamp"]/@data-published |
3 | body: //div[@class="asset-content"] | 3 | body: //div[@class="asset-content"] |
4 | strip_id_or_class: related-entries | 4 | strip_id_or_class: related-entries |
5 | strip_id_or_class: like-and-retweet | 5 | strip_id_or_class: like-and-retweet |
6 | 6 | ||
7 | author: //div[@id="submeta"]/a[1] | 7 | author: //div[@id="submeta"]/a[1] |
8 | test_url: http://www.readwriteweb.com/archives/why_facebook_terrifies_google.php \ No newline at end of file | 8 | test_url: http://www.readwriteweb.com/archives/why_facebook_terrifies_google.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/real.gr.txt b/inc/3rdparty/site_config/standard/real.gr.txt index fe5ab672..1a33610d 100644..100755 --- a/inc/3rdparty/site_config/standard/real.gr.txt +++ b/inc/3rdparty/site_config/standard/real.gr.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id='_ctl12__ctl0_Article'] | 1 | body: //div[@id='_ctl12__ctl0_Article'] |
2 | prune: no | 2 | prune: no |
3 | autodetect_on_failure: no \ No newline at end of file | 3 | autodetect_on_failure: no \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/recipe.com.txt b/inc/3rdparty/site_config/standard/recipe.com.txt index 8c8f0e0c..a01aaef4 100644..100755 --- a/inc/3rdparty/site_config/standard/recipe.com.txt +++ b/inc/3rdparty/site_config/standard/recipe.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@class='recipedetailsleft' or @id='recipePrepAndServe' or @id='recipeingredients'] | 1 | body: //div[@class='recipedetailsleft' or @id='recipePrepAndServe' or @id='recipeingredients'] |
2 | 2 | ||
3 | strip_id_or_class: location | 3 | strip_id_or_class: location |
4 | strip_id_or_class: savings | 4 | strip_id_or_class: savings |
5 | strip_id_or_class: recipeDetailDescButton | 5 | strip_id_or_class: recipeDetailDescButton |
6 | 6 | ||
7 | prune: no | 7 | prune: no |
8 | tidy: no | 8 | tidy: no |
9 | 9 | ||
10 | test_url: http://www.recipe.com/avocado-basil-pasta/ \ No newline at end of file | 10 | test_url: http://www.recipe.com/avocado-basil-pasta/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/red-hot-girls.com.txt b/inc/3rdparty/site_config/standard/red-hot-girls.com.txt index 3ae959b1..0403ee86 100644..100755 --- a/inc/3rdparty/site_config/standard/red-hot-girls.com.txt +++ b/inc/3rdparty/site_config/standard/red-hot-girls.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@class='short-text' or starts-with(@id, 'news-id-')] | 1 | body: //div[@class='short-text' or starts-with(@id, 'news-id-')] |
2 | prune: no | 2 | prune: no |
3 | tidy: no | 3 | tidy: no |
4 | 4 | ||
5 | test_url: http://red-hot-girls.com/2011/06/10/the_red_hot_natalia_maria_53_pics.html \ No newline at end of file | 5 | test_url: http://red-hot-girls.com/2011/06/10/the_red_hot_natalia_maria_53_pics.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/reddit.com.txt b/inc/3rdparty/site_config/standard/reddit.com.txt index 58ca9ece..8871f564 100644..100755 --- a/inc/3rdparty/site_config/standard/reddit.com.txt +++ b/inc/3rdparty/site_config/standard/reddit.com.txt | |||
@@ -1,16 +1,20 @@ | |||
1 | # This setup grabs the text from a Reddit self post. It ignores all comments etc. | 1 | # This setup grabs the text from a Reddit self post. It ignores all comments etc. |
2 | 2 | ||
3 | title: //p[@class="title"]/a/text() | 3 | title: //p[@class="title"]/a/text() |
4 | 4 | ||
5 | author: //p[@class="tagline"]/a | 5 | author: //p[@class="tagline"]/a |
6 | 6 | ||
7 | # this doesn't work for some reason...? | 7 | # this doesn't work for some reason...? |
8 | date: //p[@class="tagline"]//@datetime | 8 | date: //p[@class="tagline"]//@datetime |
9 | 9 | ||
10 | body: //div[@class="expando"]//div[@class="usertext-body"] | 10 | body: //div[@class="expando"]//div[@class="usertext-body"] |
11 | 11 | ||
12 | strip_id_or_class: tagline | 12 | strip_id_or_class: tagline |
13 | strip_id_or_class: unvotable-message | 13 | strip_id_or_class: unvotable-message |
14 | strip_id_or_class: buttons | 14 | strip_id_or_class: buttons |
15 | 15 | ||
16 | test_url: http://www.reddit.com/r/truegaming/comments/wfe7r/i_wrote_about_the_problems_i_honestly_feel_that/ \ No newline at end of file | 16 | # follow the posted link (unless it's a self post - relative URL, no http://) |
17 | single_page_link: //p[@class="title"]/a[contains(@href, 'http://')] | ||
18 | |||
19 | test_url: http://www.reddit.com/r/truegaming/comments/wfe7r/i_wrote_about_the_problems_i_honestly_feel_that/ | ||
20 | test_url: http://www.reddit.com/r/worldnews/comments/1as37r/twelve_north_korean_soldiers_attempting_to_defect/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/redmondpie.com.txt b/inc/3rdparty/site_config/standard/redmondpie.com.txt index 12a96187..66cc1707 100644..100755 --- a/inc/3rdparty/site_config/standard/redmondpie.com.txt +++ b/inc/3rdparty/site_config/standard/redmondpie.com.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title: //div[@class='posthead']//h2 | 1 | title: //div[@class='posthead']//h2 |
2 | body: //div[contains(@class, 'postcontent') or @class='posthead'] | 2 | body: //div[contains(@class, 'postcontent') or @class='posthead'] |
3 | author: //div[@class='posthead']//a[@rel='author'] | 3 | author: //div[@class='posthead']//a[@rel='author'] |
4 | 4 | ||
5 | strip: //div[@class='posthead']//h2 | 5 | strip: //div[@class='posthead']//h2 |
6 | replace_string(>Advertisements</div>): ></div> | 6 | replace_string(>Advertisements</div>): ></div> |
7 | replace_string(<p>You can follow us on): <p style="display:none;"> | 7 | replace_string(<p>You can follow us on): <p style="display:none;"> |
8 | strip_id_or_class: likeThisPost | 8 | strip_id_or_class: likeThisPost |
9 | 9 | ||
10 | prune: no | 10 | prune: no |
11 | tidy: no | 11 | tidy: no |
12 | 12 | ||
13 | test_url: http://www.redmondpie.com/how-to-play-music-directly-from-home-screen-folders-on-iphone/ \ No newline at end of file | 13 | test_url: http://www.redmondpie.com/how-to-play-music-directly-from-home-screen-folders-on-iphone/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/redtape.msnbc.msn.com.txt b/inc/3rdparty/site_config/standard/redtape.msnbc.msn.com.txt index 4f195a06..8541a0d4 100644..100755 --- a/inc/3rdparty/site_config/standard/redtape.msnbc.msn.com.txt +++ b/inc/3rdparty/site_config/standard/redtape.msnbc.msn.com.txt | |||
@@ -1,20 +1,20 @@ | |||
1 | # Think there might be something up with your parser that it strips out 'print' from the title :) | 1 | # Think there might be something up with your parser that it strips out 'print' from the title :) |
2 | 2 | ||
3 | title: //meta[@name='title']/@content | 3 | title: //meta[@name='title']/@content |
4 | author: //meta[@name='author']/@content | 4 | author: //meta[@name='author']/@content |
5 | date: //meta[@name='date']/@content | 5 | date: //meta[@name='date']/@content |
6 | 6 | ||
7 | body: //div[@class='articleText'] | 7 | body: //div[@class='articleText'] |
8 | 8 | ||
9 | strip: //div[contains(@class, 'day')] | 9 | strip: //div[contains(@class, 'day')] |
10 | strip: //div[contains(@class, 'month')] | 10 | strip: //div[contains(@class, 'month')] |
11 | strip: //div[contains(@class, 'year')] | 11 | strip: //div[contains(@class, 'year')] |
12 | strip: //div[contains(@class, 'time')] | 12 | strip: //div[contains(@class, 'time')] |
13 | strip: //h1[@class='gl_headline'] | 13 | strip: //h1[@class='gl_headline'] |
14 | strip: //div[@class='byline'] | 14 | strip: //div[@class='byline'] |
15 | strip: //div[@id='left_ear'] | 15 | strip: //div[@id='left_ear'] |
16 | strip: //div[@id='right_ear'] | 16 | strip: //div[@id='right_ear'] |
17 | strip: //div[contains(@class, 'PopularPosts')] | 17 | strip: //div[contains(@class, 'PopularPosts')] |
18 | strip ://div[@class='discuss_page_break'] | 18 | strip ://div[@class='discuss_page_break'] |
19 | strip ://div[contains(@class, 'p-content_TagList')] | 19 | strip ://div[contains(@class, 'p-content_TagList')] |
20 | test_url: http://redtape.msnbc.msn.com/_news/2011/09/28/8020661-sprint-raises-fee-but-wont-free-users-from-two-year-contracts?preview=true \ No newline at end of file | 20 | test_url: http://redtape.msnbc.msn.com/_news/2011/09/28/8020661-sprint-raises-fee-but-wont-free-users-from-two-year-contracts?preview=true \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/reflets.info.txt b/inc/3rdparty/site_config/standard/reflets.info.txt index 4a9fab67..98a2bbfc 100644..100755 --- a/inc/3rdparty/site_config/standard/reflets.info.txt +++ b/inc/3rdparty/site_config/standard/reflets.info.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body://div[@class='storycontent'] | 1 | body://div[@class='storycontent'] |
2 | date://div[@class='date'] | 2 | date://div[@class='date'] |
3 | strip://li[@class='sharing_label'] | 3 | strip://li[@class='sharing_label'] |
4 | strip://a[@class='FlattrButton'] | 4 | strip://a[@class='FlattrButton'] |
5 | test_url: http://reflets.info/orange-nokia-siemens-deep-packet-inspection/ \ No newline at end of file | 5 | test_url: http://reflets.info/orange-nokia-siemens-deep-packet-inspection/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/renenekuda.cz.txt b/inc/3rdparty/site_config/standard/renenekuda.cz.txt index 0b3dee1d..a5361fd0 100644..100755 --- a/inc/3rdparty/site_config/standard/renenekuda.cz.txt +++ b/inc/3rdparty/site_config/standard/renenekuda.cz.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //*[@class='entry-title'] | 1 | title: //*[@class='entry-title'] |
2 | body: //div[@class='entry-content'] | 2 | body: //div[@class='entry-content'] |
3 | test_url: http://www.renenekuda.cz/recept-na-produktivitu/ \ No newline at end of file | 3 | test_url: http://www.renenekuda.cz/recept-na-produktivitu/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/resume.se.txt b/inc/3rdparty/site_config/standard/resume.se.txt new file mode 100755 index 00000000..17122a9b --- /dev/null +++ b/inc/3rdparty/site_config/standard/resume.se.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | date: //meta[@name='bi3dPubDate']/@content | ||
2 | body: //div[contains(@class, 'articleBody')] | ||
3 | |||
4 | prune: no | ||
5 | |||
6 | test_url: http://www.resume.se/nyheter/media/2013/09/18/kvallspress-och-tv-slass-om-playtittarna-men-youtube-ohotat-storst/ | ||
7 | test_url: http://www.resume.se/nyheter/media/2013/09/18/cecilia-blankens-lamnar-mama-for-konkurrent/ | ||
8 | test_url: http://www.resume.se/nyheter/reklam/2013/09/18/ravelli-trodde-jag-var-med-i-blasningen/ | ||
9 | test_url: http://www.resume.se/rss-nyheter \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/retrieverweekly.com.txt b/inc/3rdparty/site_config/standard/retrieverweekly.com.txt index 1264ee3f..a0a23940 100644..100755 --- a/inc/3rdparty/site_config/standard/retrieverweekly.com.txt +++ b/inc/3rdparty/site_config/standard/retrieverweekly.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | single_page_link://a[contains(@href, 'print')] | 1 | single_page_link://a[contains(@href, 'print')] |
2 | 2 | ||
3 | # Grab metadata from the "printer-friendly" page, after specifying single_page_link | 3 | # Grab metadata from the "printer-friendly" page, after specifying single_page_link |
4 | title://h2 | 4 | title://h2 |
5 | date://cite | 5 | date://cite |
6 | test_url: http://www.retrieverweekly.com/?cmd=displaystory&story_id=7548&format=html \ No newline at end of file | 6 | test_url: http://www.retrieverweekly.com/?cmd=displaystory&story_id=7548&format=html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/reuters.com.txt b/inc/3rdparty/site_config/standard/reuters.com.txt index c5c94a4f..7411e62b 100644..100755 --- a/inc/3rdparty/site_config/standard/reuters.com.txt +++ b/inc/3rdparty/site_config/standard/reuters.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //h1[@class='headline3'] | 1 | title: //h1[@class='headline3'] |
2 | author: substring-after(//p[@class="byline"], 'By ') | 2 | author: substring-after(//p[@class="byline"], 'By ') |
3 | date: //meta[@name="REVISION_DATE"]/@content | 3 | date: //meta[@name="REVISION_DATE"]/@content |
4 | body: //div[@id='articleImage' or @id='frame_fd1fade'] | //span[@id='articleText'] | //div[@class='pageNavigation'] | 4 | body: //div[@id='articleImage' or @id='frame_fd1fade'] | //span[@id='articleText'] | //div[@class='pageNavigation'] |
5 | strip: //li[@class='next'] | 5 | strip: //li[@class='next'] |
6 | strip: //span[@class='articleLocation'] | 6 | strip: //span[@class='articleLocation'] |
7 | prune: no | 7 | prune: no |
8 | tidy: no | 8 | tidy: no |
9 | 9 | ||
10 | test_url: http://www.reuters.com/article/2011/04/08/us-ivorycoast-killings-idUSTRE73732A20110408 \ No newline at end of file | 10 | test_url: http://www.reuters.com/article/2011/04/08/us-ivorycoast-killings-idUSTRE73732A20110408 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/revistapiaui.estadao.com.br.txt b/inc/3rdparty/site_config/standard/revistapiaui.estadao.com.br.txt index dbe42932..30e627dc 100644..100755 --- a/inc/3rdparty/site_config/standard/revistapiaui.estadao.com.br.txt +++ b/inc/3rdparty/site_config/standard/revistapiaui.estadao.com.br.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //div[@class="article_header"]/h3 | 1 | title: //div[@class="article_header"]/h3 |
2 | author: //div[@class="autor"]/p/* | 2 | author: //div[@class="autor"]/p/* |
3 | date: substring-after(substring-after(//div[@class="flt-left"],"> "), "> ") | 3 | date: substring-after(substring-after(//div[@class="flt-left"],"> "), "> ") |
4 | 4 | ||
5 | move_into(//div[@class="new_article"]): //div[@class="img_article"]/img | 5 | move_into(//div[@class="new_article"]): //div[@class="img_article"]/img |
6 | 6 | ||
7 | body: //div[@class="article_content"] | 7 | body: //div[@class="article_content"] |
8 | convert_double_br_tags: yes | 8 | convert_double_br_tags: yes |
9 | 9 | ||
10 | test_url: http://revistapiaui.estadao.com.br/edicao-68/questoes-latino-americanas/filhos-da-guerra-suja \ No newline at end of file | 10 | test_url: http://revistapiaui.estadao.com.br/edicao-68/questoes-latino-americanas/filhos-da-guerra-suja \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/rezeptwelt.de.txt b/inc/3rdparty/site_config/standard/rezeptwelt.de.txt new file mode 100644 index 00000000..2093573b --- /dev/null +++ b/inc/3rdparty/site_config/standard/rezeptwelt.de.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | body: //div[@class='step-content'] | //div[@class='global-active ingredients-box'] | ||
2 | title: //div[@class='step-1-container'] | ||
3 | |||
4 | tidy: no | ||
5 | test_url: http://www.rezeptwelt.de/backen-herzhaft-rezepte/w%C3%BCrstchen-schlangen/530372 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/richardmuscat.wordpress.com.txt b/inc/3rdparty/site_config/standard/richardmuscat.wordpress.com.txt index 904a11dd..b0ee92dc 100644..100755 --- a/inc/3rdparty/site_config/standard/richardmuscat.wordpress.com.txt +++ b/inc/3rdparty/site_config/standard/richardmuscat.wordpress.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@id="post"] | 1 | body: //div[@id="post"] |
2 | strip: //div[@id="author-description"] | 2 | strip: //div[@id="author-description"] |
3 | date: //span[@class="entry-date"] | 3 | date: //span[@class="entry-date"] |
4 | author: //span[@class="author vcard"] | 4 | author: //span[@class="author vcard"] |
5 | test_url: http://richardmuscat.wordpress.com/2011/06/20/the-price-of-free/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheBrooksReview+%28The+Brooks+Review%29 \ No newline at end of file | 5 | test_url: http://richardmuscat.wordpress.com/2011/06/20/the-price-of-free/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheBrooksReview+%28The+Brooks+Review%29 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ritemail.blogspot.com.txt b/inc/3rdparty/site_config/standard/ritemail.blogspot.com.txt index 82cfaf27..ed72915c 100644..100755 --- a/inc/3rdparty/site_config/standard/ritemail.blogspot.com.txt +++ b/inc/3rdparty/site_config/standard/ritemail.blogspot.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@class='post-body entry-content'] | 1 | body: //div[@class='post-body entry-content'] |
2 | strip: //div[@id='lws_0'] | 2 | strip: //div[@id='lws_0'] |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: http://ritemail.blogspot.com/2011/06/hayden-panettiere-candids-in-los.html \ No newline at end of file | 5 | test_url: http://ritemail.blogspot.com/2011/06/hayden-panettiere-candids-in-los.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ritholtz.com.txt b/inc/3rdparty/site_config/standard/ritholtz.com.txt new file mode 100755 index 00000000..d598479e --- /dev/null +++ b/inc/3rdparty/site_config/standard/ritholtz.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //div[@class='post']/h2 | ||
2 | author: substring-before(substring-after(//div[@class='alignright']/small, 'By '),'-') | ||
3 | date: substring-after(//div[@class='alignright']/small, '-') | ||
4 | strip: //div[@class='alignleft'] | ||
5 | test_url: http://www.ritholtz.com/blog/2012/09/situational-awareness/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/robertsspaceindustries.com.txt b/inc/3rdparty/site_config/standard/robertsspaceindustries.com.txt new file mode 100755 index 00000000..b0b90fb7 --- /dev/null +++ b/inc/3rdparty/site_config/standard/robertsspaceindustries.com.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | strip_id_or_class: 'sharedaddy' | ||
2 | strip_id_or_class: 'respond' | ||
3 | strip_id_or_class: 'meta' | ||
4 | test_url: http://www.robertsspaceindustries.com/news-update-ai-pilots/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/robots.thoughtbot.com.txt b/inc/3rdparty/site_config/standard/robots.thoughtbot.com.txt new file mode 100755 index 00000000..da5b7bd8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/robots.thoughtbot.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | body: //section[@class='post text'] | ||
2 | title: //h1[@class='title'] | ||
3 | date: //p[@class='post-date'] | ||
4 | strip: //section[@class='meta-info'] | ||
5 | test_url: http://robots.thoughtbot.com/post/32455387133/four-phase-test \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/rockpapershotgun.com.txt b/inc/3rdparty/site_config/standard/rockpapershotgun.com.txt index 3035527c..f8c9541f 100644..100755 --- a/inc/3rdparty/site_config/standard/rockpapershotgun.com.txt +++ b/inc/3rdparty/site_config/standard/rockpapershotgun.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | 2 | ||
3 | strip: //div[ contains(@class, 'respond') ] | //h2 | //h1 | 3 | strip: //div[ contains(@class, 'respond') ] | //h2 | //h1 |
4 | 4 | ||
5 | date: substring-after(//p[@class='info'], ' on ') | 5 | date: substring-after(//p[@class='info'], ' on ') |
6 | 6 | ||
7 | author: //p[@class='info']//a | 7 | author: //p[@class='info']//a |
8 | test_url: http://www.rockpapershotgun.com/2010/07/29/rps-half-verdict-starcraft-2/ \ No newline at end of file | 8 | test_url: http://www.rockpapershotgun.com/2010/07/29/rps-half-verdict-starcraft-2/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/rodrigo.sharpcube.com.txt b/inc/3rdparty/site_config/standard/rodrigo.sharpcube.com.txt index abe70351..eef8b11c 100644..100755 --- a/inc/3rdparty/site_config/standard/rodrigo.sharpcube.com.txt +++ b/inc/3rdparty/site_config/standard/rodrigo.sharpcube.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | author: //article/header/span[@class='author'] | 1 | author: //article/header/span[@class='author'] |
2 | title://article/header/h1 | 2 | title://article/header/h1 |
3 | body: //article | 3 | body: //article |
4 | strip: //article/header | 4 | strip: //article/header |
5 | strip: //article/p[@class='metadata'] | 5 | strip: //article/p[@class='metadata'] |
6 | footnotes: yes | 6 | footnotes: yes |
7 | test_url: http://rodrigo.sharpcube.com/2010/06/20/using-and-sharing-a-vpn-connection-on-your-mac/ \ No newline at end of file | 7 | test_url: http://rodrigo.sharpcube.com/2010/06/20/using-and-sharing-a-vpn-connection-on-your-mac/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/rogerebert.com.txt b/inc/3rdparty/site_config/standard/rogerebert.com.txt index 26792330..da215109 100644..100755 --- a/inc/3rdparty/site_config/standard/rogerebert.com.txt +++ b/inc/3rdparty/site_config/standard/rogerebert.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: substring-before(//title,':') | 1 | title: substring-before(//title,':') |
2 | author: substring-after(substring-before(//div[@class='text']/b,'/'),'BY') | 2 | author: substring-after(substring-before(//div[@class='text']/b,'/'),'BY') |
3 | 3 | ||
4 | body: //div[@class='text'] | 4 | body: //div[@class='text'] |
5 | 5 | ||
6 | strip: //a[contains(@href,'printart')] | 6 | strip: //a[contains(@href,'printart')] |
7 | strip_id_or_class: enlarge_photo | 7 | strip_id_or_class: enlarge_photo |
8 | test_url: http://rogerebert.com/apps/pbcs.dll/article?AID=/20120411/REVIEWS/120419998/1005/GLOSSARY \ No newline at end of file | 8 | test_url: http://rogerebert.com/apps/pbcs.dll/article?AID=/20120411/REVIEWS/120419998/1005/GLOSSARY \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/rolfinjapan.nl.txt b/inc/3rdparty/site_config/standard/rolfinjapan.nl.txt index d618c23f..2365c42a 100644..100755 --- a/inc/3rdparty/site_config/standard/rolfinjapan.nl.txt +++ b/inc/3rdparty/site_config/standard/rolfinjapan.nl.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[contains(@class, 'inhoud')] | 1 | body: //div[contains(@class, 'inhoud')] |
2 | date: //span[@class ='published'] | 2 | date: //span[@class ='published'] |
3 | author: //span[@class ='author'] | 3 | author: //span[@class ='author'] |
4 | strip: //div[@class = 'grid_2'] | 4 | strip: //div[@class = 'grid_2'] |
5 | strip: //div[@class = 'block-citation-text'] | 5 | strip: //div[@class = 'block-citation-text'] |
6 | test_url: http://www.rolfinjapan.nl/2011/06/duizend-kraanvogels/ \ No newline at end of file | 6 | test_url: http://www.rolfinjapan.nl/2011/06/duizend-kraanvogels/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/rollingstone.com.txt b/inc/3rdparty/site_config/standard/rollingstone.com.txt index 9a10a69e..9a10a69e 100644..100755 --- a/inc/3rdparty/site_config/standard/rollingstone.com.txt +++ b/inc/3rdparty/site_config/standard/rollingstone.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/rottentomatoes.com.txt b/inc/3rdparty/site_config/standard/rottentomatoes.com.txt index b5b29fe4..ef327691 100644..100755 --- a/inc/3rdparty/site_config/standard/rottentomatoes.com.txt +++ b/inc/3rdparty/site_config/standard/rottentomatoes.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | body: //div[@class='movie_content_area'] | 1 | body: //div[@class='movie_content_area'] |
2 | strip_id_or_class: tomatometer_bar_help | 2 | strip_id_or_class: tomatometer_bar_help |
3 | strip_id_or_class: critic-links | 3 | strip_id_or_class: critic-links |
4 | strip_id_or_class: top-critics-numbers | 4 | strip_id_or_class: top-critics-numbers |
5 | strip_id_or_class: fan_side | 5 | strip_id_or_class: fan_side |
6 | strip_id_or_class: fblike | 6 | strip_id_or_class: fblike |
7 | strip_id_or_class: rating_widget | 7 | strip_id_or_class: rating_widget |
8 | strip_id_or_class: friend_reviews | 8 | strip_id_or_class: friend_reviews |
9 | prune: no | 9 | prune: no |
10 | 10 | ||
11 | test_url: http://www.rottentomatoes.com/m/thor/ \ No newline at end of file | 11 | test_url: http://www.rottentomatoes.com/m/thor/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/roughtype.com.txt b/inc/3rdparty/site_config/standard/roughtype.com.txt index f2f00392..a012a67d 100644..100755 --- a/inc/3rdparty/site_config/standard/roughtype.com.txt +++ b/inc/3rdparty/site_config/standard/roughtype.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@class='content'] | 1 | body: //div[@class='content'] |
2 | strip: //p[@class='postmeta']/following::* | 2 | strip: //p[@class='postmeta']/following::* |
3 | strip: //p[@class='postmeta'] | 3 | strip: //p[@class='postmeta'] |
4 | strip: //p[@align='left'] | 4 | strip: //p[@align='left'] |
5 | test_url: http://www.roughtype.com/archives/2012/01/power_to_the_da.php \ No newline at end of file | 5 | test_url: http://www.roughtype.com/archives/2012/01/power_to_the_da.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/roy.gbiv.com.txt b/inc/3rdparty/site_config/standard/roy.gbiv.com.txt index 6ff03de8..6ff03de8 100644..100755 --- a/inc/3rdparty/site_config/standard/roy.gbiv.com.txt +++ b/inc/3rdparty/site_config/standard/roy.gbiv.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/rpgsite.net.txt b/inc/3rdparty/site_config/standard/rpgsite.net.txt index e7f29bbe..9ddbf0f2 100644..100755 --- a/inc/3rdparty/site_config/standard/rpgsite.net.txt +++ b/inc/3rdparty/site_config/standard/rpgsite.net.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@id='news-text'] | 1 | body: //div[@id='news-text'] |
2 | prune: no | 2 | prune: no |
3 | test_url: http://www.rpgsite.net/news/1964-tetsuya-nomura-says-hell-soon-show-the-future-of-final-fantasy | 3 | test_url: http://www.rpgsite.net/news/1964-tetsuya-nomura-says-hell-soon-show-the-future-of-final-fantasy |
4 | test_url: http://www.rpgsite.net/news/1965-new-atelier-totori-plus-screens-and-artwork \ No newline at end of file | 4 | test_url: http://www.rpgsite.net/news/1965-new-atelier-totori-plus-screens-and-artwork \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/rubysfera.pl.txt b/inc/3rdparty/site_config/standard/rubysfera.pl.txt index d9df7684..d9d9a431 100644..100755 --- a/inc/3rdparty/site_config/standard/rubysfera.pl.txt +++ b/inc/3rdparty/site_config/standard/rubysfera.pl.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | author: //div[contains(@class, 'author_text')]/h4/text() | 1 | author: //div[contains(@class, 'author_text')]/h4/text() |
2 | date: //li[@class='date'] | 2 | date: //li[@class='date'] |
3 | 3 | ||
4 | # stripping excessive tags | 4 | # stripping excessive tags |
5 | strip: //div[contains(@class, 'entry_meta')] | 5 | strip: //div[contains(@class, 'entry_meta')] |
6 | strip: //div[contains(@class, 'single_meta')] | 6 | strip: //div[contains(@class, 'single_meta')] |
7 | strip: //br[contains(@class, 'clear')] | 7 | strip: //br[contains(@class, 'clear')] |
8 | strip: //h3[contains(., 'Komentarz')] | 8 | strip: //h3[contains(., 'Komentarz')] |
9 | test_url: http://rubysfera.pl/2011/09/10-porad-o-rvm/ \ No newline at end of file | 9 | test_url: http://rubysfera.pl/2011/09/10-porad-o-rvm/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ruhlman.com.txt b/inc/3rdparty/site_config/standard/ruhlman.com.txt index 7a21c4af..e54b0f0e 100644..100755 --- a/inc/3rdparty/site_config/standard/ruhlman.com.txt +++ b/inc/3rdparty/site_config/standard/ruhlman.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1[@class='entry-title'] | 1 | title: //h1[@class='entry-title'] |
2 | author: ///span[@class='author vcard'] | 2 | author: ///span[@class='author vcard'] |
3 | date: //abbr[@class='published'] | 3 | date: //abbr[@class='published'] |
4 | body: //div[@class='entry-content'] | 4 | body: //div[@class='entry-content'] |
5 | 5 | ||
6 | test_url: http://ruhlman.com/2009/05/cookbooks-that-teach/ \ No newline at end of file | 6 | test_url: http://ruhlman.com/2009/05/cookbooks-that-teach/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/ruttloff.org.txt b/inc/3rdparty/site_config/standard/ruttloff.org.txt index c036dcf8..43e130a4 100644..100755 --- a/inc/3rdparty/site_config/standard/ruttloff.org.txt +++ b/inc/3rdparty/site_config/standard/ruttloff.org.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | author: //a[@class='author'] | 1 | author: //a[@class='author'] |
2 | tidy: no | 2 | tidy: no |
3 | test_url: http://ruttloff.org/2012/06/13/intervention \ No newline at end of file | 3 | test_url: http://ruttloff.org/2012/06/13/intervention \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/salon.com.txt b/inc/3rdparty/site_config/standard/salon.com.txt index 04f8afd5..2b47f744 100644..100755 --- a/inc/3rdparty/site_config/standard/salon.com.txt +++ b/inc/3rdparty/site_config/standard/salon.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | author: (//span[@class="byline"]/a)[1] | 2 | author: (//span[@class="byline"]/a)[1] |
3 | date: //span[contains(@class, "toLocalTime")] | 3 | date: //span[contains(@class, "toLocalTime")] |
4 | body: (//div[contains(@class, "articleInner")]//img[contains(@src, 'media.salon.com') and contains(@src, '460x')])[1] | //div[contains(@class, "articleContent") or contains(@class, "writerMeta")] | 4 | body: (//div[contains(@class, "articleInner")]//img[contains(@src, 'media.salon.com') and contains(@src, '460x')])[1] | //div[contains(@class, "articleContent") or contains(@class, "writerMeta")] |
5 | 5 | ||
6 | prune: no | 6 | prune: no |
7 | 7 | ||
8 | # deal with singleton links | 8 | # deal with singleton links |
9 | single_page_link: (//h1/a[contains(@href, '/singleton')])[1] | 9 | single_page_link: (//h1/a[contains(@href, '/singleton')])[1] |
10 | 10 | ||
11 | test_url: http://www.salon.com/2011/10/25/occupying_the_rust_belt/singleton/ \ No newline at end of file | 11 | test_url: http://www.salon.com/2011/10/25/occupying_the_rust_belt/singleton/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/salzburg.com.txt b/inc/3rdparty/site_config/standard/salzburg.com.txt index 31067481..464f99f1 100644..100755 --- a/inc/3rdparty/site_config/standard/salzburg.com.txt +++ b/inc/3rdparty/site_config/standard/salzburg.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //p[@class='teaser1 darkgrey myriad'] | 1 | body: //p[@class='teaser1 darkgrey myriad'] |
2 | move_into(//p[@class='teaser1 darkgrey myriad']): //div[@class='artikel clear'] | 2 | move_into(//p[@class='teaser1 darkgrey myriad']): //div[@class='artikel clear'] |
3 | strip: //div[@class='hidden'] | 3 | strip: //div[@class='hidden'] |
4 | strip: //div[@id='article_related_source'] | 4 | strip: //div[@id='article_related_source'] |
5 | 5 | ||
6 | test_url: http://www.salzburg.com/nachrichten/oesterreich/politik/sn/artikel/deutliche-nachbesserungen-bei-lehrerdienstrecht-19469/ \ No newline at end of file | 6 | test_url: http://www.salzburg.com/nachrichten/oesterreich/politik/sn/artikel/deutliche-nachbesserungen-bei-lehrerdienstrecht-19469/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sanpedrosun.com.txt b/inc/3rdparty/site_config/standard/sanpedrosun.com.txt new file mode 100755 index 00000000..3f19cced --- /dev/null +++ b/inc/3rdparty/site_config/standard/sanpedrosun.com.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | title: //div[contains(@class, 'post')]//h1 | ||
2 | date: //div[contains(@class, 'post')]//h6 | ||
3 | body: //div[contains(@class, 'entry')] | ||
4 | strip_id_or_class: post_stats | ||
5 | strip_id_or_class: related-posts | ||
6 | strip_id_or_class: after_story | ||
7 | prune: no | ||
8 | |||
9 | test_url: http://www.sanpedrosun.com/community-and-society/2013/06/05/little-angelspre-school-talent-show/ | ||
10 | test_url: http://www.sanpedrosun.com/feed/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/saveyourself.ca.txt b/inc/3rdparty/site_config/standard/saveyourself.ca.txt index 354f5911..5a5605d9 100644..100755 --- a/inc/3rdparty/site_config/standard/saveyourself.ca.txt +++ b/inc/3rdparty/site_config/standard/saveyourself.ca.txt | |||
@@ -1,25 +1,25 @@ | |||
1 | title://h1 | 1 | title://h1 |
2 | 2 | ||
3 | # my section divs seem to interfere with the Instapaper parser, so I ditch 'em | 3 | # my section divs seem to interfere with the Instapaper parser, so I ditch 'em |
4 | dissolve://div[contains(@class, 'section')] | 4 | dissolve://div[contains(@class, 'section')] |
5 | 5 | ||
6 | #these don't seem to be necessary, but just in case | 6 | #these don't seem to be necessary, but just in case |
7 | strip_id_or_class:'masthead' | 7 | strip_id_or_class:'masthead' |
8 | strip_id_or_class:'footer' | 8 | strip_id_or_class:'footer' |
9 | 9 | ||
10 | #again, Instapaper seems to understand where my content is, but just in case | 10 | #again, Instapaper seems to understand where my content is, but just in case |
11 | body://div[@id='content'] | 11 | body://div[@id='content'] |
12 | 12 | ||
13 | # in general, I want the Instapaper view to look like my print CSS, so I remove things specified for the screen or non-printing | 13 | # in general, I want the Instapaper view to look like my print CSS, so I remove things specified for the screen or non-printing |
14 | strip_id_or_class:'screen-only' | 14 | strip_id_or_class:'screen-only' |
15 | strip_id_or_class:'no-print' | 15 | strip_id_or_class:'no-print' |
16 | 16 | ||
17 | #other misc removals and simplifications | 17 | #other misc removals and simplifications |
18 | strip_id_or_class:'popup' | 18 | strip_id_or_class:'popup' |
19 | strip_id_or_class:'ZoomSpin' | 19 | strip_id_or_class:'ZoomSpin' |
20 | 20 | ||
21 | #I have a lot of content in sidebars and "meta" asides that can work inline just fine, but has to be distinguished somehow with some minimal formatting, so I put them in blockquotes | 21 | #I have a lot of content in sidebars and "meta" asides that can work inline just fine, but has to be distinguished somehow with some minimal formatting, so I put them in blockquotes |
22 | wrap_in(blockquote)://div[contains(@class, 'sidebar')] | 22 | wrap_in(blockquote)://div[contains(@class, 'sidebar')] |
23 | wrap_in(blockquote)://div[contains(@class, 'meta')] | 23 | wrap_in(blockquote)://div[contains(@class, 'meta')] |
24 | wrap_in(blockquote)://p[contains(@class, 'meta')] | 24 | wrap_in(blockquote)://p[contains(@class, 'meta')] |
25 | test_url: http://saveyourself.ca/tutorials/low-back-pain.php \ No newline at end of file | 25 | test_url: http://saveyourself.ca/tutorials/low-back-pain.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sayidaty.net.txt b/inc/3rdparty/site_config/standard/sayidaty.net.txt new file mode 100755 index 00000000..2d9f1884 --- /dev/null +++ b/inc/3rdparty/site_config/standard/sayidaty.net.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | date: //meta[@property='article:published_time']/@content | ||
2 | body: (//div[contains(@class, 'article-slider')]//img)[1] | //div[contains(@class, 'bottom-article-con')] | ||
3 | |||
4 | test_url: http://www.sayidaty.net/taxonomy/term/10/all/feed \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/sbnation.com.txt b/inc/3rdparty/site_config/standard/sbnation.com.txt index c213843c..41b36755 100644..100755 --- a/inc/3rdparty/site_config/standard/sbnation.com.txt +++ b/inc/3rdparty/site_config/standard/sbnation.com.txt | |||
@@ -1,28 +1,28 @@ | |||
1 | title: //h1[@id='stream_title'] | 1 | title: //h1[@id='stream_title'] |
2 | 2 | ||
3 | # Author and date don't work | 3 | # Author and date don't work |
4 | author: //div[@class='byline'] | 4 | author: //div[@class='byline'] |
5 | date: //div[@class='date-stamp'] | 5 | date: //div[@class='date-stamp'] |
6 | 6 | ||
7 | body: //div[@class='node-article'] | 7 | body: //div[@class='node-article'] |
8 | 8 | ||
9 | strip_id_or_class: fb-like-box | 9 | strip_id_or_class: fb-like-box |
10 | strip_id_or_class: stream-fb-like | 10 | strip_id_or_class: stream-fb-like |
11 | strip_id_or_class: social-meta | 11 | strip_id_or_class: social-meta |
12 | strip_id_or_class: social-spoken | 12 | strip_id_or_class: social-spoken |
13 | strip_id_or_class: twitter-share-button | 13 | strip_id_or_class: twitter-share-button |
14 | strip_id_or_class: twitter-follow-button | 14 | strip_id_or_class: twitter-follow-button |
15 | strip_id_or_class: spinner_node_list | 15 | strip_id_or_class: spinner_node_list |
16 | strip_id_or_class: node-sort-link | 16 | strip_id_or_class: node-sort-link |
17 | strip_id_or_class: stream_title | 17 | strip_id_or_class: stream_title |
18 | strip_id_or_class: stream_summary | 18 | strip_id_or_class: stream_summary |
19 | strip_id_or_class: update-count-container | 19 | strip_id_or_class: update-count-container |
20 | strip_id_or_class: major-updates | 20 | strip_id_or_class: major-updates |
21 | strip_id_or_class: newsletter-slide | 21 | strip_id_or_class: newsletter-slide |
22 | strip_id_or_class: author-mini-profile | 22 | strip_id_or_class: author-mini-profile |
23 | strip_id_or_class: byline | 23 | strip_id_or_class: byline |
24 | strip_id_or_class: header | 24 | strip_id_or_class: header |
25 | strip_id_or_class: footer | 25 | strip_id_or_class: footer |
26 | 26 | ||
27 | # Works, but "no text" errors on: http://www.sbnation.com/nba/2012/3/9/2856780/nba-scores-dwight-howard-bulls-magic-mavs-suns | 27 | # Works, but "no text" errors on: http://www.sbnation.com/nba/2012/3/9/2856780/nba-scores-dwight-howard-bulls-magic-mavs-suns |
28 | test_url: http://www.sbnation.com/nba/2012/3/13/2867226/dwight-howard-trade-rumors-2012-faq-orlando-magic \ No newline at end of file | 28 | test_url: http://www.sbnation.com/nba/2012/3/13/2867226/dwight-howard-trade-rumors-2012-faq-orlando-magic \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/schneier.com.txt b/inc/3rdparty/site_config/standard/schneier.com.txt index 67181b65..0074a86a 100644..100755 --- a/inc/3rdparty/site_config/standard/schneier.com.txt +++ b/inc/3rdparty/site_config/standard/schneier.com.txt | |||
@@ -1,25 +1,25 @@ | |||
1 | author: //p[@class='mastname'] | 1 | author: //p[@class='mastname'] |
2 | 2 | ||
3 | body: //div[@class='indivbody'] | 3 | body: //div[@class='indivbody'] |
4 | date: //div[@class='indivbody']/h2[1] | 4 | date: //div[@class='indivbody']/h2[1] |
5 | 5 | ||
6 | # Remove blog title. Specify first occurrence in case h1 is used in article | 6 | # Remove blog title. Specify first occurrence in case h1 is used in article |
7 | strip: //div[@class='indivbody']/h1[1] | 7 | strip: //div[@class='indivbody']/h1[1] |
8 | 8 | ||
9 | # Remove blog description (the first p element) | 9 | # Remove blog description (the first p element) |
10 | strip: //div[@class='indivbody']/p[1] | 10 | strip: //div[@class='indivbody']/p[1] |
11 | 11 | ||
12 | # Remove navigation (second p element) | 12 | # Remove navigation (second p element) |
13 | strip: //div[@class='indivbody']/p[2] | 13 | strip: //div[@class='indivbody']/p[2] |
14 | 14 | ||
15 | # Remove duplicate of article title. Specify first occurrence in case h3 is used in article | 15 | # Remove duplicate of article title. Specify first occurrence in case h3 is used in article |
16 | strip: //div[@class='indivbody']/h3[1] | 16 | strip: //div[@class='indivbody']/h3[1] |
17 | 17 | ||
18 | # Remove publishing date, it's extracted by rule above | 18 | # Remove publishing date, it's extracted by rule above |
19 | strip: //div[@class='indivbody']/h2[1] | 19 | strip: //div[@class='indivbody']/h2[1] |
20 | 20 | ||
21 | # Remove duplicate of date at end, and newsletter signup | 21 | # Remove duplicate of date at end, and newsletter signup |
22 | strip: //p[@class='posted'] | 22 | strip: //p[@class='posted'] |
23 | 23 | ||
24 | # Leave date at top | 24 | # Leave date at top |
25 | test_url: http://www.schneier.com/blog/archives/2010/12/security_in_202.html \ No newline at end of file | 25 | test_url: http://www.schneier.com/blog/archives/2010/12/security_in_202.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/science.orf.at.txt b/inc/3rdparty/site_config/standard/science.orf.at.txt index 89ebfe08..c4b21834 100644..100755 --- a/inc/3rdparty/site_config/standard/science.orf.at.txt +++ b/inc/3rdparty/site_config/standard/science.orf.at.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | body: //div[@class="storybox"] | 1 | body: //div[@class="storybox"] |
2 | title: //div[@class="storybox"]//h1 | 2 | title: //div[@class="storybox"]//h1 |
3 | strip: //p[@class='metaline'] | 3 | strip: //p[@class='metaline'] |
4 | date: substring-after(//*[@class='time'],'Erstellt am') | 4 | date: substring-after(//*[@class='time'],'Erstellt am') |
5 | strip: //div[@class='fact'] | 5 | strip: //div[@class='fact'] |
6 | strip: //p[@class='backlink'] | 6 | strip: //p[@class='backlink'] |
7 | strip: //div[@class='mailto'] | 7 | strip: //div[@class='mailto'] |
8 | strip: //div[@id='forumDisclaimer'] | 8 | strip: //div[@id='forumDisclaimer'] |
9 | strip: //div[@class='forum'] | 9 | strip: //div[@class='forum'] |
10 | 10 | ||
11 | test_url: http://science.orf.at/stories/1700900/ \ No newline at end of file | 11 | test_url: http://science.orf.at/stories/1700900/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/scienceblogs.de.txt b/inc/3rdparty/site_config/standard/scienceblogs.de.txt index 08c16842..b0dec3d2 100644..100755 --- a/inc/3rdparty/site_config/standard/scienceblogs.de.txt +++ b/inc/3rdparty/site_config/standard/scienceblogs.de.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | single_page_link: //div[@class='c2c1']/div[@class='toptheme further line']//ul//li/a | 1 | single_page_link: //div[@class='c2c1']/div[@class='toptheme further line']//ul//li/a |
2 | 2 | ||
3 | author: //div[@class='details clear']//a[@class='hi'] | 3 | author: //div[@class='details clear']//a[@class='hi'] |
4 | body: //div[@class='title'] | 4 | body: //div[@class='title'] |
5 | strip: //p[@class='entrypagination'] | 5 | strip: //p[@class='entrypagination'] |
6 | strip: //p[@class='details_top'] | 6 | strip: //p[@class='details_top'] |
7 | date: //p[@class='details_top'] | 7 | date: //p[@class='details_top'] |
8 | title: //div[@class='title']/h1 | 8 | title: //div[@class='title']/h1 |
9 | strip: //p[@class='details'] | 9 | strip: //p[@class='details'] |
10 | strip: //p[@class='details_bottom'] | 10 | strip: //p[@class='details_bottom'] |
11 | 11 | ||
12 | test_url: http://www.scienceblogs.de/astrodicticum-simplex/2011/10/weltuntergang-reloaded-das-jungste-gericht-findet-am-21-oktober-statt.php \ No newline at end of file | 12 | test_url: http://www.scienceblogs.de/astrodicticum-simplex/2011/10/weltuntergang-reloaded-das-jungste-gericht-findet-am-21-oktober-statt.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/scienceticker.info.txt b/inc/3rdparty/site_config/standard/scienceticker.info.txt index 75a52824..2a06f734 100644..100755 --- a/inc/3rdparty/site_config/standard/scienceticker.info.txt +++ b/inc/3rdparty/site_config/standard/scienceticker.info.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | body: //div[@class='post'] | 1 | body: //div[@class='post'] |
2 | title: //h1[@id='singlePageTitle'] | 2 | title: //h1[@id='singlePageTitle'] |
3 | date: substring-before(//small,'• Rubrik') | 3 | date: substring-before(//small,'• Rubrik') |
4 | 4 | ||
5 | strip: //div[@class='post-ratings'] | 5 | strip: //div[@class='post-ratings'] |
6 | strip: //div[@class='post-ratings-loading'] | 6 | strip: //div[@class='post-ratings-loading'] |
7 | strip: //a[@title='Empfehlen Sie den Text weiter!'] | 7 | strip: //a[@title='Empfehlen Sie den Text weiter!'] |
8 | strip: //a[@title='Drucken'] | 8 | strip: //a[@title='Drucken'] |
9 | strip: //div[@class='share'] | 9 | strip: //div[@class='share'] |
10 | 10 | ||
11 | test_url: http://www.scienceticker.info/2011/11/24/forscher-finden-gedachtnismolekul/ \ No newline at end of file | 11 | test_url: http://www.scienceticker.info/2011/11/24/forscher-finden-gedachtnismolekul/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/scientificamerican.com.txt b/inc/3rdparty/site_config/standard/scientificamerican.com.txt index d510407d..1b3f31cf 100644..100755 --- a/inc/3rdparty/site_config/standard/scientificamerican.com.txt +++ b/inc/3rdparty/site_config/standard/scientificamerican.com.txt | |||
@@ -1,25 +1,25 @@ | |||
1 | # | 1 | # |
2 | # After site revisions at SciAm, this configuration does | 2 | # After site revisions at SciAm, this configuration does |
3 | # not work, especially for multi-page articles. For | 3 | # not work, especially for multi-page articles. For |
4 | # every article there is now a "Print" link which | 4 | # every article there is now a "Print" link which |
5 | # is far more reliable. So this configuration should be | 5 | # is far more reliable. So this configuration should be |
6 | # removed or disabled. | 6 | # removed or disabled. |
7 | # 2/3/13 | 7 | # 2/3/13 |
8 | # | 8 | # |
9 | 9 | ||
10 | # meta data | 10 | # meta data |
11 | title://h1[@class = 'articleTitle'] | 11 | title://h1[@class = 'articleTitle'] |
12 | author:substring-after(//span[@class = 'byline'],'By ') | 12 | author:substring-after(//span[@class = 'byline'],'By ') |
13 | date:substring-before(//span[@class = 'datestamp'],'|') | 13 | date:substring-before(//span[@class = 'datestamp'],'|') |
14 | 14 | ||
15 | #body content | 15 | #body content |
16 | body://div[@id = 'articleContent'] | 16 | body://div[@id = 'articleContent'] |
17 | #next_page_link://li[@id = 'flairPagination']/a[last()] | 17 | #next_page_link://li[@id = 'flairPagination']/a[last()] |
18 | 18 | ||
19 | single_page_link: //a[contains(@href, 'print=true')] | 19 | single_page_link: //a[contains(@href, 'print=true')] |
20 | 20 | ||
21 | #cleanup | 21 | #cleanup |
22 | strip://div[@class = 'fsgBooks'] | 22 | strip://div[@class = 'fsgBooks'] |
23 | 23 | ||
24 | test_url: http://www.scientificamerican.com/article.cfm?id=do-brain-scans-comatose-patients-reveal-conscious-state | 24 | test_url: http://www.scientificamerican.com/article.cfm?id=do-brain-scans-comatose-patients-reveal-conscious-state |
25 | test_url: http://www.scientificamerican.com/article.cfm?id=solar-wind-transforms-venus-into-shape-of-comet \ No newline at end of file | 25 | test_url: http://www.scientificamerican.com/article.cfm?id=solar-wind-transforms-venus-into-shape-of-comet \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/scilogs.de.txt b/inc/3rdparty/site_config/standard/scilogs.de.txt new file mode 100755 index 00000000..b24d7844 --- /dev/null +++ b/inc/3rdparty/site_config/standard/scilogs.de.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | title: //h1 | ||
2 | author: //div[@class='date']/a | ||
3 | date: substring-after(//div[@class='date'], ',') | ||
4 | body: //div[@class='entrybody'] | ||
5 | |||
6 | strip_id_or_class: socialshareprivacy | ||
7 | strip: //div[@class='entrybody']/br[1] | ||
8 | |||
9 | # Strip related articles | ||
10 | # 'p'-Tag strips 'Ähnliche Artikel: ' (<br> tags become <p>) | ||
11 | strip: //div[@class='entrybody']/p[last()] | ||
12 | strip: //div[@class='entrybody']/ul[last()] | ||
13 | |||
14 | convert_double_br_tags: yes | ||
15 | test_url: http://www.scilogs.de/wblogs/blog/formbar/fusion/2012-10-08/rundgang-durch-deutschlands-gr-tes-fusionsexperiment \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/scotusblog.com.txt b/inc/3rdparty/site_config/standard/scotusblog.com.txt index f29e37f9..8881bb45 100644..100755 --- a/inc/3rdparty/site_config/standard/scotusblog.com.txt +++ b/inc/3rdparty/site_config/standard/scotusblog.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //title | 1 | title: //title |
2 | author: //p[@id='author-name-role']/a | 2 | author: //p[@id='author-name-role']/a |
3 | date: substring-after(//p[@class='time'],'Posted') | 3 | date: substring-after(//p[@class='time'],'Posted') |
4 | body: //div[@id='main'] | 4 | body: //div[@id='main'] |
5 | strip: //div[@id='author-info'] | 5 | strip: //div[@id='author-info'] |
6 | strip: //div[@id='author-links'] | 6 | strip: //div[@id='author-links'] |
7 | strip: //h1 | 7 | strip: //h1 |
8 | test_url: http://www.scotusblog.com/2012/04/shaken-baby-case-an-update/ \ No newline at end of file | 8 | test_url: http://www.scotusblog.com/2012/04/shaken-baby-case-an-update/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/scraplab.net.txt b/inc/3rdparty/site_config/standard/scraplab.net.txt index 84be27f9..ca7ec195 100644..100755 --- a/inc/3rdparty/site_config/standard/scraplab.net.txt +++ b/inc/3rdparty/site_config/standard/scraplab.net.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | body: //div[@class='body'] | 2 | body: //div[@class='body'] |
3 | test_url: http://scraplab.net/2010/10/26/please-keep-your-belongings-with-you-at-all-times/ \ No newline at end of file | 3 | test_url: http://scraplab.net/2010/10/26/please-keep-your-belongings-with-you-at-all-times/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/scripting.com.txt b/inc/3rdparty/site_config/standard/scripting.com.txt index d8b969b1..5fb0ee79 100644..100755 --- a/inc/3rdparty/site_config/standard/scripting.com.txt +++ b/inc/3rdparty/site_config/standard/scripting.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | strip: //a[starts-with(@href, '#')] | 1 | strip: //a[starts-with(@href, '#')] |
2 | strip: //*[@class='storyByline'] | 2 | strip: //*[@class='storyByline'] |
3 | body: //*[@class='storyPageText']/.. | 3 | body: //*[@class='storyPageText']/.. |
4 | author: string('Dave Winer') | 4 | author: string('Dave Winer') |
5 | date: substring-before(substring-after(//*[@class='storyByline'], 'on'), 'at') | 5 | date: substring-before(substring-after(//*[@class='storyByline'], 'on'), 'at') |
6 | title: //h1 | 6 | title: //h1 |
7 | footnotes: no | 7 | footnotes: no |
8 | test_url: http://scripting.com/stories/2011/07/08/yeahImStillYawning.html \ No newline at end of file | 8 | test_url: http://scripting.com/stories/2011/07/08/yeahImStillYawning.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sct.temple.edu.txt b/inc/3rdparty/site_config/standard/sct.temple.edu.txt index 9927675b..55f24173 100644..100755 --- a/inc/3rdparty/site_config/standard/sct.temple.edu.txt +++ b/inc/3rdparty/site_config/standard/sct.temple.edu.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //*[@class="entry-content"] | 1 | body: //*[@class="entry-content"] |
2 | title: //h1[@class="entry-title"] | 2 | title: //h1[@class="entry-title"] |
3 | date: //*[@class="entry-date"] | 3 | date: //*[@class="entry-date"] |
4 | author: //*[@class="author vcard"] | 4 | author: //*[@class="author vcard"] |
5 | test_url: http://sct.temple.edu/blogs/news-events/2011/05/congratulations-sct-class-of-2011/ \ No newline at end of file | 5 | test_url: http://sct.temple.edu/blogs/news-events/2011/05/congratulations-sct-class-of-2011/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/searchenginejournal.com.txt b/inc/3rdparty/site_config/standard/searchenginejournal.com.txt new file mode 100755 index 00000000..dc98af3c --- /dev/null +++ b/inc/3rdparty/site_config/standard/searchenginejournal.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | strip: //ul[contains(@id, "social")] | ||
2 | strip: //div[contains(@class, "ts-fab-wrapper")] | ||
3 | strip: //div[contains(@id, 'gpt-ad')] | ||
4 | |||
5 | test_url: http://www.searchenginejournal.com/web-design-vs-seo-it-doesnt-make-much-sense/62294/ | ||
diff --git a/inc/3rdparty/site_config/standard/searchengineland.com.txt b/inc/3rdparty/site_config/standard/searchengineland.com.txt index f176d7c7..fb6a1074 100644..100755 --- a/inc/3rdparty/site_config/standard/searchengineland.com.txt +++ b/inc/3rdparty/site_config/standard/searchengineland.com.txt | |||
@@ -1,20 +1,20 @@ | |||
1 | body: //div[@class="storyBox"] | 1 | body: //div[@class="storyBox"] |
2 | title: //div[@class="storyBox"]/h1 | 2 | title: //div[@class="storyBox"]/h1 |
3 | author: //a[@rel="author"] | 3 | author: //a[@rel="author"] |
4 | date: substring-before(//span[@class="dateline"], 'by') | 4 | date: substring-before(//span[@class="dateline"], 'by') |
5 | 5 | ||
6 | #Removes related content but cleans up article text | 6 | #Removes related content but cleans up article text |
7 | strip: //h1 | 7 | strip: //h1 |
8 | strip: //p[@class="homeStory tdmSideInfo"] | 8 | strip: //p[@class="homeStory tdmSideInfo"] |
9 | strip: //div[@id="bylineShare"] | 9 | strip: //div[@id="bylineShare"] |
10 | strip: //script | 10 | strip: //script |
11 | strip: //hr | 11 | strip: //hr |
12 | 12 | ||
13 | strip_id_or_class: homeStory | 13 | strip_id_or_class: homeStory |
14 | strip_id_or_class: authorpic | 14 | strip_id_or_class: authorpic |
15 | strip_id_or_class: insideComments | 15 | strip_id_or_class: insideComments |
16 | strip_id_or_class: authorbio | 16 | strip_id_or_class: authorbio |
17 | strip_id_or_class: gpt-ad-sel-cube | 17 | strip_id_or_class: gpt-ad-sel-cube |
18 | strip_id_or_class: smxTextAd | 18 | strip_id_or_class: smxTextAd |
19 | 19 | ||
20 | test_url: http://searchengineland.com/googles-jaw-dropping-sponsored-post-campaign-for-chrome-106348 \ No newline at end of file | 20 | test_url: http://searchengineland.com/googles-jaw-dropping-sponsored-post-campaign-for-chrome-106348 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/seattletransitblog.com.txt b/inc/3rdparty/site_config/standard/seattletransitblog.com.txt index 5129c069..5129c069 100644..100755 --- a/inc/3rdparty/site_config/standard/seattletransitblog.com.txt +++ b/inc/3rdparty/site_config/standard/seattletransitblog.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/sebbo.net.txt b/inc/3rdparty/site_config/standard/sebbo.net.txt index 3e800a16..b6d9c92d 100644..100755 --- a/inc/3rdparty/site_config/standard/sebbo.net.txt +++ b/inc/3rdparty/site_config/standard/sebbo.net.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: substring-before(//title, '«') | 1 | title: substring-before(//title, '«') |
2 | body: //div[@class = 'entry'] | 2 | body: //div[@class = 'entry'] |
3 | strip_id_or_class: 'postmetabox' | 3 | strip_id_or_class: 'postmetabox' |
4 | test_url: http://sebbo.net/2010/12/akkus/ \ No newline at end of file | 4 | test_url: http://sebbo.net/2010/12/akkus/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/select.yeeyan.org.txt b/inc/3rdparty/site_config/standard/select.yeeyan.org.txt new file mode 100755 index 00000000..6e98b149 --- /dev/null +++ b/inc/3rdparty/site_config/standard/select.yeeyan.org.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://select.yeeyan.org/view/18312/332365 | ||
3 | # http://select.yeeyan.org/view/365295/333788 | ||
4 | # http://select.yeeyan.org/view/174464/332336 | ||
5 | |||
6 | tidy:no | ||
7 | prune:no | ||
8 | title://h1 | ||
9 | author: //div[@class='sa_author']/span/a | ||
10 | date: substring-after(//div[@class='sa_author']/span/following-sibling::span, ':') | ||
11 | body: //div[@class='sa_left closetag'] | ||
12 | wrap_in(b)://div[@class='sa_abstract'] | ||
13 | |||
14 | strip://ul[@class='sa_next clearfix'] | ||
15 | strip: //div[@class='sa_author'] | ||
16 | strip: //div[@class='sa_title_box'] | ||
17 | |||
18 | test_url: http://select.yeeyan.org/view/258033/333481 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/seriouseats.com.txt b/inc/3rdparty/site_config/standard/seriouseats.com.txt index d7b4788c..5e633470 100644..100755 --- a/inc/3rdparty/site_config/standard/seriouseats.com.txt +++ b/inc/3rdparty/site_config/standard/seriouseats.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='content'] |
2 | 2 | ||
3 | # clean up recipe pages | 3 | # clean up recipe pages |
4 | strip: //h2[@class='fn'] | //h2[@class='double-lined'] | //h3 | //div[@id='threeColumn2'] | //div[@id='threeColumn3'] | 4 | strip: //h2[@class='fn'] | //h2[@class='double-lined'] | //h3 | //div[@id='threeColumn2'] | //div[@id='threeColumn3'] |
5 | 5 | ||
6 | #recipe pages | 6 | #recipe pages |
7 | strip_id_or_class: "recipe-feedback" | 7 | strip_id_or_class: "recipe-feedback" |
8 | strip_id_or_class: "comments" | 8 | strip_id_or_class: "comments" |
9 | strip_id_or_class: "procedure-number" | 9 | strip_id_or_class: "procedure-number" |
10 | strip_id_or_class: "more-with-author" | 10 | strip_id_or_class: "more-with-author" |
11 | 11 | ||
12 | #slice | 12 | #slice |
13 | strip_id_or_class: "inner" | 13 | strip_id_or_class: "inner" |
14 | 14 | ||
15 | test_url: http://www.seriouseats.com/recipes/2010/09/peking-duck-mandarin-pancakes-plum-sauce-recipe.html \ No newline at end of file | 15 | test_url: http://www.seriouseats.com/recipes/2010/09/peking-duck-mandarin-pancakes-plum-sauce-recipe.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sf.curbed.com.txt b/inc/3rdparty/site_config/standard/sf.curbed.com.txt index 9f443d5c..4c10e9c7 100644..100755 --- a/inc/3rdparty/site_config/standard/sf.curbed.com.txt +++ b/inc/3rdparty/site_config/standard/sf.curbed.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h1[@class='post-title'] | 1 | title: //h1[@class='post-title'] |
2 | author: //div[@class='post-byline']/a | 2 | author: //div[@class='post-byline']/a |
3 | date: substring-before(//div[@class='post-byline'], ', by') | 3 | date: substring-before(//div[@class='post-byline'], ', by') |
4 | 4 | ||
5 | body: //div[@class='post-body'] | 5 | body: //div[@class='post-body'] |
6 | dissolve: //noscript | 6 | dissolve: //noscript |
7 | test_url: http://sf.curbed.com/archives/2011/10/17/lower_haight_loft_would_really_really_really_like_a_buyer.php \ No newline at end of file | 7 | test_url: http://sf.curbed.com/archives/2011/10/17/lower_haight_loft_would_really_really_really_like_a_buyer.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sf.eater.com.txt b/inc/3rdparty/site_config/standard/sf.eater.com.txt index fca656d2..1e7c85a0 100644..100755 --- a/inc/3rdparty/site_config/standard/sf.eater.com.txt +++ b/inc/3rdparty/site_config/standard/sf.eater.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h1[@class="post-title"] | 1 | title: //h1[@class="post-title"] |
2 | author: //div[@class="post-byline"]/a | 2 | author: //div[@class="post-byline"]/a |
3 | date: substring-before(//div[@class='post-byline'], ', by') | 3 | date: substring-before(//div[@class='post-byline'], ', by') |
4 | 4 | ||
5 | body: //div[@class='post-body'] | 5 | body: //div[@class='post-body'] |
6 | strip_id_or_class: post-kicker | 6 | strip_id_or_class: post-kicker |
7 | test_url: http://sf.eater.com/archives/2012/05/22/nate_pollack_talks_about_the_american_grilled_cheese_kitchen_moving_into_the_mission.php \ No newline at end of file | 7 | test_url: http://sf.eater.com/archives/2012/05/22/nate_pollack_talks_about_the_american_grilled_cheese_kitchen_moving_into_the_mission.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sfgate.com.txt b/inc/3rdparty/site_config/standard/sfgate.com.txt index 5f73fbcb..54691122 100644..100755 --- a/inc/3rdparty/site_config/standard/sfgate.com.txt +++ b/inc/3rdparty/site_config/standard/sfgate.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: /html/head/title | 1 | title: /html/head/title |
2 | 2 | ||
3 | body: //div[@id = 'articlecontent']/div[contains(@class, 'bodytext')] | 3 | body: //div[@id = 'articlecontent']/div[contains(@class, 'bodytext')] |
4 | author: //div[@class = 'articleheadings']/p[contains(@class,'author')]/span[@class = 'fn'] | 4 | author: //div[@class = 'articleheadings']/p[contains(@class,'author')]/span[@class = 'fn'] |
5 | date: //div[@class = 'articleheadings']/span[@class = 'updated'] | 5 | date: //div[@class = 'articleheadings']/span[@class = 'updated'] |
6 | strip: //div[div[contains(@class, 'imgbox')]] | 6 | strip: //div[div[contains(@class, 'imgbox')]] |
7 | 7 | ||
8 | body: //div[@class = 'blogitem'] | 8 | body: //div[@class = 'blogitem'] |
9 | author: //p[@class="credit"]/span[@class="author"]/a[position() = 1] | 9 | author: //p[@class="credit"]/span[@class="author"]/a[position() = 1] |
10 | date: //span[@class = 'pubdate'] | 10 | date: //span[@class = 'pubdate'] |
11 | 11 | ||
12 | test_url: http://www.sfgate.com/columnists/garchik/ \ No newline at end of file | 12 | test_url: http://www.sfgate.com/columnists/garchik/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sfweekly.com.txt b/inc/3rdparty/site_config/standard/sfweekly.com.txt index a11fe4cb..73c3017e 100644..100755 --- a/inc/3rdparty/site_config/standard/sfweekly.com.txt +++ b/inc/3rdparty/site_config/standard/sfweekly.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[contains(@class, 'content_body')] | 1 | body: //div[contains(@class, 'content_body')] |
2 | strip_id_or_class: det_rel | 2 | strip_id_or_class: det_rel |
3 | test_url: http://www.sfweekly.com/2012-03-14/news/cia-lsd-wayne-ritchie-george-h-white-mk-ultra/ \ No newline at end of file | 3 | test_url: http://www.sfweekly.com/2012-03-14/news/cia-lsd-wayne-ritchie-george-h-white-mk-ultra/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/shabayek.com.txt b/inc/3rdparty/site_config/standard/shabayek.com.txt index b175720e..9a0d60ae 100644..100755 --- a/inc/3rdparty/site_config/standard/shabayek.com.txt +++ b/inc/3rdparty/site_config/standard/shabayek.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | date: //span[@class='date'] | 1 | date: //span[@class='date'] |
2 | body: //div[@class='post_content'] | 2 | body: //div[@class='post_content'] |
3 | test_url: http://www.shabayek.com/blog/2011/10/16/%D8%AF%D8%B1%D9%88%D8%B3-%D9%85%D9%86-%D9%82%D8%B5%D8%A9-%D8%AA%D8%A3%D8%B3%D9%8A%D8%B3-%D8%AA%D9%88%D9%8A%D8%AA%D8%B1-%E2%80%93%D8%AC3/ \ No newline at end of file | 3 | test_url: http://www.shabayek.com/blog/2011/10/16/%D8%AF%D8%B1%D9%88%D8%B3-%D9%85%D9%86-%D9%82%D8%B5%D8%A9-%D8%AA%D8%A3%D8%B3%D9%8A%D8%B3-%D8%AA%D9%88%D9%8A%D8%AA%D8%B1-%E2%80%93%D8%AC3/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/shawnblanc.net.txt b/inc/3rdparty/site_config/standard/shawnblanc.net.txt index b536fc3a..bd8438f7 100644..100755 --- a/inc/3rdparty/site_config/standard/shawnblanc.net.txt +++ b/inc/3rdparty/site_config/standard/shawnblanc.net.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title://*[@class='primary']/h1 | 1 | title://*[@class='primary']/h1 |
2 | date: //*[@class='articledate'] | 2 | date: //*[@class='articledate'] |
3 | author: substring-before(substring-after(//*[@class='block first']/p,'2012 '),'.') | 3 | author: substring-before(substring-after(//*[@class='block first']/p,'2012 '),'.') |
4 | body: //div[@class='primary'] | 4 | body: //div[@class='primary'] |
5 | footnotes: yes | 5 | footnotes: yes |
6 | strip: //*[@class='primary']/h1 | 6 | strip: //*[@class='primary']/h1 |
7 | strip: //*[@class='articledate'] | 7 | strip: //*[@class='articledate'] |
8 | strip: //*[@class='detailsarticle'] | 8 | strip: //*[@class='detailsarticle'] |
9 | strip: //*[@class='endnav'] | 9 | strip: //*[@class='endnav'] |
10 | strip: //*[@class='endmeta'] | 10 | strip: //*[@class='endmeta'] |
11 | test_url: http://shawnblanc.net/2011/11/kindle-touch-review/ \ No newline at end of file | 11 | test_url: http://shawnblanc.net/2011/11/kindle-touch-review/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/shifteleven.com.txt b/inc/3rdparty/site_config/standard/shifteleven.com.txt index 68059ae1..43fd871d 100644..100755 --- a/inc/3rdparty/site_config/standard/shifteleven.com.txt +++ b/inc/3rdparty/site_config/standard/shifteleven.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[ @class='entry-content' ] | 1 | body: //div[ @class='entry-content' ] |
2 | 2 | ||
3 | strip: //div[ contains(@class, 'sharing') ] | 3 | strip: //div[ contains(@class, 'sharing') ] |
4 | 4 | ||
5 | date: //div[ @class='entry-meta' ]/a | 5 | date: //div[ @class='entry-meta' ]/a |
6 | test_url: http://shifteleven.com/articles/2008/05/10/issue-tracking-git-ticgit \ No newline at end of file | 6 | test_url: http://shifteleven.com/articles/2008/05/10/issue-tracking-git-ticgit \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/siasat.pk.txt b/inc/3rdparty/site_config/standard/siasat.pk.txt index a82ce69c..b10e12de 100644..100755 --- a/inc/3rdparty/site_config/standard/siasat.pk.txt +++ b/inc/3rdparty/site_config/standard/siasat.pk.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | #body: (//div[@class='ftr-yt-vid'])[1] | 1 | #body: (//div[@class='ftr-yt-vid'])[1] |
2 | body: (//blockquote[contains(@class, 'postcontent')])[1] | 2 | body: (//blockquote[contains(@class, 'postcontent')])[1] |
3 | body: (//div[starts-with(@id, 'post_message')])[1] | 3 | body: (//div[starts-with(@id, 'post_message')])[1] |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | tidy: no | 6 | tidy: no |
7 | 7 | ||
8 | #replace_string(<iframe title="YouTube video player"): <div class="ftr-yt-vid"><iframe title="YouTube video player" | 8 | #replace_string(<iframe title="YouTube video player"): <div class="ftr-yt-vid"><iframe title="YouTube video player" |
9 | #replace_string(</iframe>): </iframe> </div> | 9 | #replace_string(</iframe>): </iframe> </div> |
10 | 10 | ||
11 | test_url: http://www.siasat.pk/forum/showthread.php?107668-Policy-Matters-17th-March-2012-Dr-Shahid-Masood-Gen-Hameed-gul-amp-Fawad-Chudhary-Pak-US-Relationship&p=787733 \ No newline at end of file | 11 | test_url: http://www.siasat.pk/forum/showthread.php?107668-Policy-Matters-17th-March-2012-Dr-Shahid-Masood-Gen-Hameed-gul-amp-Fawad-Chudhary-Pak-US-Relationship&p=787733 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/signalscv.com.txt b/inc/3rdparty/site_config/standard/signalscv.com.txt new file mode 100755 index 00000000..2d3c388e --- /dev/null +++ b/inc/3rdparty/site_config/standard/signalscv.com.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | author: //span[contains(@class, 'byline_1')] | ||
2 | date: //span[@class='posted_date'] | ||
3 | body: //*[contains(@class, 'bigimage_container') or contains(@class, 'overlay_text') or contains(@id, 'articlebody')] | ||
4 | |||
5 | strip_id_or_class: leftWrapper | ||
6 | |||
7 | prune: no | ||
8 | |||
9 | test_url: http://www.signalscv.com/section/46/article/102948/ | ||
10 | test_url: http://www.signalscv.com/syndication/feeds/rss/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/simonwillison.net.txt b/inc/3rdparty/site_config/standard/simonwillison.net.txt index e3ad6e41..69999698 100644..100755 --- a/inc/3rdparty/site_config/standard/simonwillison.net.txt +++ b/inc/3rdparty/site_config/standard/simonwillison.net.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[contains(@class, "entry")] | 1 | body: //div[contains(@class, "entry")] |
2 | 2 | ||
3 | date: //div[contains(@class, "entryFooter")]/a | 3 | date: //div[contains(@class, "entryFooter")]/a |
4 | 4 | ||
5 | test_url: http://simonwillison.net/2009/Oct/22/redis/ \ No newline at end of file | 5 | test_url: http://simonwillison.net/2009/Oct/22/redis/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/singaporeanstocksinvestor.blogspot.com.txt b/inc/3rdparty/site_config/standard/singaporeanstocksinvestor.blogspot.com.txt index a1b6b673..46e2d5f2 100644..100755 --- a/inc/3rdparty/site_config/standard/singaporeanstocksinvestor.blogspot.com.txt +++ b/inc/3rdparty/site_config/standard/singaporeanstocksinvestor.blogspot.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@class='post-body'] | 1 | body: //div[@class='post-body'] |
2 | strip: //div[@id='lws_0'] | 2 | strip: //div[@id='lws_0'] |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: http://singaporeanstocksinvestor.blogspot.com/2011/04/aims-amp-capital-industrial-reit.html \ No newline at end of file | 5 | test_url: http://singaporeanstocksinvestor.blogspot.com/2011/04/aims-amp-capital-industrial-reit.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/singularityhub.com.txt b/inc/3rdparty/site_config/standard/singularityhub.com.txt index 3999d4d4..3999d4d4 100644..100755 --- a/inc/3rdparty/site_config/standard/singularityhub.com.txt +++ b/inc/3rdparty/site_config/standard/singularityhub.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/sintagoulis.gr.txt b/inc/3rdparty/site_config/standard/sintagoulis.gr.txt index 822bbeb0..0d05c40e 100644..100755 --- a/inc/3rdparty/site_config/standard/sintagoulis.gr.txt +++ b/inc/3rdparty/site_config/standard/sintagoulis.gr.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@class='headline']//h2 | 1 | title: //div[@class='headline']//h2 |
2 | body: //div[contains(@class, 'storycontent')] | 2 | body: //div[contains(@class, 'storycontent')] |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | test_url: http://sintagoulis.gr/sokolatenia/sokolatenia-mpompa-me-amaretti- \ No newline at end of file | 6 | test_url: http://sintagoulis.gr/sokolatenia/sokolatenia-mpompa-me-amaretti- \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sivers.org.txt b/inc/3rdparty/site_config/standard/sivers.org.txt new file mode 100755 index 00000000..a88f30d7 --- /dev/null +++ b/inc/3rdparty/site_config/standard/sivers.org.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //article[@class='post']/header[@class='wrapper']//h1/a | ||
2 | author: //header[@id='masthead']//h1/a | ||
3 | date: //article[@class='post']/header[@class='wrapper']//p[@class='postdate'] | ||
4 | body: //div[@id='body-content'] | ||
5 | |||
6 | test_url: http://sivers.org/delegate/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/skanesfria.se.txt b/inc/3rdparty/site_config/standard/skanesfria.se.txt new file mode 100755 index 00000000..a0ddac79 --- /dev/null +++ b/inc/3rdparty/site_config/standard/skanesfria.se.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | body: //div[contains(@class, 'layout__inner')]//div[contains(@class, 'file-image') or contains(@class, 'node__content')] | ||
2 | author: //article//div[contains(@class, 'field-byline')] | ||
3 | strip_id_or_class: rekommenderade | ||
4 | strip_id_or_class: disqus | ||
5 | strip_id_or_class: annonser | ||
6 | |||
7 | test_url: http://www.skanesfria.se/artikel/112045 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/slashfilm.com.txt b/inc/3rdparty/site_config/standard/slashfilm.com.txt index 78d38ecf..4d17176a 100644..100755 --- a/inc/3rdparty/site_config/standard/slashfilm.com.txt +++ b/inc/3rdparty/site_config/standard/slashfilm.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | title: substring-before(//title,'| /Film') | 1 | title: substring-before(//title,'| /Film') |
2 | date: substring-before(substring-after(//p[@class='post-info'],'Posted on '),'by') | 2 | date: substring-before(substring-after(//p[@class='post-info'],'Posted on '),'by') |
3 | strip: //div[@class='pm-left'] | 3 | strip: //div[@class='pm-left'] |
4 | strip: //div[@class='pm-right'] | 4 | strip: //div[@class='pm-right'] |
5 | strip: //h2/span | 5 | strip: //h2/span |
6 | next_page_link: //h2/strong/a | 6 | next_page_link: //h2/strong/a |
7 | strip: //h2/strong/a | 7 | strip: //h2/strong/a |
8 | strip: //p[contains(text(),'we have to split this post over')] | 8 | strip: //p[contains(text(),'we have to split this post over')] |
9 | strip: //p[@class='post-info'] | 9 | strip: //p[@class='post-info'] |
10 | strip: //h1/a | 10 | strip: //h1/a |
11 | strip: //img[contains(@src,'siteimages/authors')] | 11 | strip: //img[contains(@src,'siteimages/authors')] |
12 | strip: //div[@id='header'] | 12 | strip: //div[@id='header'] |
13 | strip: //div[@class='topad-right'] | 13 | strip: //div[@class='topad-right'] |
14 | strip: //strong[contains(text(),'Cool Posts From Around the Web:')] | 14 | strip: //strong[contains(text(),'Cool Posts From Around the Web:')] |
15 | test_url: http://www.slashfilm.com/superhero-bits-206/ \ No newline at end of file | 15 | test_url: http://www.slashfilm.com/superhero-bits-206/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/slate.com.txt b/inc/3rdparty/site_config/standard/slate.com.txt index e92f6a06..d5798e01 100644..100755 --- a/inc/3rdparty/site_config/standard/slate.com.txt +++ b/inc/3rdparty/site_config/standard/slate.com.txt | |||
@@ -1,19 +1,19 @@ | |||
1 | title: //h1[@class="sl-art-head-dek"] | 1 | title: //h1[@class="sl-art-head-dek"] |
2 | body: //article//div[@class='sl-art-body']/div[contains(@class, 'body')] | 2 | body: //article//div[@class='sl-art-body']/div[contains(@class, 'body')] |
3 | strip: //div[@class="department_kicker"] | 3 | strip: //div[@class="department_kicker"] |
4 | strip: //div[@id="insider_ad_wrapper" or @id="insider_ad_inner"] | 4 | strip: //div[@id="insider_ad_wrapper" or @id="insider_ad_inner"] |
5 | strip: //div[@id="bottom_sponsored_links"] | 5 | strip: //div[@id="bottom_sponsored_links"] |
6 | strip: //div[@class="sl-art-ad-midflex"] | 6 | strip: //div[@class="sl-art-ad-midflex"] |
7 | #strip: //dl | 7 | #strip: //dl |
8 | #strip: //p[em/a[contains(@href, 'facebook.com')]] | 8 | #strip: //p[em/a[contains(@href, 'facebook.com')]] |
9 | prune: no | 9 | prune: no |
10 | 10 | ||
11 | author: //div[@id='author_bio']//a[contains(@href, '/author/')] | 11 | author: //div[@id='author_bio']//a[contains(@href, '/author/')] |
12 | author: //a[contains(@href, '/authors.')] | 12 | author: //a[contains(@href, '/authors.')] |
13 | 13 | ||
14 | date: substring-before(substring-after(//span[@class='sl-art-byline'], 'Posted '), ', at ') | 14 | date: substring-before(substring-after(//span[@class='sl-art-byline'], 'Posted '), ', at ') |
15 | 15 | ||
16 | single_page_link: //a[@class='sl-art-sinpage'] | 16 | single_page_link: //a[@class='sl-art-sinpage'] |
17 | 17 | ||
18 | test_url: http://www.slate.com/id/2274583/pagenum/all/ | 18 | test_url: http://www.slate.com/id/2274583/pagenum/all/ |
19 | test_url: http://www.slate.com/id/2293116/ \ No newline at end of file | 19 | test_url: http://www.slate.com/id/2293116/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/slice.seriouseats.com.txt b/inc/3rdparty/site_config/standard/slice.seriouseats.com.txt index 1a902b96..e62a3966 100644..100755 --- a/inc/3rdparty/site_config/standard/slice.seriouseats.com.txt +++ b/inc/3rdparty/site_config/standard/slice.seriouseats.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='content'] |
2 | 2 | ||
3 | # clean up recipe pages | 3 | # clean up recipe pages |
4 | strip: //h2[@class='fn'] | //h2[@class='double-lined'] | //h3 | //div[@id='threeColumn2'] | //div[@id='threeColumn3'] | 4 | strip: //h2[@class='fn'] | //h2[@class='double-lined'] | //h3 | //div[@id='threeColumn2'] | //div[@id='threeColumn3'] |
5 | 5 | ||
6 | #recipe pages | 6 | #recipe pages |
7 | strip_id_or_class: "recipe-feedback" | 7 | strip_id_or_class: "recipe-feedback" |
8 | strip_id_or_class: "comments" | 8 | strip_id_or_class: "comments" |
9 | strip_id_or_class: "procedure-number" | 9 | strip_id_or_class: "procedure-number" |
10 | strip_id_or_class: "more-with-author" | 10 | strip_id_or_class: "more-with-author" |
11 | 11 | ||
12 | #slice | 12 | #slice |
13 | strip_id_or_class: "inner" | 13 | strip_id_or_class: "inner" |
14 | 14 | ||
15 | test_url: http://slice.seriouseats.com/archives/2010/10/the-pizza-lab-how-to-make-great-new-york-style-pizza.html \ No newline at end of file | 15 | test_url: http://slice.seriouseats.com/archives/2010/10/the-pizza-lab-how-to-make-great-new-york-style-pizza.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/slog.thestranger.com.txt b/inc/3rdparty/site_config/standard/slog.thestranger.com.txt index daa5e31b..f9526945 100644..100755 --- a/inc/3rdparty/site_config/standard/slog.thestranger.com.txt +++ b/inc/3rdparty/site_config/standard/slog.thestranger.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | strip_id_or_class: postCategory | 1 | strip_id_or_class: postCategory |
2 | title: //h3[@class='postTitle'] | 2 | title: //h3[@class='postTitle'] |
3 | body: //div[@class='postBody'] | 3 | body: //div[@class='postBody'] |
4 | test_url: http://slog.thestranger.com/slog/archives/2010/10/12/sl-letter-of-the-day-leave-it-alone \ No newline at end of file | 4 | test_url: http://slog.thestranger.com/slog/archives/2010/10/12/sl-letter-of-the-day-leave-it-alone \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/smartinvestor.de.txt b/inc/3rdparty/site_config/standard/smartinvestor.de.txt index ec6c55c8..85ca46de 100644..100755 --- a/inc/3rdparty/site_config/standard/smartinvestor.de.txt +++ b/inc/3rdparty/site_config/standard/smartinvestor.de.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //td[@class='hweissblau2'] | 1 | title: //td[@class='hweissblau2'] |
2 | body: //p[@class='copy'] | //div[@class='Section1'] | 2 | body: //p[@class='copy'] | //div[@class='Section1'] |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: http://www.smartinvestor.de/news/smartinvestor/detail.hbs?itemid=item949496655&recnr=14593 \ No newline at end of file | 5 | test_url: http://www.smartinvestor.de/news/smartinvestor/detail.hbs?itemid=item949496655&recnr=14593 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sme.sk.txt b/inc/3rdparty/site_config/standard/sme.sk.txt index c3d01ffb..d41612cc 100644..100755 --- a/inc/3rdparty/site_config/standard/sme.sk.txt +++ b/inc/3rdparty/site_config/standard/sme.sk.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //meta[@property='og:title']/@content | 1 | title: //meta[@property='og:title']/@content |
2 | date: //p[@class='autor_line']/b/text() | 2 | date: //p[@class='autor_line']/b/text() |
3 | test_url: http://www.sme.sk/c/6268206/lipsic-vidi-malcharkove-uplatky.html \ No newline at end of file | 3 | test_url: http://www.sme.sk/c/6268206/lipsic-vidi-malcharkove-uplatky.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/smithsonianmag.com.txt b/inc/3rdparty/site_config/standard/smithsonianmag.com.txt index 10a3f717..3e8fee95 100644..100755 --- a/inc/3rdparty/site_config/standard/smithsonianmag.com.txt +++ b/inc/3rdparty/site_config/standard/smithsonianmag.com.txt | |||
@@ -1,20 +1,20 @@ | |||
1 | # meta data | 1 | # meta data |
2 | title://h1[@id = 'articleTitle'] | 2 | title://h1[@id = 'articleTitle'] |
3 | author:substring-after(//ul[@id = 'byLine']/li[1],'By ') | 3 | author:substring-after(//ul[@id = 'byLine']/li[1],'By ') |
4 | date:substring-before(substring-after(//ul[@id = 'byLine']/li[last()],','),',') | 4 | date:substring-before(substring-after(//ul[@id = 'byLine']/li[last()],','),',') |
5 | body://div[@id = 'article-body'] | 5 | body://div[@id = 'article-body'] |
6 | 6 | ||
7 | # full content | 7 | # full content |
8 | single_page_link://td/li[@class = 'article-singlepage']/a | 8 | single_page_link://td/li[@class = 'article-singlepage']/a |
9 | 9 | ||
10 | # caption clean up | 10 | # caption clean up |
11 | wrap_in(i)://span[@class='articleImageCaptionwide'] | 11 | wrap_in(i)://span[@class='articleImageCaptionwide'] |
12 | move_into (//span[@class='articleImageCaptionwide'])://div[@id = 'articleImage']/p | 12 | move_into (//span[@class='articleImageCaptionwide'])://div[@id = 'articleImage']/p |
13 | 13 | ||
14 | 14 | ||
15 | # clean up | 15 | # clean up |
16 | strip://p[@id = 'articlePaginationWrapper'] | 16 | strip://p[@id = 'articlePaginationWrapper'] |
17 | strip://ul[contains(@class, 'cat-breadcrumb')] | 17 | strip://ul[contains(@class, 'cat-breadcrumb')] |
18 | strip://div [@class= 'viewMorePhotos'] | 18 | strip://div [@class= 'viewMorePhotos'] |
19 | 19 | ||
20 | test_url: http://www.smithsonianmag.com/history-archaeology/The-Goddess-Goes-Home.html \ No newline at end of file | 20 | test_url: http://www.smithsonianmag.com/history-archaeology/The-Goddess-Goes-Home.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/smokingapples.com.txt b/inc/3rdparty/site_config/standard/smokingapples.com.txt index e22af7a9..c68c1321 100644..100755 --- a/inc/3rdparty/site_config/standard/smokingapples.com.txt +++ b/inc/3rdparty/site_config/standard/smokingapples.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h2[@class='custom-entry-title'] | 1 | title: //h2[@class='custom-entry-title'] |
2 | author: substring-after(//span[@class='author vcard'],'by ') | 2 | author: substring-after(//span[@class='author vcard'],'by ') |
3 | date: substring-after(//span[@class='publ'],'Published on ') | 3 | date: substring-after(//span[@class='publ'],'Published on ') |
4 | body: //div[@class='postentry-content'] | 4 | body: //div[@class='postentry-content'] |
5 | test_url: http://smokingapples.com/software/popclip-for-mac/ \ No newline at end of file | 5 | test_url: http://smokingapples.com/software/popclip-for-mac/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/somethingawful.com.txt b/inc/3rdparty/site_config/standard/somethingawful.com.txt new file mode 100755 index 00000000..48547948 --- /dev/null +++ b/inc/3rdparty/site_config/standard/somethingawful.com.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | title: //h1 | ||
2 | body: //div[@id = 'content-area'] | ||
3 | author: //p[contains(@class, 'byline')]/a | ||
4 | autodetect_next_page: yes | ||
5 | tidy: no | ||
6 | |||
7 | strip_id_or_class: articleid | ||
8 | strip_id_or_class: logo | ||
9 | strip_id_or_class: pagebar | ||
10 | strip_id_or_class: featurenavlinks | ||
11 | strip_id_or_class: featured_frontpage | ||
12 | strip_id_or_class: sidebar | ||
13 | strip_id_or_class: footer | ||
14 | strip_id_or_class: byline | ||
15 | strip_id_or_class: logo | ||
16 | strip_id_or_class: nav_network | ||
17 | test_url: http://www.somethingawful.com/d/dungeons-and-dragons/wtf-monster-manual.php \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/songshuhui.net.txt b/inc/3rdparty/site_config/standard/songshuhui.net.txt new file mode 100755 index 00000000..a9233593 --- /dev/null +++ b/inc/3rdparty/site_config/standard/songshuhui.net.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://songshuhui.net/archives/65522 | ||
3 | # http://songshuhui.net/archives/75760 | ||
4 | title://h2/span/a | ||
5 | date:substring-before(substring-after(//div[@class='atrctitle']/div, 'å‘表于'),' |') | ||
6 | body://div[@class='entry'] | ||
7 | test_url: http://songshuhui.net/archives/74819 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/sourcebooks.com.txt b/inc/3rdparty/site_config/standard/sourcebooks.com.txt index 668fc44a..b52169da 100644..100755 --- a/inc/3rdparty/site_config/standard/sourcebooks.com.txt +++ b/inc/3rdparty/site_config/standard/sourcebooks.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | #grab the actual content div | 1 | #grab the actual content div |
2 | body: //div[@class='rt-article'] | 2 | body: //div[@class='rt-article'] |
3 | 3 | ||
4 | test_url: http://www.sourcebooks.com/next/sourcebooks-next-our-blog/1601-another-piece-of-the-e-puzzle-or-when-good-ebook-promotions-go-bad.html \ No newline at end of file | 4 | test_url: http://www.sourcebooks.com/next/sourcebooks-next-our-blog/1601-another-piece-of-the-e-puzzle-or-when-good-ebook-promotions-go-bad.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/spectator.co.uk.txt b/inc/3rdparty/site_config/standard/spectator.co.uk.txt index a05c8395..d0605ed2 100644..100755 --- a/inc/3rdparty/site_config/standard/spectator.co.uk.txt +++ b/inc/3rdparty/site_config/standard/spectator.co.uk.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | author: /html/body/div[@id='wrapper']/div[@id='main-content']/div[@class='article_body']/a[@class='author-link']/child::text() | 1 | author: /html/body/div[@id='wrapper']/div[@id='main-content']/div[@class='article_body']/a[@class='author-link']/child::text() |
2 | 2 | ||
3 | body: /html/body/div[@id='wrapper']/div[@id='main-content']/div[@class='article_body'] | 3 | body: /html/body/div[@id='wrapper']/div[@id='main-content']/div[@class='article_body'] |
4 | 4 | ||
5 | # Not very helpfull, the title and author are container by the same element that contains the body | 5 | # Not very helpfull, the title and author are container by the same element that contains the body |
6 | strip: /html/body/div[@id='wrapper']/div[@id='main-content']/div[@class='article_body']/h2 | /html/body/div[@id='wrapper']/div[@id='main-content']/div[@class='article_body']/a[@class='author-link'] | 6 | strip: /html/body/div[@id='wrapper']/div[@id='main-content']/div[@class='article_body']/h2 | /html/body/div[@id='wrapper']/div[@id='main-content']/div[@class='article_body']/a[@class='author-link'] |
7 | test_url: http://www.spectator.co.uk/arts-and-culture/night-and-day/7449683/spotify-sunday-my-personal-soundtrack.thtml \ No newline at end of file | 7 | test_url: http://www.spectator.co.uk/arts-and-culture/night-and-day/7449683/spotify-sunday-my-personal-soundtrack.thtml \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/spectrum.ieee.org.txt b/inc/3rdparty/site_config/standard/spectrum.ieee.org.txt index 4b0704a8..aea3627e 100644..100755 --- a/inc/3rdparty/site_config/standard/spectrum.ieee.org.txt +++ b/inc/3rdparty/site_config/standard/spectrum.ieee.org.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body://div[@class="articleBody"] | 1 | body://div[@class="articleBody"] |
2 | author://p[@class="articleBodyTtl"] | 2 | author://p[@class="articleBodyTtl"] |
3 | test_url: http://spectrum.ieee.org/semiconductors/processors/behind-intels-new-randomnumber-generator/ \ No newline at end of file | 3 | test_url: http://spectrum.ieee.org/semiconductors/processors/behind-intels-new-randomnumber-generator/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/speirs.org.txt b/inc/3rdparty/site_config/standard/speirs.org.txt index 3bf859e3..3bf859e3 100644..100755 --- a/inc/3rdparty/site_config/standard/speirs.org.txt +++ b/inc/3rdparty/site_config/standard/speirs.org.txt | |||
diff --git a/inc/3rdparty/site_config/standard/spiegel.de.txt b/inc/3rdparty/site_config/standard/spiegel.de.txt index 390c075c..413e0155 100644..100755 --- a/inc/3rdparty/site_config/standard/spiegel.de.txt +++ b/inc/3rdparty/site_config/standard/spiegel.de.txt | |||
@@ -1,75 +1,75 @@ | |||
1 | # A. Niepel, narya.de@... | 1 | # A. Niepel, narya.de@... |
2 | # - added single_page_link | 2 | # - added single_page_link |
3 | # - added author for default and single page view | 3 | # - added author for default and single page view |
4 | # - added date for single page view | 4 | # - added date for single page view |
5 | # fforst@... | 5 | # fforst@... |
6 | # - Fixed it | 6 | # - Fixed it |
7 | # bode2104@... | 7 | # bode2104@... |
8 | # - Fixed single_page_link | 8 | # - Fixed single_page_link |
9 | # - Included intro text in single page view | 9 | # - Included intro text in single page view |
10 | # - Added body in default view | 10 | # - Added body in default view |
11 | 11 | ||
12 | # set body | 12 | # set body |
13 | tidy: no | 13 | tidy: no |
14 | # body in single page view | 14 | # body in single page view |
15 | body: //div[@id="spArticleContent"] | 15 | body: //div[@id="spArticleContent"] |
16 | # body in default view | 16 | # body in default view |
17 | body: //div[@id="spArticleSection"] | 17 | body: //div[@id="spArticleSection"] |
18 | # body in "Fotostrecke" | 18 | # body in "Fotostrecke" |
19 | body: //div[@id="spBigaContent"] | 19 | body: //div[@id="spBigaContent"] |
20 | 20 | ||
21 | # set date in single page view | 21 | # set date in single page view |
22 | date: //div[@id="spArticleContent"]/h3 | 22 | date: //div[@id="spArticleContent"]/h3 |
23 | # strip date | 23 | # strip date |
24 | strip: //div[@id="spArticleContent"]/h3 | 24 | strip: //div[@id="spArticleContent"]/h3 |
25 | # set date in "Fotostrecke" | 25 | # set date in "Fotostrecke" |
26 | date: //div[@id="spBigaDatum"] | 26 | date: //div[@id="spBigaDatum"] |
27 | 27 | ||
28 | #set title in single page view | 28 | #set title in single page view |
29 | title: //div[@id='spArticleContent']/h2 | 29 | title: //div[@id='spArticleContent']/h2 |
30 | # strip title | 30 | # strip title |
31 | strip: //div[@id='spArticleContent']/h1 | 31 | strip: //div[@id='spArticleContent']/h1 |
32 | strip: //div[@id='spArticleContent']/h2 | 32 | strip: //div[@id='spArticleContent']/h2 |
33 | #set title in "Fotostrecke" | 33 | #set title in "Fotostrecke" |
34 | title: //div[@class='spBigaHeadline'] | 34 | title: //div[@class='spBigaHeadline'] |
35 | 35 | ||
36 | # set author | 36 | # set author |
37 | author: //p[@class="spAuthor"]/a | 37 | author: //p[@class="spAuthor"]/a |
38 | author: substring-after(//p[@class="spAuthor"], 'Von ') | 38 | author: substring-after(//p[@class="spAuthor"], 'Von ') |
39 | # strip author | 39 | # strip author |
40 | strip: //p[@class='spAuthor'] | 40 | strip: //p[@class='spAuthor'] |
41 | 41 | ||
42 | # remove captions | 42 | # remove captions |
43 | strip: //*/span[@class='spPicLayerText'] | 43 | strip: //*/span[@class='spPicLayerText'] |
44 | strip: //*/div[@class='spPanoPlayerPaneControl'] | 44 | strip: //*/div[@class='spPanoPlayerPaneControl'] |
45 | strip: //*/div[@class='spCredit'] | 45 | strip: //*/div[@class='spCredit'] |
46 | strip: //*/div[@class='spCredit']/following-sibling::p | 46 | strip: //*/div[@class='spCredit']/following-sibling::p |
47 | 47 | ||
48 | # remove ads | 48 | # remove ads |
49 | strip: //div[@class='spMInline'] | 49 | strip: //div[@class='spMInline'] |
50 | 50 | ||
51 | # remove photogalleries and extras | 51 | # remove photogalleries and extras |
52 | strip: //div[@class='spPhotoGallery'] | 52 | strip: //div[@class='spPhotoGallery'] |
53 | strip: //div[@class='spPhotoGallery']/following-sibling::br | 53 | strip: //div[@class='spPhotoGallery']/following-sibling::br |
54 | strip: //div[@class='spAssetAlignleft'] | 54 | strip: //div[@class='spAssetAlignleft'] |
55 | strip: //div[contains(@class,'spAsset')] | 55 | strip: //div[contains(@class,'spAsset')] |
56 | strip: //br[@clear='all'] | 56 | strip: //br[@clear='all'] |
57 | 57 | ||
58 | # remove community functions | 58 | # remove community functions |
59 | strip: //div[@id='spSocialBookmark'] | 59 | strip: //div[@id='spSocialBookmark'] |
60 | strip: //div[contains(@class, 'spCommunityBox')] | 60 | strip: //div[contains(@class, 'spCommunityBox')] |
61 | strip: //div[contains(@class, 'spArticleNewsfeedBox')] | 61 | strip: //div[contains(@class, 'spArticleNewsfeedBox')] |
62 | strip: //div[@class='spArticleCredit'] | 62 | strip: //div[@class='spArticleCredit'] |
63 | 63 | ||
64 | # remove clutter in "Fotostrecke" | 64 | # remove clutter in "Fotostrecke" |
65 | strip: //div[@id='spBreadcrumb'] | 65 | strip: //div[@id='spBreadcrumb'] |
66 | strip: //div[@id='spBigaLatestEntries'] | 66 | strip: //div[@id='spBigaLatestEntries'] |
67 | strip: //div[contains(@class, 'spBigaNavi')] | 67 | strip: //div[contains(@class, 'spBigaNavi')] |
68 | strip: //div[@class='spDottedLine'] | 68 | strip: //div[@class='spDottedLine'] |
69 | 69 | ||
70 | # Use link to print article for single page view | 70 | # Use link to print article for single page view |
71 | single_page_link: //a[contains(@href, '-druck')] | 71 | single_page_link: //a[contains(@href, '-druck')] |
72 | 72 | ||
73 | # use next link in "Fotostrecke" | 73 | # use next link in "Fotostrecke" |
74 | next_page_link: //a[@class='spBigaControlForw'] | 74 | next_page_link: //a[@class='spBigaControlForw'] |
75 | test_url: http://www.spiegel.de/politik/deutschland/0,1518,787602,00.html \ No newline at end of file | 75 | test_url: http://www.spiegel.de/politik/deutschland/0,1518,787602,00.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/spiked-online.com.txt b/inc/3rdparty/site_config/standard/spiked-online.com.txt new file mode 100755 index 00000000..7ec39c2b --- /dev/null +++ b/inc/3rdparty/site_config/standard/spiked-online.com.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //div[@id='articleTitleWrapper' or @id='mainFeature']//h1 | ||
2 | author: //*[@id='authorNameJob']//a | ||
3 | date: //div[@id='articleMeta']/p | ||
4 | body: //div[@id='mainFeature']//img | //div[contains(@class, 'fullText')] | ||
5 | |||
6 | test_url: http://www.spiked-online.com/newsite/article/standing_up_to_the_white-coated_gods_of_fortune/13785 | ||
7 | test_url: http://www.spiked-online.com/newsite/article/sex_box_and_the_crisis_of_intimacy/14168 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/spin.com.txt b/inc/3rdparty/site_config/standard/spin.com.txt index 66f6192b..88eb454c 100644..100755 --- a/inc/3rdparty/site_config/standard/spin.com.txt +++ b/inc/3rdparty/site_config/standard/spin.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | body: //section[contains(@class, 'main')] | 2 | body: //section[contains(@class, 'main')] |
3 | strip: //footer | 3 | strip: //footer |
4 | strip: //a[@class='paginated'] | 4 | strip: //a[@class='paginated'] |
5 | test_url: http://www.spin.com/articles/bathlands-deep-heart-americas-new-drug-nightmare \ No newline at end of file | 5 | test_url: http://www.spin.com/articles/bathlands-deep-heart-americas-new-drug-nightmare \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/splatf.com.txt b/inc/3rdparty/site_config/standard/splatf.com.txt index d5671652..3e05a225 100644..100755 --- a/inc/3rdparty/site_config/standard/splatf.com.txt +++ b/inc/3rdparty/site_config/standard/splatf.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | author:string('Dan Frommer/SplatF') | 1 | author:string('Dan Frommer/SplatF') |
2 | date://div[@class='postdate'] | 2 | date://div[@class='postdate'] |
3 | body://div[@class='entry'] | 3 | body://div[@class='entry'] |
4 | title://div[@class='post']/h1 | 4 | title://div[@class='post']/h1 |
5 | test_url: http://www.splatf.com/2012/02/month-six/ \ No newline at end of file | 5 | test_url: http://www.splatf.com/2012/02/month-six/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/splitsider.com.txt b/inc/3rdparty/site_config/standard/splitsider.com.txt index d1d392e7..4bbc7aac 100644..100755 --- a/inc/3rdparty/site_config/standard/splitsider.com.txt +++ b/inc/3rdparty/site_config/standard/splitsider.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | author: //div[@class='byline']/a | 1 | author: //div[@class='byline']/a |
2 | date: //div[@id='date'] | 2 | date: //div[@id='date'] |
3 | body: //div[@class='entry'] | 3 | body: //div[@class='entry'] |
4 | test_url: http://splitsider.com/2011/10/saturday-nights-children-rob-riggle-2004-2005/ \ No newline at end of file | 4 | test_url: http://splitsider.com/2011/10/saturday-nights-children-rob-riggle-2004-2005/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sport.detik.com.txt b/inc/3rdparty/site_config/standard/sport.detik.com.txt index b404b829..18552d1e 100644..100755 --- a/inc/3rdparty/site_config/standard/sport.detik.com.txt +++ b/inc/3rdparty/site_config/standard/sport.detik.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title://div[@class="content_detail"]/h1 | 1 | title://div[@class="content_detail"]/h1 |
2 | 2 | ||
3 | author://div[@class="author"]/strong | 3 | author://div[@class="author"]/strong |
4 | 4 | ||
5 | date:substring-before(substring-after(//div[@class="content_detail"]/*[@class="date"], ','), ' WIB') | 5 | date:substring-before(substring-after(//div[@class="content_detail"]/*[@class="date"], ','), ' WIB') |
6 | 6 | ||
7 | body://div[@class='text_detail'] | 7 | body://div[@class='text_detail'] |
8 | test_url: http://sport.detik.com/sepakbola/read/2012/05/23/065011/1922350/71/agen-silva-ingin-bertahan-di-milan?b99220270 \ No newline at end of file | 8 | test_url: http://sport.detik.com/sepakbola/read/2012/05/23/065011/1922350/71/agen-silva-ingin-bertahan-di-milan?b99220270 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sport.orf.at.txt b/inc/3rdparty/site_config/standard/sport.orf.at.txt index a794ded9..f0be85c7 100644..100755 --- a/inc/3rdparty/site_config/standard/sport.orf.at.txt +++ b/inc/3rdparty/site_config/standard/sport.orf.at.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | single_page_link: //div[@id='content']//p[@class='readMore']/a | 1 | single_page_link: //div[@id='content']//p[@class='readMore']/a |
2 | 2 | ||
3 | title: //div[@class='hidden offscreen']/h2 | 3 | title: //div[@class='hidden offscreen']/h2 |
4 | body: //div[@id="storyText"] | 4 | body: //div[@id="storyText"] |
5 | move_into(//div[@id='storyText']): //div[@class='fact'] | 5 | move_into(//div[@id='storyText']): //div[@class='fact'] |
6 | strip: //small[@class='credit'] | 6 | strip: //small[@class='credit'] |
7 | strip: //small[@class='caption'] | 7 | strip: //small[@class='caption'] |
8 | date: substring-after(//div[@id='storyMeta']//p[@class='date'],'Publiziert am') | 8 | date: substring-after(//div[@id='storyMeta']//p[@class='date'],'Publiziert am') |
9 | strip: //p[@class='toplink'] | 9 | strip: //p[@class='toplink'] |
10 | 10 | ||
11 | test_url: http://sport.orf.at/stories/2084851/ \ No newline at end of file | 11 | test_url: http://sport.orf.at/stories/2084851/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sport365.fr.txt b/inc/3rdparty/site_config/standard/sport365.fr.txt new file mode 100755 index 00000000..8688f40b --- /dev/null +++ b/inc/3rdparty/site_config/standard/sport365.fr.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | body: //h2[contains(@class, 'body_head')] | //div[@id='img_article' or contains(@class, 'body_content')] | ||
2 | body: //div[contains(@class, 'cpanel')]//div[contains(@class, 'thumbnails')] | ||
3 | prune: no | ||
4 | strip: //div[starts-with(@class, 'actu_')] | ||
5 | strip: //div[contains(@class, 'data')] | ||
6 | |||
7 | test_url: http://www.sport365.fr/basketball/nba/new-york-accord-avec-toronto-pour-bargnani-1038773.shtml | ||
8 | test_url: http://www.sport365.fr/rss.xml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/sports.espn.go.com.txt b/inc/3rdparty/site_config/standard/sports.espn.go.com.txt index e0f8223c..8c21ef2b 100644..100755 --- a/inc/3rdparty/site_config/standard/sports.espn.go.com.txt +++ b/inc/3rdparty/site_config/standard/sports.espn.go.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //div[@class='headline'] | //div[@class='mod-header']/h3 | 1 | title: //div[@class='headline'] | //div[@class='mod-header']/h3 |
2 | body: //div[contains(@class, 'article')] | 2 | body: //div[contains(@class, 'article')] |
3 | strip: //div[contains(@class, 'mod-inline')] | 3 | strip: //div[contains(@class, 'mod-inline')] |
4 | strip: //*/span[@class='page-actions']/a | 4 | strip: //*/span[@class='page-actions']/a |
5 | strip: //*/span[@class='page-actions']/a | 5 | strip: //*/span[@class='page-actions']/a |
6 | strip: //div[@class='page-actions']/* | 6 | strip: //div[@class='page-actions']/* |
7 | strip: //div[@class='headline'] | //div[@class='mod-header']/h3 | 7 | strip: //div[@class='headline'] | //div[@class='mod-header']/h3 |
8 | strip: //div[@class='mod-blog-navigation'] | 8 | strip: //div[@class='mod-blog-navigation'] |
9 | strip: //div[@class='monthday'] | 9 | strip: //div[@class='monthday'] |
10 | strip: //div[@class='time'] | 10 | strip: //div[@class='time'] |
11 | strip: //div[@class='timeofday'] | 11 | strip: //div[@class='timeofday'] |
12 | test_url: http://sports.espn.go.com/espn/page2/story?page=simmonsnfl2010/lebron_james_return_clevelend&sportCat=nba \ No newline at end of file | 12 | test_url: http://sports.espn.go.com/espn/page2/story?page=simmonsnfl2010/lebron_james_return_clevelend&sportCat=nba \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sports.yahoo.com.txt b/inc/3rdparty/site_config/standard/sports.yahoo.com.txt index 96a3bb71..b0f57e2c 100644..100755 --- a/inc/3rdparty/site_config/standard/sports.yahoo.com.txt +++ b/inc/3rdparty/site_config/standard/sports.yahoo.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //div[@id='article']/div[@class='hd']/h1 | 1 | title: //div[@id='article']/div[@class='hd']/h1 |
2 | body: //p[@id='byline'] | //div[@id='article']//div[@class='body_copy 0'] | 2 | body: //p[@id='byline'] | //div[@id='article']//div[@class='body_copy 0'] |
3 | strip: //div[@class='foot'] | 3 | strip: //div[@class='foot'] |
4 | strip: //div[@id='sidebar']//div[@class='ft'] | 4 | strip: //div[@id='sidebar']//div[@class='ft'] |
5 | strip: //p[@id='byline']//em | 5 | strip: //p[@id='byline']//em |
6 | tidy: no | 6 | tidy: no |
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | test_url: http://sports.yahoo.com/nba/news?slug=ap-nbafinals \ No newline at end of file | 9 | test_url: http://sports.yahoo.com/nba/news?slug=ap-nbafinals \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sportschau.de.txt b/inc/3rdparty/site_config/standard/sportschau.de.txt index 6500e75c..1e58b520 100644..100755 --- a/inc/3rdparty/site_config/standard/sportschau.de.txt +++ b/inc/3rdparty/site_config/standard/sportschau.de.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | title://div[@id='ardContent']/h1 | 1 | title://div[@id='ardContent']/h1 |
2 | 2 | ||
3 | author://p[@id='ardAutor'] | 3 | author://p[@id='ardAutor'] |
4 | author://span[@id='ardQuelle'] | 4 | author://span[@id='ardQuelle'] |
5 | author:string('sportschau.de') | 5 | author:string('sportschau.de') |
6 | 6 | ||
7 | date:substring-after(//span[@id='ardStand'], 'Stand: ') | 7 | date:substring-after(//span[@id='ardStand'], 'Stand: ') |
8 | 8 | ||
9 | body://div[@id='ardContent'] | 9 | body://div[@id='ardContent'] |
10 | 10 | ||
11 | strip://div[@id='ardContent']/h1 | 11 | strip://div[@id='ardContent']/h1 |
12 | strip://p[@id='ardAutor'] | 12 | strip://p[@id='ardAutor'] |
13 | strip: //div[@class='embeddedPlayer_clipinfo'] | 13 | strip: //div[@class='embeddedPlayer_clipinfo'] |
14 | strip: //div[@class='ardMehrZumThemaRechts'] | 14 | strip: //div[@class='ardMehrZumThemaRechts'] |
15 | strip: //*[contains(@class, 'inv')] | 15 | strip: //*[contains(@class, 'inv')] |
16 | 16 | ||
17 | strip: //p[@id='ardAbbinder'] | 17 | strip: //p[@id='ardAbbinder'] |
18 | strip: //div[@class='socialBookmarks'] | 18 | strip: //div[@class='socialBookmarks'] |
19 | strip: //div[@id='ardContentEnd'] | 19 | strip: //div[@id='ardContentEnd'] |
20 | strip: //div[@id='ardDisclaimer'] | 20 | strip: //div[@id='ardDisclaimer'] |
21 | strip: //div[@id='ardRechteSpalte'] | 21 | strip: //div[@id='ardRechteSpalte'] |
22 | test_url: http://www.sportschau.de/sp/fussball/news201203/17/analyse_leverkusen_gladbach.jsp \ No newline at end of file | 22 | test_url: http://www.sportschau.de/sp/fussball/news201203/17/analyse_leverkusen_gladbach.jsp \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sportsillustrated.cnn.com.txt b/inc/3rdparty/site_config/standard/sportsillustrated.cnn.com.txt index afc5879f..b3da8138 100644..100755 --- a/inc/3rdparty/site_config/standard/sportsillustrated.cnn.com.txt +++ b/inc/3rdparty/site_config/standard/sportsillustrated.cnn.com.txt | |||
@@ -1,26 +1,26 @@ | |||
1 | # main sportsillustrated.com articles | 1 | # main sportsillustrated.com articles |
2 | # | 2 | # |
3 | body: //div[@id="cnnStoryContent"] | 3 | body: //div[@id="cnnStoryContent"] |
4 | title: //div[@id="cnnStoryHeadline"]//h1 | 4 | title: //div[@id="cnnStoryHeadline"]//h1 |
5 | author: //div[@id="cnnSubBanner"]//strong | 5 | author: //div[@id="cnnSubBanner"]//strong |
6 | date: substring-after(//div[@id="cnnTimeStamp"], "Updated: ") | 6 | date: substring-after(//div[@id="cnnTimeStamp"], "Updated: ") |
7 | date: substring-after(//div[@id="cnnTimeStamp"], "Posted: ") | 7 | date: substring-after(//div[@id="cnnTimeStamp"], "Posted: ") |
8 | 8 | ||
9 | # kill ugly font buttons | 9 | # kill ugly font buttons |
10 | strip: //div[@id="cnnSCFontButtons"] | 10 | strip: //div[@id="cnnSCFontButtons"] |
11 | 11 | ||
12 | # kill misc filler videos & etc | 12 | # kill misc filler videos & etc |
13 | strip: //div[@class="cnnDivideContent"] | 13 | strip: //div[@class="cnnDivideContent"] |
14 | strip: //*[@class="cnnTMbox"] | 14 | strip: //*[@class="cnnTMbox"] |
15 | 15 | ||
16 | # si vault articles | 16 | # si vault articles |
17 | # ------------- | 17 | # ------------- |
18 | body: //div[@class="siv_artPara"] | 18 | body: //div[@class="siv_artPara"] |
19 | title: //div[@class="siv_artHeader"]//h1 | 19 | title: //div[@class="siv_artHeader"]//h1 |
20 | author: //div[@class="byline"] | 20 | author: //div[@class="byline"] |
21 | date: //div[@class="date"] | 21 | date: //div[@class="date"] |
22 | 22 | ||
23 | next_page_link: //div[@id='cnnStoryContinue']/a | 23 | next_page_link: //div[@id='cnnStoryContinue']/a |
24 | strip_id_or_class: cnnstorypagination | 24 | strip_id_or_class: cnnstorypagination |
25 | 25 | ||
26 | test_url: http://sportsillustrated.cnn.com/2012/writers/peter_king/02/27/combine/index.html \ No newline at end of file | 26 | test_url: http://sportsillustrated.cnn.com/2012/writers/peter_king/02/27/combine/index.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sprengsatz.de.txt b/inc/3rdparty/site_config/standard/sprengsatz.de.txt index 16636bc5..5b683811 100644..100755 --- a/inc/3rdparty/site_config/standard/sprengsatz.de.txt +++ b/inc/3rdparty/site_config/standard/sprengsatz.de.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | author: string('Michael Spreng') | 2 | author: string('Michael Spreng') |
3 | date: //div[@class='date'] | 3 | date: //div[@class='date'] |
4 | body: //div[@class='entry'] | 4 | body: //div[@class='entry'] |
5 | test_url: http://www.sprengsatz.de/?p=3691 \ No newline at end of file | 5 | test_url: http://www.sprengsatz.de/?p=3691 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sqlite.org.txt b/inc/3rdparty/site_config/standard/sqlite.org.txt index 4872519a..15763c32 100644..100755 --- a/inc/3rdparty/site_config/standard/sqlite.org.txt +++ b/inc/3rdparty/site_config/standard/sqlite.org.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@id='ff-body'] | 1 | body: //div[@id='ff-body'] |
2 | 2 | ||
3 | replace_string(<h1 align=center>): <div id="ff-body"><h1 align=center> | 3 | replace_string(<h1 align=center>): <div id="ff-body"><h1 align=center> |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | test_url: http://www.sqlite.org/fileformat2.html \ No newline at end of file | 7 | test_url: http://www.sqlite.org/fileformat2.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/squashed.tumblr.com.txt b/inc/3rdparty/site_config/standard/squashed.tumblr.com.txt index 388209a9..8eae13ed 100644..100755 --- a/inc/3rdparty/site_config/standard/squashed.tumblr.com.txt +++ b/inc/3rdparty/site_config/standard/squashed.tumblr.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class='content'] | 1 | body: //div[@class='content'] |
2 | date: substring-before( //div[@class='unit dateAndNotes'], 'with') | 2 | date: substring-before( //div[@class='unit dateAndNotes'], 'with') |
3 | title: //h3 | 3 | title: //h3 |
4 | test_url: http://squashed.tumblr.com/post/17613522228/lets-stop-blaming-the-victims-of-predatory-lending \ No newline at end of file | 4 | test_url: http://squashed.tumblr.com/post/17613522228/lets-stop-blaming-the-victims-of-predatory-lending \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/stackoverflow.com.txt b/inc/3rdparty/site_config/standard/stackoverflow.com.txt index e5317bac..bb95e93a 100644..100755 --- a/inc/3rdparty/site_config/standard/stackoverflow.com.txt +++ b/inc/3rdparty/site_config/standard/stackoverflow.com.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | body: //div[@class='post-text' or @class='user-action-time' or @class='user-details' or @class='vote'] | //div[@id='answers-header']//h2 | 1 | body: //div[@class='post-text' or @class='user-action-time' or @class='user-details' or @class='vote'] | //div[@id='answers-header']//h2 |
2 | 2 | ||
3 | replace_string(<div class="user-details"><br></div>): <!-- nothing --> | 3 | replace_string(<div class="user-details"><br></div>): <!-- nothing --> |
4 | replace_string(<div class="vote">): <div class="vote"><h3>Vote count: | 4 | replace_string(<div class="vote">): <div class="vote"><h3>Vote count: |
5 | 5 | ||
6 | strip_id_or_class: vote-up | 6 | strip_id_or_class: vote-up |
7 | strip_id_or_class: vote-down | 7 | strip_id_or_class: vote-down |
8 | strip_id_or_class: star-off | 8 | strip_id_or_class: star-off |
9 | strip_id_or_class: favoritecount | 9 | strip_id_or_class: favoritecount |
10 | strip_id_or_class: -share | 10 | strip_id_or_class: -share |
11 | strip_id_or_class: badgecount | 11 | strip_id_or_class: badgecount |
12 | 12 | ||
13 | 13 | ||
14 | test_url: http://stackoverflow.com/questions/4484289/id-like-to-understand-the-jquery-plugin-syntax \ No newline at end of file | 14 | test_url: http://stackoverflow.com/questions/4484289/id-like-to-understand-the-jquery-plugin-syntax \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/stalbansreview.co.uk.txt b/inc/3rdparty/site_config/standard/stalbansreview.co.uk.txt index bde14217..a0f1587c 100644..100755 --- a/inc/3rdparty/site_config/standard/stalbansreview.co.uk.txt +++ b/inc/3rdparty/site_config/standard/stalbansreview.co.uk.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //div[@class='articleLeft']/h3 | 1 | title: //div[@class='articleLeft']/h3 |
2 | 2 | ||
3 | author: substring-after(//span[@class='articleAuthor']/a,'By ') | 3 | author: substring-after(//span[@class='articleAuthor']/a,'By ') |
4 | 4 | ||
5 | date: substring-before(//span[@class='articleDateTime'],'in ') | 5 | date: substring-before(//span[@class='articleDateTime'],'in ') |
6 | 6 | ||
7 | body: //div[@class='articleLeft'] | 7 | body: //div[@class='articleLeft'] |
8 | strip: //div[@class='articleMoreNews'] | 8 | strip: //div[@class='articleMoreNews'] |
9 | strip: //div[@class='articleLeft']/h3 | 9 | strip: //div[@class='articleLeft']/h3 |
10 | strip: //div[@class='articleLeft']/p[@class='articleInfo clearfix'] | 10 | strip: //div[@class='articleLeft']/p[@class='articleInfo clearfix'] |
11 | 11 | ||
12 | # Remove duplicate title from text | 12 | # Remove duplicate title from text |
13 | strip: //div[@id='site']/div[5][@class='holder']/div[1][@class='hBlock']/div[1][@class='sglCol article']/h3 | 13 | strip: //div[@id='site']/div[5][@class='holder']/div[1][@class='hBlock']/div[1][@class='sglCol article']/h3 |
14 | test_url: http://www.stalbansreview.co.uk/news/9581446.New_roundabout_in_King_Harry_Lane/r/?ref=rss \ No newline at end of file | 14 | test_url: http://www.stalbansreview.co.uk/news/9581446.New_roundabout_in_King_Harry_Lane/r/?ref=rss \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/standard.co.uk.txt b/inc/3rdparty/site_config/standard/standard.co.uk.txt index 22a33484..71a2bda1 100644..100755 --- a/inc/3rdparty/site_config/standard/standard.co.uk.txt +++ b/inc/3rdparty/site_config/standard/standard.co.uk.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | autodetect_next_page: no | 1 | autodetect_next_page: no |
2 | footnotes: no | 2 | footnotes: no |
3 | dissolve: //div[@class="column-2"]//div[@class="widget"] | 3 | dissolve: //div[@class="column-2"]//div[@class="widget"] |
4 | dissolve: //div[@class="column-2"]//div | 4 | dissolve: //div[@class="column-2"]//div |
5 | 5 | ||
6 | author: //div[@class="innerbyline"]/a | 6 | author: //div[@class="innerbyline"]/a |
7 | strip: //div[@class="innerbyline"]/a | 7 | strip: //div[@class="innerbyline"]/a |
8 | 8 | ||
9 | strip: //p[@class="dateline"] | 9 | strip: //p[@class="dateline"] |
10 | date: //p[@class="dateline"] | 10 | date: //p[@class="dateline"] |
11 | 11 | ||
12 | title: //h1[@class="title"] | 12 | title: //h1[@class="title"] |
13 | author: //div[@class="innerbyline"]/a | 13 | author: //div[@class="innerbyline"]/a |
14 | date: //p[@class="dateline"] | 14 | date: //p[@class="dateline"] |
15 | body: //div[@class="column-2"] | 15 | body: //div[@class="column-2"] |
16 | test_url: http://www.standard.co.uk/lifestyle/esmagazine/grace-and-flavour-pizarro-7938350.html \ No newline at end of file | 16 | test_url: http://www.standard.co.uk/lifestyle/esmagazine/grace-and-flavour-pizarro-7938350.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/staradvertiser.com.txt b/inc/3rdparty/site_config/standard/staradvertiser.com.txt index 0579455f..254e2c2b 100644..100755 --- a/inc/3rdparty/site_config/standard/staradvertiser.com.txt +++ b/inc/3rdparty/site_config/standard/staradvertiser.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h1[@id='storyTitle'] | 1 | title: //h1[@id='storyTitle'] |
2 | author: substring-after(//span[@class='hsa_postCredit'], 'By ') | 2 | author: substring-after(//span[@class='hsa_postCredit'], 'By ') |
3 | date://span[@class='hsa_dateStamp'] | 3 | date://span[@class='hsa_dateStamp'] |
4 | body: //div[@class='storytext'] | 4 | body: //div[@class='storytext'] |
5 | strip_id_or_class: insideStoryAd | 5 | strip_id_or_class: insideStoryAd |
6 | strip_id_or_class: printDesc | 6 | strip_id_or_class: printDesc |
7 | strip_id_or_class: sb_2010_story_tools | 7 | strip_id_or_class: sb_2010_story_tools |
8 | strip_id_or_class: FBConnectButton_Text | 8 | strip_id_or_class: FBConnectButton_Text |
9 | strip_id_or_class: breadcrumbs | 9 | strip_id_or_class: breadcrumbs |
10 | prune: no | 10 | prune: no |
11 | test_url: http://www.staradvertiser.com/news/20111112_World_leaders_step_onto_isle_stage.html \ No newline at end of file | 11 | test_url: http://www.staradvertiser.com/news/20111112_World_leaders_step_onto_isle_stage.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/stephenfry.com.txt b/inc/3rdparty/site_config/standard/stephenfry.com.txt index 1169984f..efd1ec2b 100644..100755 --- a/inc/3rdparty/site_config/standard/stephenfry.com.txt +++ b/inc/3rdparty/site_config/standard/stephenfry.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: /html/head/meta[@name='title']/@content | 1 | title: /html/head/meta[@name='title']/@content |
2 | author: //span[contains(concat(' ',normalize-space(@class),' '),' article_author ')]/a | 2 | author: //span[contains(concat(' ',normalize-space(@class),' '),' article_author ')]/a |
3 | date: //span[contains(concat(' ',normalize-space(@class),' '),' article_date ')] | 3 | date: //span[contains(concat(' ',normalize-space(@class),' '),' article_date ')] |
4 | 4 | ||
5 | body: //div[@class='entry-content'] | 5 | body: //div[@class='entry-content'] |
6 | 6 | ||
7 | single_page_link: //p[@class='pagination']/a | 7 | single_page_link: //p[@class='pagination']/a |
8 | test_url: http://www.stephenfry.com/2011/10/06/steve-jobs/ \ No newline at end of file | 8 | test_url: http://www.stephenfry.com/2011/10/06/steve-jobs/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/stlbeacon.org.txt b/inc/3rdparty/site_config/standard/stlbeacon.org.txt index d66fee9f..75379a9c 100644..100755 --- a/inc/3rdparty/site_config/standard/stlbeacon.org.txt +++ b/inc/3rdparty/site_config/standard/stlbeacon.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: article/h1 | 1 | title: article/h1 |
2 | author: //p[@class='byline'] | 2 | author: //p[@class='byline'] |
3 | date: //p[@class='date'] | 3 | date: //p[@class='date'] |
4 | body: //div[@class='body'] | 4 | body: //div[@class='body'] |
5 | test_url: https://www.stlbeacon.org/#!/content/23404/mogop_caucus_031712 \ No newline at end of file | 5 | test_url: https://www.stlbeacon.org/#!/content/23404/mogop_caucus_031712 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/stockholm.etc.se.txt b/inc/3rdparty/site_config/standard/stockholm.etc.se.txt index 073043d5..2f4f8cb8 100644..100755 --- a/inc/3rdparty/site_config/standard/stockholm.etc.se.txt +++ b/inc/3rdparty/site_config/standard/stockholm.etc.se.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | strip_id_or_class: 'left' | 1 | strip_id_or_class: 'left' |
2 | strip_id_or_class: 'right' | 2 | strip_id_or_class: 'right' |
3 | strip_id_or_class: 'block-belowcontent' | 3 | strip_id_or_class: 'block-belowcontent' |
4 | 4 | ||
5 | test_url: http://stockholm.etc.se/reportage/bakom-stangda-dorrar-pa-fas-3-massa \ No newline at end of file | 5 | test_url: http://stockholm.etc.se/reportage/bakom-stangda-dorrar-pa-fas-3-massa \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/stockholmsfria.nu.txt b/inc/3rdparty/site_config/standard/stockholmsfria.nu.txt new file mode 100755 index 00000000..cc8c28b8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/stockholmsfria.nu.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | body: //div[contains(@class, 'layout__inner')]//div[contains(@class, 'file-image') or contains(@class, 'node__content')] | ||
2 | author: //article//div[contains(@class, 'field-byline')] | ||
3 | strip_id_or_class: rekommenderade | ||
4 | strip_id_or_class: disqus | ||
5 | strip_id_or_class: annonser | ||
6 | |||
7 | test_url: http://www.stockholmsfria.nu/artikel/112068 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/straightdope.com.txt b/inc/3rdparty/site_config/standard/straightdope.com.txt new file mode 100755 index 00000000..f01d7ad1 --- /dev/null +++ b/inc/3rdparty/site_config/standard/straightdope.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | body: //div[@id='article' or @id='current_illustration'] | ||
2 | title: //div[@id='article']//h1 | ||
3 | date: //div[@id='article']//div[@class='date'] | ||
4 | prune: no | ||
5 | |||
6 | test_url: http://www.straightdope.com/columns/read/947/whatever-happened-to-adoption-of-the-metric-system-in-the-u-s \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/streetsblog.net.txt b/inc/3rdparty/site_config/standard/streetsblog.net.txt index 0b62a3d6..6cf03ca6 100644..100755 --- a/inc/3rdparty/site_config/standard/streetsblog.net.txt +++ b/inc/3rdparty/site_config/standard/streetsblog.net.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h2[@class="post-title"] | 1 | title: //h2[@class="post-title"] |
2 | date: //span[@class="post-date"] | 2 | date: //span[@class="post-date"] |
3 | body: //div[@class="post-entry"] | 3 | body: //div[@class="post-entry"] |
4 | 4 | ||
5 | #This is also good for *.streetsblog.org, for example: | 5 | #This is also good for *.streetsblog.org, for example: |
6 | #http://dc.streetsblog.org/2011/10/21/friday-job-market/ | 6 | #http://dc.streetsblog.org/2011/10/21/friday-job-market/ |
7 | test_url: http://streetsblog.net/2011/10/20/look-out-below-one-in-nine-bridges-structurally-deficient-reports-t4a/ \ No newline at end of file | 7 | test_url: http://streetsblog.net/2011/10/20/look-out-below-one-in-nine-bridges-structurally-deficient-reports-t4a/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/stuff.co.nz.txt b/inc/3rdparty/site_config/standard/stuff.co.nz.txt index 12fd0939..3756092c 100644..100755 --- a/inc/3rdparty/site_config/standard/stuff.co.nz.txt +++ b/inc/3rdparty/site_config/standard/stuff.co.nz.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | title://div[@id='left_col']/h1 | 1 | title://div[@id='left_col']/h1 |
2 | author:substring-after(//span[contains(@class,'storycredit')],'BY ') | 2 | author:substring-after(//span[contains(@class,'storycredit')],'BY ') |
3 | author://span[contains(@class,'storycredit')] | 3 | author://span[contains(@class,'storycredit')] |
4 | date:substring-after(//div[contains(@class,'toolbox_date')],'Last updated ') | 4 | date:substring-after(//div[contains(@class,'toolbox_date')],'Last updated ') |
5 | date://div[contains(@class,'toolbox_date')] | 5 | date://div[contains(@class,'toolbox_date')] |
6 | body://div[@id='left_col'] | 6 | body://div[@id='left_col'] |
7 | 7 | ||
8 | strip_id_or_class: toolbox | 8 | strip_id_or_class: toolbox |
9 | strip_id_or_class: story_features | 9 | strip_id_or_class: story_features |
10 | strip_id_or_class: sharebox_new | 10 | strip_id_or_class: sharebox_new |
11 | strip_id_or_class: related_box | 11 | strip_id_or_class: related_box |
12 | strip_id_or_class: sponsored_links | 12 | strip_id_or_class: sponsored_links |
13 | strip_id_or_class: hidden_ad | 13 | strip_id_or_class: hidden_ad |
14 | strip_id_or_class: story_content_top | 14 | strip_id_or_class: story_content_top |
15 | strip_id_or_class: total_number | 15 | strip_id_or_class: total_number |
16 | strip_id_or_class: sort_order | 16 | strip_id_or_class: sort_order |
17 | strip_id_or_class: subscribe_order | 17 | strip_id_or_class: subscribe_order |
18 | 18 | ||
19 | strip://div[contains(@class,'ad_story')] | 19 | strip://div[contains(@class,'ad_story')] |
20 | 20 | ||
21 | test_url: http://www.stuff.co.nz/national/politics/3930344/PM-issues-challenge | 21 | test_url: http://www.stuff.co.nz/national/politics/3930344/PM-issues-challenge |
22 | test_url: http://www.stuff.co.nz/entertainment/7045944/International-praise-for-Ladyhawke \ No newline at end of file | 22 | test_url: http://www.stuff.co.nz/entertainment/7045944/International-praise-for-Ladyhawke \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/stumbleupon.com.txt b/inc/3rdparty/site_config/standard/stumbleupon.com.txt index 85682166..9adc3c50 100644..100755 --- a/inc/3rdparty/site_config/standard/stumbleupon.com.txt +++ b/inc/3rdparty/site_config/standard/stumbleupon.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | single_page_link: //iframe[@id='stumbleFrame']/@src | 1 | single_page_link: //iframe[@id='tb-stumble-frame']/@src |
2 | 2 | ||
3 | test_url: www.stumbleupon.com/su/35V0wB/zouchmagazine.com/poetry-violet/ \ No newline at end of file | 3 | test_url: http://www.stumbleupon.com/su/35V0wB/zouchmagazine.com/poetry-violet/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/subtraction.com.txt b/inc/3rdparty/site_config/standard/subtraction.com.txt index 454e37b1..9ba6eb77 100644..100755 --- a/inc/3rdparty/site_config/standard/subtraction.com.txt +++ b/inc/3rdparty/site_config/standard/subtraction.com.txt | |||
@@ -1,17 +1,17 @@ | |||
1 | title: //*[@id='posts']/div[1]/h2 | 1 | title: //*[@id='posts']/div[1]/h2 |
2 | author: //*[@id='posts']/div[1]/div[2]/span[2]/a | 2 | author: //*[@id='posts']/div[1]/div[2]/span[2]/a |
3 | date: //*[@class='date'] | 3 | date: //*[@class='date'] |
4 | body: //div[@class='body-lead'] | 4 | body: //div[@class='body-lead'] |
5 | 5 | ||
6 | # take out the bit saying 'body' | 6 | # take out the bit saying 'body' |
7 | strip: //div[@class='body-lead']/div[@class='info-label'] | 7 | strip: //div[@class='body-lead']/div[@class='info-label'] |
8 | 8 | ||
9 | 9 | ||
10 | 10 | ||
11 | 11 | ||
12 | 12 | ||
13 | 13 | ||
14 | 14 | ||
15 | 15 | ||
16 | 16 | ||
17 | test_url: http://www.subtraction.com/2011/02/01/unnecessary-explanations \ No newline at end of file | 17 | test_url: http://www.subtraction.com/2011/02/01/unnecessary-explanations \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sueddeutsche.de.txt b/inc/3rdparty/site_config/standard/sueddeutsche.de.txt index 4aa9410c..74b8d451 100644..100755 --- a/inc/3rdparty/site_config/standard/sueddeutsche.de.txt +++ b/inc/3rdparty/site_config/standard/sueddeutsche.de.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | # 2012-12-04: complete rewrite after Süddeutsche.de relaunch - carlo@... | 1 | # 2012-12-04: complete rewrite after Süddeutsche.de relaunch - carlo@... |
2 | 2 | ||
3 | single_page_link: //a[ contains( @href, "/2.220/" ) ] | 3 | single_page_link: //a[ contains( @href, "/2.220/" ) ] |
4 | 4 | ||
5 | body: //article[@id="sitecontent"]/section[@class="body"] | 5 | body: //article[@id="sitecontent"]/section[@class="body"] |
6 | author: //address[@class="author"] | 6 | author: //address[@class="author"] |
7 | date: //div[@class="header"]//h1//span[@class="updated"] | 7 | date: //div[@class="header"]//h1//span[@class="updated"] |
8 | wrap_in(small): //div[@class="footer"] | 8 | wrap_in(small): //div[@class="footer"] |
9 | wrap_in(i): //figcaption/h3 | 9 | wrap_in(i): //figcaption/h3 |
10 | dissolve: //figcaption//h3 | 10 | dissolve: //figcaption//h3 |
11 | dissolve: //figure/div[@class="body"] | 11 | dissolve: //figure/div[@class="body"] |
12 | dissolve: //figure/a | 12 | dissolve: //figure/a |
13 | 13 | ||
14 | strip: //figure[ not( contains(@class, "zoomimage" ) ) ] | 14 | strip: //figure[ not( contains(@class, "zoomimage" ) ) ] |
15 | strip: //div[@data-onlineonly="true"] | 15 | strip: //div[@data-onlineonly="true"] |
16 | strip: //address[@class="author"] | 16 | strip: //address[@class="author"] |
17 | 17 | ||
18 | test_url: http://www.sueddeutsche.de/muenchen/mietshaus-am-gaertnerplatz-alles-muss-raus-1.1556693 \ No newline at end of file | 18 | test_url: http://www.sueddeutsche.de/muenchen/mietshaus-am-gaertnerplatz-alles-muss-raus-1.1556693 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/summify.com.txt b/inc/3rdparty/site_config/standard/summify.com.txt index 1128e1bb..1128e1bb 100644..100755 --- a/inc/3rdparty/site_config/standard/summify.com.txt +++ b/inc/3rdparty/site_config/standard/summify.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/suntimes.com.txt b/inc/3rdparty/site_config/standard/suntimes.com.txt index 13390e4f..6d4594cf 100644..100755 --- a/inc/3rdparty/site_config/standard/suntimes.com.txt +++ b/inc/3rdparty/site_config/standard/suntimes.com.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //div[@class='story-details']/h1 | 1 | title: //div[@class='story-details']/h1 |
2 | date: //span[@class='date-time'] | 2 | date: //span[@class='date-time'] |
3 | Author: substring-after(//p[@class='by-line'], 'By ') | 3 | Author: substring-after(//p[@class='by-line'], 'By ') |
4 | 4 | ||
5 | strip: //div[@class='videoThumbnails'] | 5 | strip: //div[@class='videoThumbnails'] |
6 | strip: //div[@class='ad-square2-container'] | 6 | strip: //div[@class='ad-square2-container'] |
7 | strip: //div[@class='homeDeliveryContainer5'] | 7 | strip: //div[@class='homeDeliveryContainer5'] |
8 | 8 | ||
9 | strip: //div[@class='image-description'] | 9 | strip: //div[@class='image-description'] |
10 | strip: //div[@id='internal-side-bar'] | 10 | strip: //div[@id='internal-side-bar'] |
11 | 11 | ||
12 | strip: //span[@class='hide'] | 12 | strip: //span[@class='hide'] |
13 | strip: //div[@class='date'] | 13 | strip: //div[@class='date'] |
14 | test_url: http://www.suntimes.com/technology/ihnatko/8816567-452/review-kindle-fire-is-no-ipad-killer-but-it-is-a-killer-device.html \ No newline at end of file | 14 | test_url: http://www.suntimes.com/technology/ihnatko/8816567-452/review-kindle-fire-is-no-ipad-killer-but-it-is-a-killer-device.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/svd.se.txt b/inc/3rdparty/site_config/standard/svd.se.txt index 02b5b8ca..bc0a1ca0 100644..100755 --- a/inc/3rdparty/site_config/standard/svd.se.txt +++ b/inc/3rdparty/site_config/standard/svd.se.txt | |||
@@ -1,4 +1,14 @@ | |||
1 | # Ads | 1 | body: //div[@id='article-content'] |
2 | strip_id_or_class: articlead | 2 | author: //div[@id='article']//div[@class='byline']/p |
3 | 3 | ||
4 | test_url: http://www.svd.se/nyheter/inrikes/manga-huggormsbitna-golfare_5004031.svd \ No newline at end of file | 4 | # Ads |
5 | strip_id_or_class: articlead | ||
6 | |||
7 | # Sharing | ||
8 | strip_id_or_class: share | ||
9 | |||
10 | prune: no | ||
11 | |||
12 | test_url: http://www.svd.se/nyheter/inrikes/oppositionen-stoppar-skattesankning_8531228.svd | ||
13 | test_url: http://www.svd.se/nyheter/inrikes/manga-huggormsbitna-golfare_5004031.svd | ||
14 | test_url: http://www.svd.se/?service=rss&type=senastenytt \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/svt.se.txt b/inc/3rdparty/site_config/standard/svt.se.txt new file mode 100755 index 00000000..ba35f7d1 --- /dev/null +++ b/inc/3rdparty/site_config/standard/svt.se.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | title: //article[@role='main']//h1 | ||
2 | body: //article[@role='main'] | ||
3 | strip: //aside | ||
4 | replace_string(<noscript>): <div> | ||
5 | replace_string(</noscript>): </div> | ||
6 | strip_id_or_class: svtHide-No-Js | ||
7 | strip_id_or_class: aside | ||
8 | strip_id_or_class: Aside | ||
9 | strip_id_or_class: hidden | ||
10 | strip_id_or_class: Share | ||
11 | tidy: no | ||
12 | prune: no | ||
13 | |||
14 | test_url: http://www.svt.se/ug/framtidsdrommar-om-jobb-blev-lackande-gifthal | ||
15 | test_url: http://www.svt.se/nyheter/het-debatt-mellan-borg-och-andersson | ||
16 | test_url: http://www.svt.se/nyheter/regionalt/svtsormland/sj-tag-evakuerades-efter-rokdrama \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/sydsvenskan.se.txt b/inc/3rdparty/site_config/standard/sydsvenskan.se.txt index da6772aa..24ba1426 100644..100755 --- a/inc/3rdparty/site_config/standard/sydsvenskan.se.txt +++ b/inc/3rdparty/site_config/standard/sydsvenskan.se.txt | |||
@@ -1,11 +1,18 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | 2 | ||
3 | author: //a[contains(@href, '/sok/?')]/text() | 3 | author: //a[contains(@href, '/sok/?')]/text() |
4 | 4 | ||
5 | date: substring-after(//span[@class='date'], 'Publicerad ') | 5 | date: //meta[@name='bi3dPubDate']/@content |
6 | 6 | ||
7 | body: //div[@class='two_column_left'] | 7 | body: (//div[contains(@class, 'slider_wrapper')])[1] | //div[@id='article_image' or @class='two_column_left'] |
8 | strip_id_or_class: story | 8 | strip_id_or_class: story |
9 | strip: //div[@class='leadText saplo:lead']/h5 | 9 | strip_id_or_class: article_body_ad |
10 | 10 | strip: //div[@class='leadText saplo:lead']/h5 | |
11 | test_url: http://www.sydsvenskan.se/kultur-och-nojen/-jag-vill-garna--stanna-- \ No newline at end of file | 11 | |
12 | replace_string(<br />): <br /><br /> | ||
13 | |||
14 | prune: no | ||
15 | |||
16 | test_url: http://www.sydsvenskan.se/malmo/allt-jag-ager-ligger-pa-botten/ | ||
17 | test_url: http://www.sydsvenskan.se/kultur-och-nojen/-jag-vill-garna--stanna-- | ||
18 | test_url: http://www.sydsvenskan.se/rss.xml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/symmetrymagazine.org.txt b/inc/3rdparty/site_config/standard/symmetrymagazine.org.txt index 3109c0e7..5bcfb9ef 100644..100755 --- a/inc/3rdparty/site_config/standard/symmetrymagazine.org.txt +++ b/inc/3rdparty/site_config/standard/symmetrymagazine.org.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //div[contains(@class, "post")]/h2 | 1 | title: //div[contains(@class, "post")]/h2 |
2 | 2 | ||
3 | author: //div[contains(@class, "post")]/p[position()=last()]/text()[1] | 3 | author: //div[contains(@class, "post")]/p[position()=last()]/text()[1] |
4 | 4 | ||
5 | date: //div[contains(@class, "post")]/p[1] | 5 | date: //div[contains(@class, "post")]/p[1] |
6 | 6 | ||
7 | body: //div[contains(@class, "post")] | 7 | body: //div[contains(@class, "post")] |
8 | 8 | ||
9 | strip: //div[contains(@class, "post")]/h2[1] | 9 | strip: //div[contains(@class, "post")]/h2[1] |
10 | strip: //div[contains(@class, "post")]/p[1] | 10 | strip: //div[contains(@class, "post")]/p[1] |
11 | strip: //div[contains(@class, "post")]/p[position()=last()] | 11 | strip: //div[contains(@class, "post")]/p[position()=last()] |
12 | test_url: http://www.symmetrymagazine.org/breaking/?p=12784 \ No newline at end of file | 12 | test_url: http://www.symmetrymagazine.org/breaking/?p=12784 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sz-magazin.sueddeutsche.de.txt b/inc/3rdparty/site_config/standard/sz-magazin.sueddeutsche.de.txt index c3e34977..e058032c 100644..100755 --- a/inc/3rdparty/site_config/standard/sz-magazin.sueddeutsche.de.txt +++ b/inc/3rdparty/site_config/standard/sz-magazin.sueddeutsche.de.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body://div[@class='drucken'] | 2 | body://div[@class='drucken'] |
3 | author: substring-after(//span[@class='autor'], 'Von ') | 3 | author: substring-after(//span[@class='autor'], 'Von ') |
4 | author: //span[@class='autor'] | 4 | author: //span[@class='autor'] |
5 | 5 | ||
6 | single_page_link://a[contains(@href, '/drucken/')] | 6 | single_page_link://a[contains(@href, '/drucken/')] |
7 | convert_double_br_tags:yes | 7 | convert_double_br_tags:yes |
8 | 8 | ||
9 | dissolve://div[@class='vorspann'] | 9 | dissolve://div[@class='vorspann'] |
10 | 10 | ||
11 | strip://h1 | 11 | strip://h1 |
12 | strip_id_or_class: klassifizierung | 12 | strip_id_or_class: klassifizierung |
13 | strip_id_or_class: source | 13 | strip_id_or_class: source |
14 | strip_id_or_class: autor | 14 | strip_id_or_class: autor |
15 | test_url: http://sz-magazin.sueddeutsche.de/texte/anzeigen/37567 \ No newline at end of file | 15 | test_url: http://sz-magazin.sueddeutsche.de/texte/anzeigen/37567 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/sz.de.txt b/inc/3rdparty/site_config/standard/sz.de.txt new file mode 100755 index 00000000..f67637d2 --- /dev/null +++ b/inc/3rdparty/site_config/standard/sz.de.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | # 2012-12-04: complete rewrite after Süddeutsche.de relaunch - carlo@... | ||
2 | |||
3 | single_page_link: //a[ contains( @href, "/2.220/" ) ] | ||
4 | |||
5 | body: //article[@id="sitecontent"]/section[@class="body"] | ||
6 | author: //address[@class="author"] | ||
7 | date: //div[@class="header"]//h1//span[@class="updated"] | ||
8 | wrap_in(small): //div[@class="footer"] | ||
9 | wrap_in(i): //figcaption/h3 | ||
10 | dissolve: //figcaption//h3 | ||
11 | dissolve: //figure/div[@class="body"] | ||
12 | dissolve: //figure/a | ||
13 | |||
14 | strip: //figure[ not( contains(@class, "zoomimage" ) ) ] | ||
15 | strip: //div[@data-onlineonly="true"] | ||
16 | strip: //address[@class="author"] | ||
17 | |||
18 | test_url: http://sz.de/1.1556693 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/tagesschau.de.txt b/inc/3rdparty/site_config/standard/tagesschau.de.txt index 8ce8a90e..be76cd05 100644..100755 --- a/inc/3rdparty/site_config/standard/tagesschau.de.txt +++ b/inc/3rdparty/site_config/standard/tagesschau.de.txt | |||
@@ -1,23 +1,23 @@ | |||
1 | title://h1[1] | 1 | title://h1[1] |
2 | 2 | ||
3 | author: substring-after(//em, 'Von ') | 3 | author: substring-after(//em, 'Von ') |
4 | author:string('tagesschau.de') | 4 | author:string('tagesschau.de') |
5 | 5 | ||
6 | date:substring-after(//div[@class='standDatum'], 'Stand: ') | 6 | date:substring-after(//div[@class='standDatum'], 'Stand: ') |
7 | 7 | ||
8 | body://div[contains(@class, 'article')] | //div[contains(@class, 'centerCol')] | 8 | body://div[contains(@class, 'article')] | //div[contains(@class, 'centerCol')] |
9 | 9 | ||
10 | strip://h1[1] | 10 | strip://h1[1] |
11 | strip: //div[contains(@class, 'directLinks')] | 11 | strip: //div[contains(@class, 'directLinks')] |
12 | strip: //div[contains(@class, 'zitatBox')] | 12 | strip: //div[contains(@class, 'zitatBox')] |
13 | strip: //div[contains(@class, 'teaserBox metaBlock')] | 13 | strip: //div[contains(@class, 'teaserBox metaBlock')] |
14 | strip: //*[contains(@class, 'inv')] | 14 | strip: //*[contains(@class, 'inv')] |
15 | strip: //span[@class='imgSubline'] | 15 | strip: //span[@class='imgSubline'] |
16 | strip: //*[contains(@class, 'topline')][1] | 16 | strip: //*[contains(@class, 'topline')][1] |
17 | strip: //div[@id='rightCol'][1] | 17 | strip: //div[@id='rightCol'][1] |
18 | strip: //div[@id="footer"][1] | 18 | strip: //div[@id="footer"][1] |
19 | strip: //div[@class="fPlayer"] | 19 | strip: //div[@class="fPlayer"] |
20 | strip: //div[@id='seitenanfang'] | 20 | strip: //div[@id='seitenanfang'] |
21 | strip: //div[@class='standDatum'] | 21 | strip: //div[@class='standDatum'] |
22 | strip: //em | 22 | strip: //em |
23 | test_url: http://www.tagesschau.de/ausland/wahlkampffrankreich102.html \ No newline at end of file | 23 | test_url: http://www.tagesschau.de/ausland/wahlkampffrankreich102.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tampabay.com.txt b/inc/3rdparty/site_config/standard/tampabay.com.txt index bfe841c6..47a6ffab 100644..100755 --- a/inc/3rdparty/site_config/standard/tampabay.com.txt +++ b/inc/3rdparty/site_config/standard/tampabay.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //span[@class="entry-title"] | 1 | title: //span[@class="entry-title"] |
2 | author: //*[contains(@class, 'item')]/p/a/text() | 2 | author: //*[contains(@class, 'item')]/p/a/text() |
3 | date: substring-after(//*[contains(@class, 'item')]/p/text()[3], 'Posted:') | 3 | date: substring-after(//*[contains(@class, 'item')]/p/text()[3], 'Posted:') |
4 | body: //div[@class="entry-content"] | 4 | body: //div[@class="entry-content"] |
5 | test_url: http://www.tampabay.com/news/salvador-dali-leaders-want-st-petersburg-city-council-to-put-brakes-on/1236349 \ No newline at end of file | 5 | test_url: http://www.tampabay.com/news/salvador-dali-leaders-want-st-petersburg-city-council-to-put-brakes-on/1236349 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/taptaptap.com.txt b/inc/3rdparty/site_config/standard/taptaptap.com.txt index 13de70e9..e1e79428 100644..100755 --- a/inc/3rdparty/site_config/standard/taptaptap.com.txt +++ b/inc/3rdparty/site_config/standard/taptaptap.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //h3[@class="storytitle"] | 1 | title: //h3[@class="storytitle"] |
2 | body: //div[@class="post"] | 2 | body: //div[@class="post"] |
3 | strip: //div[@class="blurbBox"] | 3 | strip: //div[@class="blurbBox"] |
4 | test_url: http://taptaptap.com/blog/apples-precedents-vs-apples-guidelines/ \ No newline at end of file | 4 | test_url: http://taptaptap.com/blog/apples-precedents-vs-apples-guidelines/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tasteofhome.com.txt b/inc/3rdparty/site_config/standard/tasteofhome.com.txt index 77773363..f3234f34 100644..100755 --- a/inc/3rdparty/site_config/standard/tasteofhome.com.txt +++ b/inc/3rdparty/site_config/standard/tasteofhome.com.txt | |||
@@ -1,15 +1,11 @@ | |||
1 | title: //span[@id='ctl00_ctl00_MainContent_MainContent_RecipeImage1_lblRecipeTitle'] | 1 | title: //div[@id='ctl00_MainContent_ctl00_Div1']//h2 |
2 | body: //div[@id='RDNEW']//*[@class='Recipe-imgCon' or @class='Recipe-Intro' or @class='recipeDetails'] | 2 | body: //div[@id='ctl00_MainContent_ctl00_Div1'] |
3 | strip_id_or_class: rec-ExRightPanel | 3 | |
4 | strip_id_or_class: divCarousel | 4 | single_page_link: //div[contains(@class, 'recipeHeader')]//a[contains(@href, '/print')] |
5 | strip_id_or_class: preptimeOuter | 5 | |
6 | strip_id_or_class: cooktimeOuter | 6 | strip_image_src: tohPrintL.png |
7 | strip_id_or_class: durationOuter | 7 | |
8 | strip_id_or_class: divImageFooter | 8 | prune: no |
9 | strip_id_or_class: microFormatFnIngred | 9 | |
10 | strip: //span[@class='Recipe-Intro']//*[@class='link' or @class='rating'] | 10 | test_url: http://www.tasteofhome.com/recipes/Grinch-Punch |
11 | 11 | test_url: http://www.tasteofhome.com/recipes/lactose-free-chocolate-chip-cookies \ No newline at end of file | |
12 | prune: no | ||
13 | tidy: no | ||
14 | |||
15 | test_url: http://www.tasteofhome.com/recipes/Grinch-Punch \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/taz.de.txt b/inc/3rdparty/site_config/standard/taz.de.txt index 6e84527b..cf853662 100644..100755 --- a/inc/3rdparty/site_config/standard/taz.de.txt +++ b/inc/3rdparty/site_config/standard/taz.de.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | date: //div[@class='secthead'] | 1 | date: //div[@class='secthead'] |
2 | body: //div[@class='sectbody'] | 2 | body: //div[@class='sectbody'] |
3 | title: concat(//div[@class='sectbody']/h4,': ',//div[@class='sectbody']/h1) | 3 | title: concat(//div[@class='sectbody']/h4,': ',//div[@class='sectbody']/h1) |
4 | author: //span[@class='author'] | 4 | author: //span[@class='author'] |
5 | strip: //p[@class='caption'] | 5 | strip: //p[@class='caption'] |
6 | strip_id_or_class: rack | 6 | strip_id_or_class: rack |
7 | 7 | ||
8 | test_url: http://www.taz.de/Protestbewegung-Occupy/!80188/ \ No newline at end of file | 8 | test_url: http://www.taz.de/Protestbewegung-Occupy/!80188/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tbray.org.txt b/inc/3rdparty/site_config/standard/tbray.org.txt index fbe94fa4..558dc9c8 100644..100755 --- a/inc/3rdparty/site_config/standard/tbray.org.txt +++ b/inc/3rdparty/site_config/standard/tbray.org.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | body: //div[@id='centercontent'] | 1 | body: //div[@id='centercontent'] |
2 | strip: //div[@id='rightcontent'] | 2 | strip: //div[@id='rightcontent'] |
3 | date: substring-before( //div[@id='cats'], '·') | 3 | date: substring-before( //div[@id='cats'], '·') |
4 | title: //h1 | 4 | title: //h1 |
5 | test_url: http://www.tbray.org/ongoing/When/201x/2012/03/04/Mobile-Money \ No newline at end of file | 5 | test_url: http://www.tbray.org/ongoing/When/201x/2012/03/04/Mobile-Money \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tcmanila.tk.txt b/inc/3rdparty/site_config/standard/tcmanila.tk.txt new file mode 100755 index 00000000..f6032ec3 --- /dev/null +++ b/inc/3rdparty/site_config/standard/tcmanila.tk.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //h2 | ||
2 | body: //div[@class="post_content"] | ||
3 | author: //span[@class="fn"] | ||
4 | date: //time[@class="updated"] | ||
5 | strip_comments: //yes | ||
6 | footnotes: //yes | ||
7 | test_url: http://tcmanila.tk/post/29189064358/my-2012-roadmap-is-almost-complete-look-at-the \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/tcng.org.txt b/inc/3rdparty/site_config/standard/tcng.org.txt index 765224e4..4873b50d 100644..100755 --- a/inc/3rdparty/site_config/standard/tcng.org.txt +++ b/inc/3rdparty/site_config/standard/tcng.org.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //div[@id='main-content']/h1 | 1 | title: //div[@id='main-content']/h1 |
2 | body: //div[@id='main-content'] | 2 | body: //div[@id='main-content'] |
3 | strip: //div[@id='main-content']/h1 | 3 | strip: //div[@id='main-content']/h1 |
4 | test_url: http://www.tcng.org/index.php/blog/view/teaching-basic-health-cutting-down-costs \ No newline at end of file | 4 | test_url: http://www.tcng.org/index.php/blog/view/teaching-basic-health-cutting-down-costs \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tech.fortune.cnn.com.txt b/inc/3rdparty/site_config/standard/tech.fortune.cnn.com.txt index b6d17da4..da198622 100644..100755 --- a/inc/3rdparty/site_config/standard/tech.fortune.cnn.com.txt +++ b/inc/3rdparty/site_config/standard/tech.fortune.cnn.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //h1[@class='storyheadline'] | 1 | title: //h1[@class='storyheadline'] |
2 | body: //div[@class='storytext'] | 2 | body: //div[@class='storytext'] |
3 | strip: //strong | 3 | strip: //strong |
4 | test_url: http://tech.fortune.cnn.com/2011/03/17/why-startups-dont-go-public-anymore/?section=money_topstories&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+rss%2Fmoney_topstories+%28Top+Stories%29 \ No newline at end of file | 4 | test_url: http://tech.fortune.cnn.com/2011/03/17/why-startups-dont-go-public-anymore/?section=money_topstories&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+rss%2Fmoney_topstories+%28Top+Stories%29 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tech.gilt.com.txt b/inc/3rdparty/site_config/standard/tech.gilt.com.txt new file mode 100755 index 00000000..ab564606 --- /dev/null +++ b/inc/3rdparty/site_config/standard/tech.gilt.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //div[@class="title"]/h1 | ||
2 | title: //div[@class="caption"]/h1 | ||
3 | author: substring-after(//div[@class="metadata"]/div[@class="date"]/a[2], 'by ') | ||
4 | date: //div[@class="metadata"]/div[@class="date"]/a | ||
5 | test_url: http://tech.gilt.com/post/46359463184/26-3-13-todays-noon-outage-and-what-were-doing-to \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/tech.sina.com.cn.txt b/inc/3rdparty/site_config/standard/tech.sina.com.cn.txt index f7228ebf..75126f9c 100644..100755 --- a/inc/3rdparty/site_config/standard/tech.sina.com.cn.txt +++ b/inc/3rdparty/site_config/standard/tech.sina.com.cn.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title://h1[contains(@id,'artibodyTitle')] | 1 | title://h1[contains(@id,'artibodyTitle')] |
2 | 2 | ||
3 | date://span[contains(@id,'pub_date')] | 3 | date://span[contains(@id,'pub_date')] |
4 | 4 | ||
5 | body://div[contains(@id,'artibody')] | 5 | body://div[contains(@id,'artibody')] |
6 | 6 | ||
7 | strip://div[contains(@class,'otherContent')] | 7 | strip://div[contains(@class,'otherContent')] |
8 | 8 | ||
9 | next_page_link://p[@class='page']/a[contains(.,'下一页')] | 9 | next_page_link://p[@class='page']/a[contains(.,'下一页')] |
10 | 10 | ||
11 | test_url: http://tech.sina.com.cn/mobile/n/2012-03-22/07476863046.shtml \ No newline at end of file | 11 | test_url: http://tech.sina.com.cn/mobile/n/2012-03-22/07476863046.shtml \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/techcrunch.com.txt b/inc/3rdparty/site_config/standard/techcrunch.com.txt index f436acb5..1509c46e 100644..100755 --- a/inc/3rdparty/site_config/standard/techcrunch.com.txt +++ b/inc/3rdparty/site_config/standard/techcrunch.com.txt | |||
@@ -1,18 +1,18 @@ | |||
1 | body: //div[contains(@class, 'media-container') or contains(@class, 'body-copy')] | 1 | body: //div[contains(@class, 'media-container') or contains(@class, 'body-copy')] |
2 | 2 | ||
3 | author: //a[@class="name"] | 3 | author: //a[@class="name"] |
4 | 4 | ||
5 | date: //div[@class="post-time"] | 5 | date: //div[@class="post-time"] |
6 | 6 | ||
7 | title: //h1[@class="headline"] | 7 | title: //h1[@class="headline"] |
8 | strip_id_or_class: module-crunchbase | 8 | strip_id_or_class: module-crunchbase |
9 | 9 | ||
10 | # The following is for the mobile site | 10 | # The following is for the mobile site |
11 | body: //div[@id="singlentry"] | 11 | body: //div[@id="singlentry"] |
12 | author: substring-after(//span[@class="single-post-meta-top"],'rsaquo; ') | 12 | author: substring-after(//span[@class="single-post-meta-top"],'rsaquo; ') |
13 | date: substring-before(//div[@class="single-post-meta-top"],' @') | 13 | date: substring-before(//div[@class="single-post-meta-top"],' @') |
14 | title: //a[@class="sh2"] | 14 | title: //a[@class="sh2"] |
15 | 15 | ||
16 | prune: no | 16 | prune: no |
17 | 17 | ||
18 | test_url: http://techcrunch.com/2011/10/18/apples-insanely-great-q1-2012/ \ No newline at end of file | 18 | test_url: http://techcrunch.com/2011/10/18/apples-insanely-great-q1-2012/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/techdirt.com.txt b/inc/3rdparty/site_config/standard/techdirt.com.txt index 727f3701..7db2f95b 100644..100755 --- a/inc/3rdparty/site_config/standard/techdirt.com.txt +++ b/inc/3rdparty/site_config/standard/techdirt.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | body: //div[@class='story'] | 1 | body: //div[@class='story'] |
2 | title: //div[@class='story']/h1 | 2 | title: //div[@class='story']/h1 |
3 | strip: //div[@class='story']/h1 | 3 | strip: //div[@class='story']/h1 |
4 | 4 | ||
5 | author: //div[@class='details']/p[contains(., 'by ')]/a | 5 | author: //div[@class='details']/p[contains(., 'by ')]/a |
6 | date: //p[@class='storydate'] | 6 | date: //p[@class='storydate'] |
7 | 7 | ||
8 | strip: //p[a[contains(., 'Leave a Comment')]] | 8 | strip: //p[a[contains(., 'Leave a Comment')]] |
9 | strip_id_or_class: share | 9 | strip_id_or_class: share |
10 | strip_id_or_class: maincolumn_head | 10 | strip_id_or_class: maincolumn_head |
11 | strip_id_or_class: maincolmod | 11 | strip_id_or_class: maincolmod |
12 | test_url: http://www.techdirt.com/articles/20120112/17455117394/sega-gets-it-right-about-sopa-its-time-hard-reset-copyright-law-congress.shtml \ No newline at end of file | 12 | test_url: http://www.techdirt.com/articles/20120112/17455117394/sega-gets-it-right-about-sopa-its-time-hard-reset-copyright-law-congress.shtml \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/techhive.com.txt b/inc/3rdparty/site_config/standard/techhive.com.txt new file mode 100755 index 00000000..29720b0b --- /dev/null +++ b/inc/3rdparty/site_config/standard/techhive.com.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | title: //div[@class='articleHead']//h1 | ||
2 | author: //div[@class="author-name"]/a[1] | ||
3 | body: //div[@class="main"] | ||
4 | |||
5 | # remove 'From the Lab' and 'Recent posts' text | ||
6 | strip: //div[@class='blogLabel'] | ||
7 | |||
8 | # remove byline and meta info | ||
9 | strip: //div[@class="article-meta"] | ||
10 | strip: //div[@class="author-info"] | ||
11 | |||
12 | #strip tags and categories | ||
13 | strip: //div[@class="department"] | ||
14 | |||
15 | #strip product cap links | ||
16 | strip: //div[@class="cap-main"] | ||
17 | strip: //div[@id="compare-lede"] | ||
18 | test_url: http://www.techhive.com/article/2010549/up-close-with-blackberry-10.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/techmeme.com.txt b/inc/3rdparty/site_config/standard/techmeme.com.txt index 8644e00f..0b4bfbd6 100644..100755 --- a/inc/3rdparty/site_config/standard/techmeme.com.txt +++ b/inc/3rdparty/site_config/standard/techmeme.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | single_page_link_in_feed: //b/a | 1 | single_page_link_in_feed: //b/a |
2 | 2 | ||
3 | test_url_feed: http://www.techmeme.com/feed.xml \ No newline at end of file | 3 | test_url_feed: http://www.techmeme.com/feed.xml \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/technicallyjordan.tumblr.com.txt b/inc/3rdparty/site_config/standard/technicallyjordan.tumblr.com.txt index cc26ee4c..d871b603 100644..100755 --- a/inc/3rdparty/site_config/standard/technicallyjordan.tumblr.com.txt +++ b/inc/3rdparty/site_config/standard/technicallyjordan.tumblr.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | author: //meta[@name="author"]/@content | 2 | author: //meta[@name="author"]/@content |
3 | date: //h3 | 3 | date: //h3 |
4 | body: //div[@class="postBody"] | 4 | body: //div[@class="postBody"] |
5 | strip: //h1 | 5 | strip: //h1 |
6 | strip: //h2 | 6 | strip: //h2 |
7 | strip: //h3 | 7 | strip: //h3 |
8 | test_url: http://technicallyjordan.tumblr.com/post/22914659822/facebook-to-launch-app-store-knock-off \ No newline at end of file | 8 | test_url: http://technicallyjordan.tumblr.com/post/22914659822/facebook-to-launch-app-store-knock-off \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/technologizer.com.txt b/inc/3rdparty/site_config/standard/technologizer.com.txt new file mode 100755 index 00000000..179bf5a6 --- /dev/null +++ b/inc/3rdparty/site_config/standard/technologizer.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | next_page_link: //a[contains(., 'NEXT PAGE')] | ||
2 | # following::node() selects text nodes too whereas following::* selects only elements. | ||
3 | strip: //span[@class='pageo']/following::node() | ||
4 | strip: //span[@class='pageo'] | ||
5 | test_url: http://technologizer.com/2010/03/08/the-secret-origin-of-windows/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/technologyreview.com.txt b/inc/3rdparty/site_config/standard/technologyreview.com.txt index 41f21d46..d405eb18 100644..100755 --- a/inc/3rdparty/site_config/standard/technologyreview.com.txt +++ b/inc/3rdparty/site_config/standard/technologyreview.com.txt | |||
@@ -1,16 +1,16 @@ | |||
1 | title: //header[@class='article-meta']/h1 | 1 | title: //header[@class='article-meta']/h1 |
2 | title: substring-before(//title, '|') | 2 | title: substring-before(//title, '|') |
3 | 3 | ||
4 | body: //section[contains(@class, 'body')] | 4 | body: //section[contains(@class, 'body')] |
5 | 5 | ||
6 | # Author & Date for News and Featured Stories | 6 | # Author & Date for News and Featured Stories |
7 | author: //ul[@class='byline']/li/a | 7 | author: //ul[@class='byline']/li/a |
8 | author: substring-before(substring-after(//ul[@class='byline']/li, 'By '), ' on') | 8 | author: substring-before(substring-after(//ul[@class='byline']/li, 'By '), ' on') |
9 | date: substring-after(//ul[@class='byline']/li, 'on ') | 9 | date: substring-after(//ul[@class='byline']/li, 'on ') |
10 | 10 | ||
11 | # Author & Date for "Views" | 11 | # Author & Date for "Views" |
12 | author: //div[@class='view-byline']/div[@class='meta']/h2[1] | 12 | author: //div[@class='view-byline']/div[@class='meta']/h2[1] |
13 | date: //div[@class='view-byline']/div[@class='meta']/h2[2] | 13 | date: //div[@class='view-byline']/div[@class='meta']/h2[2] |
14 | 14 | ||
15 | next_page_link: //section[@class='pagination']/a[contains(@class, 'continue')] | 15 | next_page_link: //section[@class='pagination']/a[contains(@class, 'continue')] |
16 | test_url: http://www.technologyreview.com/news/427567/facebooks-telescope-on-human-behavior/ \ No newline at end of file | 16 | test_url: http://www.technologyreview.com/news/427567/facebooks-telescope-on-human-behavior/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/techpinions.com.txt b/inc/3rdparty/site_config/standard/techpinions.com.txt index 89ed8349..8e1aa96c 100644..100755 --- a/inc/3rdparty/site_config/standard/techpinions.com.txt +++ b/inc/3rdparty/site_config/standard/techpinions.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: //div[@class="post"] | 1 | body: //div[@class="post"] |
2 | 2 | ||
3 | strip: //div[@class="post-meta"] | 3 | strip: //div[@class="post-meta"] |
4 | strip: //div[@id="socialicons"] | 4 | strip: //div[@id="socialicons"] |
5 | strip: //div[@id="authorbox"] | 5 | strip: //div[@id="authorbox"] |
6 | 6 | ||
7 | test_url: http://techpinions.com/why-google-and-microsoft-hate-siri/3572 \ No newline at end of file | 7 | test_url: http://techpinions.com/why-google-and-microsoft-hate-siri/3572 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/techradar.com.txt b/inc/3rdparty/site_config/standard/techradar.com.txt index ed92a974..0a0ca619 100644..100755 --- a/inc/3rdparty/site_config/standard/techradar.com.txt +++ b/inc/3rdparty/site_config/standard/techradar.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | # Title without news/reviews etc. appended | 1 | # Title without news/reviews etc. appended |
2 | title: //div[@id='subColumn1Pad']/div[1][@class='article']/div[1][@class='articleHead']/h1 | 2 | title: //div[@id='subColumn1Pad']/div[1][@class='article']/div[1][@class='articleHead']/h1 |
3 | 3 | ||
4 | # Remove home link | 4 | # Remove home link |
5 | strip: //div[@id='page_logo']/a | 5 | strip: //div[@id='page_logo']/a |
6 | 6 | ||
7 | # Remove utilities | 7 | # Remove utilities |
8 | strip: //*[(@id = "utilities")] | 8 | strip: //*[(@id = "utilities")] |
9 | 9 | ||
10 | # Remove comments link | 10 | # Remove comments link |
11 | strip: //div[@id='subColumn1Pad']/div[1][@class='article']/div[1][@class='articleHead']/p[@class='tiny'] | 11 | strip: //div[@id='subColumn1Pad']/div[1][@class='article']/div[1][@class='articleHead']/p[@class='tiny'] |
12 | test_url: http://www.techradar.com/news/television/sky-to-rebrand-living-as-sky-living-903105 \ No newline at end of file | 12 | test_url: http://www.techradar.com/news/television/sky-to-rebrand-living-as-sky-living-903105 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/telegraaf.nl.txt b/inc/3rdparty/site_config/standard/telegraaf.nl.txt index ff3cd06e..91b5baf9 100644..100755 --- a/inc/3rdparty/site_config/standard/telegraaf.nl.txt +++ b/inc/3rdparty/site_config/standard/telegraaf.nl.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //div[@id='artikelKolom'] | 1 | body: //div[@id='artikelKolom'] |
2 | strip: //div[@class='broodMediaBox']/div[@class='docbox' or @class='artBannerWrapper'] | 2 | strip: //div[@class='broodMediaBox']/div[@class='docbox' or @class='artBannerWrapper'] |
3 | strip: //div[@id='artikeltoolbar'] | 3 | strip: //div[@id='artikeltoolbar'] |
4 | strip: //div[@class='reactiebalk artspacer' or @class='bannercenter clearfix artspacer'] | 4 | strip: //div[@class='reactiebalk artspacer' or @class='bannercenter clearfix artspacer'] |
5 | strip: //div[@id='artikelKolomRechts' or @id='TMGTweetWidget'] | 5 | strip: //div[@id='artikelKolomRechts' or @id='TMGTweetWidget'] |
6 | tidy: no | 6 | tidy: no |
7 | prune: no | 7 | prune: no |
8 | 8 | ||
9 | test_url: http://www.telegraaf.nl/binnenland/10275097/__Identiteit_man_in_sloot_onbekend__.html?cid=rss \ No newline at end of file | 9 | test_url: http://www.telegraaf.nl/binnenland/10275097/__Identiteit_man_in_sloot_onbekend__.html?cid=rss \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/telegraph.co.uk.txt b/inc/3rdparty/site_config/standard/telegraph.co.uk.txt index e1faf23b..8dcdb42b 100644..100755 --- a/inc/3rdparty/site_config/standard/telegraph.co.uk.txt +++ b/inc/3rdparty/site_config/standard/telegraph.co.uk.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | body: //div[@class='byline' or @id='storyEmbSlide' or @id='mainBodyArea'] | 1 | body: //div[@class='byline' or @id='storyEmbSlide' or @id='mainBodyArea'] |
2 | strip: //p[@class='comments'] | 2 | strip: //p[@class='comments'] |
3 | strip: //div[@id='storyEmbSlide']//div[contains(@class, "hide")] | 3 | strip: //div[@id='storyEmbSlide']//div[contains(@class, "hide")] |
4 | strip: //div[@id='tmg-related-links' or @id='outbrain-related-links' or @id='onespot-related-links'] | 4 | strip: //div[@id='tmg-related-links' or @id='outbrain-related-links' or @id='onespot-related-links'] |
5 | strip: //p[@class='bbpTweet']/span[@class='timestamp'] | 5 | strip: //p[@class='bbpTweet']/span[@class='timestamp'] |
6 | strip: //p[@class='bbpTweet']/span[@class='metadata']//img | 6 | strip: //p[@class='bbpTweet']/span[@class='metadata']//img |
7 | tidy: no | 7 | tidy: no |
8 | prune: no | 8 | prune: no |
9 | 9 | ||
10 | test_url: http://www.telegraph.co.uk/news/worldnews/europe/ireland/8663451/Is-Ireland-divorcing-from-the-Catholic-Church.html \ No newline at end of file | 10 | test_url: http://www.telegraph.co.uk/news/worldnews/europe/ireland/8663451/Is-Ireland-divorcing-from-the-Catholic-Church.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thanhnien.com.vn.txt b/inc/3rdparty/site_config/standard/thanhnien.com.vn.txt new file mode 100755 index 00000000..596ecc90 --- /dev/null +++ b/inc/3rdparty/site_config/standard/thanhnien.com.vn.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | body://div[@id="print-news"] | ||
2 | strip://a | ||
3 | strip://span[@class="date-line"] | ||
4 | test_url: http://www.thanhnien.com.vn/pages/20121006/hon-90-trieu-usd-nang-cap-do-thi-can-tho.aspx \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/the-magazine.org.txt b/inc/3rdparty/site_config/standard/the-magazine.org.txt new file mode 100755 index 00000000..08864657 --- /dev/null +++ b/inc/3rdparty/site_config/standard/the-magazine.org.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | tidy: no | ||
2 | |||
3 | test_url: http://the-magazine.org/1/alone-together-again \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theage.com.au.txt b/inc/3rdparty/site_config/standard/theage.com.au.txt new file mode 100755 index 00000000..ea27c314 --- /dev/null +++ b/inc/3rdparty/site_config/standard/theage.com.au.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | author: //h3[@class='authorName'] | ||
2 | date: //time | ||
3 | body: //div[@class='articleBody'] | ||
4 | strip_id_or_class: adspot | ||
5 | test_url: http://www.theage.com.au/victoria/top-cops-warns-outlaw-bikies-we-have-a-gang-too-20130331-2h1l8.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theamericanscholar.org.txt b/inc/3rdparty/site_config/standard/theamericanscholar.org.txt new file mode 100755 index 00000000..38b96672 --- /dev/null +++ b/inc/3rdparty/site_config/standard/theamericanscholar.org.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | # Article Metadata | ||
2 | title: //meta[@property="og:title"]/@content | ||
3 | author: substring-after(//h3, 'By ') | ||
4 | date: //h4/a[2] | ||
5 | |||
6 | # Content Pruning | ||
7 | strip: //h4 | ||
8 | strip: //a[@id="print_button"] | ||
9 | strip: //p[@class="excerpt"] | ||
10 | strip: //h3 | ||
11 | strip: //div[@class="caption"] | ||
12 | strip: //center/a/img | ||
13 | test_url: http://theamericanscholar.org/too-big-to-fail-and-too-risky-to-exist/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theappleblog.com.txt b/inc/3rdparty/site_config/standard/theappleblog.com.txt index 3bd555f1..caa5ae0c 100644..100755 --- a/inc/3rdparty/site_config/standard/theappleblog.com.txt +++ b/inc/3rdparty/site_config/standard/theappleblog.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | # Remove home link | 1 | # Remove home link |
2 | strip: //div[@id='blog-title']/a | 2 | strip: //div[@id='blog-title']/a |
3 | test_url: http://theappleblog.com/2010/10/21/the-new-macbook-air-is-underwhelming/ \ No newline at end of file | 3 | test_url: http://theappleblog.com/2010/10/21/the-new-macbook-air-is-underwhelming/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/theatlantic.com.txt b/inc/3rdparty/site_config/standard/theatlantic.com.txt index 267fd39c..aa41b153 100644..100755 --- a/inc/3rdparty/site_config/standard/theatlantic.com.txt +++ b/inc/3rdparty/site_config/standard/theatlantic.com.txt | |||
@@ -1,18 +1,20 @@ | |||
1 | title: //div[@id='article']/h1 | 1 | title: //div[contains(@class, 'articleHead')]//h1 |
2 | title: //h1 | 2 | |
3 | 3 | body: //div[@class='articleText'] | |
4 | body: //div[@class='articleText'] | 4 | body: //div[@class='articleContent'] |
5 | body: //div[@class='articleContent'] | 5 | body: //div[@id='article'] |
6 | body: //div[@id='article'] | 6 | date: //*[contains(@class, 'date')] |
7 | date: //*[contains(@class, 'date')] | 7 | author: //div[@id='profile']//*[@class='authors']//a[1] |
8 | author: //div[@id='profile']//*[@class='authors']//a[1] | 8 | author: //*[@class='author']/span |
9 | author: //*[@class='author']/span | 9 | prune: no |
10 | prune: no | 10 | |
11 | 11 | strip: //div[@class='moreOnBoxWithImages'] | |
12 | strip: //div[@class='moreOnBoxWithImages'] | 12 | strip: //p[contains(., 'This article available online at:')] |
13 | 13 | strip: //p[contains(., 'This article available online at:')]/following::* | |
14 | single_page_link: //a[@class='print'] | 14 | strip: //div[@class='earthbox'] |
15 | 15 | ||
16 | test_url: http://www.theatlantic.com/technology/archive/2011/04/want-to-see-how-crazy-a-bot-run-market-can-be/237773/ | 16 | single_page_link: //article//a[contains(@class, 'print')] |
17 | test_url: http://www.theatlantic.com/magazine/archive/2007/11/the-autumn-of-the-multitaskers/6342/ | 17 | |
18 | test_url: http://www.theatlantic.com/technology/archive/2011/04/want-to-see-how-crazy-a-bot-run-market-can-be/237773/ | ||
19 | test_url: http://www.theatlantic.com/magazine/archive/2007/11/the-autumn-of-the-multitaskers/6342/ | ||
18 | test_url: http://www.theatlantic.com/entertainment/archive/2012/04/30-rock-live-a-funny-reminder-of-why-sitcoms-arent-shot-live-anymore/256447/ \ No newline at end of file | 20 | test_url: http://www.theatlantic.com/entertainment/archive/2012/04/30-rock-live-a-funny-reminder-of-why-sitcoms-arent-shot-live-anymore/256447/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/theatlanticcities.com.txt b/inc/3rdparty/site_config/standard/theatlanticcities.com.txt new file mode 100755 index 00000000..880f207d --- /dev/null +++ b/inc/3rdparty/site_config/standard/theatlanticcities.com.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | # To administrator: | ||
2 | # Please replace the hostname with "*.theatlanticcities.com" | ||
3 | |||
4 | # This filter is tested on: | ||
5 | # http://m.theatlanticcities.com/arts-and-lifestyle/2012/04/invisible-borders-define-american-culture/1839/ | ||
6 | # http://www.theatlanticcities.com/housing/2012/11/chinas-holdouts/3981/ | ||
7 | # http://www.theatlanticcities.com/arts-and-lifestyle/2012/12/christmas-time-here/4133/ | ||
8 | |||
9 | title://h1 | ||
10 | author: //ul[@class='meta']/li/a | ||
11 | date: //ul[@class='meta']/li/following-sibling::li | ||
12 | body://article[@class='post'] | ||
13 | |||
14 | strip://h1 | ||
15 | strip://ul[@class='meta'] | ||
16 | strip://div[@class='newsletter-slug'] | ||
17 | test_url: http://www.theatlanticcities.com/arts-and-lifestyle/2012/12/christmas-time-here/4133/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/thebostonchannel.com.txt b/inc/3rdparty/site_config/standard/thebostonchannel.com.txt index 64df90c1..b74442de 100644..100755 --- a/inc/3rdparty/site_config/standard/thebostonchannel.com.txt +++ b/inc/3rdparty/site_config/standard/thebostonchannel.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //meta[@name='og:title']/@content | 1 | title: //meta[@name='og:title']/@content |
2 | date: //meta[@name='created']/@content | 2 | date: //meta[@name='created']/@content |
3 | body: //div[@class="StoryBody" or @class="storyTeaser"] | 3 | body: //div[@class="StoryBody" or @class="storyTeaser"] |
4 | 4 | ||
5 | replace_string(<p></p>): <br /><br /> | 5 | replace_string(<p></p>): <br /><br /> |
6 | 6 | ||
7 | test_url: http://www.thebostonchannel.com/slideshow/news/28210648/detail.html \ No newline at end of file | 7 | test_url: http://www.thebostonchannel.com/slideshow/news/28210648/detail.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thebrowser.com.txt b/inc/3rdparty/site_config/standard/thebrowser.com.txt index c3c20504..807e7dad 100644..100755 --- a/inc/3rdparty/site_config/standard/thebrowser.com.txt +++ b/inc/3rdparty/site_config/standard/thebrowser.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //h2[contains(@class, 'page-title')] | 1 | title: //h2[contains(@class, 'page-title')] |
2 | body: //div[@id='content']/div[contains(@id, 'node-')]/div[@class='content'] | 2 | body: //div[@id='content']/div[contains(@id, 'node-')]/div[@class='content'] |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | strip: //div[contains(@class, 'node-book')]//a[@class='button'] | 6 | strip: //div[contains(@class, 'node-book')]//a[@class='button'] |
7 | 7 | ||
8 | single_page_link: //a[@class='tool-print'] | 8 | single_page_link: //a[@class='tool-print'] |
9 | 9 | ||
10 | test_url: http://thebrowser.com/interviews/yotam-ottolenghi-on-his-favourite-cookery-books \ No newline at end of file | 10 | test_url: http://thebrowser.com/interviews/yotam-ottolenghi-on-his-favourite-cookery-books \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thecarton.net.txt b/inc/3rdparty/site_config/standard/thecarton.net.txt index 9ef4ed8b..13fa35a0 100644..100755 --- a/inc/3rdparty/site_config/standard/thecarton.net.txt +++ b/inc/3rdparty/site_config/standard/thecarton.net.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: substring-before(//title, ' – ') | 1 | title: substring-before(//title, ' – ') |
2 | author:string('Shawn') | 2 | author:string('Shawn') |
3 | date: //*/time/@pubdate | 3 | date: //*/time/@pubdate |
4 | 4 | ||
5 | 5 | ||
6 | strip: //header | 6 | strip: //header |
7 | strip: //div[@id='prev_next'] | 7 | strip: //div[@id='prev_next'] |
8 | strip: //div[@id='masthead'] | 8 | strip: //div[@id='masthead'] |
9 | 9 | ||
10 | test_url: http://thecarton.net/2012/12/20/imdb \ No newline at end of file | 10 | test_url: http://thecarton.net/2012/12/20/imdb \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thedaily.com.txt b/inc/3rdparty/site_config/standard/thedaily.com.txt index 24ebbbac..e255e6a8 100644..100755 --- a/inc/3rdparty/site_config/standard/thedaily.com.txt +++ b/inc/3rdparty/site_config/standard/thedaily.com.txt | |||
@@ -1,24 +1,24 @@ | |||
1 | #keep all body text | 1 | #keep all body text |
2 | prune: no | 2 | prune: no |
3 | 3 | ||
4 | #title, body, metadata | 4 | #title, body, metadata |
5 | title: //div[@class='story_header']/h1 | 5 | title: //div[@class='story_header']/h1 |
6 | body: //div[@id='content'] | 6 | body: //div[@id='content'] |
7 | author: substring-after(//span[@class='byline'], "by ") | 7 | author: substring-after(//span[@class='byline'], "by ") |
8 | author: substring-after(//span[@class='byline'], "By ") | 8 | author: substring-after(//span[@class='byline'], "By ") |
9 | author: //span[@class='byline'] | 9 | author: //span[@class='byline'] |
10 | date: //span[@class='date'] | 10 | date: //span[@class='date'] |
11 | 11 | ||
12 | #formatting | 12 | #formatting |
13 | convert_double_br_tags: yes | 13 | convert_double_br_tags: yes |
14 | dissolve: //div[@class='slides_full']/ul/li | 14 | dissolve: //div[@class='slides_full']/ul/li |
15 | 15 | ||
16 | # cleanup | 16 | # cleanup |
17 | strip: //a[@id='story_note'] | 17 | strip: //a[@id='story_note'] |
18 | strip: //br | 18 | strip: //br |
19 | strip: //div[@class='intro'] | 19 | strip: //div[@class='intro'] |
20 | strip: //div[@class='share-block'] | 20 | strip: //div[@class='share-block'] |
21 | strip: //div[@class='sidebar-social'] | 21 | strip: //div[@class='sidebar-social'] |
22 | strip: //div[@class='top-stories'] | 22 | strip: //div[@class='top-stories'] |
23 | strip: //div[@class='prevnext'] | 23 | strip: //div[@class='prevnext'] |
24 | test_url: http://www.thedaily.com/page/2012/01/09/010912-news-college-costs-1-5/ \ No newline at end of file | 24 | test_url: http://www.thedaily.com/page/2012/01/09/010912-news-college-costs-1-5/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thedailybeast.com.txt b/inc/3rdparty/site_config/standard/thedailybeast.com.txt index 4781c65a..f5e938ae 100644..100755 --- a/inc/3rdparty/site_config/standard/thedailybeast.com.txt +++ b/inc/3rdparty/site_config/standard/thedailybeast.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //article/div[contains(@class, 'article-body')] | 2 | body: //article/div[contains(@class, 'article-body')] |
3 | #strip: //header/hgroup/h1 | 3 | #strip: //header/hgroup/h1 |
4 | strip: //footer[@class='storyFooter'] | 4 | strip: //footer[@class='storyFooter'] |
5 | single_page_link: //li[@class='print']/a | 5 | single_page_link: //li[@class='print']/a |
6 | prune: no | 6 | prune: no |
7 | test_url: http://www.thedailybeast.com/articles/2010/04/06/how-mastercard-predicts-divorce.html \ No newline at end of file | 7 | test_url: http://www.thedailybeast.com/articles/2010/04/06/how-mastercard-predicts-divorce.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thedailymash.co.uk.txt b/inc/3rdparty/site_config/standard/thedailymash.co.uk.txt index 0f15558d..a83a6cf6 100644..100755 --- a/inc/3rdparty/site_config/standard/thedailymash.co.uk.txt +++ b/inc/3rdparty/site_config/standard/thedailymash.co.uk.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | # Remove duplicated title | 1 | # Remove duplicated title |
2 | strip: //div[@id='content']/div[1][@class='full_intro']/h2 | 2 | strip: //div[@id='content']/div[1][@class='full_intro']/h2 |
3 | 3 | ||
4 | # Remove links, ads etc. | 4 | # Remove links, ads etc. |
5 | strip: //*[(@class= "aside")] | 5 | strip: //*[(@class= "aside")] |
6 | 6 | ||
7 | # Remove the date and add it to the date published field in Instapaper | 7 | # Remove the date and add it to the date published field in Instapaper |
8 | strip: //div[@class="date"] | 8 | strip: //div[@class="date"] |
9 | date: //div[@class="date"] | 9 | date: //div[@class="date"] |
10 | 10 | ||
11 | # There is no byline on The Daily Mash. | 11 | # There is no byline on The Daily Mash. |
12 | 12 | ||
13 | convert_double_br_tags: yes | 13 | convert_double_br_tags: yes |
14 | test_url: http://www.thedailymash.co.uk/index.php?option=com_content&task=view&id=4994&Itemid=81&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+thedailymash+%28The+Daily+Mash.+It%27s+news+to+us.%29 \ No newline at end of file | 14 | test_url: http://www.thedailymash.co.uk/index.php?option=com_content&task=view&id=4994&Itemid=81&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+thedailymash+%28The+Daily+Mash.+It%27s+news+to+us.%29 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thedisneyblog.com.txt b/inc/3rdparty/site_config/standard/thedisneyblog.com.txt new file mode 100755 index 00000000..57b3254a --- /dev/null +++ b/inc/3rdparty/site_config/standard/thedisneyblog.com.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //h1[contains(@class, 'entry-title')] | ||
2 | author: //span[contains(@class, 'author vcard')] | ||
3 | date: //span[@class = 'entry-date'] | ||
4 | body: //div[@class='entry-content'] | ||
5 | strip_id_or_class: bottomcontainerBox | ||
6 | strip_id_or_class: lightsocial_container | ||
7 | test_url: http://thedisneyblog.com/2012/11/17/videopolis-one-woman-disney-musical-beauty-and-the-beast/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theeuropean-magazine.com.txt b/inc/3rdparty/site_config/standard/theeuropean-magazine.com.txt new file mode 100755 index 00000000..a19bae15 --- /dev/null +++ b/inc/3rdparty/site_config/standard/theeuropean-magazine.com.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | # Tested on: | ||
2 | # http://theeuropean-magazine.com/352-dyson-george/353-evolution-and-innovation | ||
3 | # http://theeuropean-magazine.com/522-casertano-stefano/919-morsi-and-the-future-of-egypt | ||
4 | |||
5 | title://h2[@class='article-title'] | ||
6 | author:substring-before(substring-after(//p[@class='article-meta'], 'by'), '—') | ||
7 | date:substring-after(//p[@class='article-meta'], '—') | ||
8 | body://div[@class='article'] | ||
9 | |||
10 | wrap_in(strong)://p[@class='article-teaser'] | ||
11 | move_into(//div[@class='article-head'])://li/img | ||
12 | |||
13 | strip://h2[@class='article-title'] | ||
14 | strip://p[@class='article-meta'] | ||
15 | strip://div[@class='copyright'] | ||
16 | strip://div[@class='opinions-of-readers'] | ||
17 | test_url: http://theeuropean-magazine.com/522-casertano-stefano/919-morsi-and-the-future-of-egypt \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/thefilmexperience.net.txt b/inc/3rdparty/site_config/standard/thefilmexperience.net.txt index e6b5115a..e6b5115a 100644..100755 --- a/inc/3rdparty/site_config/standard/thefilmexperience.net.txt +++ b/inc/3rdparty/site_config/standard/thefilmexperience.net.txt | |||
diff --git a/inc/3rdparty/site_config/standard/thegamedesignforum.com.txt b/inc/3rdparty/site_config/standard/thegamedesignforum.com.txt new file mode 100755 index 00000000..849ede77 --- /dev/null +++ b/inc/3rdparty/site_config/standard/thegamedesignforum.com.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | ## ERROR: Removes all images. Please fix, have no idea why (bad HTML?) | ||
2 | |||
3 | title: //h1[@class='featuretitle'] | ||
4 | body: //div[@id='nobordercontentarea'] | ||
5 | |||
6 | # remove Twitter badge | ||
7 | strip: //img[@alt='Follow tgdfweb on Twitter'] | ||
8 | |||
9 | # fix for headers not showing for some reason | ||
10 | wrap_in(h2): //h2[@class='sectionheader'] | ||
11 | dissolve: //h2[@class='sectionheader'] | ||
12 | |||
13 | tidy: yes | ||
14 | test_url: http://thegamedesignforum.com/features/acceleration_flow_1.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theglobalmail.org.txt b/inc/3rdparty/site_config/standard/theglobalmail.org.txt index fae0fb29..da1c84f9 100644..100755 --- a/inc/3rdparty/site_config/standard/theglobalmail.org.txt +++ b/inc/3rdparty/site_config/standard/theglobalmail.org.txt | |||
@@ -1,41 +1,41 @@ | |||
1 | title: //h1[@id="headline"] | 1 | title: //h1[@id="headline"] |
2 | author: //div[contains(@class, "editorial-byline-author")]/a | 2 | author: //div[contains(@class, "editorial-byline-author")]/a |
3 | date: substring-after(//div[contains(@class, "editorial-byline-meta")], " | ") | 3 | date: substring-after(//div[contains(@class, "editorial-byline-meta")], " | ") |
4 | 4 | ||
5 | # The article body contains a mix or article and non-article elements, so lot of manual tweaks are needed | 5 | # The article body contains a mix or article and non-article elements, so lot of manual tweaks are needed |
6 | body: //div[@id="template"] | 6 | body: //div[@id="template"] |
7 | strip_id_or_class: editorial-byline-pic | 7 | strip_id_or_class: editorial-byline-pic |
8 | strip_id_or_class: editorial-byline | 8 | strip_id_or_class: editorial-byline |
9 | strip_id_or_class: headline | 9 | strip_id_or_class: headline |
10 | 10 | ||
11 | # Include the leadin paragraph in the body text, but remove quotes because they're out of context | 11 | # Include the leadin paragraph in the body text, but remove quotes because they're out of context |
12 | dissolve: //div[contains(@id, "leadin")] | 12 | dissolve: //div[contains(@id, "leadin")] |
13 | strip_id_or_class: pullquote | 13 | strip_id_or_class: pullquote |
14 | 14 | ||
15 | # Image captions removed because they're confusing in body text | 15 | # Image captions removed because they're confusing in body text |
16 | strip_id_or_class: image-caption-content | 16 | strip_id_or_class: image-caption-content |
17 | 17 | ||
18 | # Remove header and footer | 18 | # Remove header and footer |
19 | strip_id_or_class: header | 19 | strip_id_or_class: header |
20 | strip_id_or_class: footer | 20 | strip_id_or_class: footer |
21 | 21 | ||
22 | # Remove the hidden logo that seems to be used to cause Facebook to show the logo instead of a random article image | 22 | # Remove the hidden logo that seems to be used to cause Facebook to show the logo instead of a random article image |
23 | strip: /html/body/span[contains(@style, "display: none")] | 23 | strip: /html/body/span[contains(@style, "display: none")] |
24 | 24 | ||
25 | # Remove search box | 25 | # Remove search box |
26 | strip_id_or_class: searchContainer | 26 | strip_id_or_class: searchContainer |
27 | strip: //div[contains(@class, "searchInstruction")] | 27 | strip: //div[contains(@class, "searchInstruction")] |
28 | strip: //div[contains(@class, "searchResults")]/h4 | 28 | strip: //div[contains(@class, "searchResults")]/h4 |
29 | 29 | ||
30 | # Remove the 'Letters to the Editor' section | 30 | # Remove the 'Letters to the Editor' section |
31 | strip_id_or_class: letter-text | 31 | strip_id_or_class: letter-text |
32 | strip_id_or_class: letter-from | 32 | strip_id_or_class: letter-from |
33 | strip_id_or_class: letter-date | 33 | strip_id_or_class: letter-date |
34 | 34 | ||
35 | # Remove Like/Tweet links | 35 | # Remove Like/Tweet links |
36 | strip_id_or_class: social-tab | 36 | strip_id_or_class: social-tab |
37 | 37 | ||
38 | # Remove 'divider' which causes an inexplicable slash to appear in the article body | 38 | # Remove 'divider' which causes an inexplicable slash to appear in the article body |
39 | strip_id_or_class: divider | 39 | strip_id_or_class: divider |
40 | 40 | ||
41 | test_url: http://www.theglobalmail.org/feature/tiramisu-time-in-pyongyang/88/ \ No newline at end of file | 41 | test_url: http://www.theglobalmail.org/feature/tiramisu-time-in-pyongyang/88/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/theglobeandmail.com.txt b/inc/3rdparty/site_config/standard/theglobeandmail.com.txt index 90634a08..750f8473 100644..100755 --- a/inc/3rdparty/site_config/standard/theglobeandmail.com.txt +++ b/inc/3rdparty/site_config/standard/theglobeandmail.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | single_page_link: //div[contains(@class, 'pagination')]//a[contains(@title, 'ingle page')] | 1 | single_page_link: //div[contains(@class, 'pagination')]//a[contains(@title, 'ingle page')] |
2 | tidy: no | 2 | tidy: no |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: http://www.theglobeandmail.com/report-on-business/rob-magazine/how-a-novice-miner-survived-a-summer-in-the-klondike/article2345350/ \ No newline at end of file | 5 | test_url: http://www.theglobeandmail.com/report-on-business/rob-magazine/how-a-novice-miner-survived-a-summer-in-the-klondike/article2345350/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thegreatdiscontent.com.txt b/inc/3rdparty/site_config/standard/thegreatdiscontent.com.txt new file mode 100755 index 00000000..12442b40 --- /dev/null +++ b/inc/3rdparty/site_config/standard/thegreatdiscontent.com.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //h1[@id='headline'] | ||
2 | author: substring-after(//section[@class="credits"]/ul/li[1],"Interview by ") | ||
3 | date: //time[@pubdate] | ||
4 | body: //article[@class='interview'] | ||
5 | strip: //article[@class='interview']/footer | ||
6 | test_url: http://thegreatdiscontent.com/jeffrey-zeldman \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theguardian.com.txt b/inc/3rdparty/site_config/standard/theguardian.com.txt new file mode 100755 index 00000000..c803e4e4 --- /dev/null +++ b/inc/3rdparty/site_config/standard/theguardian.com.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | title: //div[@id='main-article-info']//h1 | ||
2 | body: //div[@id='article-wrapper'] | ||
3 | date: //li[@class='publication']//time[@pubdate] | //li[@class='publication']//data[@pubdate] | ||
4 | strip: //div[contains(@class, 'email-subscription')] | ||
5 | strip: //div[contains(@class, 'kindleWidget')] | ||
6 | #strip: //a[not(text())] | ||
7 | strip_id_or_class: pocket-btn | ||
8 | author: //li[@class='byline'] | ||
9 | prune: no | ||
10 | tidy: no | ||
11 | test_url: http://www.theguardian.com/world/2013/oct/04/nsa-gchq-attack-tor-network-encryption | ||
12 | test_url: http://www.theguardian.com/world/2013/oct/03/edward-snowden-files-john-lanchester | ||
13 | test_url: http://www.theguardian.com/commentisfree/2014/jun/15/britishness-search-identity-my-part-in-camerons-odyssey \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theindychannel.com.txt b/inc/3rdparty/site_config/standard/theindychannel.com.txt index 3544f247..2cd865bb 100644..100755 --- a/inc/3rdparty/site_config/standard/theindychannel.com.txt +++ b/inc/3rdparty/site_config/standard/theindychannel.com.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title: //h1[@class="Headline"] | 1 | title: //h1[@class="Headline"] |
2 | date: substring-after(//div[@class="posted"], 'EDT ') | 2 | date: substring-after(//div[@class="posted"], 'EDT ') |
3 | body: //div[@class="storyBody"] | 3 | body: //div[@class="storyBody"] |
4 | 4 | ||
5 | strip: //td[@class="AssocContentTD"] | 5 | strip: //td[@class="AssocContentTD"] |
6 | strip: //div[@id="pageTitle"] | 6 | strip: //div[@id="pageTitle"] |
7 | strip: //div[@class="posted"] | 7 | strip: //div[@class="posted"] |
8 | strip: //div[@class="updated"] | 8 | strip: //div[@class="updated"] |
9 | strip: //div[@class="js-kit-disclaimer"] | 9 | strip: //div[@class="js-kit-disclaimer"] |
10 | strip: //table[@class="row3table"] | 10 | strip: //table[@class="row3table"] |
11 | strip: //div[@class="container2"] | 11 | strip: //div[@class="container2"] |
12 | strip: //div[@id="delta"] | 12 | strip: //div[@id="delta"] |
13 | test_url: http://www.theindychannel.com/news/31050840/detail.html \ No newline at end of file | 13 | test_url: http://www.theindychannel.com/news/31050840/detail.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/themarker.com.txt b/inc/3rdparty/site_config/standard/themarker.com.txt new file mode 100755 index 00000000..141b1a3b --- /dev/null +++ b/inc/3rdparty/site_config/standard/themarker.com.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | title: //h1[contains(@class, 'mainTitle')] | ||
2 | author: //ul[@class='author']//a[@rel='author'] | ||
3 | body: //div[@id='article-box'] | ||
4 | prune: no | ||
5 | tidy: no | ||
6 | strip_id_or_class: head | ||
7 | strip_id_or_class: social-nav | ||
8 | strip_id_or_class: rate | ||
9 | strip_id_or_class: video | ||
10 | |||
11 | test_url: http://www.themarker.com/markerweek/1.2093167 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/themillions.com.txt b/inc/3rdparty/site_config/standard/themillions.com.txt index e3e57fea..4d46daee 100644..100755 --- a/inc/3rdparty/site_config/standard/themillions.com.txt +++ b/inc/3rdparty/site_config/standard/themillions.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: /html/body/div/div[2]/div/div/div/h3 | 1 | title: /html/body/div/div[2]/div/div/div/h3 |
2 | 2 | ||
3 | body: /html/body/div/div[2]/div/div/div/div[2] | 3 | body: /html/body/div/div[2]/div/div/div/div[2] |
4 | 4 | ||
5 | strip: /html/body/div/div[2]/div/div/div/div[6]/div[3]/div/div/div | 5 | strip: /html/body/div/div[2]/div/div/div/div[6]/div[3]/div/div/div |
6 | 6 | ||
7 | tidy: no | 7 | tidy: no |
8 | 8 | ||
9 | # any way to get rid of this word character garbage? | 9 | # any way to get rid of this word character garbage? |
10 | test_url: http://www.themillions.com/2010/07/at-the-movies-with-david-mitchell-the-thousand-autumns-of-jacob-de-zoet.html \ No newline at end of file | 10 | test_url: http://www.themillions.com/2010/07/at-the-movies-with-david-mitchell-the-thousand-autumns-of-jacob-de-zoet.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/themuseumofinnocence.com.txt b/inc/3rdparty/site_config/standard/themuseumofinnocence.com.txt index 518bff93..80aba441 100644..100755 --- a/inc/3rdparty/site_config/standard/themuseumofinnocence.com.txt +++ b/inc/3rdparty/site_config/standard/themuseumofinnocence.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | body: single-review | 1 | body: single-review |
2 | strip_id_or_class: featured-review | 2 | strip_id_or_class: featured-review |
3 | strip_id_or_class: resources | 3 | strip_id_or_class: resources |
4 | strip_id_or_class: rate-the-book | 4 | strip_id_or_class: rate-the-book |
5 | strip_id_or_class: write-review | 5 | strip_id_or_class: write-review |
6 | 6 | ||
7 | test_url: http://themuseumofinnocence.com/review.php?id=1179 \ No newline at end of file | 7 | test_url: http://themuseumofinnocence.com/review.php?id=1179 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thenation.com.txt b/inc/3rdparty/site_config/standard/thenation.com.txt index d88bcdd6..dab17f0b 100644..100755 --- a/inc/3rdparty/site_config/standard/thenation.com.txt +++ b/inc/3rdparty/site_config/standard/thenation.com.txt | |||
@@ -1,11 +1,13 @@ | |||
1 | title: //h1[@class='print-title'] | 1 | title: //h2[@property='dc:title'] |
2 | body: //div[@class='print-content'] | 2 | #body: //div[@class='print-content'] |
3 | author: //a[contains(@href, '/authors')] | 3 | body: //div[@id='wysiwyg'] |
4 | author: substring-before(//div[@class='print-created'], '|') | 4 | author: //a[contains(@href, '/authors')] |
5 | date: //span[@class='article-date'] | 5 | author: substring-before(//div[@class='print-created'], '|') |
6 | date: substring-after(//div[@class='print-created'], '|') | 6 | date: //span[@class='article-date'] |
7 | prune: no | 7 | date: substring-after(//div[@class='print-created'], '|') |
8 | 8 | prune: no | |
9 | single_page_link: //ul[contains(@class, 'article-actions-bar')]//a[contains(@href, '/print/article/')] | 9 | |
10 | 10 | #single_page_link: //ul[contains(@class, 'article-actions-bar')]//a[contains(@href, '/print/article/')] | |
11 | single_page_link: //ul[contains(@class, 'article-actions-bar')]//a[contains(@href, '?page=full')] | ||
12 | |||
11 | test_url: http://www.thenation.com/article/162331/hard-against-time-roy-fisher \ No newline at end of file | 13 | test_url: http://www.thenation.com/article/162331/hard-against-time-roy-fisher \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thenetworkgarden.blogs.com.txt b/inc/3rdparty/site_config/standard/thenetworkgarden.blogs.com.txt index 846b8a8a..b7f5f0f0 100644..100755 --- a/inc/3rdparty/site_config/standard/thenetworkgarden.blogs.com.txt +++ b/inc/3rdparty/site_config/standard/thenetworkgarden.blogs.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@id="beta-inner"] | 1 | body: //div[@id="beta-inner"] |
2 | title: //h3[@class="entry-header"] | 2 | title: //h3[@class="entry-header"] |
3 | 3 | ||
4 | test_url: http://thenetworkgarden.blogs.com/weblog/2011/09/microsoft-metro-and-the-next-wave-in-computing.html \ No newline at end of file | 4 | test_url: http://thenetworkgarden.blogs.com/weblog/2011/09/microsoft-metro-and-the-next-wave-in-computing.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thenextgeneration.org.txt b/inc/3rdparty/site_config/standard/thenextgeneration.org.txt new file mode 100755 index 00000000..dedd989f --- /dev/null +++ b/inc/3rdparty/site_config/standard/thenextgeneration.org.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | title: //h1[@class='interior-page-title'] | ||
2 | author: //span[@class='author']/a | ||
3 | date: //div[@class='byline']/time | ||
4 | body: //div[@class='rich-text-body'] | ||
5 | |||
6 | strip: //div[@class='byline'] | ||
7 | strip: //div[@class='offscreen-menu'] | ||
8 | test_url: http://thenextgeneration.org/blog/post/rebrand-announce/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/thenextweb.com.txt b/inc/3rdparty/site_config/standard/thenextweb.com.txt index fdc70005..684fe82d 100644..100755 --- a/inc/3rdparty/site_config/standard/thenextweb.com.txt +++ b/inc/3rdparty/site_config/standard/thenextweb.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | body: //div[@class= 'article-body'] | 1 | body: //div[@class= 'article-body'] |
2 | author: //div[@class='featured mb-1']//a[starts-with(@href,'/author')] | 2 | author: //div[@class='featured mb-1']//a[starts-with(@href,'/author')] |
3 | 3 | ||
4 | strip: //div[@class = 'bargo'] | 4 | strip: //div[@class = 'bargo'] |
5 | strip: //div[@class = 'tf'] | 5 | strip: //div[@class = 'tf'] |
6 | strip: //div[@class = 'article']/div[@class = 'blue-box'] | 6 | strip: //div[@class = 'article']/div[@class = 'blue-box'] |
7 | strip_id_or_class: respond | 7 | strip_id_or_class: respond |
8 | 8 | ||
9 | tidy: no | 9 | tidy: no |
10 | next_page_link: //div[@class='pages-wrapper']//span/following-sibling::a/@href | 10 | next_page_link: //div[@class='pages-wrapper']//span/following-sibling::a/@href |
11 | 11 | ||
12 | test_url: http://thenextweb.com/apple/2011/10/12/tnw-review-a-complete-guide-to-apples-ios-5-with-icloud-an-os-14-years-in-the-making/ \ No newline at end of file | 12 | test_url: http://thenextweb.com/apple/2011/10/12/tnw-review-a-complete-guide-to-apples-ios-5-with-icloud-an-os-14-years-in-the-making/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/theoaklandpress.com.txt b/inc/3rdparty/site_config/standard/theoaklandpress.com.txt index c7132321..c9abda71 100644..100755 --- a/inc/3rdparty/site_config/standard/theoaklandpress.com.txt +++ b/inc/3rdparty/site_config/standard/theoaklandpress.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id='fullstory'] | 1 | body: //div[@id='fullstory'] |
2 | strip: //div[@id='page_leftbar'] | 2 | strip: //div[@id='page_leftbar'] |
3 | test_url: http://theoaklandpress.com/articles/2011/04/25/news/doc4db5330e0bce9220005852.txt \ No newline at end of file | 3 | test_url: http://theoaklandpress.com/articles/2011/04/25/news/doc4db5330e0bce9220005852.txt \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/theonion.com.txt b/inc/3rdparty/site_config/standard/theonion.com.txt index 12918b88..90e8d658 100644..100755 --- a/inc/3rdparty/site_config/standard/theonion.com.txt +++ b/inc/3rdparty/site_config/standard/theonion.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h2[@class='title'] | 1 | title: //h2[@class='title'] |
2 | date: substring-before(//p[@class='meta'], '|') | 2 | date: substring-before(//p[@class='meta'], '|') |
3 | body: //div[@class='story'] | 3 | body: //div[@class='story'] |
4 | #body: //div[@class='article_body'] | 4 | #body: //div[@class='article_body'] |
5 | 5 | ||
6 | strip: //h2[@class='title'] | 6 | strip: //h2[@class='title'] |
7 | strip: //p[@class='meta'] | 7 | strip: //p[@class='meta'] |
8 | strip: //div[@class='ga_section'] | 8 | strip: //div[@class='ga_section'] |
9 | strip: //div[@id='recent_slider'] | 9 | strip: //div[@id='recent_slider'] |
10 | 10 | ||
11 | test_url: http://www.theonion.com/articles/pathetic-bobcats-owner-again-regaling-players-with,27572/ \ No newline at end of file | 11 | test_url: http://www.theonion.com/articles/pathetic-bobcats-owner-again-regaling-players-with,27572/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thepioneerwoman.com.txt b/inc/3rdparty/site_config/standard/thepioneerwoman.com.txt index f89f3a87..75583cd3 100644..100755 --- a/inc/3rdparty/site_config/standard/thepioneerwoman.com.txt +++ b/inc/3rdparty/site_config/standard/thepioneerwoman.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | title: //h1[@class='post-title'] | 1 | title: //h1[@class='post-title'] |
2 | body: //div[@class='post'] | 2 | body: //div[@class='post'] |
3 | author: //p[@class='posted-by'] | 3 | author: //p[@class='posted-by'] |
4 | date: //div[@class='sprite post-date'] | 4 | date: //div[@class='sprite post-date'] |
5 | 5 | ||
6 | # The body of the post doesn't have it's own div so we have to strip out the metadata | 6 | # The body of the post doesn't have it's own div so we have to strip out the metadata |
7 | strip: //div[@class='author_avatar'] | 7 | strip: //div[@class='author_avatar'] |
8 | strip: //div[@class='sprite post-date'] | 8 | strip: //div[@class='sprite post-date'] |
9 | strip: //h1[@class='post-title'] | 9 | strip: //h1[@class='post-title'] |
10 | strip: //p[@class='posted-by'] | 10 | strip: //p[@class='posted-by'] |
11 | test_url: http://thepioneerwoman.com/cooking/2011/08/pie-fats-a-comparison/ \ No newline at end of file | 11 | test_url: http://thepioneerwoman.com/cooking/2011/08/pie-fats-a-comparison/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/theregister.co.uk.txt b/inc/3rdparty/site_config/standard/theregister.co.uk.txt index ebcc55d5..5d30230d 100644..100755 --- a/inc/3rdparty/site_config/standard/theregister.co.uk.txt +++ b/inc/3rdparty/site_config/standard/theregister.co.uk.txt | |||
@@ -1,5 +1,8 @@ | |||
1 | title: //div[@id="article"]/h2 | 1 | # Updated 25-Jan-2014 |
2 | author: //div[@id="article"]/p[@class="byline"]/a[1] | 2 | single_page_link: //a[contains(@href, '/Print/')] |
3 | date: //div[@id="article"]/p[@class="dateline"]/a[2] | 3 | |
4 | body: //div[@id="article"]/div[@id="body"] | 4 | title: //div[@id="article"]/h2 |
5 | test_url: http://www.theregister.co.uk/2011/10/06/gas_bill_shocker/ \ No newline at end of file | 5 | author: //p[@class="byline"]/a |
6 | date: //p[@class="dateline"]/a[last()] | ||
7 | |||
8 | test_url: http://www.theregister.co.uk/2014/01/24/thirty_years_of_the_apple_macintosh_part_2/ | ||
diff --git a/inc/3rdparty/site_config/standard/theroot.com.txt b/inc/3rdparty/site_config/standard/theroot.com.txt index ebff662d..1f56316d 100644..100755 --- a/inc/3rdparty/site_config/standard/theroot.com.txt +++ b/inc/3rdparty/site_config/standard/theroot.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id='node-content'] | 1 | body: //div[@id='node-content'] |
2 | strip_id_or_class: pager | 2 | strip_id_or_class: pager |
3 | test_url: http://www.theroot.com/views/why-i-am-male-feminist \ No newline at end of file | 3 | test_url: http://www.theroot.com/views/why-i-am-male-feminist \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/therumpus.net.txt b/inc/3rdparty/site_config/standard/therumpus.net.txt index d01a89bb..84d0e783 100644..100755 --- a/inc/3rdparty/site_config/standard/therumpus.net.txt +++ b/inc/3rdparty/site_config/standard/therumpus.net.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: /html/body/div/div[2]/div/div/h1 | 1 | title: /html/body/div/div[2]/div/div/h1 |
2 | 2 | ||
3 | body: /html/body/div/div[2]/div/div/div[2] | 3 | body: /html/body/div/div[2]/div/div/div[2] |
4 | test_url: http://therumpus.net/2010/07/the-rumpus-interview-with-david-means/?full=yes \ No newline at end of file | 4 | test_url: http://therumpus.net/2010/07/the-rumpus-interview-with-david-means/?full=yes \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thesiasat.com.txt b/inc/3rdparty/site_config/standard/thesiasat.com.txt index ab9a99e8..68a8bc8e 100644..100755 --- a/inc/3rdparty/site_config/standard/thesiasat.com.txt +++ b/inc/3rdparty/site_config/standard/thesiasat.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | #body: (//div[@class='ftr-yt-vid'])[1] | 1 | #body: (//div[@class='ftr-yt-vid'])[1] |
2 | body: (//blockquote[contains(@class, 'postcontent')])[1] | 2 | body: (//blockquote[contains(@class, 'postcontent')])[1] |
3 | body: (//div[starts-with(@id, 'post_message')])[1] | 3 | body: (//div[starts-with(@id, 'post_message')])[1] |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | tidy: no | 6 | tidy: no |
7 | 7 | ||
8 | #replace_string(<iframe title="YouTube video player"): <div class="ftr-yt-vid"><iframe title="YouTube video player" | 8 | #replace_string(<iframe title="YouTube video player"): <div class="ftr-yt-vid"><iframe title="YouTube video player" |
9 | #replace_string(</iframe>): </iframe> </div> | 9 | #replace_string(</iframe>): </iframe> </div> |
10 | 10 | ||
11 | test_url: http://www.thesiasat.com/showthread.php?19220-Dunya-News-HASB-E-HAAL-16-06-2012-Part-1-5 \ No newline at end of file | 11 | test_url: http://www.thesiasat.com/showthread.php?19220-Dunya-News-HASB-E-HAAL-16-06-2012-Part-1-5 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thesimpledollar.com.txt b/inc/3rdparty/site_config/standard/thesimpledollar.com.txt index d5c6c9e0..dcdf2572 100644..100755 --- a/inc/3rdparty/site_config/standard/thesimpledollar.com.txt +++ b/inc/3rdparty/site_config/standard/thesimpledollar.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //h3[@class='post-title']/a[@class='post-title-link'] | 1 | title: //h3[@class='post-title']/a[@class='post-title-link'] |
2 | body: //div[@class='post-content'] | 2 | body: //div[@class='post-content'] |
3 | author: //div[@class='post-meta-under-title']/a | 3 | author: //div[@class='post-meta-under-title']/a |
4 | test_url: http://www.thesimpledollar.com/2011/09/13/determining-the-size-of-your-emergency-fund/ \ No newline at end of file | 4 | test_url: http://www.thesimpledollar.com/2011/09/13/determining-the-size-of-your-emergency-fund/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thespoiler.co.uk.txt b/inc/3rdparty/site_config/standard/thespoiler.co.uk.txt index e2ed1e63..ca983281 100644..100755 --- a/inc/3rdparty/site_config/standard/thespoiler.co.uk.txt +++ b/inc/3rdparty/site_config/standard/thespoiler.co.uk.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | strip: //*[(@id = "content")]/h2 | 1 | strip: //*[(@id = "content")]/h2 |
2 | strip: //*[(@class = "wp-notable-line")] | 2 | strip: //*[(@class = "wp-notable-line")] |
3 | test_url: http://www.thespoiler.co.uk/index.php/2010/10/21/wayne-rooney-tells-man-utd-its-not-me-its-you \ No newline at end of file | 3 | test_url: http://www.thespoiler.co.uk/index.php/2010/10/21/wayne-rooney-tells-man-utd-its-not-me-its-you \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thespoof.com.txt b/inc/3rdparty/site_config/standard/thespoof.com.txt index 409dc0c9..f71cfb6b 100644..100755 --- a/inc/3rdparty/site_config/standard/thespoof.com.txt +++ b/inc/3rdparty/site_config/standard/thespoof.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //h1[contains(@class, 'cTitle')] | 1 | title: //h1[contains(@class, 'cTitle')] |
2 | body: //div[contains(@class, 'KonaBody') or @id='articleimageright'] | 2 | body: //div[contains(@class, 'KonaBody') or @id='articleimageright'] |
3 | author: //meta[@name='Author']/@content | 3 | author: //meta[@name='Author']/@content |
4 | date: //meta[@name='OriginalPublicationDate']/@content | 4 | date: //meta[@name='OriginalPublicationDate']/@content |
5 | 5 | ||
6 | prune: no | 6 | prune: no |
7 | tidy: no | 7 | tidy: no |
8 | 8 | ||
9 | test_url: http://www.thespoof.com/news/spoof.cfm?headline=s8i108389 \ No newline at end of file | 9 | test_url: http://www.thespoof.com/news/spoof.cfm?headline=s8i108389 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thestranger.com.txt b/inc/3rdparty/site_config/standard/thestranger.com.txt index 0f9855c8..6fcf4fdf 100644..100755 --- a/inc/3rdparty/site_config/standard/thestranger.com.txt +++ b/inc/3rdparty/site_config/standard/thestranger.com.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | # savage* filtering is for Savage Love, such as: http://www.thestranger.com/seattle/SavageLove?oid=5135029 | 1 | # savage* filtering is for Savage Love, such as: http://www.thestranger.com/seattle/SavageLove?oid=5135029 |
2 | 2 | ||
3 | #other filtering are plain articles, such as: http://www.thestranger.com/seattle/the-stranger-election-control-board/Content?oid=5142885 | 3 | #other filtering are plain articles, such as: http://www.thestranger.com/seattle/the-stranger-election-control-board/Content?oid=5142885 |
4 | 4 | ||
5 | title: //div[@id='savageColumn_head']/h1 | 5 | title: //div[@id='savageColumn_head']/h1 |
6 | title: //h1[@class="headlineLarge"] | 6 | title: //h1[@class="headlineLarge"] |
7 | 7 | ||
8 | strip: //div[@id='savage_right'] | //div[@id='savageColumn_head'] | //div[@id='savageArticleRight'] | //div[@id='articleRight'] | //div[@class='savAppBanner'] | 8 | strip: //div[@id='savage_right'] | //div[@id='savageColumn_head'] | //div[@id='savageArticleRight'] | //div[@id='articleRight'] | //div[@class='savAppBanner'] |
9 | 9 | ||
10 | body: //div[@id='savageColumn'] | 10 | body: //div[@id='savageColumn'] |
11 | body: //div[@id='story_text'] | 11 | body: //div[@id='story_text'] |
12 | test_url: http://www.thestranger.com/seattle/SavageLove?oid=5135029 \ No newline at end of file | 12 | test_url: http://www.thestranger.com/seattle/SavageLove?oid=5135029 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thestreet.com.txt b/inc/3rdparty/site_config/standard/thestreet.com.txt index 5de75637..58eabf00 100644..100755 --- a/inc/3rdparty/site_config/standard/thestreet.com.txt +++ b/inc/3rdparty/site_config/standard/thestreet.com.txt | |||
@@ -1,25 +1,25 @@ | |||
1 | title: //div[@id='storyHdr']/h1 | 1 | title: //div[@id='storyHdr']/h1 |
2 | title: //div[@id='print']//h2 | 2 | title: //div[@id='print']//h2 |
3 | body: //div[@class="virtualpage"] | 3 | body: //div[@class="virtualpage"] |
4 | body: //div[@id='print']//div[@id='bd'] | 4 | body: //div[@id='print']//div[@id='bd'] |
5 | author: //meta[@name="AUTHOR"]/@content | 5 | author: //meta[@name="AUTHOR"]/@content |
6 | author: (//div[@id='print']//div[@id='bd']/h4)[1] | 6 | author: (//div[@id='print']//div[@id='bd']/h4)[1] |
7 | date: //meta[@name="DATE"]/@content | 7 | date: //meta[@name="DATE"]/@content |
8 | date: //div[@id='print']//div[@id='dte'] | 8 | date: //div[@id='print']//div[@id='dte'] |
9 | 9 | ||
10 | strip_id_or_class: articleFooter | 10 | strip_id_or_class: articleFooter |
11 | strip_id_or_class: sidebar | 11 | strip_id_or_class: sidebar |
12 | strip_id_or_class: ie6PrintSubhead | 12 | strip_id_or_class: ie6PrintSubhead |
13 | strip_id_or_class: subHdr | 13 | strip_id_or_class: subHdr |
14 | 14 | ||
15 | 15 | ||
16 | replace_string(<P/>): </p><p> | 16 | replace_string(<P/>): </p><p> |
17 | 17 | ||
18 | prune: no | 18 | prune: no |
19 | 19 | ||
20 | #TODO: redirects back - perhaps needs referer to work | 20 | #TODO: redirects back - perhaps needs referer to work |
21 | single_page_link: //div[@id='storyDetail']//a[contains(@href, '/print/')] | 21 | single_page_link: //div[@id='storyDetail']//a[contains(@href, '/print/')] |
22 | 22 | ||
23 | test_url: http://www.thestreet.com/story/11386556/1/which-of-these-10-dividend-stocks-is-worth-the-risk.html | 23 | test_url: http://www.thestreet.com/story/11386556/1/which-of-these-10-dividend-stocks-is-worth-the-risk.html |
24 | # multi page | 24 | # multi page |
25 | test_url: http://www.thestreet.com/story/11387090/1/7-ubs-stock-picks-for-2012.html \ No newline at end of file | 25 | test_url: http://www.thestreet.com/story/11387090/1/7-ubs-stock-picks-for-2012.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thethaovanhoa.vn.txt b/inc/3rdparty/site_config/standard/thethaovanhoa.vn.txt index 6b3277eb..6b3277eb 100644..100755 --- a/inc/3rdparty/site_config/standard/thethaovanhoa.vn.txt +++ b/inc/3rdparty/site_config/standard/thethaovanhoa.vn.txt | |||
diff --git a/inc/3rdparty/site_config/standard/theverge.com.txt b/inc/3rdparty/site_config/standard/theverge.com.txt index 11c5c153..1e1ce58f 100644..100755 --- a/inc/3rdparty/site_config/standard/theverge.com.txt +++ b/inc/3rdparty/site_config/standard/theverge.com.txt | |||
@@ -1,31 +1,48 @@ | |||
1 | title: //h1[contains(@class, "headline")] | 1 | author: //p[contains(@class, "byline")]/a[contains(@class, "author")] |
2 | 2 | ||
3 | author: //p[contains(@class, "byline")]/a[contains(@class, "author")] | 3 | date: //span[contains(@class, "publish-date")]/time[@pubdate]/@datetime |
4 | 4 | ||
5 | date: substring-after(normalize-space(//p[contains(@class, "byline")]/span[contains(@class, "publish-date")]), "on ") | 5 | body: //div[contains(@class, 'entry-content')] |
6 | 6 | # for vergecasts, e.g. http://www.theverge.com/2013/8/22/4648566/the-vergecast-090-august-22th-2013-video | |
7 | body: //article[contains(@class, 'feature-entry')] | 7 | body: //article |
8 | body: //article | 8 | prune: no |
9 | prune: no | 9 | #tidy: no |
10 | tidy: no | 10 | |
11 | 11 | strip: //article/header | |
12 | strip: //article/header | 12 | strip: //*[@id='sticky-menu'] |
13 | strip: //*[@id='sticky-menu'] | 13 | strip: //aside |
14 | strip: //aside | 14 | strip: //nav |
15 | strip: //nav | 15 | strip: //img[contains(@class, 'vox-lazy-load')] |
16 | 16 | # deal with bad parsing | |
17 | strip_id_or_class: gallery | 17 | strip: //div[contains(@class, 'story-image')]//div[contains(., 'function(')] |
18 | strip_id_or_class: article-meta | 18 | |
19 | strip_id_or_class: story-navigation | 19 | strip_id_or_class: gallery |
20 | strip_id_or_class: slegend | 20 | strip_id_or_class: article-meta |
21 | strip_id_or_class: related-product-meta | 21 | strip_id_or_class: story-navigation |
22 | strip_id_or_class: comments | 22 | strip_id_or_class: slegend |
23 | strip_id_or_class: ui-jump-list | 23 | strip_id_or_class: related-product-meta |
24 | strip_id_or_class: pullquote | 24 | strip_id_or_class: comments |
25 | 25 | strip_id_or_class: ui-jump-list | |
26 | strip: //q | 26 | strip_id_or_class: pullquote |
27 | 27 | strip_id_or_class: m-ad | |
28 | strip: //a[contains(@class, 'entry-section-title')] | 28 | strip_id_or_class: social-sharing |
29 | 29 | strip_id_or_class: m-video-entry__excerpt | |
30 | test_url: http://www.theverge.com/2012/2/29/2821763/lytro-review | 30 | strip_id_or_class: hidden |
31 | test_url: http://www.theverge.com/2011/11/3/2534861/nokia-lumia-800-review \ No newline at end of file | 31 | |
32 | replace_string(<noscript>): <div> | ||
33 | replace_string(</noscript>): </div> | ||
34 | |||
35 | find_string: <script | ||
36 | replace_string: <div style="display:none" | ||
37 | find_string: </script> | ||
38 | replace_string: </div> | ||
39 | |||
40 | strip: //q | ||
41 | |||
42 | strip: //a[contains(@class, 'entry-section-title')] | ||
43 | |||
44 | test_url: http://www.theverge.com/2012/2/29/2821763/lytro-review | ||
45 | test_url: http://www.theverge.com/2011/11/3/2534861/nokia-lumia-800-review | ||
46 | test_url: http://www.theverge.com/2013/2/24/4026114/barnes-noble-shifting-focus-away-from-nook-hardware | ||
47 | test_url: http://www.theverge.com/2014/6/19/5824072/top-shelf-living-the-dream | ||
48 | test_url: http://www.theverge.com/rss/frontpage \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theweek.com.txt b/inc/3rdparty/site_config/standard/theweek.com.txt index 27281ceb..f98749e2 100644..100755 --- a/inc/3rdparty/site_config/standard/theweek.com.txt +++ b/inc/3rdparty/site_config/standard/theweek.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class="briefingEntry"] | 1 | body: //div[@class="briefingEntry"] |
2 | prune: no | 2 | prune: no |
3 | 3 | ||
4 | test_url: http://theweek.com/article/index/215763/insider-trading-on-capitol-hill \ No newline at end of file | 4 | test_url: http://theweek.com/article/index/215763/insider-trading-on-capitol-hill \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thinkprogress.org.txt b/inc/3rdparty/site_config/standard/thinkprogress.org.txt index 8934b68e..1eec4e3c 100644..100755 --- a/inc/3rdparty/site_config/standard/thinkprogress.org.txt +++ b/inc/3rdparty/site_config/standard/thinkprogress.org.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | author: //p[@class="byline"]/a | 1 | author: //p[@class="byline"]/a |
2 | body: //div[@class="post"] | 2 | body: //div[@class="post"] |
3 | 3 | ||
4 | test_url: http://thinkprogress.org/special/2011/11/12/367040/harvard-law-professor-criticizes-homeland-security-feel-of-overreaction-to-occupy-harvard/ \ No newline at end of file | 4 | test_url: http://thinkprogress.org/special/2011/11/12/367040/harvard-law-professor-criticizes-homeland-security-feel-of-overreaction-to-occupy-harvard/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thisdaylive.com.txt b/inc/3rdparty/site_config/standard/thisdaylive.com.txt index 958d4b27..73b3c9ed 100644..100755 --- a/inc/3rdparty/site_config/standard/thisdaylive.com.txt +++ b/inc/3rdparty/site_config/standard/thisdaylive.com.txt | |||
@@ -1,2 +1,2 @@ | |||
1 | body: //div[@class='main-content-panel']/div[@class='img'] | //div[@id='page_content_Content9_oModuleContent_2_div_Body'] | 1 | body: //div[@class='main-content-panel']/div[@class='img'] | //div[@id='page_content_Content9_oModuleContent_2_div_Body'] |
2 | test_url: http://www.thisdaylive.com/articles/australia-pm-talks-human-rights-with-chinas-wen/90394/ \ No newline at end of file | 2 | test_url: http://www.thisdaylive.com/articles/australia-pm-talks-human-rights-with-chinas-wen/90394/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/thisismynext.com.txt b/inc/3rdparty/site_config/standard/thisismynext.com.txt index 6850b4be..70b53995 100644..100755 --- a/inc/3rdparty/site_config/standard/thisismynext.com.txt +++ b/inc/3rdparty/site_config/standard/thisismynext.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | author: //div[@class='meta clearfix']/a | 1 | author: //div[@class='meta clearfix']/a |
2 | body: //div[@class='post'] | 2 | body: //div[@class='post'] |
3 | 3 | ||
4 | strip: //div[@class='metaCat'] | 4 | strip: //div[@class='metaCat'] |
5 | strip: //div[@class='post']/h1 | 5 | strip: //div[@class='post']/h1 |
6 | strip: //div[@class='post']/div[@class='meta clearfix'] | 6 | strip: //div[@class='post']/div[@class='meta clearfix'] |
7 | strip: //div[@class='post']/div[@class='social-bar clearfix'] | 7 | strip: //div[@class='post']/div[@class='social-bar clearfix'] |
8 | test_url: http://thisismynext.com/2011/10/18/galaxy-nexus-android-ice-cream-sandwich-pictures-video-hands-on/ \ No newline at end of file | 8 | test_url: http://thisismynext.com/2011/10/18/galaxy-nexus-android-ice-cream-sandwich-pictures-video-hands-on/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tidbits.com.txt b/inc/3rdparty/site_config/standard/tidbits.com.txt index 8bcf2ec1..1950e58e 100644..100755 --- a/inc/3rdparty/site_config/standard/tidbits.com.txt +++ b/inc/3rdparty/site_config/standard/tidbits.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | author: //span[@class='fn'] | 1 | author: //span[@class='fn'] |
2 | date: substring-before(substring-after(//*[@id='center_ajax_sub']/div/div[3],'|'),'|') | 2 | date: substring-before(substring-after(//*[@id='center_ajax_sub']/div/div[3],'|'),'|') |
3 | test_url: http://tidbits.com/article/12651 \ No newline at end of file | 3 | test_url: http://tidbits.com/article/12651 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/time.com.txt b/inc/3rdparty/site_config/standard/time.com.txt index fd3fe08c..f3f886bc 100644..100755 --- a/inc/3rdparty/site_config/standard/time.com.txt +++ b/inc/3rdparty/site_config/standard/time.com.txt | |||
@@ -1,14 +1,12 @@ | |||
1 | # 2011-10-25 - carlo@... - Initial setup. | 1 | title: //h1[contains(@class, 'article-title')] |
2 | 2 | author: //article//span[contains(@class, 'byline')] | |
3 | single_page_link: //li[@class='print']/a/@href | 3 | date: //time[@pubdate]/@datetime |
4 | 4 | body: //section[contains(@class, 'article-body')] | |
5 | title: //h1 | 5 | prune: no |
6 | author: //meta[@name="byline"]/@content | 6 | tidy: no |
7 | date: //meta[@name="date"]/@content | 7 | |
8 | 8 | strip: //figcaption | |
9 | strip: //span[@class="see"] | 9 | strip: //p[contains(., 'MORE:') and ./a] |
10 | strip: //div[@class="byline"] | 10 | strip: //aside |
11 | strip: //div[@id="date2"] | 11 | |
12 | strip: //h1 | 12 | test_url: http://time.com/14478/emotions-may-not-be-so-universal-after-all/ \ No newline at end of file |
13 | |||
14 | test_url: http://www.time.com/time/specials/packages/article/0,28804,2094921_2094923_2094924,00.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/timeshighereducation.co.uk.txt b/inc/3rdparty/site_config/standard/timeshighereducation.co.uk.txt index 17297732..af1c23ce 100644..100755 --- a/inc/3rdparty/site_config/standard/timeshighereducation.co.uk.txt +++ b/inc/3rdparty/site_config/standard/timeshighereducation.co.uk.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@class="storytext"] | 2 | body: //div[@class="storytext"] |
3 | strip: //div[@id="thelogin"] | 3 | strip: //div[@id="thelogin"] |
4 | strip: //*[@class="hide"] | 4 | strip: //*[@class="hide"] |
5 | strip: //div[@id="anchored"] | 5 | strip: //div[@id="anchored"] |
6 | test_url: http://www.timeshighereducation.co.uk/story.asp?sectioncode=26&storycode=416124&c=1 \ No newline at end of file | 6 | test_url: http://www.timeshighereducation.co.uk/story.asp?sectioncode=26&storycode=416124&c=1 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tipb.com.txt b/inc/3rdparty/site_config/standard/tipb.com.txt index 9533eb0f..b8474d97 100644..100755 --- a/inc/3rdparty/site_config/standard/tipb.com.txt +++ b/inc/3rdparty/site_config/standard/tipb.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='content'] |
2 | 2 | ||
3 | strip_id_or_class: featured-box | 3 | strip_id_or_class: featured-box |
4 | strip_id_or_class: postmeta | 4 | strip_id_or_class: postmeta |
5 | strip_id_or_class: respond | 5 | strip_id_or_class: respond |
6 | 6 | ||
7 | author: //a[contains(@href, '/author/') and contains(@title, 'Posts by')] | 7 | author: //a[contains(@href, '/author/') and contains(@title, 'Posts by')] |
8 | date: substring-before(//a[contains(@href, '/author/') and contains(@title, 'Posts by')]/.., ' by ') | 8 | date: substring-before(//a[contains(@href, '/author/') and contains(@title, 'Posts by')]/.., ' by ') |
9 | test_url: http://www.tipb.com/2011/10/17/iphone-4s-review/ \ No newline at end of file | 9 | test_url: http://www.tipb.com/2011/10/17/iphone-4s-review/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tnr.com.txt b/inc/3rdparty/site_config/standard/tnr.com.txt index 65a1899f..199f5d13 100644..100755 --- a/inc/3rdparty/site_config/standard/tnr.com.txt +++ b/inc/3rdparty/site_config/standard/tnr.com.txt | |||
@@ -1,17 +1,17 @@ | |||
1 | title: //div[contains(@class, 'article_detail')]/div[@class='entry_header']/h1 | 1 | title: //div[contains(@class, 'article_detail')]/div[@class='entry_header']/h1 |
2 | title: //div[contains(@class, 'article_detail')]//h1 | 2 | title: //div[contains(@class, 'article_detail')]//h1 |
3 | title: //h1 | 3 | title: //h1 |
4 | 4 | ||
5 | body: //div[contains(@class, 'article_detail')] | 5 | body: //div[contains(@class, 'article_detail')] |
6 | 6 | ||
7 | author: //div[@class='article_detail']/div[@class='entry_header']/li/div[@class='author']//h3 | 7 | author: //div[@class='article_detail']/div[@class='entry_header']/li/div[@class='author']//h3 |
8 | author: div[@class='author']//h3 | 8 | author: div[@class='author']//h3 |
9 | strip: //div[contains(@class, 'field-field-book-cover')] | 9 | strip: //div[contains(@class, 'field-field-book-cover')] |
10 | 10 | ||
11 | date: translate(//*[@class='post_date' and contains(., ' 20')], '|', '') | 11 | date: translate(//*[@class='post_date' and contains(., ' 20')], '|', '') |
12 | 12 | ||
13 | prune: no | 13 | prune: no |
14 | 14 | ||
15 | single_page_link: //a[@class='print-page'] | 15 | single_page_link: //a[@class='print-page'] |
16 | 16 | ||
17 | test_url: http://www.tnr.com/blog/jonathan-chait/92991/did-obama-get-rolled \ No newline at end of file | 17 | test_url: http://www.tnr.com/blog/jonathan-chait/92991/did-obama-get-rolled \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tomdispatch.com.txt b/inc/3rdparty/site_config/standard/tomdispatch.com.txt index d8548c78..701a2122 100644..100755 --- a/inc/3rdparty/site_config/standard/tomdispatch.com.txt +++ b/inc/3rdparty/site_config/standard/tomdispatch.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //div[@id='maincontent']//div[@class='title'] | 1 | title: //div[@id='maincontent']//div[@class='title'] |
2 | body: //div[@id='maincontent']//div[@class='byline'] | //div[@id='maincontent']//div[@class='meat'] | 2 | body: //div[@id='maincontent']//div[@class='byline'] | //div[@id='maincontent']//div[@class='meat'] |
3 | 3 | ||
4 | tidy: no | 4 | tidy: no |
5 | 5 | ||
6 | test_url: http://www.tomdispatch.com/post/175436/tomgram:_noam_chomsky%2C_the_imperial_mentality_and_9_11/ \ No newline at end of file | 6 | test_url: http://www.tomdispatch.com/post/175436/tomgram:_noam_chomsky%2C_the_imperial_mentality_and_9_11/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tomshardware.com.txt b/inc/3rdparty/site_config/standard/tomshardware.com.txt index 2bba6de8..2b437574 100644..100755 --- a/inc/3rdparty/site_config/standard/tomshardware.com.txt +++ b/inc/3rdparty/site_config/standard/tomshardware.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | title: //title | 2 | title: //title |
3 | author: //a[@itemprop = 'author'] | 3 | author: //a[@itemprop = 'author'] |
4 | date: //time[@itemprop = 'datePublished'] | 4 | date: //time[@itemprop = 'datePublished'] |
5 | body: //div[@id = 'intelliTXT'] | 5 | body: //div[@id = 'intelliTXT'] |
6 | 6 | ||
7 | next_page_link: //li[@class="pagin next"]/a | 7 | next_page_link: //li[@class="pagin next"]/a |
8 | test_url: http://www.tomshardware.com/reviews/gaming-graphics-card-review,3107.html \ No newline at end of file | 8 | test_url: http://www.tomshardware.com/reviews/gaming-graphics-card-review,3107.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tomshardware.de.txt b/inc/3rdparty/site_config/standard/tomshardware.de.txt index e910003c..eee57ccf 100644..100755 --- a/inc/3rdparty/site_config/standard/tomshardware.de.txt +++ b/inc/3rdparty/site_config/standard/tomshardware.de.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | body://div[@id="news-content"]/div[@id="intelliTXT"][1] | 1 | body://div[@id="news-content"]/div[@id="intelliTXT"][1] |
2 | 2 | ||
3 | author://div[@id="header-news-infos"]/a[1] | 3 | author://div[@id="header-news-infos"]/a[1] |
4 | 4 | ||
5 | date: //div[@id="header-news-infos"]/span[1] | 5 | date: //div[@id="header-news-infos"]/span[1] |
6 | 6 | ||
7 | title://h1[@id="header-news-title" and @class="hardwareTitle"][1] | 7 | title://h1[@id="header-news-title" and @class="hardwareTitle"][1] |
8 | 8 | ||
9 | strip://div[@id="news-content"]/div[@id="intelliTXT"]/table | 9 | strip://div[@id="news-content"]/div[@id="intelliTXT"]/table |
10 | 10 | ||
11 | footnotes: no | 11 | footnotes: no |
12 | test_url: http://www.tomshardware.de/DDR4-DDR3-ISSCC-Samsung-Hynix,news-247133.html \ No newline at end of file | 12 | test_url: http://www.tomshardware.de/DDR4-DDR3-ISSCC-Samsung-Hynix,news-247133.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/toolsandtoys.net.txt b/inc/3rdparty/site_config/standard/toolsandtoys.net.txt index dbe60b15..bb45d890 100644..100755 --- a/inc/3rdparty/site_config/standard/toolsandtoys.net.txt +++ b/inc/3rdparty/site_config/standard/toolsandtoys.net.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[@class='post'] | 1 | body: //div[@class='post'] |
2 | 2 | ||
3 | strip: //div[@class='social'] | 3 | strip: //div[@class='social'] |
4 | strip: //span[@class='next'] | 4 | strip: //span[@class='next'] |
5 | strip: //span[@class='previous'] | 5 | strip: //span[@class='previous'] |
6 | test_url: http://toolsandtoys.net/noble-tonic-02/ \ No newline at end of file | 6 | test_url: http://toolsandtoys.net/noble-tonic-02/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tracks.ranea.org.txt b/inc/3rdparty/site_config/standard/tracks.ranea.org.txt new file mode 100755 index 00000000..5a386470 --- /dev/null +++ b/inc/3rdparty/site_config/standard/tracks.ranea.org.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | # Metadata | ||
2 | title: substring-after(//title, 'Coyote Tracks - ') | ||
3 | author: //meta[@name="author"]/@content | ||
4 | date: //div[@class="post_header"]/a | ||
5 | |||
6 | # Content Pruning | ||
7 | strip: //div[@class="column left"] | ||
8 | strip: //div[@class="pages"] | ||
9 | strip: //a[@class="text_title"] | ||
10 | strip: //ol[@class="notes"] | ||
11 | |||
12 | dissolve: //div[@class='column right']/ul | ||
13 | dissolve: //li[@class='post'] | ||
14 | test_url: http://tracks.ranea.org/post/31431060205/the-next-big-uh-slightly-taller-thing \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/trailer.web-view.net.txt b/inc/3rdparty/site_config/standard/trailer.web-view.net.txt index e7a9c82d..e7a9c82d 100644..100755 --- a/inc/3rdparty/site_config/standard/trailer.web-view.net.txt +++ b/inc/3rdparty/site_config/standard/trailer.web-view.net.txt | |||
diff --git a/inc/3rdparty/site_config/standard/trailerzone.de.txt b/inc/3rdparty/site_config/standard/trailerzone.de.txt new file mode 100755 index 00000000..02151a63 --- /dev/null +++ b/inc/3rdparty/site_config/standard/trailerzone.de.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | body: //div[@id='video' or @id='main'] | ||
2 | |||
3 | strip_id_or_class: socialshareprivacy2 | ||
4 | strip_id_or_class: wp_rp_first | ||
5 | |||
6 | find_string: Genre</strong> | ||
7 | replace_string: </strong></p><p><strong>Genre</strong> | ||
8 | |||
9 | test_url: http://www.trailerzone.de/g-i-joe-2-die-abrechnung/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/traningslara.se.txt b/inc/3rdparty/site_config/standard/traningslara.se.txt index 96e491fa..d6cfb6db 100644..100755 --- a/inc/3rdparty/site_config/standard/traningslara.se.txt +++ b/inc/3rdparty/site_config/standard/traningslara.se.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //div[@class="Post-body"]//span[@class="PostHeader"] | 1 | title: //div[@class="Post-body"]//span[@class="PostHeader"] |
2 | author: //div[@class="PostHeaderIcons metadata"]/a[@title="Author"] | 2 | author: //div[@class="PostHeaderIcons metadata"]/a[@title="Author"] |
3 | date: substring-before(//div[@class="PostHeaderIcons metadata"], '|') | 3 | date: substring-before(//div[@class="PostHeaderIcons metadata"], '|') |
4 | body: //div[@class="Post-body"] | 4 | body: //div[@class="Post-body"] |
5 | strip_id_or_class: print1 | 5 | strip_id_or_class: print1 |
6 | strip_id_or_class: metadata | 6 | strip_id_or_class: metadata |
7 | strip_id_or_class: authorbox | 7 | strip_id_or_class: authorbox |
8 | test_url: http://traningslara.se/skoinlagg-och-skador-finns-det-nagot-samband/ \ No newline at end of file | 8 | test_url: http://traningslara.se/skoinlagg-och-skador-finns-det-nagot-samband/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/triblive.com.txt b/inc/3rdparty/site_config/standard/triblive.com.txt index 82797db9..663cafe1 100644..100755 --- a/inc/3rdparty/site_config/standard/triblive.com.txt +++ b/inc/3rdparty/site_config/standard/triblive.com.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title: //title | 1 | title: //title |
2 | author: //span/a | 2 | author: //span/a |
3 | date: substring-after(//small,'Published:') | 3 | date: substring-after(//small,'Published:') |
4 | 4 | ||
5 | strip: //h1[@class='vert_class'] | 5 | strip: //h1[@class='vert_class'] |
6 | strip: //h1[@class='headline'] | 6 | strip: //h1[@class='headline'] |
7 | strip: //img[contains(@src,'logo_triblive.gif')] | 7 | strip: //img[contains(@src,'logo_triblive.gif')] |
8 | 8 | ||
9 | #strip: //h6 | 9 | #strip: //h6 |
10 | #strip_img_src: logo_triblive.gif | 10 | #strip_img_src: logo_triblive.gif |
11 | 11 | ||
12 | single_page_link: //a[@class='stprint'] | 12 | single_page_link: //a[@class='stprint'] |
13 | test_url: http://triblive.com/sports/2819913-85/lemieux-deal-penguins-burkle-nhl-owners-team-mario-bettman-case \ No newline at end of file | 13 | test_url: http://triblive.com/sports/2819913-85/lemieux-deal-penguins-burkle-nhl-owners-team-mario-bettman-case \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/truthdig.com.txt b/inc/3rdparty/site_config/standard/truthdig.com.txt index e7c1a4bc..9e0663b0 100644..100755 --- a/inc/3rdparty/site_config/standard/truthdig.com.txt +++ b/inc/3rdparty/site_config/standard/truthdig.com.txt | |||
@@ -1,10 +1,12 @@ | |||
1 | title: //div[@class='printbody']/h1 | 1 | title: //div[@class='printbody']/h1 |
2 | body: //div[@class='printbody'] | 2 | body: //div[@class='printbody'] |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | strip: //div[@class='printbody']/a[@href='http://www.truthdig.com/'] | 5 | strip: //div[@class='printbody']/a[@href='http://www.truthdig.com/'] |
6 | strip: //table[@class='footer'] | 6 | strip: //table[@class='footer'] |
7 | 7 | strip: //h6[contains(., 'http://')] | |
8 | single_page_link: //div[@class='article_tools']//a[contains(@href, '/print/')] | 8 | |
9 | 9 | single_page_link: //a[contains(@href, '/print/')] | |
10 | test_url: http://www.truthdig.com/report/item/the_election_march_of_the_trolls_20110829/ \ No newline at end of file | 10 | |
11 | test_url: http://www.truthdig.com/report/item/the_election_march_of_the_trolls_20110829/ | ||
12 | test_url: http://www.truthdig.com/dig/item/the_death_of_truth_20130505/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/tthfanfic.org.txt b/inc/3rdparty/site_config/standard/tthfanfic.org.txt index 0dab5b0f..63537c10 100644..100755 --- a/inc/3rdparty/site_config/standard/tthfanfic.org.txt +++ b/inc/3rdparty/site_config/standard/tthfanfic.org.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | author: //a[starts-with(@href, '/AuthorStories')] | 2 | author: //a[starts-with(@href, '/AuthorStories')] |
3 | body: //div[@id='storyinnerbody'] | 3 | body: //div[@id='storyinnerbody'] |
4 | test_url: http://www.tthfanfic.org/Story-6512/Kudra+Journeys.htm \ No newline at end of file | 4 | test_url: http://www.tthfanfic.org/Story-6512/Kudra+Journeys.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tthor.com.txt b/inc/3rdparty/site_config/standard/tthor.com.txt index 902fcd13..902fcd13 100644..100755 --- a/inc/3rdparty/site_config/standard/tthor.com.txt +++ b/inc/3rdparty/site_config/standard/tthor.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/tuaw.com.txt b/inc/3rdparty/site_config/standard/tuaw.com.txt index b86f8ccb..2af00c27 100644..100755 --- a/inc/3rdparty/site_config/standard/tuaw.com.txt +++ b/inc/3rdparty/site_config/standard/tuaw.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1[@class='posttitle'] | 1 | title: //h1[@class='posttitle'] |
2 | author: //span[@class='author']/a | 2 | author: //span[@class='author']/a |
3 | date: //span[@class='timestamp'] | 3 | date: //span[@class='timestamp'] |
4 | body: //div[@class='body'] | 4 | body: //div[@class='body'] |
5 | 5 | ||
6 | test_url: http://www.tuaw.com/2011/10/19/apple-posts-fans-memories-of-steve-jobs/ \ No newline at end of file | 6 | test_url: http://www.tuaw.com/2011/10/19/apple-posts-fans-memories-of-steve-jobs/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tuckreview.com.txt b/inc/3rdparty/site_config/standard/tuckreview.com.txt index a3946cbc..6e18e3da 100644..100755 --- a/inc/3rdparty/site_config/standard/tuckreview.com.txt +++ b/inc/3rdparty/site_config/standard/tuckreview.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1[@class='post-title'] | 1 | title: //h1[@class='post-title'] |
2 | author: //div[@class='display-name'] | 2 | author: //div[@class='display-name'] |
3 | date: //div[@class='date'] | 3 | date: //div[@class='date'] |
4 | body: //div[@class='body'] | 4 | body: //div[@class='body'] |
5 | footnotes: no | 5 | footnotes: no |
6 | test_url: http://tuckreview.com/2012/8/14/migrating-to-v6 \ No newline at end of file | 6 | test_url: http://tuckreview.com/2012/8/14/migrating-to-v6 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/tuhdo.github.io.txt b/inc/3rdparty/site_config/standard/tuhdo.github.io.txt new file mode 100644 index 00000000..beb551fd --- /dev/null +++ b/inc/3rdparty/site_config/standard/tuhdo.github.io.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | # Generated by FiveFilters.org's web-based selection tool | ||
2 | # Place this file inside your site_config/custom/ folder | ||
3 | # Source: http://siteconfig.fivefilters.org/grab.php?url=https%3A%2F%2Ftuhdo.github.io%2Femacs-tutor.html | ||
4 | |||
5 | body: //div[@id='content'] | ||
6 | strip_id_or_class: table-of-contents | ||
7 | test_url: https://tuhdo.github.io/emacs-tutor.html | ||
diff --git a/inc/3rdparty/site_config/standard/tvtropes.org.txt b/inc/3rdparty/site_config/standard/tvtropes.org.txt index 08dbba59..3cc3a9cf 100644..100755 --- a/inc/3rdparty/site_config/standard/tvtropes.org.txt +++ b/inc/3rdparty/site_config/standard/tvtropes.org.txt | |||
@@ -1,20 +1,20 @@ | |||
1 | # Google Custom Search | 1 | # Google Custom Search |
2 | strip_id_or_class: google_branding_style | 2 | strip_id_or_class: google_branding_style |
3 | 3 | ||
4 | # Avoid double title | 4 | # Avoid double title |
5 | strip_id_or_class: pagetitle | 5 | strip_id_or_class: pagetitle |
6 | 6 | ||
7 | # external links are labelled | 7 | # external links are labelled |
8 | strip_image_src: http://static.mediatropes.info/pmwiki/pub/external_link.gif | 8 | strip_image_src: http://static.mediatropes.info/pmwiki/pub/external_link.gif |
9 | 9 | ||
10 | title: //div[@class="pagetitle"] | 10 | title: //div[@class="pagetitle"] |
11 | body: //div[@id="wikitext"] | 11 | body: //div[@id="wikitext"] |
12 | 12 | ||
13 | # don't get clever. | 13 | # don't get clever. |
14 | strip_comments: no | 14 | strip_comments: no |
15 | prune: no | 15 | prune: no |
16 | 16 | ||
17 | # navigation in footer lives inside the wikitext div, annoyingly. | 17 | # navigation in footer lives inside the wikitext div, annoyingly. |
18 | strip_id_or_class: pathholder | 18 | strip_id_or_class: pathholder |
19 | 19 | ||
20 | test_url: http://tvtropes.org/pmwiki/pmwiki.php/Main/WithinParameters \ No newline at end of file | 20 | test_url: http://tvtropes.org/pmwiki/pmwiki.php/Main/WithinParameters \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/twitter.com.txt b/inc/3rdparty/site_config/standard/twitter.com.txt index 12ab1546..520ebd85 100644..100755 --- a/inc/3rdparty/site_config/standard/twitter.com.txt +++ b/inc/3rdparty/site_config/standard/twitter.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //title | 1 | title: //title |
2 | body: (//p[contains(@class, 'js-tweet-text')])[1] | 2 | body: (//p[contains(@class, 'js-tweet-text')])[1] |
3 | author: (//strong[contains(@class, 'fullname')])[1] | 3 | author: (//strong[contains(@class, 'fullname')])[1] |
4 | date: //span[contains(@class, 'js-short-timestamp')]/@data-time | 4 | date: //span[contains(@class, 'js-short-timestamp')]/@data-time |
5 | 5 | ||
6 | prune: no | 6 | prune: no |
7 | tidy: no | 7 | tidy: no |
8 | 8 | ||
9 | test_url: https://twitter.com/medialens/status/216883678582804480 \ No newline at end of file | 9 | test_url: https://twitter.com/medialens/status/216883678582804480 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/uefa.com.txt b/inc/3rdparty/site_config/standard/uefa.com.txt index 088d6586..3469be03 100644..100755 --- a/inc/3rdparty/site_config/standard/uefa.com.txt +++ b/inc/3rdparty/site_config/standard/uefa.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[@class='d3cmsCBody']//div[@class='pubText pubDate' or @class='newsComment' or contains(@class, 'newsPhoto') or @class='newsText'] | 1 | body: //div[@class='d3cmsCBody']//div[@class='pubText pubDate' or @class='newsComment' or contains(@class, 'newsPhoto') or @class='newsText'] |
2 | strip: //div[contains(@class, 'mpindex')] | 2 | strip: //div[contains(@class, 'mpindex')] |
3 | prune: no | 3 | prune: no |
4 | tidy: no | 4 | tidy: no |
5 | 5 | ||
6 | test_url: http://www.uefa.com/uefaeuropaleague/news/newsid=1617320.html \ No newline at end of file | 6 | test_url: http://www.uefa.com/uefaeuropaleague/news/newsid=1617320.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/uk.xbox360.ign.com.txt b/inc/3rdparty/site_config/standard/uk.xbox360.ign.com.txt index 29e19565..cd9c1361 100644..100755 --- a/inc/3rdparty/site_config/standard/uk.xbox360.ign.com.txt +++ b/inc/3rdparty/site_config/standard/uk.xbox360.ign.com.txt | |||
@@ -1,23 +1,23 @@ | |||
1 | # applies to uk.ds.ign.com, uk.wii.ign.com etc. | 1 | # applies to uk.ds.ign.com, uk.wii.ign.com etc. |
2 | # possibly to non-UK versions, but I can’t test that | 2 | # possibly to non-UK versions, but I can’t test that |
3 | 3 | ||
4 | title: //h1[@class="headline"] | 4 | title: //h1[@class="headline"] |
5 | author: //div[@class="hdr-sub byline"]/a | 5 | author: //div[@class="hdr-sub byline"]/a |
6 | date: //h2[@class="publish-date"]/span | 6 | date: //h2[@class="publish-date"]/span |
7 | body: //div[@id="main-article-content"] | 7 | body: //div[@id="main-article-content"] |
8 | 8 | ||
9 | strip: //ul[@class="lnks-readmore"] | 9 | strip: //ul[@class="lnks-readmore"] |
10 | 10 | ||
11 | strip: //div[@class="inlineImageCaption"] | 11 | strip: //div[@class="inlineImageCaption"] |
12 | # can’t make the images appear, so remove the captions | 12 | # can’t make the images appear, so remove the captions |
13 | 13 | ||
14 | strip: //div[@style="width:468px"] | 14 | strip: //div[@style="width:468px"] |
15 | # video caption links | 15 | # video caption links |
16 | 16 | ||
17 | convert_double_br_tags: yes | 17 | convert_double_br_tags: yes |
18 | 18 | ||
19 | strip_comments: no | 19 | strip_comments: no |
20 | # otherwise the ‘Closing Comments’ are removed | 20 | # otherwise the ‘Closing Comments’ are removed |
21 | 21 | ||
22 | # Ratings box could do with some rearranging, but it’s tricky | 22 | # Ratings box could do with some rearranging, but it’s tricky |
23 | test_url: http://uk.xbox360.ign.com/articles/121/1210717p1.html \ No newline at end of file | 23 | test_url: http://uk.xbox360.ign.com/articles/121/1210717p1.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/uni-watch.com.txt b/inc/3rdparty/site_config/standard/uni-watch.com.txt index cbe87d19..4a5ae344 100644..100755 --- a/inc/3rdparty/site_config/standard/uni-watch.com.txt +++ b/inc/3rdparty/site_config/standard/uni-watch.com.txt | |||
@@ -1,17 +1,17 @@ | |||
1 | author: substring-before(substring-after(//div[@class='post-byline'], 'By '), ', on') | 1 | author: substring-before(substring-after(//div[@class='post-byline'], 'By '), ', on') |
2 | date: substring-after(//div[@class='post-byline'], ', on') | 2 | date: substring-after(//div[@class='post-byline'], ', on') |
3 | 3 | ||
4 | # for some reason, the following is producing a "no text [48]" error | 4 | # for some reason, the following is producing a "no text [48]" error |
5 | #title: //div[@class='post-headline'] | 5 | #title: //div[@class='post-headline'] |
6 | 6 | ||
7 | # for some reason, the following doesn't appear to isolate just the body copy | 7 | # for some reason, the following doesn't appear to isolate just the body copy |
8 | body: //div[@class='post-bodycopy'] | 8 | body: //div[@class='post-bodycopy'] |
9 | 9 | ||
10 | # we solve the above issue by stripping out everything else we don't want | 10 | # we solve the above issue by stripping out everything else we don't want |
11 | # these can probably all be removed if the body: command above worked | 11 | # these can probably all be removed if the body: command above worked |
12 | strip_id_or_class: reply | 12 | strip_id_or_class: reply |
13 | strip_id_or_class: left | 13 | strip_id_or_class: left |
14 | strip_id_or_class: post-headline | 14 | strip_id_or_class: post-headline |
15 | strip_id_or_class: post-byline | 15 | strip_id_or_class: post-byline |
16 | strip_id_or_class: footer | 16 | strip_id_or_class: footer |
17 | test_url: http://www.uni-watch.com/2011/10/18/the-curious-case-of-steve-debergs-microphone-and-speaker/ \ No newline at end of file | 17 | test_url: http://www.uni-watch.com/2011/10/18/the-curious-case-of-steve-debergs-microphone-and-speaker/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/unwinnable.com.txt b/inc/3rdparty/site_config/standard/unwinnable.com.txt new file mode 100755 index 00000000..05ad86a5 --- /dev/null +++ b/inc/3rdparty/site_config/standard/unwinnable.com.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | title: //h1[@class='postTitle'] | ||
2 | author: //a[@rel='author'] | ||
3 | date: substring-before(//h4[@class='postAuthor'], '|') | ||
4 | body: //div[@class='postContent'] | ||
5 | |||
6 | strip: //div[@class='simplePullQuote'] | ||
7 | |||
8 | wrap_in(figure): //img | ||
9 | test_url: http://www.unwinnable.com/2013/04/23/gratifying-play/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/uppsalafria.se.txt b/inc/3rdparty/site_config/standard/uppsalafria.se.txt new file mode 100755 index 00000000..79c59ece --- /dev/null +++ b/inc/3rdparty/site_config/standard/uppsalafria.se.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | body: //div[contains(@class, 'layout__inner')]//div[contains(@class, 'file-image') or contains(@class, 'node__content')] | ||
2 | author: //article//div[contains(@class, 'field-byline')] | ||
3 | strip_id_or_class: rekommenderade | ||
4 | strip_id_or_class: disqus | ||
5 | strip_id_or_class: annonser | ||
6 | |||
7 | test_url: http://www.uppsalafria.se/artikel/97167 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/urbandictionary.com.txt b/inc/3rdparty/site_config/standard/urbandictionary.com.txt index 86061f77..385c95ca 100644..100755 --- a/inc/3rdparty/site_config/standard/urbandictionary.com.txt +++ b/inc/3rdparty/site_config/standard/urbandictionary.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //title | 1 | title: //title |
2 | body: //td[@id='content'] | 2 | body: //table[@id='entries'] |
3 | test_url: http://www.urbandictionary.com/define.php?term=Grown-Ass \ No newline at end of file | 3 | test_url: http://www.urbandictionary.com/define.php?term=Grown-Ass |
diff --git a/inc/3rdparty/site_config/standard/usatoday.com.txt b/inc/3rdparty/site_config/standard/usatoday.com.txt new file mode 100755 index 00000000..710a7b37 --- /dev/null +++ b/inc/3rdparty/site_config/standard/usatoday.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | date: //meta[@itemprop="datePublished"]/@content | ||
2 | author: //div[@itemprop="author"] | ||
3 | body: //div[@itemprop='articleBody'] | ||
4 | |||
5 | strip_id_or_class: share-tools | ||
6 | |||
7 | test_url: http://www.usatoday.com/story/news/world/2014/03/18/malaysia-plane-search/6552429/ | ||
8 | test_url: http://rssfeeds.usatoday.com/usatoday-NewsTopStories \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/usccb.org.txt b/inc/3rdparty/site_config/standard/usccb.org.txt index eb10a48f..30c28823 100644..100755 --- a/inc/3rdparty/site_config/standard/usccb.org.txt +++ b/inc/3rdparty/site_config/standard/usccb.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[@id='CS_Element_maincontent'] | 1 | body: //div[@id='CS_Element_maincontent'] |
2 | 2 | ||
3 | tidy: no | 3 | tidy: no |
4 | prune: no | 4 | prune: no |
5 | 5 | ||
6 | test_url: http://www.usccb.org/bible/readings/072412.cfm \ No newline at end of file | 6 | test_url: http://www.usccb.org/bible/readings/072412.cfm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/useit.com.txt b/inc/3rdparty/site_config/standard/useit.com.txt index f6be84c4..b8511c7c 100644..100755 --- a/inc/3rdparty/site_config/standard/useit.com.txt +++ b/inc/3rdparty/site_config/standard/useit.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | 2 | ||
3 | date: substring-after(//p[@class='overline']/strong, ',') | 3 | date: substring-after(//p[@class='overline']/strong, ',') |
4 | body: //div[@class="maintext"] | 4 | body: //div[@class="maintext"] |
5 | strip: //p[@class='overline'] | 5 | strip: //p[@class='overline'] |
6 | strip: //h1 | 6 | strip: //h1 |
7 | tidy: no | 7 | tidy: no |
8 | test_url: http://www.useit.com/alertbox/mobile-startup-screen.html \ No newline at end of file | 8 | test_url: http://www.useit.com/alertbox/mobile-startup-screen.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/usfirst.org.txt b/inc/3rdparty/site_config/standard/usfirst.org.txt new file mode 100755 index 00000000..f02b2d3e --- /dev/null +++ b/inc/3rdparty/site_config/standard/usfirst.org.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | title: //meta[@property='dc:title']/@content | ||
2 | date: //div[@class='content']//span[@property='dc:date']/@content | ||
3 | body: //div[@property='content:encoded'] | ||
4 | prune: no | ||
5 | |||
6 | test_url: http://www.usfirst.org/roboticsprograms/frc/Photo-From-Kickoff-Filming \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/utdailybeacon.com.txt b/inc/3rdparty/site_config/standard/utdailybeacon.com.txt new file mode 100755 index 00000000..d37911bc --- /dev/null +++ b/inc/3rdparty/site_config/standard/utdailybeacon.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | title: //h1 | ||
2 | author: //*[@class='byline'] | ||
3 | date: substring-after(//*[@class='pubdatetime'], 'Published: ') | ||
4 | body: //*[@class='body-block'] | ||
5 | test_url: http://utdailybeacon.com/news/2012/oct/8/energy-forum-continues/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/ux.artu.tv.txt b/inc/3rdparty/site_config/standard/ux.artu.tv.txt index a893bda0..c69f2df9 100644..100755 --- a/inc/3rdparty/site_config/standard/ux.artu.tv.txt +++ b/inc/3rdparty/site_config/standard/ux.artu.tv.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | author: ("Arturo Toledo") | 1 | author: ("Arturo Toledo") |
2 | title: //div[@class="post"]/h2 | 2 | title: //div[@class="post"]/h2 |
3 | body: //div[@class="entry"] | 3 | body: //div[@class="entry"] |
4 | 4 | ||
5 | # Remove Twitter button | 5 | # Remove Twitter button |
6 | strip: //div[@class="entry"]/p[2]/a/img | 6 | strip: //div[@class="entry"]/p[2]/a/img |
7 | test_url: http://ux.artu.tv/?p=192 \ No newline at end of file | 7 | test_url: http://ux.artu.tv/?p=192 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/uzivatelsketestovani.cz.txt b/inc/3rdparty/site_config/standard/uzivatelsketestovani.cz.txt index 3661b06a..3661b06a 100644..100755 --- a/inc/3rdparty/site_config/standard/uzivatelsketestovani.cz.txt +++ b/inc/3rdparty/site_config/standard/uzivatelsketestovani.cz.txt | |||
diff --git a/inc/3rdparty/site_config/standard/vanityfair.com.txt b/inc/3rdparty/site_config/standard/vanityfair.com.txt index bfc47d1f..efa38224 100644..100755 --- a/inc/3rdparty/site_config/standard/vanityfair.com.txt +++ b/inc/3rdparty/site_config/standard/vanityfair.com.txt | |||
@@ -1,30 +1,30 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@property="og:title"]/@content |
2 | author: //div[contains(@class, 'byline')]//span[contains(@class, 'name')] | 2 | author: //div[contains(@class, 'byline')]//span[contains(@class, 'name')] |
3 | date: //div[contains(@class, 'cn_date_time')] | 3 | date: //div[contains(@class, 'cn_date_time')] |
4 | body: //div[contains(@class, 'pageContainers')] | 4 | body: //div[contains(@class, 'pageContainers')] |
5 | body: //article[@id='items-container'] | 5 | body: //article[@id='items-container'] |
6 | #body: //h2[@class='sub-header'] | //div[contains(@class, 'contributor-type') or @class='display-date' or @class='content-container'] | 6 | #body: //h2[@class='sub-header'] | //div[contains(@class, 'contributor-type') or @class='display-date' or @class='content-container'] |
7 | 7 | ||
8 | strip_id_or_class: bc | 8 | strip_id_or_class: bc |
9 | strip_id_or_class: utilities | 9 | strip_id_or_class: utilities |
10 | strip_id_or_class: list-supporting | 10 | strip_id_or_class: list-supporting |
11 | strip_id_or_class: yrail | 11 | strip_id_or_class: yrail |
12 | strip_id_or_class: urail | 12 | strip_id_or_class: urail |
13 | 13 | ||
14 | prune: no | 14 | prune: no |
15 | #tidy: no | 15 | #tidy: no |
16 | 16 | ||
17 | strip_id_or_class: super-rubric-section | 17 | strip_id_or_class: super-rubric-section |
18 | strip_id_or_class: cn_date_time | 18 | strip_id_or_class: cn_date_time |
19 | strip_id_or_class: cn_contributors | 19 | strip_id_or_class: cn_contributors |
20 | strip_id_or_class: cn_pagination_controls | 20 | strip_id_or_class: cn_pagination_controls |
21 | strip_id_or_class: cn_features_container | 21 | strip_id_or_class: cn_features_container |
22 | strip_id_or_class: global-footer | 22 | strip_id_or_class: global-footer |
23 | strip_id_or_class: cn_ecom_placement | 23 | strip_id_or_class: cn_ecom_placement |
24 | strip: //li[@class='blogNavPrev'] | 24 | strip: //li[@class='blogNavPrev'] |
25 | 25 | ||
26 | single_page_link: //a[@title='Print this page'] | 26 | single_page_link: //a[@title='Print this page'] |
27 | 27 | ||
28 | test_url: http://www.vanityfair.com/politics/features/2011/05/egypt-revolutionaries-201105 | 28 | test_url: http://www.vanityfair.com/politics/features/2011/05/egypt-revolutionaries-201105 |
29 | test_url: http://www.vanityfair.com/politics/features/2008/08/hitchens200808 | 29 | test_url: http://www.vanityfair.com/politics/features/2008/08/hitchens200808 |
30 | test_url: http://www.vanityfair.com/style/2012/01/prisoners-of-style-201201 \ No newline at end of file | 30 | test_url: http://www.vanityfair.com/style/2012/01/prisoners-of-style-201201 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/varingen.no.txt b/inc/3rdparty/site_config/standard/varingen.no.txt index 6b5e0ae0..c0133c95 100644..100755 --- a/inc/3rdparty/site_config/standard/varingen.no.txt +++ b/inc/3rdparty/site_config/standard/varingen.no.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@class='ArticleHeadlineDetailedView'] | 1 | title: //div[@class='ArticleHeadlineDetailedView'] |
2 | date: //span[@class='ArticlePublicationDateTimeDetailedView'] | 2 | date: //span[@class='ArticlePublicationDateTimeDetailedView'] |
3 | author://span[@class='ArticleBylineDetailedView'] | 3 | author://span[@class='ArticleBylineDetailedView'] |
4 | body: //div[@class='ArticleTextDetailedView'] | 4 | body: //div[@class='ArticleTextDetailedView'] |
5 | test_url: http://www.varingen.no/Nyheter/tabid/392/Default.aspx?ModuleId=56651&articleView=true \ No newline at end of file | 5 | test_url: http://www.varingen.no/Nyheter/tabid/392/Default.aspx?ModuleId=56651&articleView=true \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/varsity.co.uk.txt b/inc/3rdparty/site_config/standard/varsity.co.uk.txt index b1db4c35..dfbf69cf 100644..100755 --- a/inc/3rdparty/site_config/standard/varsity.co.uk.txt +++ b/inc/3rdparty/site_config/standard/varsity.co.uk.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | # FB comments are inside an h2. Weird. Without this, the line 'Comments' is preserved by the text parser | 1 | # FB comments are inside an h2. Weird. Without this, the line 'Comments' is preserved by the text parser |
2 | 2 | ||
3 | strip: //h2 | 3 | strip: //h2 |
4 | test_url: http://www.varsity.co.uk/reviews/2662 \ No newline at end of file | 4 | test_url: http://www.varsity.co.uk/reviews/2662 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/vea.gov.vn.txt b/inc/3rdparty/site_config/standard/vea.gov.vn.txt new file mode 100755 index 00000000..9c8420ce --- /dev/null +++ b/inc/3rdparty/site_config/standard/vea.gov.vn.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title://div[@class="detail-new-title"] | ||
2 | body://div[@class="innerpad"] | ||
3 | strip://div[@class="ArticleUtility"] | ||
4 | strip://div[@class="commentPost"] | ||
5 | strip://div[@class="comment-box"] | ||
6 | strip://div[@id="TinLienQuan"] | ||
7 | test_url: http://vea.gov.vn/vn/tintuc/tintuchangngay/Pages/T%C4%83ng-c%C6%B0%E1%BB%9Dng-b%E1%BA%A3o-t%E1%BB%93n-%C4%91%E1%BB%99ng-v%E1%BA%ADt-hoang-d%C3%A3-%E1%BB%9F-Vi%E1%BB%87t-Nam.aspx \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/vedomosti.ru.txt b/inc/3rdparty/site_config/standard/vedomosti.ru.txt index ba999171..265f9fc7 100644..100755 --- a/inc/3rdparty/site_config/standard/vedomosti.ru.txt +++ b/inc/3rdparty/site_config/standard/vedomosti.ru.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //td[@class='second_content']/h1 | 1 | title: //td[@class='second_content']/h1 |
2 | body: //td[@class='second_content']/div[@class='article_text'] | 2 | body: //td[@class='second_content']/div[@class='article_text'] |
3 | test_url: http://www.vedomosti.ru/newspaper/article/259377/rasprodazha_mailru \ No newline at end of file | 3 | test_url: http://www.vedomosti.ru/newspaper/article/259377/rasprodazha_mailru \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/veggbilder.no.txt b/inc/3rdparty/site_config/standard/veggbilder.no.txt index 14144c0f..2a44c317 100644..100755 --- a/inc/3rdparty/site_config/standard/veggbilder.no.txt +++ b/inc/3rdparty/site_config/standard/veggbilder.no.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | author: //div[@class="blogginnleggForfatter"] | 1 | author: //div[@class="blogginnleggForfatter"] |
2 | date: concat(//div[@class='blogginnleggDatoDag'],' ',//div[@class='blogginnleggDatoMnd']) | 2 | date: concat(//div[@class='blogginnleggDatoDag'],' ',//div[@class='blogginnleggDatoMnd']) |
3 | strip: //div[contains(@id,"bloggDelingslenker")] | 3 | strip: //div[contains(@id,"bloggDelingslenker")] |
4 | strip: //div[contains(@id,"bloggDelingslenker")] | 4 | strip: //div[contains(@id,"bloggDelingslenker")] |
5 | test_url: http://veggbilder.no/blogginnlegg/fristelser \ No newline at end of file | 5 | test_url: http://veggbilder.no/blogginnlegg/fristelser \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/vemedio.com.txt b/inc/3rdparty/site_config/standard/vemedio.com.txt index 294ace9c..d22fc5cf 100644..100755 --- a/inc/3rdparty/site_config/standard/vemedio.com.txt +++ b/inc/3rdparty/site_config/standard/vemedio.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h2 | 1 | title: //h2 |
2 | date: substring-before(//small," • Permalink") | 2 | date: substring-before(//small," • Permalink") |
3 | author:string('Martin Hering') | 3 | author:string('Martin Hering') |
4 | 4 | ||
5 | Strip: //p/small | 5 | Strip: //p/small |
6 | test_url: http://vemedio.com/blog/posts/state-of-support-and-icloud \ No newline at end of file | 6 | test_url: http://vemedio.com/blog/posts/state-of-support-and-icloud \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/venturebeat.com.txt b/inc/3rdparty/site_config/standard/venturebeat.com.txt index 41bfa8c5..d6321d79 100644..100755 --- a/inc/3rdparty/site_config/standard/venturebeat.com.txt +++ b/inc/3rdparty/site_config/standard/venturebeat.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1[@class="entry-title"] | 1 | title: //h1[@class="entry-title"] |
2 | author: //div[@class="author-name"] | 2 | author: //div[@class="author-name"] |
3 | date: //span[@class="the-time"] | 3 | date: //span[@class="the-time"] |
4 | body: //div[@class="entry-content"] | 4 | body: //div[@class="entry-content"] |
5 | strip: //div[@class="vb-gallery"] | 5 | strip: //div[@class="vb-gallery"] |
6 | test_url: http://venturebeat.com/2012/07/17/marissa-mayer-yahoo/#s:mayer-1 \ No newline at end of file | 6 | test_url: http://venturebeat.com/2012/07/17/marissa-mayer-yahoo/#s:mayer-1 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/version2.dk.txt b/inc/3rdparty/site_config/standard/version2.dk.txt index 74203cad..418b83a1 100644..100755 --- a/inc/3rdparty/site_config/standard/version2.dk.txt +++ b/inc/3rdparty/site_config/standard/version2.dk.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //article/header/h1 | 1 | title: //article/header/h1 |
2 | 2 | ||
3 | author: //article/header/section[@class='byline']/span[contains(@class, 'author')]/a | 3 | author: //article/header/section[@class='byline']/span[contains(@class, 'author')]/a |
4 | date: //article/header/section[@class='byline']/span[@class='published']/span | 4 | date: //article/header/section[@class='byline']/span[@class='published']/span |
5 | 5 | ||
6 | body: //article/section[@class='body'] | 6 | body: //article/section[@class='body'] |
7 | 7 | ||
8 | convert_double_br_tags: yes | 8 | convert_double_br_tags: yes |
9 | 9 | ||
10 | # This is required, because Tidy chokes on the HTML5 tags... | 10 | # This is required, because Tidy chokes on the HTML5 tags... |
11 | tidy: no | 11 | tidy: no |
12 | test_url: http://www.version2.dk/artikel/17069-amerikansk-hit-investor-er-vild-med-danske-net-ivaerksaettere \ No newline at end of file | 12 | test_url: http://www.version2.dk/artikel/17069-amerikansk-hit-investor-er-vild-med-danske-net-ivaerksaettere \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/verybestbaking.com.txt b/inc/3rdparty/site_config/standard/verybestbaking.com.txt index 4cdd0c0f..ad0fec66 100644..100755 --- a/inc/3rdparty/site_config/standard/verybestbaking.com.txt +++ b/inc/3rdparty/site_config/standard/verybestbaking.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | title: //title | 1 | title: //title |
2 | body: //div[contains(@class, 'printRecipe')] | 2 | body: //div[contains(@class, 'printRecipe')] |
3 | strip: //div[@class='recipeHeader'] | 3 | strip: //div[@class='recipeHeader'] |
4 | prune: no | 4 | prune: no |
5 | tidy: no | 5 | tidy: no |
6 | single_page_link: //ul[@class='printOptions']//a[contains(@href, 'detail.aspx?p=1&showphoto=true')] | 6 | single_page_link: //ul[@class='printOptions']//a[contains(@href, 'detail.aspx?p=1&showphoto=true')] |
7 | test_url: http://www.verybestbaking.com/recipes/143190/Penne-Pasta-with-Sun-dried-Tomato-Cream-Sauce/detail.aspx \ No newline at end of file | 7 | test_url: http://www.verybestbaking.com/recipes/143190/Penne-Pasta-with-Sun-dried-Tomato-Cream-Sauce/detail.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/vg.no.txt b/inc/3rdparty/site_config/standard/vg.no.txt index fceeea09..bfadb4a7 100644..100755 --- a/inc/3rdparty/site_config/standard/vg.no.txt +++ b/inc/3rdparty/site_config/standard/vg.no.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@id='artikkelspalte'] | 1 | body: //div[@id='artikkelspalte'] |
2 | strip_id_or_class: 'breadcrumb' | 2 | strip_id_or_class: 'breadcrumb' |
3 | test_url: http://www.vg.no/spill/artikkel.php?artid=10003628 \ No newline at end of file | 3 | test_url: http://www.vg.no/spill/artikkel.php?artid=10003628 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/video.forbes.com.txt b/inc/3rdparty/site_config/standard/video.forbes.com.txt index 1dca55a3..5db77463 100644..100755 --- a/inc/3rdparty/site_config/standard/video.forbes.com.txt +++ b/inc/3rdparty/site_config/standard/video.forbes.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: concat("Video: ", //div[@id='currentVideoTitleDivId']) | 1 | title: concat("Video: ", //div[@id='currentVideoTitleDivId']) |
2 | body: //div[@id='currentVideoDescriptionId'] | 2 | body: //div[@id='currentVideoDescriptionId'] |
3 | author: //meta[@name='author']/@content | 3 | author: //meta[@name='author']/@content |
4 | 4 | ||
5 | replace_string(<div id="currentVideoDescriptionId" style="display): <div id="currentVideoDescriptionId" style="displayitplease | 5 | replace_string(<div id="currentVideoDescriptionId" style="display): <div id="currentVideoDescriptionId" style="displayitplease |
6 | 6 | ||
7 | replace_string(<div id="currentVideoTitleDivId" style="display): <div id="currentVideoTitleDivId" style="displayitplease | 7 | replace_string(<div id="currentVideoTitleDivId" style="display): <div id="currentVideoTitleDivId" style="displayitplease |
8 | 8 | ||
9 | test_url: http://video.forbes.com/fvn/business/wells-fargo-inside-the-bank-that-works \ No newline at end of file | 9 | test_url: http://video.forbes.com/fvn/business/wells-fargo-inside-the-bank-that-works \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/videogum.com.txt b/inc/3rdparty/site_config/standard/videogum.com.txt index a1663813..d93780ca 100644..100755 --- a/inc/3rdparty/site_config/standard/videogum.com.txt +++ b/inc/3rdparty/site_config/standard/videogum.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h2[@class='posttitle'] | 1 | title: //h2[@class='posttitle'] |
2 | date: substring-before(substring-after(//span[@class='postdate'], 'on '), ' by') | 2 | date: substring-before(substring-after(//span[@class='postdate'], 'on '), ' by') |
3 | date: //span[@class='postdate'] | 3 | date: //span[@class='postdate'] |
4 | author: //span[@class='postdate']/a | 4 | author: //span[@class='postdate']/a |
5 | body: //div[@class='entry line_top'] | 5 | body: //div[@class='entry line_top'] |
6 | test_url: http://videogum.com/395042/here-are-some-afternoon-links-92/list/ \ No newline at end of file | 6 | test_url: http://videogum.com/395042/here-are-some-afternoon-links-92/list/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/villagevoice.com.txt b/inc/3rdparty/site_config/standard/villagevoice.com.txt index df374602..36e4a2f5 100644..100755 --- a/inc/3rdparty/site_config/standard/villagevoice.com.txt +++ b/inc/3rdparty/site_config/standard/villagevoice.com.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //h2[@class='headline'] | 1 | title: //h2[@class='headline'] |
2 | 2 | ||
3 | body: //div[@class='ContentPrint'] | 3 | body: //div[@class='ContentPrint'] |
4 | 4 | ||
5 | prune: no | 5 | prune: no |
6 | 6 | ||
7 | single_page_link: //a[contains(@href, '/printVersion/')] | 7 | single_page_link: //a[contains(@href, '/printVersion/')] |
8 | 8 | ||
9 | test_url: http://www.villagevoice.com/2010-03-16/news/new-york-s-ten-worst-landlords/ \ No newline at end of file | 9 | test_url: http://www.villagevoice.com/2010-03-16/news/new-york-s-ten-worst-landlords/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/vimeo.com.txt b/inc/3rdparty/site_config/standard/vimeo.com.txt index d6c6701a..f36c9c57 100644..100755 --- a/inc/3rdparty/site_config/standard/vimeo.com.txt +++ b/inc/3rdparty/site_config/standard/vimeo.com.txt | |||
@@ -1,17 +1,17 @@ | |||
1 | title: //title | 1 | title: //title |
2 | body: //iframe | 2 | body: //iframe |
3 | 3 | ||
4 | find_string: <html><iframe | 4 | find_string: <html><iframe |
5 | replace_string: <iframe id="video" | 5 | replace_string: <iframe id="video" |
6 | 6 | ||
7 | find_string: ></iframe></html> | 7 | find_string: ></iframe></html> |
8 | replace_string: ></iframe> | 8 | replace_string: ></iframe> |
9 | 9 | ||
10 | replace_string("): " | 10 | replace_string("): " |
11 | 11 | ||
12 | single_page_link: //link[@type='text/xml+oembed'] | 12 | single_page_link: //link[@type='text/xml+oembed'] |
13 | 13 | ||
14 | prune: no | 14 | prune: no |
15 | tidy: no | 15 | tidy: no |
16 | 16 | ||
17 | test_url: http://vimeo.com/35941909 \ No newline at end of file | 17 | test_url: http://vimeo.com/35941909 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/viply.de.txt b/inc/3rdparty/site_config/standard/viply.de.txt new file mode 100755 index 00000000..e3599c9d --- /dev/null +++ b/inc/3rdparty/site_config/standard/viply.de.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | title: //div[@id='singletext']//h1 | ||
2 | body: //div[contains(@class, 'mypictureborder')] | //div[@id='singletext'] | ||
3 | prune: no | ||
4 | |||
5 | strip_id_or_class: singletostart | ||
6 | strip_id_or_class: navigation | ||
7 | strip_id_or_class: social | ||
8 | strip_id_or_class: single_topwrapper | ||
9 | strip: //a[contains(., 'Nächster Artikel')] | ||
10 | |||
11 | test_url: http://www.viply.de/?p=87973 | ||
12 | test_url: http://www.viply.de/?feed=rss2 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/visir.is.txt b/inc/3rdparty/site_config/standard/visir.is.txt index 0f03198e..04e09102 100644..100755 --- a/inc/3rdparty/site_config/standard/visir.is.txt +++ b/inc/3rdparty/site_config/standard/visir.is.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | # Author's name, when present, has 'skrifar:' ('writes:') appended to it. | 1 | # Author's name, when present, has 'skrifar:' ('writes:') appended to it. |
2 | # In case of multiple authors, this would be 'skrifa:', hence only 7 characters | 2 | # In case of multiple authors, this would be 'skrifa:', hence only 7 characters |
3 | # are stripped off. | 3 | # are stripped off. |
4 | author: substring(//div[@class='paragraph']/div[@class='meta'], 0, string-length(//div[@class='paragraph']/div[@class='meta']) - 7) | 4 | author: substring(//div[@class='paragraph']/div[@class='meta'], 0, string-length(//div[@class='paragraph']/div[@class='meta']) - 7) |
5 | 5 | ||
6 | date: //span[@class='date'] | 6 | date: //span[@class='date'] |
7 | title: //h1 | 7 | title: //h1 |
8 | body: //div[@class='paragraph'] | 8 | body: //div[@class='paragraph'] |
9 | 9 | ||
10 | # Strip out author string when present | 10 | # Strip out author string when present |
11 | strip: //div[@class='paragraph']/div[@class='meta'] | 11 | strip: //div[@class='paragraph']/div[@class='meta'] |
12 | 12 | ||
13 | convert_double_br_tags: yes | 13 | convert_double_br_tags: yes |
14 | test_url: http://visir.is/esb,-ipa,-bhm-og-bsrb/article/2012701319997 \ No newline at end of file | 14 | test_url: http://visir.is/esb,-ipa,-bhm-og-bsrb/article/2012701319997 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/vitispr.com.txt b/inc/3rdparty/site_config/standard/vitispr.com.txt index 8b2a300e..f2d11c7c 100644..100755 --- a/inc/3rdparty/site_config/standard/vitispr.com.txt +++ b/inc/3rdparty/site_config/standard/vitispr.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | strip: //*[(@id = "ja-search")] | 1 | strip: //*[(@id = "ja-search")] |
2 | body: //*[(@id = "ja-mainbody")] | 2 | body: //*[(@id = "ja-mainbody")] |
3 | body: //*[(@id = "content-mass-bottom")] | 3 | body: //*[(@id = "content-mass-bottom")] |
4 | strip://h3[contains(span,'Related Posts')] | 4 | strip://h3[contains(span,'Related Posts')] |
5 | strip://img | 5 | strip://img |
6 | test_url: http://vitispr.com/blog/coventry-is-a-technology-hotspot \ No newline at end of file | 6 | test_url: http://vitispr.com/blog/coventry-is-a-technology-hotspot \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/vivirmexico.com.txt b/inc/3rdparty/site_config/standard/vivirmexico.com.txt index e6a72700..e6a72700 100644..100755 --- a/inc/3rdparty/site_config/standard/vivirmexico.com.txt +++ b/inc/3rdparty/site_config/standard/vivirmexico.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/vnexpress.net.txt b/inc/3rdparty/site_config/standard/vnexpress.net.txt index 23c928bf..e5ebc435 100644..100755 --- a/inc/3rdparty/site_config/standard/vnexpress.net.txt +++ b/inc/3rdparty/site_config/standard/vnexpress.net.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | body: //div[@cpms_content]//h2[@class='Lead'] | //div[@cpms_content]//p[@class='Normal'] | //div[@cpms_content]//table | 1 | body: //div[@cpms_content]//h2[@class='Lead'] | //div[@cpms_content]//p[@class='Normal'] | //div[@cpms_content]//table |
2 | strip://div[@class="box-item"] | 2 | strip://div[@class="box-item"] |
3 | strip://div[@id="ARTICLE_BANNER"] | 3 | strip://div[@id="ARTICLE_BANNER"] |
4 | strip://a | 4 | strip://a |
5 | strip://div[@class="tag-parent"] | 5 | strip://div[@class="tag-parent"] |
6 | strip://div[@class="email-print txtr"] | 6 | strip://div[@class="email-print txtr"] |
7 | 7 | ||
8 | test_url: http://vnexpress.net/gl/xa-hoi/2011/04/tim-thay-nan-nhan-cuoi-cung-vu-sap-mo-da-o-len-co/ \ No newline at end of file | 8 | test_url: http://vnexpress.net/gl/xa-hoi/2011/04/tim-thay-nan-nhan-cuoi-cung-vu-sap-mo-da-o-len-co/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/voices.washingtonpost.com.txt b/inc/3rdparty/site_config/standard/voices.washingtonpost.com.txt index 6bd0e855..b754aeb8 100644..100755 --- a/inc/3rdparty/site_config/standard/voices.washingtonpost.com.txt +++ b/inc/3rdparty/site_config/standard/voices.washingtonpost.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@class='entrytext'] | 2 | body: //div[@class='entrytext'] |
3 | test_url: http://voices.washingtonpost.com/ezra-klein/2010/10/why_isnt_monetary_policy_discr.html \ No newline at end of file | 3 | test_url: http://voices.washingtonpost.com/ezra-klein/2010/10/why_isnt_monetary_policy_discr.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/vworker.com.txt b/inc/3rdparty/site_config/standard/vworker.com.txt index a39c9f4e..cfb9ea1c 100644..100755 --- a/inc/3rdparty/site_config/standard/vworker.com.txt +++ b/inc/3rdparty/site_config/standard/vworker.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[contains(@class, 'KonaBody')] | 1 | body: //div[contains(@class, 'KonaBody')] |
2 | 2 | ||
3 | test_url: http://www.vworker.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=1634186 \ No newline at end of file | 3 | test_url: http://www.vworker.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=1634186 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/waffle.wootest.net.txt b/inc/3rdparty/site_config/standard/waffle.wootest.net.txt index afcba0f3..e92757d7 100644..100755 --- a/inc/3rdparty/site_config/standard/waffle.wootest.net.txt +++ b/inc/3rdparty/site_config/standard/waffle.wootest.net.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //h2[@class="title"] | 1 | title: //h2[@class="title"] |
2 | body: //div[@class="post"] | 2 | body: //div[@class="post"] |
3 | 3 | ||
4 | test_url: http://waffle.wootest.net/2011/06/22/on-reading-news/ \ No newline at end of file | 4 | test_url: http://waffle.wootest.net/2011/06/22/on-reading-news/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/walrusmagazine.com.txt b/inc/3rdparty/site_config/standard/walrusmagazine.com.txt index 3ab22172..c53eb0dd 100644..100755 --- a/inc/3rdparty/site_config/standard/walrusmagazine.com.txt +++ b/inc/3rdparty/site_config/standard/walrusmagazine.com.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | title: //div[@id='pr']/h3 | 1 | title: //div[@id='pr']/h3 |
2 | author: //div[@class='dateline']//a[contains(@href, '/author/')] | 2 | author: //div[@class='dateline']//a[contains(@href, '/author/')] |
3 | 3 | ||
4 | # print page | 4 | # print page |
5 | body: //div[@id='prbody'] | 5 | body: //div[@id='prbody'] |
6 | # standard page | 6 | # standard page |
7 | body: //div[@id='pgbody'] | 7 | body: //div[@id='pgbody'] |
8 | 8 | ||
9 | # for multi-page articles | 9 | # for multi-page articles |
10 | single_page_link: //div[@class='tipjar']//a[contains(@href, '/printerFriendly.php?')] | 10 | single_page_link: //div[@class='tipjar']//a[contains(@href, '/printerFriendly.php?')] |
11 | 11 | ||
12 | prune: no | 12 | prune: no |
13 | 13 | ||
14 | test_url: http://www.walrusmagazine.com/articles/2011.12-memoir-kidnapped \ No newline at end of file | 14 | test_url: http://www.walrusmagazine.com/articles/2011.12-memoir-kidnapped \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/warnerbros.fr.txt b/inc/3rdparty/site_config/standard/warnerbros.fr.txt index a41a3511..21f56352 100644..100755 --- a/inc/3rdparty/site_config/standard/warnerbros.fr.txt +++ b/inc/3rdparty/site_config/standard/warnerbros.fr.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h3 | 1 | title: //h3 |
2 | body: //div[@class="content_wysiwyg"] | 2 | body: //div[@class="content_wysiwyg"] |
3 | test_url: http://www.warnerbros.fr/game-of-thrones-un-junket-vu-de-l-interieur-268.html \ No newline at end of file | 3 | test_url: http://www.warnerbros.fr/game-of-thrones-un-junket-vu-de-l-interieur-268.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/washingtoninstitute.org.txt b/inc/3rdparty/site_config/standard/washingtoninstitute.org.txt new file mode 100755 index 00000000..17f45677 --- /dev/null +++ b/inc/3rdparty/site_config/standard/washingtoninstitute.org.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | body: //div[@class='main']//article | ||
2 | |||
3 | prune: no | ||
4 | |||
5 | test_url: http://www.washingtoninstitute.org/policy-analysis/view/striking-syria-lessons-from-the-israeli-experience?goback=.gde_3822158_member_273623672 | ||
6 | test_url: http://www.washingtoninstitute.org/rss/11/10 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/washingtonmonthly.com.txt b/inc/3rdparty/site_config/standard/washingtonmonthly.com.txt index edf16422..8f8902a5 100644..100755 --- a/inc/3rdparty/site_config/standard/washingtonmonthly.com.txt +++ b/inc/3rdparty/site_config/standard/washingtonmonthly.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title://a[@class = 'headline-article'] | 1 | title://a[@class = 'headline-article'] |
2 | 2 | ||
3 | author: substring-after(//div[@class = 'article']/p[@class = 'author'], 'By ') | 3 | author: substring-after(//div[@class = 'article']/p[@class = 'author'], 'By ') |
4 | date://div[@class = 'article']/span[@class = 'date'] | 4 | date://div[@class = 'article']/span[@class = 'date'] |
5 | body://div[@class = 'article'] | 5 | body://div[@class = 'article'] |
6 | single_page_link://a[@class = 'print'] | 6 | single_page_link://a[@class = 'print'] |
7 | strip://p[@class = 'author'] | 7 | strip://p[@class = 'author'] |
8 | strip://a[@class = 'headline-article'] | 8 | strip://a[@class = 'headline-article'] |
9 | strip://span[@class = 'date'] | 9 | strip://span[@class = 'date'] |
10 | test_url: http://www.washingtonmonthly.com/magazine/julyaugust_2011/features/the_trinity_sisters030380.php \ No newline at end of file | 10 | test_url: http://www.washingtonmonthly.com/magazine/julyaugust_2011/features/the_trinity_sisters030380.php \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/washingtonpost.com.txt b/inc/3rdparty/site_config/standard/washingtonpost.com.txt index 2931ca5f..0aa9f1d8 100644..100755 --- a/inc/3rdparty/site_config/standard/washingtonpost.com.txt +++ b/inc/3rdparty/site_config/standard/washingtonpost.com.txt | |||
@@ -1,21 +1,32 @@ | |||
1 | body: //div[@class="article_body"] | 1 | # Seems to be redirecting to articles.washingtonpost.com for many users |
2 | author://meta[@name='DC.creator']/@content | 2 | |
3 | title://meta[@name='title']/@content | 3 | body: //div[contains(@class, "article_body")] |
4 | date://div[contains(@class,'byline')]//span[contains(@class,'published')]/@title | 4 | # print view |
5 | date://meta[@name="DC.date.issued"]/@content | 5 | body: //div[@id='print_facet']//div[@id='body'] |
6 | strip://div[@class="relative primary-slot padding-top img-border gallery-container photo-wrapper"] | 6 | |
7 | strip://div[@id="wp-column six end"] | 7 | author://meta[@name='DC.creator']/@content |
8 | strip://div[contains(@class,'hidden')] | 8 | title://meta[@name='title']/@content |
9 | strip://div[@id='article-side-rail'] | 9 | date://div[contains(@class,'byline')]//span[contains(@class,'published')]/@title |
10 | strip://div[@class="module component todays-paper-module curved"] | 10 | date://meta[@name="DC.date.issued"]/@content |
11 | strip://div[@class="module component live-qa curved img-border"] | 11 | strip://div[@class="relative primary-slot padding-top img-border gallery-container photo-wrapper"] |
12 | strip://div[@class="module component newsletter-signup curved"] | 12 | strip://div[@id="wp-column six end"] |
13 | strip://div[@class="module featured-stories component curved img-border"] | 13 | strip://div[contains(@class,'hidden')] |
14 | 14 | strip://div[@id='article-side-rail'] | |
15 | strip_id_or_class: carousel | 15 | strip://div[@class="module component todays-paper-module curved"] |
16 | strip_id_or_class: toolbar | 16 | strip://div[@class="module component live-qa curved img-border"] |
17 | strip_id_or_class: module | 17 | strip://div[@class="module component newsletter-signup curved"] |
18 | 18 | strip://div[@class="module featured-stories component curved img-border"] | |
19 | test_url: http://www.washingtonpost.com/world/europe/in-europe-new-fears-of-german-might/2011/10/19/gIQA3baZ7L_story.html?hpid=z1 | 19 | |
20 | test_url: http://www.washingtonpost.com/national/health-science/radical-theory-of-first-americans-places-stone-age-europeans-in-delmarva-20000-years-ago/2012/02/28/gIQA4mriiR_story.html | 20 | strip_id_or_class: carousel |
21 | strip_id_or_class: toolbar | ||
22 | strip_id_or_class: module | ||
23 | |||
24 | # Change gJQAwdJG4U_story.html to gJQAwdJG4U_print.html | ||
25 | single_page_link: concat(substring-before(//link[@rel="canonical"]/@href, "_story.html"), "_print.html") | ||
26 | |||
27 | # [OLD] Change gJQAwdJG4U_story.html to gJQAwdJG4U_story_print.html | ||
28 | #single_page_link: concat(substring-before(//link[@rel="canonical"]/@href, "_story.html"), "_story_print.html") | ||
29 | |||
30 | test_url: http://www.washingtonpost.com/world/europe/in-europe-new-fears-of-german-might/2011/10/19/gIQA3baZ7L_story.html?hpid=z1 | ||
31 | test_url: http://www.washingtonpost.com/national/health-science/radical-theory-of-first-americans-places-stone-age-europeans-in-delmarva-20000-years-ago/2012/02/28/gIQA4mriiR_story.html | ||
21 | test_url: http://www.washingtonpost.com/lifestyle/magazine/the-sorry-fate-of-a-tech-pioneer-halsey-minor-and-historic-virginia-estate-carters-grove/2012/05/30/gJQAwdJG4U_story.html \ No newline at end of file | 32 | test_url: http://www.washingtonpost.com/lifestyle/magazine/the-sorry-fate-of-a-tech-pioneer-halsey-minor-and-historic-virginia-estate-carters-grove/2012/05/30/gJQAwdJG4U_story.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/web-libre.org.txt b/inc/3rdparty/site_config/standard/web-libre.org.txt index dfcd0081..9ed43a25 100644..100755 --- a/inc/3rdparty/site_config/standard/web-libre.org.txt +++ b/inc/3rdparty/site_config/standard/web-libre.org.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | body: //div[@id='template_article'] | 1 | body: //div[@id='template_article'] |
2 | 2 | ||
3 | strip_id_or_class: article_more | 3 | strip_id_or_class: article_more |
4 | strip: //hr | 4 | strip: //hr |
5 | 5 | ||
6 | test_url: http://www.web-libre.org/dossiers/jacuzzi-gonflable,8493.html \ No newline at end of file | 6 | test_url: http://www.web-libre.org/dossiers/jacuzzi-gonflable,8493.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/weblog.bignerdranch.com.txt b/inc/3rdparty/site_config/standard/weblog.bignerdranch.com.txt index 9e75a8a8..578ba523 100644..100755 --- a/inc/3rdparty/site_config/standard/weblog.bignerdranch.com.txt +++ b/inc/3rdparty/site_config/standard/weblog.bignerdranch.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title://div[@class="post"]/h2 | 1 | title://div[@class="post"]/h2 |
2 | author://p[@class="postinfo"]/a | 2 | author://p[@class="postinfo"]/a |
3 | date:substring-before(substring-after(//p[@class="postinfo"],' on '),' under ') | 3 | date:substring-before(substring-after(//p[@class="postinfo"],' on '),' under ') |
4 | body://div[@class="contenttext"] | 4 | body://div[@class="contenttext"] |
5 | test_url: http://weblog.bignerdranch.com/?p=304 \ No newline at end of file | 5 | test_url: http://weblog.bignerdranch.com/?p=304 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/weblogs.asp.net.txt b/inc/3rdparty/site_config/standard/weblogs.asp.net.txt index 3fabda0b..7cfa49d2 100644..100755 --- a/inc/3rdparty/site_config/standard/weblogs.asp.net.txt +++ b/inc/3rdparty/site_config/standard/weblogs.asp.net.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | title: //h2[@class="pageTitle"] | 1 | title: //h2[@class="pageTitle"] |
2 | strip: //div[@class="postfoot"] | 2 | strip: //div[@class="postfoot"] |
3 | strip: //h2[@class="pageTitle"] | 3 | strip: //h2[@class="pageTitle"] |
4 | strip: //h3[@class="pageTitle"] | 4 | strip: //h3[@class="pageTitle"] |
5 | body: //div[@class="post"] | 5 | body: //div[@class="post"] |
6 | author: substring-before(substring-after(//div[@class="postfoot"], 'by'), 'Filed') | 6 | author: substring-before(substring-after(//div[@class="postfoot"], 'by'), 'Filed') |
7 | date: substring-before(substring-after(//div[@class="postfoot"], 'Published'), 'by') | 7 | date: substring-before(substring-after(//div[@class="postfoot"], 'Published'), 'by') |
8 | 8 | ||
9 | test_url: http://weblogs.asp.net/scottgu/archive/2011/08/31/html-editor-smart-tasks-and-event-handler-generation-asp-net-vnext-series.aspx \ No newline at end of file | 9 | test_url: http://weblogs.asp.net/scottgu/archive/2011/08/31/html-editor-smart-tasks-and-event-handler-generation-asp-net-vnext-series.aspx \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/webpaper.nzz.ch.txt b/inc/3rdparty/site_config/standard/webpaper.nzz.ch.txt index 8922b02f..cea10147 100644..100755 --- a/inc/3rdparty/site_config/standard/webpaper.nzz.ch.txt +++ b/inc/3rdparty/site_config/standard/webpaper.nzz.ch.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | tidy: no | 1 | tidy: no |
2 | dissolve: //div[@id="content"]/div/article/header | 2 | dissolve: //div[@id="content"]/div/article/header |
3 | body: //div[@id="content"]/div/article | 3 | body: //div[@id="content"]/div/article |
4 | title: //div[@id="content"]/div/article/h1 | 4 | title: //div[@id="content"]/div/article/h1 |
5 | date: //div[@id="content"]/div/article/header/div[@id="issueSelectTrigger"] | 5 | date: //div[@id="content"]/div/article/header/div[@id="issueSelectTrigger"] |
6 | strip: //div[@id="content"]/div/article/h1 | 6 | strip: //div[@id="content"]/div/article/h1 |
7 | 7 | ||
8 | test_url: http://webpaper.nzz.ch/2012/06/23/front/JJKMS/aphrodite-und-die-kommunisten?guest_pass=24a3ca5b6d%3AJJKMS%3Ad30e1be8628c099669671d4da56cdce4187790ba \ No newline at end of file | 8 | test_url: http://webpaper.nzz.ch/2012/06/23/front/JJKMS/aphrodite-und-die-kommunisten?guest_pass=24a3ca5b6d%3AJJKMS%3Ad30e1be8628c099669671d4da56cdce4187790ba \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/webwereld.nl.txt b/inc/3rdparty/site_config/standard/webwereld.nl.txt new file mode 100755 index 00000000..40a5aa36 --- /dev/null +++ b/inc/3rdparty/site_config/standard/webwereld.nl.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | strip: //*[@class="paginator"] | ||
2 | body: //*[@id="articleText"] | ||
3 | next_page_link: //a[@class="next"] | ||
4 | |||
5 | # No author detection | ||
6 | # No publishing date detection | ||
7 | # No author and intro deduplication over multiple pages | ||
8 | test_url: http://webwereld.nl/analyse/111452/de-code-van-dorifel-nader-bekeken.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/welt.de.txt b/inc/3rdparty/site_config/standard/welt.de.txt index 6e4f828f..42e65e97 100644..100755 --- a/inc/3rdparty/site_config/standard/welt.de.txt +++ b/inc/3rdparty/site_config/standard/welt.de.txt | |||
@@ -1,22 +1,22 @@ | |||
1 | # set body | 1 | # set body |
2 | tidy: no | 2 | tidy: no |
3 | body: //div[contains(@class, 'articleContent')] | 3 | body: //div[contains(@class, 'articleContent')] |
4 | 4 | ||
5 | # remove clutter | 5 | # remove clutter |
6 | strip: //div[@class='advertising'] | 6 | strip: //div[@class='advertising'] |
7 | strip: //div[@class='themenalarm'] | 7 | strip: //div[@class='themenalarm'] |
8 | strip: //div[contains(@class, 'inTextTeaser')] | 8 | strip: //div[contains(@class, 'inTextTeaser')] |
9 | 9 | ||
10 | # remove captions | 10 | # remove captions |
11 | strip: //span[@class='copyRight'] | 11 | strip: //span[@class='copyRight'] |
12 | 12 | ||
13 | # remove photo galleries and extras | 13 | # remove photo galleries and extras |
14 | strip: //div[contains(@class, 'textGallery')] | 14 | strip: //div[contains(@class, 'textGallery')] |
15 | strip: //div[contains(@class, 'videoGallery')] | 15 | strip: //div[contains(@class, 'videoGallery')] |
16 | strip: //div[contains(@class, 'imageGallery')] | 16 | strip: //div[contains(@class, 'imageGallery')] |
17 | strip: //div[contains(@class, 'openContent')] | 17 | strip: //div[contains(@class, 'openContent')] |
18 | 18 | ||
19 | # remove comments | 19 | # remove comments |
20 | strip: //div[@id = 'writeComment'] | 20 | strip: //div[@id = 'writeComment'] |
21 | 21 | ||
22 | test_url: http://www.welt.de/vermischtes/weltgeschehen/article11050589/27-Bergleute-in-neuseelaendischer-Mine-vermisst.html \ No newline at end of file | 22 | test_url: http://www.welt.de/vermischtes/weltgeschehen/article11050589/27-Bergleute-in-neuseelaendischer-Mine-vermisst.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/westhamtillidie.com.txt b/inc/3rdparty/site_config/standard/westhamtillidie.com.txt index b9343029..3132e98a 100644..100755 --- a/inc/3rdparty/site_config/standard/westhamtillidie.com.txt +++ b/inc/3rdparty/site_config/standard/westhamtillidie.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: substring-before(//title, '«') | 1 | title: substring-before(//title, '«') |
2 | 2 | ||
3 | body: //div[@class='entry'] | 3 | body: //div[@class='entry'] |
4 | strip: //div[@class='sharing_label'] | 4 | strip: //div[@class='sharing_label'] |
5 | strip: //div[@class='snap_nopreview sharing robots-nocontent'] | 5 | strip: //div[@class='snap_nopreview sharing robots-nocontent'] |
6 | test_url: http://www.westhamtillidie.com/2012/03/11/twelve-things-we-learned-from-the-doncaster-game/ \ No newline at end of file | 6 | test_url: http://www.westhamtillidie.com/2012/03/11/twelve-things-we-learned-from-the-doncaster-game/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/what-if.xkcd.com.txt b/inc/3rdparty/site_config/standard/what-if.xkcd.com.txt index a88a02c9..a88a02c9 100644..100755 --- a/inc/3rdparty/site_config/standard/what-if.xkcd.com.txt +++ b/inc/3rdparty/site_config/standard/what-if.xkcd.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/whatever.scalzi.com.txt b/inc/3rdparty/site_config/standard/whatever.scalzi.com.txt index 52c5cf1b..100a8c88 100644..100755 --- a/inc/3rdparty/site_config/standard/whatever.scalzi.com.txt +++ b/inc/3rdparty/site_config/standard/whatever.scalzi.com.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | strip: //div[@class="navigation"] | 1 | strip: //div[@class="navigation"] |
2 | strip: //div[@id="sidebar"] | 2 | strip: //div[@id="sidebar"] |
3 | strip: //div[@id="post-extra-content"] | 3 | strip: //div[@id="post-extra-content"] |
4 | strip: //div[@id="footer"] | 4 | strip: //div[@id="footer"] |
5 | strip: //div[contains(@class, "sharing")] | 5 | strip: //div[contains(@class, "sharing")] |
6 | 6 | ||
7 | test_url: http://whatever.scalzi.com/2011/01/09/quick-giffords-follow-up/ \ No newline at end of file | 7 | test_url: http://whatever.scalzi.com/2011/01/09/quick-giffords-follow-up/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wheelyric.com.txt b/inc/3rdparty/site_config/standard/wheelyric.com.txt index aa9783cf..b9eeaa0c 100644..100755 --- a/inc/3rdparty/site_config/standard/wheelyric.com.txt +++ b/inc/3rdparty/site_config/standard/wheelyric.com.txt | |||
@@ -1,11 +1,11 @@ | |||
1 | body://div[contains(@class,'oAndtLyrics')] | 1 | body://div[contains(@class,'oAndtLyrics')] |
2 | strip://div[contains(@class,'info')] | 2 | strip://div[contains(@class,'info')] |
3 | strip://div[contains(@id,'romanization')] | 3 | strip://div[contains(@id,'romanization')] |
4 | strip://div[contains(@id,'youtube')] | 4 | strip://div[contains(@id,'youtube')] |
5 | strip://div[contains(@id,'romanizationSelector')] | 5 | strip://div[contains(@id,'romanizationSelector')] |
6 | strip://div[contains(@id,'langSelectWrap')] | 6 | strip://div[contains(@id,'langSelectWrap')] |
7 | strip://div[contains(@id,'requestTranslationWrap')] | 7 | strip://div[contains(@id,'requestTranslationWrap')] |
8 | strip://div[contains(@id,'viewMore')] | 8 | strip://div[contains(@id,'viewMore')] |
9 | strip://div[contains(@class,'lyricsListInMainContent')] | 9 | strip://div[contains(@class,'lyricsListInMainContent')] |
10 | strip://div[contains(@class,'descIpNoti')] | 10 | strip://div[contains(@class,'descIpNoti')] |
11 | test_url: http://wheelyric.com/lyrics/121#2 \ No newline at end of file | 11 | test_url: http://wheelyric.com/lyrics/121#2 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wiki.guildwars.com.txt b/inc/3rdparty/site_config/standard/wiki.guildwars.com.txt index 1f262a0a..b80fe5d1 100644..100755 --- a/inc/3rdparty/site_config/standard/wiki.guildwars.com.txt +++ b/inc/3rdparty/site_config/standard/wiki.guildwars.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id='content'] | 2 | body: //div[@id='content'] |
3 | strip_id_or_class: editsection | 3 | strip_id_or_class: editsection |
4 | strip_id_or_class: toc | 4 | strip_id_or_class: toc |
5 | strip: //div[@id='siteNotice'] | 5 | strip: //div[@id='siteNotice'] |
6 | strip: //div[@id='content']//table[last()] | 6 | strip: //div[@id='content']//table[last()] |
7 | prune: no | 7 | prune: no |
8 | test_url: http://wiki.guildwars.com/wiki/Monk \ No newline at end of file | 8 | test_url: http://wiki.guildwars.com/wiki/Monk \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wiki.guildwars2.com.txt b/inc/3rdparty/site_config/standard/wiki.guildwars2.com.txt index e176907e..e9233998 100644..100755 --- a/inc/3rdparty/site_config/standard/wiki.guildwars2.com.txt +++ b/inc/3rdparty/site_config/standard/wiki.guildwars2.com.txt | |||
@@ -1,8 +1,8 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id='content'] | 2 | body: //div[@id='content'] |
3 | strip_id_or_class: editsection | 3 | strip_id_or_class: editsection |
4 | strip_id_or_class: toc | 4 | strip_id_or_class: toc |
5 | strip: //div[@id='siteNotice'] | 5 | strip: //div[@id='siteNotice'] |
6 | strip: //div[@id='content']//table[last()] | 6 | strip: //div[@id='content']//table[last()] |
7 | prune: no | 7 | prune: no |
8 | test_url: http://wiki.guildwars2.com/wiki/Guardian \ No newline at end of file | 8 | test_url: http://wiki.guildwars2.com/wiki/Guardian \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wikihow.com.txt b/inc/3rdparty/site_config/standard/wikihow.com.txt new file mode 100755 index 00000000..fe95d3f9 --- /dev/null +++ b/inc/3rdparty/site_config/standard/wikihow.com.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | # ...&printable=yes | ||
2 | body: //div[@id='bodycontents'] | ||
3 | prune: no | ||
4 | tidy: no | ||
5 | strip_id_or_class: gatEditSection | ||
6 | strip_id_or_class: relatedwikihows | ||
7 | #strip: //div[contains(@class, 'step_num')] | ||
8 | |||
9 | replace_string(<script ): <div style="display: none" | ||
10 | replace_string(</script>): </div> | ||
11 | |||
12 | single_page_link: //a[@id='gatPrintView'] | ||
13 | single_page_link: concat(//link[@rel='canonical']/@href, '?printable=yes') | ||
14 | |||
15 | test_url: http://www.wikihow.com/Start-Your-Own-Country \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/wikitravel.org.txt b/inc/3rdparty/site_config/standard/wikitravel.org.txt index da5bd0b5..1f32a372 100644..100755 --- a/inc/3rdparty/site_config/standard/wikitravel.org.txt +++ b/inc/3rdparty/site_config/standard/wikitravel.org.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | # copied from .wikipedia.org.txt | 1 | # copied from .wikipedia.org.txt |
2 | title: //h1[@id='firstHeading' or @class='firstHeading'] | 2 | title: //h1[@id='firstHeading' or @class='firstHeading'] |
3 | body: //div[@id = 'bodyContent'] | 3 | body: //div[@id = 'bodyContent'] |
4 | strip_id_or_class: editsection | 4 | strip_id_or_class: editsection |
5 | #strip_id_or_class: toc | 5 | #strip_id_or_class: toc |
6 | strip_id_or_class: vertical-navbox | 6 | strip_id_or_class: vertical-navbox |
7 | strip: //table[@id='toc'] | //div[@id='p-toc'] | 7 | strip: //table[@id='toc'] | //div[@id='p-toc'] |
8 | strip: //div[@id='catlinks' or @id='contentSub'] | 8 | strip: //div[@id='catlinks' or @id='contentSub'] |
9 | strip: //div[@id='jump-to-nav'] | 9 | strip: //div[@id='jump-to-nav'] |
10 | strip: //div[@class='thumbcaption']//div[@class='magnify'] | 10 | strip: //div[@class='thumbcaption']//div[@class='magnify'] |
11 | strip: //table[@class='navbox'] | 11 | strip: //table[@class='navbox'] |
12 | prune: no | 12 | prune: no |
13 | tidy: no | 13 | tidy: no |
14 | test_url: http://wikitravel.org/wiki/en/index.php?title=Bangkok&printable=yes \ No newline at end of file | 14 | test_url: http://wikitravel.org/wiki/en/index.php?title=Bangkok&printable=yes \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/will-self.com.txt b/inc/3rdparty/site_config/standard/will-self.com.txt index 24467c22..394f9ca4 100644..100755 --- a/inc/3rdparty/site_config/standard/will-self.com.txt +++ b/inc/3rdparty/site_config/standard/will-self.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | strip: //div[@class="widget-area"] | 1 | strip: //div[@class="widget-area"] |
2 | title: //*[@class="entry-title"] | 2 | title: //*[@class="entry-title"] |
3 | date: //time[@class="entry-date"] | 3 | date: //time[@class="entry-date"] |
4 | test_url: http://will-self.com/2012/02/01/real-meals-dominos-pizza/ \ No newline at end of file | 4 | test_url: http://will-self.com/2012/02/01/real-meals-dominos-pizza/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/williampfaff.com.txt b/inc/3rdparty/site_config/standard/williampfaff.com.txt index fb5f92ed..cefabec0 100644..100755 --- a/inc/3rdparty/site_config/standard/williampfaff.com.txt +++ b/inc/3rdparty/site_config/standard/williampfaff.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: substring-after(//span[@class='itemTitle'], ':') | 1 | title: substring-after(//span[@class='itemTitle'], ':') |
2 | body: //div[@id='content'] | 2 | body: //div[@id='content'] |
3 | test_url: http://www.williampfaff.com/modules/news/article.php?storyid=491 \ No newline at end of file | 3 | test_url: http://www.williampfaff.com/modules/news/article.php?storyid=491 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/winfuture.de.txt b/inc/3rdparty/site_config/standard/winfuture.de.txt index bc936370..dddc6f9e 100644..100755 --- a/inc/3rdparty/site_config/standard/winfuture.de.txt +++ b/inc/3rdparty/site_config/standard/winfuture.de.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | title: //h1/span | 1 | title: //h1/span |
2 | 2 | ||
3 | body: //div[@id="news_content"] | 3 | body: //div[@id="news_content"] |
4 | 4 | ||
5 | author: //div[@class="bookmarks_btm"]/p[1]/a[1]/text() | 5 | author: //div[@class="bookmarks_btm"]/p[1]/a[1]/text() |
6 | 6 | ||
7 | date: //span[@class='date'] | 7 | date: //span[@class='date'] |
8 | 8 | ||
9 | # Rubrikenbild entfernen | 9 | # Rubrikenbild entfernen |
10 | strip: //div[@id="news_content"]/a[1] | 10 | strip: //div[@id="news_content"]/a[1] |
11 | 11 | ||
12 | test_url: http://winfuture.de/news,69672.html \ No newline at end of file | 12 | test_url: http://winfuture.de/news,69672.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/winrumors.com.txt b/inc/3rdparty/site_config/standard/winrumors.com.txt index cedb4390..f25f9c9e 100644..100755 --- a/inc/3rdparty/site_config/standard/winrumors.com.txt +++ b/inc/3rdparty/site_config/standard/winrumors.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h1[@class='page-heading'] | 1 | title: //h1[@class='page-heading'] |
2 | author: //small/strong/a | 2 | author: //small/strong/a |
3 | #their date string is relative, so if you save the page 2 hours after it is posted it may say 'two hours ago, instead of providing a useful date/time' | 3 | #their date string is relative, so if you save the page 2 hours after it is posted it may say 'two hours ago, instead of providing a useful date/time' |
4 | date: substring-before(substring-after(//small,'on'),'with') | 4 | date: substring-before(substring-after(//small,'on'),'with') |
5 | body: //div[@class='entry'] | 5 | body: //div[@class='entry'] |
6 | test_url: http://www.winrumors.com/chinese-windows-phone-launch-still-on-track-for-early-2012/ \ No newline at end of file | 6 | test_url: http://www.winrumors.com/chinese-windows-phone-launch-still-on-track-for-early-2012/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/winsupersite.com.txt b/inc/3rdparty/site_config/standard/winsupersite.com.txt index db6a6fc9..f725b67a 100644..100755 --- a/inc/3rdparty/site_config/standard/winsupersite.com.txt +++ b/inc/3rdparty/site_config/standard/winsupersite.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | date: //*[@class='kicker'] | 1 | date: //*[@class='kicker'] |
2 | body: //*[@class='KonaBody'] | 2 | body: //*[@class='KonaBody'] |
3 | test_url: http://www.winsupersite.com/article/paul-thurrotts-wininfo/android-malware-surges-separate-studies-141364 \ No newline at end of file | 3 | test_url: http://www.winsupersite.com/article/paul-thurrotts-wininfo/android-malware-surges-separate-studies-141364 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wired.com.txt b/inc/3rdparty/site_config/standard/wired.com.txt index 69bbf5b7..f5a72d14 100644..100755 --- a/inc/3rdparty/site_config/standard/wired.com.txt +++ b/inc/3rdparty/site_config/standard/wired.com.txt | |||
@@ -1,22 +1,25 @@ | |||
1 | title: //meta[@property="og:title"]/@content | 1 | title: //meta[@name='Title']/@content |
2 | title: //h1 | 2 | author: //meta[@name='Author']/@content |
3 | title: //*[@class='posttitle'] | 3 | date: //meta[@name='DisplayDate']/@content |
4 | author: //*[@class='entryAuthor']/a[1] | 4 | body: //div[@class='entry'] |
5 | author://*[@class='member-title'] | 5 | strip: //p[contains(., 'Pages:') and contains(., 'View All')] |
6 | author://li[@class='author']/a[contains(@href, '/author/')] | 6 | strip: //p[@class='caption'] |
7 | date: substring-after(//div[@class='entryAuthor'], '·') | 7 | strip: //div[@class='desc' or @class='slide' or @id='slide-info'] |
8 | date: substring-before(//*[@class='entryDate'], '|') | 8 | |
9 | body: //div[@class='entry'] | 9 | strip_id_or_class: pullquote |
10 | strip: //span[contains(@class, 'nextprev')] | 10 | strip_id_or_class: left_rail |
11 | #strip_id_or_class: ngg-galleryoverview | 11 | strip_id_or_class: related-container |
12 | # ngg-galleryoverview is the whole content sometimes, e.g. http://www.wired.com/underwire/2011/12/best-mixtapes-of-2011/?pid=5736&viewall=true | 12 | strip_id_or_class: radvert-caption-wrap |
13 | 13 | ||
14 | strip: //p[span[contains(@class, 'contentjump')]] | 14 | # Remove gallery? |
15 | strip: //text()[contains(., 'nextpage')] | 15 | strip_id_or_class: wpgallery |
16 | 16 | ||
17 | prune: no | 17 | #strip: //text()[contains(., 'nextpage')] |
18 | 18 | ||
19 | single_page_link: //a[contains(@href, '/all/1') and contains(@class, 'contentjumpall')] | 19 | prune: no |
20 | 20 | ||
21 | test_url: http://www.wired.com/cloudline/2011/10/meet-arms-cortex-a15-the-future-of-the-ipad-and-possibly-the-macbook-air/ | 21 | single_page_link: //a[.='View All' and contains(@href, '/all/')] |
22 | test_url: http://www.wired.com/threatlevel/2012/05/ff_counterfeiter/all/1 \ No newline at end of file | 22 | |
23 | test_url: http://www.wired.com/cloudline/2011/10/meet-arms-cortex-a15-the-future-of-the-ipad-and-possibly-the-macbook-air/ | ||
24 | test_url: http://www.wired.com/wiredenterprise/2013/09/docker/ | ||
25 | test_url: http://www.wired.com/threatlevel/2012/05/ff_counterfeiter/all/ | ||
diff --git a/inc/3rdparty/site_config/standard/wmnf.org.txt b/inc/3rdparty/site_config/standard/wmnf.org.txt index ffb6b2d1..1d403a91 100644..100755 --- a/inc/3rdparty/site_config/standard/wmnf.org.txt +++ b/inc/3rdparty/site_config/standard/wmnf.org.txt | |||
@@ -1,13 +1,13 @@ | |||
1 | title: //div[@class="bodyText"]/h1/text() | 1 | title: //div[@class="bodyText"]/h1/text() |
2 | body: //div[@class="bodyText"] | 2 | body: //div[@class="bodyText"] |
3 | 3 | ||
4 | # author and date are separated by only a newline | 4 | # author and date are separated by only a newline |
5 | # can't figure out how to tokenize that yet | 5 | # can't figure out how to tokenize that yet |
6 | author: //div[@class="bodyText"]/span[@class="info"]/text() | 6 | author: //div[@class="bodyText"]/span[@class="info"]/text() |
7 | date: //div[@class="bodyText"]/span[@class="info"]/text() | 7 | date: //div[@class="bodyText"]/span[@class="info"]/text() |
8 | 8 | ||
9 | # strip metdata from body text | 9 | # strip metdata from body text |
10 | strip: //div[@class="bodyText"]/h1/text() | 10 | strip: //div[@class="bodyText"]/h1/text() |
11 | strip: //div[@class="bodyText"]/span[@class="info"] | 11 | strip: //div[@class="bodyText"]/span[@class="info"] |
12 | strip: //div[@class="bodyText"]/span[@class="info"] | 12 | strip: //div[@class="bodyText"]/span[@class="info"] |
13 | test_url: http://www.wmnf.org/news_stories/light-rail-advocates-join-forces-to-combat-opposition-in-pinellas \ No newline at end of file | 13 | test_url: http://www.wmnf.org/news_stories/light-rail-advocates-join-forces-to-combat-opposition-in-pinellas \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wmpoweruser.com.txt b/inc/3rdparty/site_config/standard/wmpoweruser.com.txt index d9011d24..70168fbe 100644..100755 --- a/inc/3rdparty/site_config/standard/wmpoweruser.com.txt +++ b/inc/3rdparty/site_config/standard/wmpoweruser.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | date://*[@class="entry-date"] | 1 | date://*[@class="entry-date"] |
2 | author://*[@class="author vcard"] | 2 | author://*[@class="author vcard"] |
3 | strip://*[@style="position:relative;left:72px;top:2px;"]|//*[@id="authorbox"] | 3 | strip://*[@style="position:relative;left:72px;top:2px;"]|//*[@id="authorbox"] |
4 | test_url: http://wmpoweruser.com/breaking-nokia-announces-nfc-support-in-lumia-610-windows-phone-device/ \ No newline at end of file | 4 | test_url: http://wmpoweruser.com/breaking-nokia-announces-nfc-support-in-lumia-610-windows-phone-device/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wordyard.com.txt b/inc/3rdparty/site_config/standard/wordyard.com.txt new file mode 100644 index 00000000..d8c753da --- /dev/null +++ b/inc/3rdparty/site_config/standard/wordyard.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | # Generated by FiveFilters.org's web-based selection tool | ||
2 | # Place this file inside your site_config/custom/ folder | ||
3 | # Source: http://siteconfig.fivefilters.org/grab.php?url=http%3A%2F%2Fwww.wordyard.com%2F2014%2F09%2F26%2Fremove-blindfold-before-embarking-to-utopia%2F | ||
4 | |||
5 | body: //div[contains(concat(' ',normalize-space(@class),' '),' entry-content ')] | ||
6 | strip_id_or_class: robots-nocontent | ||
7 | strip_id_or_class: post-revisions | ||
8 | test_url: http://www.wordyard.com/2014/09/26/remove-blindfold-before-embarking-to-utopia/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/worldpoultry.net.txt b/inc/3rdparty/site_config/standard/worldpoultry.net.txt index 0e42ca5e..b88f9279 100644..100755 --- a/inc/3rdparty/site_config/standard/worldpoultry.net.txt +++ b/inc/3rdparty/site_config/standard/worldpoultry.net.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title: //div[@class="content article"]/h1 | 1 | title: //div[@class="content article"]/h1 |
2 | date: substring-after(//*[@class='date'], '//') | 2 | date: substring-after(//*[@class='date'], '//') |
3 | body: //*[@class='article-content'] | 3 | body: //*[@class='article-content'] |
4 | strip: //*[@id='nomodal'] | 4 | strip: //*[@id='nomodal'] |
5 | test_url: http://www.worldpoultry.net/news/kyrgyzstan-restricts-poultry-imports-from-russia-and-kazakhstan-9332.html \ No newline at end of file | 5 | test_url: http://www.worldpoultry.net/news/kyrgyzstan-restricts-poultry-imports-from-russia-and-kazakhstan-9332.html \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/worldwidewords.org.txt b/inc/3rdparty/site_config/standard/worldwidewords.org.txt index 733d607f..4682e0d3 100644..100755 --- a/inc/3rdparty/site_config/standard/worldwidewords.org.txt +++ b/inc/3rdparty/site_config/standard/worldwidewords.org.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //p[@id='content'] | 1 | title: //p[@id='content'] |
2 | 2 | ||
3 | body: //div[@class='contentblock'] | 3 | body: //div[@class='contentblock'] |
4 | test_url: http://www.worldwidewords.org/weirdwords/ww-gro1.htm \ No newline at end of file | 4 | test_url: http://www.worldwidewords.org/weirdwords/ww-gro1.htm \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wow.joystiq.com.txt b/inc/3rdparty/site_config/standard/wow.joystiq.com.txt index 759fb81f..44add9c9 100644..100755 --- a/inc/3rdparty/site_config/standard/wow.joystiq.com.txt +++ b/inc/3rdparty/site_config/standard/wow.joystiq.com.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | title: //h2[@class="posttitle"] | 1 | title: //h2[@class="posttitle"] |
2 | body: //div[@class="post"] | 2 | body: //div[@class="post"] |
3 | strip: //h2[@class="posttitle"] | 3 | strip: //h2[@class="posttitle"] |
4 | strip: //p[@class="filed-under"] | 4 | strip: //p[@class="filed-under"] |
5 | convert_double_br_tags: yes | 5 | convert_double_br_tags: yes |
6 | test_url: http://wow.joystiq.com/2011/06/20/the-overachiever-guide-to-midsummer-festival-2011-achievements/ \ No newline at end of file | 6 | test_url: http://wow.joystiq.com/2011/06/20/the-overachiever-guide-to-midsummer-festival-2011-achievements/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wpmayor.com.txt b/inc/3rdparty/site_config/standard/wpmayor.com.txt new file mode 100755 index 00000000..bb4fffc7 --- /dev/null +++ b/inc/3rdparty/site_config/standard/wpmayor.com.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | body: //div[@id='nrelate_flyout_placeholder'] | ||
2 | |||
3 | strip_id_or_class: share | ||
4 | |||
5 | prune: no | ||
6 | |||
7 | test_url: http://www.wpmayor.com/themes/wordpress-portfolio-resume-themes/ | ||
8 | test_url: http://www.wpmayor.com/feed/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/wtatennis.com.txt b/inc/3rdparty/site_config/standard/wtatennis.com.txt new file mode 100755 index 00000000..1000ab26 --- /dev/null +++ b/inc/3rdparty/site_config/standard/wtatennis.com.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //h1[contains(@class, 'header-2')] | ||
2 | body: //article//*[contains(@class, 'teaserText') or contains(@class, 'lastUpdated') or contains(@class, 'image') or contains(@class, 'body')] | ||
3 | strip_id_or_class: articleIndex | ||
4 | prune: no | ||
5 | |||
6 | test_url: http://www.wtatennis.com/news/article/3190914 | ||
7 | test_url: http://www.wtatennis.com/news/article/3190244 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/www1.folha.uol.com.br.txt b/inc/3rdparty/site_config/standard/www1.folha.uol.com.br.txt index 0846be2c..97a5c19d 100644..100755 --- a/inc/3rdparty/site_config/standard/www1.folha.uol.com.br.txt +++ b/inc/3rdparty/site_config/standard/www1.folha.uol.com.br.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | body://div[@id='articleNew'] | 1 | body://div[@id='articleNew'] |
2 | strip://div[@id='articleBy'] | 2 | strip://div[@id='articleBy'] |
3 | strip://div[@id='articleDate'] | 3 | strip://div[@id='articleDate'] |
4 | strip://td[@class='articleGraphicCredit'] | 4 | strip://td[@class='articleGraphicCredit'] |
5 | strip://h1 | 5 | strip://h1 |
6 | strip://div[@id='articleEnd'] | 6 | strip://div[@id='articleEnd'] |
7 | strip://p[@class='tagline'] | 7 | strip://p[@class='tagline'] |
8 | strip://div[@class='openBox adslibraryArticle'] | 8 | strip://div[@class='openBox adslibraryArticle'] |
9 | strip_id_or_class:ad-180x150-1 | 9 | strip_id_or_class:ad-180x150-1 |
10 | 10 | ||
11 | 11 | ||
12 | title: //div[@id="articleNew"]/h1 | 12 | title: //div[@id="articleNew"]/h1 |
13 | author: //div[@id="articleBy"]/p/b | 13 | author: //div[@id="articleBy"]/p/b |
14 | date: substring-before(//div[@id="articleDate"], "-") | 14 | date: substring-before(//div[@id="articleDate"], "-") |
15 | test_url: http://www1.folha.uol.com.br/mundo/1115805-ex-ditador-argentino-videla-e-condenado-a-50-anos-de-prisao.shtml \ No newline at end of file | 15 | test_url: http://www1.folha.uol.com.br/mundo/1115805-ex-ditador-argentino-videla-e-condenado-a-50-anos-de-prisao.shtml \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/www3.imperial.ac.uk.txt b/inc/3rdparty/site_config/standard/www3.imperial.ac.uk.txt index 71306af2..71306af2 100644..100755 --- a/inc/3rdparty/site_config/standard/www3.imperial.ac.uk.txt +++ b/inc/3rdparty/site_config/standard/www3.imperial.ac.uk.txt | |||
diff --git a/inc/3rdparty/site_config/standard/wyborcza.pl.txt b/inc/3rdparty/site_config/standard/wyborcza.pl.txt index f99467c2..638583dc 100644..100755 --- a/inc/3rdparty/site_config/standard/wyborcza.pl.txt +++ b/inc/3rdparty/site_config/standard/wyborcza.pl.txt | |||
@@ -1,11 +1,9 @@ | |||
1 | title:h1 | 1 | body: //div[@id='article'] |
2 | author: //*[@class = 'author'] | 2 | strip: //div[@class='head'] |
3 | date: //*[@class = 'date'] | 3 | |
4 | body: //*[@id = 'art'] | 4 | strip_id_or_class: txt_upl |
5 | next_page_link: //*[@id='Str']/a[contains(text(), 'nastepne')] | 5 | |
6 | strip: //*[@class = 'rel_zdjTOP'] | 6 | single_page_link: //div[@id='gazeta_article_tools']//a[contains(@class, 'print')] |
7 | strip: //*[@id = 'rel'] | 7 | |
8 | strip: //*[@class = 'txt_upl'] | 8 | test_url: http://wyborcza.pl/1,123455,11536088,Gdy_peknie_fejs__obryzga_wszystko.html?as=1&startsz=x |
9 | strip: //*[@id='Str'] | 9 | test_url: http://wyborcza.pl/1,75478,14880255,Biskup_Dydycz_o_pedofilii_i_tajemnicy_spowiedzi__Zamiast.html \ No newline at end of file |
10 | strip: //*[@id='source'] | ||
11 | test_url: http://wyborcza.pl/1,123455,11536088,Gdy_peknie_fejs__obryzga_wszystko.html?as=1&startsz=x \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/wyctim.com.txt b/inc/3rdparty/site_config/standard/wyctim.com.txt index d8c8713b..bd7ecf2a 100644..100755 --- a/inc/3rdparty/site_config/standard/wyctim.com.txt +++ b/inc/3rdparty/site_config/standard/wyctim.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | body: //div[@class='article-body'] | 1 | body: //div[@class='article-body'] |
2 | title: //h1 | 2 | title: //h1 |
3 | test_url: http://wyctim.com/icloud-sync-regebbi-rendszereken/ \ No newline at end of file | 3 | test_url: http://wyctim.com/icloud-sync-regebbi-rendszereken/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/wz-newsline.de.txt b/inc/3rdparty/site_config/standard/wz-newsline.de.txt index fbc1d3d2..5b2be744 100644..100755 --- a/inc/3rdparty/site_config/standard/wz-newsline.de.txt +++ b/inc/3rdparty/site_config/standard/wz-newsline.de.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title://h1 | 1 | title://h1 |
2 | 2 | ||
3 | date://p[@class='articleDate'] | 3 | date://p[@class='articleDate'] |
4 | body://div[@class='articleBody wzStandardArticle'] | 4 | body://div[@class='articleBody wzStandardArticle'] |
5 | test_url: http://www.wz-newsline.de/home/sport/tennis/federer-zum-vierten-mal-sieger-in-indian-wells-1.938050 \ No newline at end of file | 5 | test_url: http://www.wz-newsline.de/home/sport/tennis/federer-zum-vierten-mal-sieger-in-indian-wells-1.938050 \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/xfgjls.com.txt b/inc/3rdparty/site_config/standard/xfgjls.com.txt new file mode 100755 index 00000000..2dc247a0 --- /dev/null +++ b/inc/3rdparty/site_config/standard/xfgjls.com.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://www.xfgjls.com/magazine/html/?131.html | ||
3 | # http://www.xfgjls.com/magazine/html/?170.html | ||
4 | |||
5 | body://h3/following-sibling::div | ||
6 | title: //h3 | ||
7 | date: substring-before(//h3/following-sibling::div/p, ' ') | ||
8 | author: substring-before(substring-after(//h3/following-sibling::div/p, '作者:'), 'æ¥æº') | ||
9 | wrap_in(strong)://span[contains(@style, "FONT-WEIGHT: bold")] | ||
10 | dissolve://span[@style="FONT-FAMILY: '宋体'; FONT-SIZE: 10.5pt; FONT-WEIGHT: bold; mso-spacerun: 'yes'"] | ||
11 | test_url: http://www.xfgjls.com/magazine/html/?170.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/xoeb.us.txt b/inc/3rdparty/site_config/standard/xoeb.us.txt index e02960e0..c09fa4df 100644..100755 --- a/inc/3rdparty/site_config/standard/xoeb.us.txt +++ b/inc/3rdparty/site_config/standard/xoeb.us.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | title: //h1[@class="entry-title"] | 1 | title: //h1[@class="entry-title"] |
2 | author: //span[@class="fn"] | 2 | author: //span[@class="fn"] |
3 | date: //p[@class="meta"] | 3 | date: //p[@class="meta"] |
4 | test_url: http://xoeb.us/blog/2012/03/16/my-mistakes-with-our-first-release/ \ No newline at end of file | 4 | test_url: http://xoeb.us/blog/2012/03/16/my-mistakes-with-our-first-release/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/yated.com.txt b/inc/3rdparty/site_config/standard/yated.com.txt index 13a3ea64..13a3ea64 100644..100755 --- a/inc/3rdparty/site_config/standard/yated.com.txt +++ b/inc/3rdparty/site_config/standard/yated.com.txt | |||
diff --git a/inc/3rdparty/site_config/standard/ynet.co.il.txt b/inc/3rdparty/site_config/standard/ynet.co.il.txt new file mode 100755 index 00000000..aa86566a --- /dev/null +++ b/inc/3rdparty/site_config/standard/ynet.co.il.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | body: //span[@id='article_content' or @class='text16g'] | ||
2 | |||
3 | # ads | ||
4 | strip: //div[.//div[contains(@id, 'ads.')]] | ||
5 | # related content heading | ||
6 | strip: //p[contains(., 'עוד בערוץ החדשות של ynet:')] | ||
7 | strip: //p[contains(., 'כותרות ××—×¨×•× ×•×ª ×ž×”×¢×•×œ× ×‘×—×“×©×•×ª ynet:')] | ||
8 | strip: //div[contains(., '××™× ×¦×™×§×œ×•×¤×“×™×™×ª ynet:')] | ||
9 | # related content links | ||
10 | strip: //a[@class='bluelink'] | ||
11 | # strip image bullets | ||
12 | strip_image_src: ynet_manual_bullet.png | ||
13 | |||
14 | prune: no | ||
15 | tidy: no | ||
16 | |||
17 | # prevent JS issues | ||
18 | find_string: <script type='text/javascript'> | ||
19 | replace_string: <div style="display:none;"> | ||
20 | find_string: </script> | ||
21 | replace_string: </div> | ||
22 | |||
23 | test_url: http://www.ynet.co.il/articles/0,7340,L-4354266,00.html | ||
24 | test_url: http://www.ynet.co.il/articles/0,7340,L-4354268,00.html | ||
25 | #feed | ||
26 | test_url: http://www.ynet.co.il/Integration/StoryRss2.xml \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/yostivanich.com.txt b/inc/3rdparty/site_config/standard/yostivanich.com.txt index 9e24db3c..2aeb7e05 100644..100755 --- a/inc/3rdparty/site_config/standard/yostivanich.com.txt +++ b/inc/3rdparty/site_config/standard/yostivanich.com.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | title://div[@class='entry-title'] | 1 | title://div[@class='entry-title'] |
2 | body://div[@class='entry-content'] | 2 | body://div[@class='entry-content'] |
3 | strip_comments:yes | 3 | strip_comments:yes |
4 | convert_double_br_tags:yes | 4 | convert_double_br_tags:yes |
5 | test_url: http://www.yostivanich.com/2010/07/11/wired-com-with-world-watching-wikileaks-falls-into-disrepair/ \ No newline at end of file | 5 | test_url: http://www.yostivanich.com/2010/07/11/wired-com-with-world-watching-wikileaks-falls-into-disrepair/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/yourerie.com.txt b/inc/3rdparty/site_config/standard/yourerie.com.txt new file mode 100755 index 00000000..b46b09e8 --- /dev/null +++ b/inc/3rdparty/site_config/standard/yourerie.com.txt | |||
@@ -0,0 +1,2 @@ | |||
1 | body: //div[@class="nxFullTextData"] | ||
2 | test_url: http://yourerie.com/fulltext?nxd_id=306552 | ||
diff --git a/inc/3rdparty/site_config/standard/youtube.com.txt b/inc/3rdparty/site_config/standard/youtube.com.txt index d52b7356..b0d95f1f 100644..100755 --- a/inc/3rdparty/site_config/standard/youtube.com.txt +++ b/inc/3rdparty/site_config/standard/youtube.com.txt | |||
@@ -1,15 +1,15 @@ | |||
1 | title: //title | 1 | title: //title |
2 | body: //iframe | 2 | body: //iframe |
3 | 3 | ||
4 | find_string: <html><iframe | 4 | find_string: <html><iframe |
5 | replace_string: <iframe id="video" | 5 | replace_string: <iframe id="video" |
6 | 6 | ||
7 | find_string: ></iframe></html> | 7 | find_string: ></iframe></html> |
8 | replace_string: ></iframe> | 8 | replace_string: ></iframe> |
9 | 9 | ||
10 | single_page_link: //link[@type='text/xml+oembed'] | 10 | single_page_link: //link[@type='text/xml+oembed'] |
11 | 11 | ||
12 | prune: no | 12 | prune: no |
13 | tidy: no | 13 | tidy: no |
14 | 14 | ||
15 | test_url: http://www.youtube.com/watch?v=F6gLH0r3iVU \ No newline at end of file | 15 | test_url: http://www.youtube.com/watch?v=F6gLH0r3iVU \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/zcommunications.org.txt b/inc/3rdparty/site_config/standard/zcommunications.org.txt new file mode 100755 index 00000000..4deb49bf --- /dev/null +++ b/inc/3rdparty/site_config/standard/zcommunications.org.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //h1[@id='view_title'] | ||
2 | author: //div[contains(@class, 'content_authors')]//a | ||
3 | body: //div[@id='view_body'] | ||
4 | |||
5 | prune: no | ||
6 | |||
7 | test_url: http://www.zcommunications.org/orwellian-language-update-by-edward-s-herman.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/zdnet.com.txt b/inc/3rdparty/site_config/standard/zdnet.com.txt index b244b229..939fb0e3 100644..100755 --- a/inc/3rdparty/site_config/standard/zdnet.com.txt +++ b/inc/3rdparty/site_config/standard/zdnet.com.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | title: //h1[@class="h s-1"] | 1 | title: //h1[@class="h s-1"] |
2 | author: substring-before(substring-after(//p[@class="meta s-10"], 'By'), '|') | 2 | author: substring-before(substring-after(//p[@class="meta s-10"], 'By'), '|') |
3 | author: substring-after(//div[@class="bio"]//h3, 'About ') | 3 | author: substring-after(//div[@class="bio"]//h3, 'About ') |
4 | date: substring-after(//p[@class="meta s-10"], '|') | 4 | date: substring-after(//p[@class="meta s-10"], '|') |
5 | date: substring-after(//p[@class="meta"], '|') | 5 | date: substring-after(//p[@class="meta"], '|') |
6 | body: //div[@class="content-1 entry space-1 clear"] | 6 | body: //div[@class="content-1 entry space-1 clear"] |
7 | body: //div[@class="storyBody"] | 7 | body: //div[@class="storyBody"] |
8 | 8 | ||
9 | test_url: http://www.zdnet.com/blog/microsoft/the-bing-back-end-more-on-cosmos-tiger-and-scope/10920 | 9 | test_url: http://www.zdnet.com/blog/microsoft/the-bing-back-end-more-on-cosmos-tiger-and-scope/10920 |
10 | test_url: http://www.zdnet.com/researchers-find-web-tracking-up-privacy-down-7000000358/ \ No newline at end of file | 10 | test_url: http://www.zdnet.com/researchers-find-web-tracking-up-privacy-down-7000000358/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/zeit.de.txt b/inc/3rdparty/site_config/standard/zeit.de.txt index 66a7f1ac..9815d478 100644..100755 --- a/inc/3rdparty/site_config/standard/zeit.de.txt +++ b/inc/3rdparty/site_config/standard/zeit.de.txt | |||
@@ -1,44 +1,45 @@ | |||
1 | # 2012-12-23 [carlo@...] fixed half-assed headlines in articles, removed inline author profiles, adjusted picture captions | 1 | # 2013.10.30 [rezor92] fixed single_page_link |
2 | # 2012-03-17 [dkless@...] Cut metadata parts in the beginning and the ends of the content block; copyright entries for pictures removed; Author fixed, not sure if old entries still valid (I left them); Weird problems with some pages addressed (see last section for removing hidden section) | 2 | # 2012-12-23 [carlo@...] fixed half-assed headlines in articles, removed inline author profiles, adjusted picture captions |
3 | # 2011-12-09 [carlo@...] Removed "related articles" block | 3 | # 2012-03-17 [dkless@...] Cut metadata parts in the beginning and the ends of the content block; copyright entries for pictures removed; Author fixed, not sure if old entries still valid (I left them); Weird problems with some pages addressed (see last section for removing hidden section) |
4 | # 2011-08-23 [carlo@...] changed single page link to use print version: page works better, less ambiguity. Related cleanups and simplifications. | 4 | # 2011-12-09 [carlo@...] Removed "related articles" block |
5 | # 2011-08-20 [carlo@...] added author, fixed date | 5 | # 2011-08-23 [carlo@...] changed single page link to use print version: page works better, less ambiguity. Related cleanups and simplifications. |
6 | 6 | # 2011-08-20 [carlo@...] added author, fixed date | |
7 | 7 | ||
8 | single_page_link: //a[@title='Druckversion'] | 8 | |
9 | tidy: no | 9 | single_page_link: //a[@title='Auf einer Seite'] |
10 | 10 | tidy: no | |
11 | title: //title | 11 | |
12 | date: substring-before( //li[@class="date"], " " ) | 12 | title: //title |
13 | author: //li[@class="author"]/a/text() | //li[@class="author first"]/a/text() | 13 | date: substring-before( //li[@class="date"], " " ) |
14 | author: substring-after(//li[@class='source first '], 'Quelle: ') | 14 | author: //li[@class="author"]/a/text() | //li[@class="author first"]/a/text() |
15 | 15 | author: substring-after(//li[@class='source first '], 'Quelle: ') | |
16 | strip_id_or_class: articleheader | 16 | |
17 | strip: //div[@id="comments"] | //div[@class="pagination block"] | //p[@class="ressortbacklink"] | //div[@id="relatedArticles"] | // div[@class="inline portrait"] | 17 | strip_id_or_class: articleheader |
18 | 18 | strip: //div[@id="comments"] | //div[@class="pagination block"] | //p[@class="ressortbacklink"] | //div[@id="relatedArticles"] | // div[@class="inline portrait"] | |
19 | #Removes author and date from the start | 19 | |
20 | strip: //ul[@class="tools"] | 20 | #Removes author and date from the start |
21 | #Removes copyright statement - often disturb as first line of the news | 21 | strip: //ul[@class="tools"] |
22 | strip: //p[@class="copyright"] | 22 | #Removes copyright statement - often disturb as first line of the news |
23 | strip: //div[@class="copyright"] | 23 | strip: //p[@class="copyright"] |
24 | #Removes pagination links at the end | 24 | strip: //div[@class="copyright"] |
25 | strip: //div[@class="pagination"] | 25 | #Removes pagination links at the end |
26 | 26 | strip: //div[@class="pagination"] | |
27 | # Fix picture captions | 27 | |
28 | wrap_in(small): //p[@class="caption"]/text() | 28 | # Fix picture captions |
29 | 29 | wrap_in(small): //p[@class="caption"]/text() | |
30 | # Fix sub-headlines | 30 | |
31 | wrap_in(h2): //p/strong | 31 | # Fix sub-headlines |
32 | dissolve: //h2/strong | 32 | wrap_in(h2): //p/strong |
33 | 33 | dissolve: //h2/strong | |
34 | #Sometimes things are embedded in the print version that are not displayed on the web, but will be displayed in the mobilized versions and lead even to problems. These sections are removed here. | 34 | |
35 | strip_id_or_class:"informatives" | 35 | #Sometimes things are embedded in the print version that are not displayed on the web, but will be displayed in the mobilized versions and lead even to problems. These sections are removed here. |
36 | strip_id_or_class:"bottom" | 36 | strip_id_or_class:"informatives" |
37 | strip_id_or_class:"teasermosaic" | 37 | strip_id_or_class:"bottom" |
38 | strip_id_or_class:"comments" | 38 | strip_id_or_class:"teasermosaic" |
39 | strip_id_or_class:"articlefooter af" | 39 | strip_id_or_class:"comments" |
40 | strip_id_or_class:"relateds" | 40 | strip_id_or_class:"articlefooter af" |
41 | strip_id_or_class:"pagination" | 41 | strip_id_or_class:"relateds" |
42 | 42 | strip_id_or_class:"pagination" | |
43 | footnotes: no | 43 | |
44 | test_url: http://www.zeit.de/kultur/film/2012-12/Kurzfilmtag \ No newline at end of file | 44 | footnotes: no |
45 | test_url: http://www.zeit.de/kultur/film/2012-12/Kurzfilmtag | ||
diff --git a/inc/3rdparty/site_config/standard/zerohedge.com.txt b/inc/3rdparty/site_config/standard/zerohedge.com.txt new file mode 100755 index 00000000..7e76aee5 --- /dev/null +++ b/inc/3rdparty/site_config/standard/zerohedge.com.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | author: //span[@class='submitted']/a | ||
2 | strip: //div[@class='clear-block clr'] | ||
3 | strip: //div[@class='picture'] | ||
4 | strip: //span[@class='submitted'] | ||
5 | strip: //div[@class='breadcrumb'] | ||
6 | strip: //div[@class='fivestar-static-form-item'] | ||
7 | strip: //div[@class='js-links'] | ||
8 | strip: //div[@class='links clear-block clear'] | ||
9 | strip: //div[@class='block block-block'] | ||
10 | test_url: http://www.zerohedge.com/news/bernankes-columbus-voyage-end-monetary-policy-world \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/zerokspot.com.txt b/inc/3rdparty/site_config/standard/zerokspot.com.txt index ea9132aa..afa964db 100644..100755 --- a/inc/3rdparty/site_config/standard/zerokspot.com.txt +++ b/inc/3rdparty/site_config/standard/zerokspot.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: //h1 | 1 | title: //h1 |
2 | body: //div[@id="primarycontent"] | 2 | body: //div[@id="primarycontent"] |
3 | test_url: http://zerokspot.com/weblog/2011/06/26/europython2011/ \ No newline at end of file | 3 | test_url: http://zerokspot.com/weblog/2011/06/26/europython2011/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/zhihu.com.txt b/inc/3rdparty/site_config/standard/zhihu.com.txt new file mode 100755 index 00000000..3c9d8c1a --- /dev/null +++ b/inc/3rdparty/site_config/standard/zhihu.com.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | # This filter is tested on: | ||
2 | # http://www.zhihu.com/question/19587406 | ||
3 | # http://www.zhihu.com/question/20649035 | ||
4 | # http://www.zhihu.com/question/20637942 | ||
5 | |||
6 | author: //h3[@class='zm-item-answer-author-wrap'] | ||
7 | title://h2[@class='zm-item-title'] | ||
8 | date://a[@class='answer-date-link meta-item'] | ||
9 | convert_double_br_tags: yes | ||
10 | |||
11 | wrap_in(blockquote)://div[@class='zm-editable-content'] | ||
12 | wrap_in(blockquote)://sup/text() | ||
13 | dissolve://sup | ||
14 | |||
15 | strip://div[@class='zh-answers-title'] | ||
16 | strip:///div[@class='zm-item-vote-info '] | ||
17 | strip://div[@class='zm-item-answer-author-info'] | ||
18 | strip://div[@class='zu-blue-info-board zg-r3px'] | ||
19 | test_url: http://www.zhihu.com/question/20637942 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/zingtrain.com.txt b/inc/3rdparty/site_config/standard/zingtrain.com.txt index 2a2f58a8..188d4dd6 100644..100755 --- a/inc/3rdparty/site_config/standard/zingtrain.com.txt +++ b/inc/3rdparty/site_config/standard/zingtrain.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | title: substring-after(id, 'post')/h2 | 1 | title: substring-after(id, 'post')/h2 |
2 | body://div[@class = 'entry'] | 2 | body://div[@class = 'entry'] |
3 | test_url: http://www.zingtrain.com/category/ontrack/january-2007/ \ No newline at end of file | 3 | test_url: http://www.zingtrain.com/category/ontrack/january-2007/ \ No newline at end of file |
diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index 11cccb72..b5dd2120 100755 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php | |||
@@ -5,23 +5,28 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | class Database { | 11 | class Database { |
12 | |||
12 | var $handle; | 13 | var $handle; |
13 | private $order = array( | 14 | private $order = array ( |
14 | 'ia' => 'ORDER BY entries.id', | 15 | 'ia' => 'ORDER BY entries.id', |
15 | 'id' => 'ORDER BY entries.id DESC', | 16 | 'id' => 'ORDER BY entries.id DESC', |
16 | 'ta' => 'ORDER BY lower(entries.title)', | 17 | 'ta' => 'ORDER BY lower(entries.title)', |
17 | 'td' => 'ORDER BY lower(entries.title) DESC', | 18 | 'td' => 'ORDER BY lower(entries.title) DESC', |
18 | 'default' => 'ORDER BY entries.id' | 19 | 'default' => 'ORDER BY entries.id' |
19 | ); | 20 | ); |
20 | 21 | ||
21 | function __construct() | 22 | function __construct() |
22 | { | 23 | { |
23 | switch (STORAGE) { | 24 | switch (STORAGE) { |
24 | case 'sqlite': | 25 | case 'sqlite': |
26 | // Check if /db is writeable | ||
27 | if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) { | ||
28 | die('An error occured: "db" directory must be writeable for your web server user!'); | ||
29 | } | ||
25 | $db_path = 'sqlite:' . STORAGE_SQLITE; | 30 | $db_path = 'sqlite:' . STORAGE_SQLITE; |
26 | $this->handle = new PDO($db_path); | 31 | $this->handle = new PDO($db_path); |
27 | break; | 32 | break; |
@@ -38,28 +43,17 @@ class Database { | |||
38 | } | 43 | } |
39 | 44 | ||
40 | $this->handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | 45 | $this->handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
46 | $this->_checkTags(); | ||
41 | Tools::logm('storage type ' . STORAGE); | 47 | Tools::logm('storage type ' . STORAGE); |
42 | } | 48 | } |
43 | 49 | ||
44 | private function getHandle() { | 50 | private function getHandle() |
51 | { | ||
45 | return $this->handle; | 52 | return $this->handle; |
46 | } | 53 | } |
47 | 54 | ||
48 | public function isInstalled() { | 55 | private function _checkTags() |
49 | $sql = "SELECT username FROM users"; | 56 | { |
50 | $query = $this->executeQuery($sql, array()); | ||
51 | if ($query == false) { | ||
52 | die(STORAGE . ' database looks empty. You have to create it (you can find database structure in install folder).'); | ||
53 | } | ||
54 | $hasAdmin = count($query->fetchAll()); | ||
55 | |||
56 | if ($hasAdmin == 0) | ||
57 | return false; | ||
58 | |||
59 | return true; | ||
60 | } | ||
61 | |||
62 | public function checkTags() { | ||
63 | 57 | ||
64 | if (STORAGE == 'sqlite') { | 58 | if (STORAGE == 'sqlite') { |
65 | $sql = ' | 59 | $sql = ' |
@@ -123,9 +117,10 @@ class Database { | |||
123 | $query = $this->executeQuery($sql, array()); | 117 | $query = $this->executeQuery($sql, array()); |
124 | } | 118 | } |
125 | 119 | ||
126 | public function install($login, $password) { | 120 | public function install($login, $password, $email = '') |
121 | { | ||
127 | $sql = 'INSERT INTO users ( username, password, name, email) VALUES (?, ?, ?, ?)'; | 122 | $sql = 'INSERT INTO users ( username, password, name, email) VALUES (?, ?, ?, ?)'; |
128 | $params = array($login, $password, $login, ' '); | 123 | $params = array($login, $password, $login, $email); |
129 | $query = $this->executeQuery($sql, $params); | 124 | $query = $this->executeQuery($sql, $params); |
130 | 125 | ||
131 | $sequence = ''; | 126 | $sequence = ''; |
@@ -150,7 +145,8 @@ class Database { | |||
150 | return TRUE; | 145 | return TRUE; |
151 | } | 146 | } |
152 | 147 | ||
153 | public function getConfigUser($id) { | 148 | public function getConfigUser($id) |
149 | { | ||
154 | $sql = "SELECT * FROM users_config WHERE user_id = ?"; | 150 | $sql = "SELECT * FROM users_config WHERE user_id = ?"; |
155 | $query = $this->executeQuery($sql, array($id)); | 151 | $query = $this->executeQuery($sql, array($id)); |
156 | $result = $query->fetchAll(); | 152 | $result = $query->fetchAll(); |
@@ -163,7 +159,8 @@ class Database { | |||
163 | return $user_config; | 159 | return $user_config; |
164 | } | 160 | } |
165 | 161 | ||
166 | public function userExists($username) { | 162 | public function userExists($username) |
163 | { | ||
167 | $sql = "SELECT * FROM users WHERE username=?"; | 164 | $sql = "SELECT * FROM users WHERE username=?"; |
168 | $query = $this->executeQuery($sql, array($username)); | 165 | $query = $this->executeQuery($sql, array($username)); |
169 | $login = $query->fetchAll(); | 166 | $login = $query->fetchAll(); |
@@ -174,13 +171,14 @@ class Database { | |||
174 | } | 171 | } |
175 | } | 172 | } |
176 | 173 | ||
177 | public function login($username, $password, $isauthenticated=false) { | 174 | public function login($username, $password, $isauthenticated = FALSE) |
175 | { | ||
178 | if ($isauthenticated) { | 176 | if ($isauthenticated) { |
179 | $sql = "SELECT * FROM users WHERE username=?"; | 177 | $sql = "SELECT * FROM users WHERE username=?"; |
180 | $query = $this->executeQuery($sql, array($username)); | 178 | $query = $this->executeQuery($sql, array($username)); |
181 | } else { | 179 | } else { |
182 | $sql = "SELECT * FROM users WHERE username=? AND password=?"; | 180 | $sql = "SELECT * FROM users WHERE username=? AND password=?"; |
183 | $query = $this->executeQuery($sql, array($username, $password)); | 181 | $query = $this->executeQuery($sql, array($username, $password)); |
184 | } | 182 | } |
185 | $login = $query->fetchAll(); | 183 | $login = $query->fetchAll(); |
186 | 184 | ||
@@ -204,7 +202,8 @@ class Database { | |||
204 | $query = $this->executeQuery($sql_update, $params_update); | 202 | $query = $this->executeQuery($sql_update, $params_update); |
205 | } | 203 | } |
206 | 204 | ||
207 | public function updateUserConfig($userId, $key, $value) { | 205 | public function updateUserConfig($userId, $key, $value) |
206 | { | ||
208 | $config = $this->getConfigUser($userId); | 207 | $config = $this->getConfigUser($userId); |
209 | 208 | ||
210 | if (! isset($config[$key])) { | 209 | if (! isset($config[$key])) { |
@@ -218,7 +217,8 @@ class Database { | |||
218 | $query = $this->executeQuery($sql, $params); | 217 | $query = $this->executeQuery($sql, $params); |
219 | } | 218 | } |
220 | 219 | ||
221 | private function executeQuery($sql, $params) { | 220 | private function executeQuery($sql, $params) |
221 | { | ||
222 | try | 222 | try |
223 | { | 223 | { |
224 | $query = $this->getHandle()->prepare($sql); | 224 | $query = $this->getHandle()->prepare($sql); |
@@ -232,28 +232,32 @@ class Database { | |||
232 | } | 232 | } |
233 | } | 233 | } |
234 | 234 | ||
235 | public function listUsers($username=null) { | 235 | public function listUsers($username = NULL) |
236 | { | ||
236 | $sql = 'SELECT count(*) FROM users'.( $username ? ' WHERE username=?' : ''); | 237 | $sql = 'SELECT count(*) FROM users'.( $username ? ' WHERE username=?' : ''); |
237 | $query = $this->executeQuery($sql, ( $username ? array($username) : array())); | 238 | $query = $this->executeQuery($sql, ( $username ? array($username) : array())); |
238 | list($count) = $query->fetch(); | 239 | list($count) = $query->fetch(); |
239 | return $count; | 240 | return $count; |
240 | } | 241 | } |
241 | 242 | ||
242 | public function getUserPassword($userID) { | 243 | public function getUserPassword($userID) |
244 | { | ||
243 | $sql = "SELECT * FROM users WHERE id=?"; | 245 | $sql = "SELECT * FROM users WHERE id=?"; |
244 | $query = $this->executeQuery($sql, array($userID)); | 246 | $query = $this->executeQuery($sql, array($userID)); |
245 | $password = $query->fetchAll(); | 247 | $password = $query->fetchAll(); |
246 | return isset($password[0]['password']) ? $password[0]['password'] : null; | 248 | return isset($password[0]['password']) ? $password[0]['password'] : null; |
247 | } | 249 | } |
248 | 250 | ||
249 | public function deleteUserConfig($userID) { | 251 | public function deleteUserConfig($userID) |
252 | { | ||
250 | $sql_action = 'DELETE from users_config WHERE user_id=?'; | 253 | $sql_action = 'DELETE from users_config WHERE user_id=?'; |
251 | $params_action = array($userID); | 254 | $params_action = array($userID); |
252 | $query = $this->executeQuery($sql_action, $params_action); | 255 | $query = $this->executeQuery($sql_action, $params_action); |
253 | return $query; | 256 | return $query; |
254 | } | 257 | } |
255 | 258 | ||
256 | public function deleteTagsEntriesAndEntries($userID) { | 259 | public function deleteTagsEntriesAndEntries($userID) |
260 | { | ||
257 | $entries = $this->retrieveAll($userID); | 261 | $entries = $this->retrieveAll($userID); |
258 | foreach($entries as $entryid) { | 262 | foreach($entries as $entryid) { |
259 | $tags = $this->retrieveTagsByEntry($entryid); | 263 | $tags = $this->retrieveTagsByEntry($entryid); |
@@ -264,20 +268,23 @@ class Database { | |||
264 | } | 268 | } |
265 | } | 269 | } |
266 | 270 | ||
267 | public function deleteUser($userID) { | 271 | public function deleteUser($userID) |
272 | { | ||
268 | $sql_action = 'DELETE from users WHERE id=?'; | 273 | $sql_action = 'DELETE from users WHERE id=?'; |
269 | $params_action = array($userID); | 274 | $params_action = array($userID); |
270 | $query = $this->executeQuery($sql_action, $params_action); | 275 | $query = $this->executeQuery($sql_action, $params_action); |
271 | } | 276 | } |
272 | 277 | ||
273 | public function updateContentAndTitle($id, $title, $body, $user_id) { | 278 | public function updateContentAndTitle($id, $title, $body, $user_id) |
279 | { | ||
274 | $sql_action = 'UPDATE entries SET content = ?, title = ? WHERE id=? AND user_id=?'; | 280 | $sql_action = 'UPDATE entries SET content = ?, title = ? WHERE id=? AND user_id=?'; |
275 | $params_action = array($body, $title, $id, $user_id); | 281 | $params_action = array($body, $title, $id, $user_id); |
276 | $query = $this->executeQuery($sql_action, $params_action); | 282 | $query = $this->executeQuery($sql_action, $params_action); |
277 | return $query; | 283 | return $query; |
278 | } | 284 | } |
279 | 285 | ||
280 | public function retrieveUnfetchedEntries($user_id, $limit) { | 286 | public function retrieveUnfetchedEntries($user_id, $limit) |
287 | { | ||
281 | 288 | ||
282 | $sql_limit = "LIMIT 0,".$limit; | 289 | $sql_limit = "LIMIT 0,".$limit; |
283 | if (STORAGE == 'postgres') { | 290 | if (STORAGE == 'postgres') { |
@@ -291,7 +298,8 @@ class Database { | |||
291 | return $entries; | 298 | return $entries; |
292 | } | 299 | } |
293 | 300 | ||
294 | public function retrieveUnfetchedEntriesCount($user_id) { | 301 | public function retrieveUnfetchedEntriesCount($user_id) |
302 | { | ||
295 | $sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=?"; | 303 | $sql = "SELECT count(*) FROM entries WHERE (content = '' OR content IS NULL) AND title LIKE 'Untitled - Import%' AND user_id=?"; |
296 | $query = $this->executeQuery($sql, array($user_id)); | 304 | $query = $this->executeQuery($sql, array($user_id)); |
297 | list($count) = $query->fetch(); | 305 | list($count) = $query->fetch(); |
@@ -299,7 +307,8 @@ class Database { | |||
299 | return $count; | 307 | return $count; |
300 | } | 308 | } |
301 | 309 | ||
302 | public function retrieveAll($user_id) { | 310 | public function retrieveAll($user_id) |
311 | { | ||
303 | $sql = "SELECT * FROM entries WHERE user_id=? ORDER BY id"; | 312 | $sql = "SELECT * FROM entries WHERE user_id=? ORDER BY id"; |
304 | $query = $this->executeQuery($sql, array($user_id)); | 313 | $query = $this->executeQuery($sql, array($user_id)); |
305 | $entries = $query->fetchAll(); | 314 | $entries = $query->fetchAll(); |
@@ -307,7 +316,8 @@ class Database { | |||
307 | return $entries; | 316 | return $entries; |
308 | } | 317 | } |
309 | 318 | ||
310 | public function retrieveOneById($id, $user_id) { | 319 | public function retrieveOneById($id, $user_id) |
320 | { | ||
311 | $entry = NULL; | 321 | $entry = NULL; |
312 | $sql = "SELECT * FROM entries WHERE id=? AND user_id=?"; | 322 | $sql = "SELECT * FROM entries WHERE id=? AND user_id=?"; |
313 | $params = array(intval($id), $user_id); | 323 | $params = array(intval($id), $user_id); |
@@ -317,7 +327,8 @@ class Database { | |||
317 | return isset($entry[0]) ? $entry[0] : null; | 327 | return isset($entry[0]) ? $entry[0] : null; |
318 | } | 328 | } |
319 | 329 | ||
320 | public function retrieveOneByURL($url, $user_id) { | 330 | public function retrieveOneByURL($url, $user_id) |
331 | { | ||
321 | $entry = NULL; | 332 | $entry = NULL; |
322 | $sql = "SELECT * FROM entries WHERE url=? AND user_id=?"; | 333 | $sql = "SELECT * FROM entries WHERE url=? AND user_id=?"; |
323 | $params = array($url, $user_id); | 334 | $params = array($url, $user_id); |
@@ -327,13 +338,15 @@ class Database { | |||
327 | return isset($entry[0]) ? $entry[0] : null; | 338 | return isset($entry[0]) ? $entry[0] : null; |
328 | } | 339 | } |
329 | 340 | ||
330 | public function reassignTags($old_entry_id, $new_entry_id) { | 341 | public function reassignTags($old_entry_id, $new_entry_id) |
342 | { | ||
331 | $sql = "UPDATE tags_entries SET entry_id=? WHERE entry_id=?"; | 343 | $sql = "UPDATE tags_entries SET entry_id=? WHERE entry_id=?"; |
332 | $params = array($new_entry_id, $old_entry_id); | 344 | $params = array($new_entry_id, $old_entry_id); |
333 | $query = $this->executeQuery($sql, $params); | 345 | $query = $this->executeQuery($sql, $params); |
334 | } | 346 | } |
335 | 347 | ||
336 | public function getEntriesByView($view, $user_id, $limit = '', $tag_id = 0) { | 348 | public function getEntriesByView($view, $user_id, $limit = '', $tag_id = 0) |
349 | { | ||
337 | switch ($view) { | 350 | switch ($view) { |
338 | case 'archive': | 351 | case 'archive': |
339 | $sql = "SELECT * FROM entries WHERE user_id=? AND is_read=? "; | 352 | $sql = "SELECT * FROM entries WHERE user_id=? AND is_read=? "; |
@@ -361,9 +374,10 @@ class Database { | |||
361 | $entries = $query->fetchAll(); | 374 | $entries = $query->fetchAll(); |
362 | 375 | ||
363 | return $entries; | 376 | return $entries; |
364 | } | 377 | } |
365 | 378 | ||
366 | public function getEntriesByViewCount($view, $user_id, $tag_id = 0) { | 379 | public function getEntriesByViewCount($view, $user_id, $tag_id = 0) |
380 | { | ||
367 | switch ($view) { | 381 | switch ($view) { |
368 | case 'archive': | 382 | case 'archive': |
369 | $sql = "SELECT count(*) FROM entries WHERE user_id=? AND is_read=? "; | 383 | $sql = "SELECT count(*) FROM entries WHERE user_id=? AND is_read=? "; |
@@ -391,7 +405,8 @@ class Database { | |||
391 | return $count; | 405 | return $count; |
392 | } | 406 | } |
393 | 407 | ||
394 | public function updateContent($id, $content, $user_id) { | 408 | public function updateContent($id, $content, $user_id) |
409 | { | ||
395 | $sql_action = 'UPDATE entries SET content = ? WHERE id=? AND user_id=?'; | 410 | $sql_action = 'UPDATE entries SET content = ? WHERE id=? AND user_id=?'; |
396 | $params_action = array($content, $id, $user_id); | 411 | $params_action = array($content, $id, $user_id); |
397 | $query = $this->executeQuery($sql_action, $params_action); | 412 | $query = $this->executeQuery($sql_action, $params_action); |
@@ -406,7 +421,8 @@ class Database { | |||
406 | * @param integer $user_id | 421 | * @param integer $user_id |
407 | * @return integer $id of inserted record | 422 | * @return integer $id of inserted record |
408 | */ | 423 | */ |
409 | public function add($url, $title, $content, $user_id, $isFavorite=0, $isRead=0) { | 424 | public function add($url, $title, $content, $user_id, $isFavorite=0, $isRead=0) |
425 | { | ||
410 | $sql_action = 'INSERT INTO entries ( url, title, content, user_id, is_fav, is_read ) VALUES (?, ?, ?, ?, ?, ?)'; | 426 | $sql_action = 'INSERT INTO entries ( url, title, content, user_id, is_fav, is_read ) VALUES (?, ?, ?, ?, ?, ?)'; |
411 | $params_action = array($url, $title, $content, $user_id, $isFavorite, $isRead); | 427 | $params_action = array($url, $title, $content, $user_id, $isFavorite, $isRead); |
412 | 428 | ||
@@ -419,36 +435,42 @@ class Database { | |||
419 | return $id; | 435 | return $id; |
420 | } | 436 | } |
421 | 437 | ||
422 | public function deleteById($id, $user_id) { | 438 | public function deleteById($id, $user_id) |
439 | { | ||
423 | $sql_action = "DELETE FROM entries WHERE id=? AND user_id=?"; | 440 | $sql_action = "DELETE FROM entries WHERE id=? AND user_id=?"; |
424 | $params_action = array($id, $user_id); | 441 | $params_action = array($id, $user_id); |
425 | $query = $this->executeQuery($sql_action, $params_action); | 442 | $query = $this->executeQuery($sql_action, $params_action); |
426 | return $query; | 443 | return $query; |
427 | } | 444 | } |
428 | 445 | ||
429 | public function favoriteById($id, $user_id) { | 446 | public function favoriteById($id, $user_id) |
447 | { | ||
430 | $sql_action = "UPDATE entries SET is_fav=NOT is_fav WHERE id=? AND user_id=?"; | 448 | $sql_action = "UPDATE entries SET is_fav=NOT is_fav WHERE id=? AND user_id=?"; |
431 | $params_action = array($id, $user_id); | 449 | $params_action = array($id, $user_id); |
432 | $query = $this->executeQuery($sql_action, $params_action); | 450 | $query = $this->executeQuery($sql_action, $params_action); |
433 | } | 451 | } |
434 | 452 | ||
435 | public function archiveById($id, $user_id) { | 453 | public function archiveById($id, $user_id) |
454 | { | ||
436 | $sql_action = "UPDATE entries SET is_read=NOT is_read WHERE id=? AND user_id=?"; | 455 | $sql_action = "UPDATE entries SET is_read=NOT is_read WHERE id=? AND user_id=?"; |
437 | $params_action = array($id, $user_id); | 456 | $params_action = array($id, $user_id); |
438 | $query = $this->executeQuery($sql_action, $params_action); | 457 | $query = $this->executeQuery($sql_action, $params_action); |
439 | } | 458 | } |
440 | 459 | ||
441 | public function archiveAll($user_id) { | 460 | public function archiveAll($user_id) |
461 | { | ||
442 | $sql_action = "UPDATE entries SET is_read=? WHERE user_id=? AND is_read=?"; | 462 | $sql_action = "UPDATE entries SET is_read=? WHERE user_id=? AND is_read=?"; |
443 | $params_action = array($user_id, 1, 0); | 463 | $params_action = array($user_id, 1, 0); |
444 | $query = $this->executeQuery($sql_action, $params_action); | 464 | $query = $this->executeQuery($sql_action, $params_action); |
445 | } | 465 | } |
446 | 466 | ||
447 | public function getLastId($column = '') { | 467 | public function getLastId($column = '') |
468 | { | ||
448 | return $this->getHandle()->lastInsertId($column); | 469 | return $this->getHandle()->lastInsertId($column); |
449 | } | 470 | } |
450 | 471 | ||
451 | public function search($term, $user_id, $limit = '') { | 472 | public function search($term, $user_id, $limit = '') |
473 | { | ||
452 | $search = '%'.$term.'%'; | 474 | $search = '%'.$term.'%'; |
453 | $sql_action = "SELECT * FROM entries WHERE user_id=? AND (content LIKE ? OR title LIKE ? OR url LIKE ?) "; //searches in content, title and URL | 475 | $sql_action = "SELECT * FROM entries WHERE user_id=? AND (content LIKE ? OR title LIKE ? OR url LIKE ?) "; //searches in content, title and URL |
454 | $sql_action .= $this->getEntriesOrder().' ' . $limit; | 476 | $sql_action .= $this->getEntriesOrder().' ' . $limit; |
@@ -457,7 +479,8 @@ class Database { | |||
457 | return $query->fetchAll(); | 479 | return $query->fetchAll(); |
458 | } | 480 | } |
459 | 481 | ||
460 | public function retrieveAllTags($user_id, $term = null) { | 482 | public function retrieveAllTags($user_id, $term = NULL) |
483 | { | ||
461 | $sql = "SELECT DISTINCT tags.*, count(entries.id) AS entriescount FROM tags | 484 | $sql = "SELECT DISTINCT tags.*, count(entries.id) AS entriescount FROM tags |
462 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id | 485 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id |
463 | LEFT JOIN entries ON tags_entries.entry_id=entries.id | 486 | LEFT JOIN entries ON tags_entries.entry_id=entries.id |
@@ -471,7 +494,8 @@ class Database { | |||
471 | return $tags; | 494 | return $tags; |
472 | } | 495 | } |
473 | 496 | ||
474 | public function retrieveTag($id, $user_id) { | 497 | public function retrieveTag($id, $user_id) |
498 | { | ||
475 | $tag = NULL; | 499 | $tag = NULL; |
476 | $sql = "SELECT DISTINCT tags.* FROM tags | 500 | $sql = "SELECT DISTINCT tags.* FROM tags |
477 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id | 501 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id |
@@ -481,10 +505,11 @@ class Database { | |||
481 | $query = $this->executeQuery($sql, $params); | 505 | $query = $this->executeQuery($sql, $params); |
482 | $tag = $query->fetchAll(); | 506 | $tag = $query->fetchAll(); |
483 | 507 | ||
484 | return isset($tag[0]) ? $tag[0] : null; | 508 | return isset($tag[0]) ? $tag[0] : NULL; |
485 | } | 509 | } |
486 | 510 | ||
487 | public function retrieveEntriesByTag($tag_id, $user_id) { | 511 | public function retrieveEntriesByTag($tag_id, $user_id) |
512 | { | ||
488 | $sql = | 513 | $sql = |
489 | "SELECT entries.* FROM entries | 514 | "SELECT entries.* FROM entries |
490 | LEFT JOIN tags_entries ON tags_entries.entry_id=entries.id | 515 | LEFT JOIN tags_entries ON tags_entries.entry_id=entries.id |
@@ -495,7 +520,8 @@ class Database { | |||
495 | return $entries; | 520 | return $entries; |
496 | } | 521 | } |
497 | 522 | ||
498 | public function retrieveTagsByEntry($entry_id) { | 523 | public function retrieveTagsByEntry($entry_id) |
524 | { | ||
499 | $sql = | 525 | $sql = |
500 | "SELECT tags.* FROM tags | 526 | "SELECT tags.* FROM tags |
501 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id | 527 | LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id |
@@ -506,14 +532,16 @@ class Database { | |||
506 | return $tags; | 532 | return $tags; |
507 | } | 533 | } |
508 | 534 | ||
509 | public function removeTagForEntry($entry_id, $tag_id) { | 535 | public function removeTagForEntry($entry_id, $tag_id) |
536 | { | ||
510 | $sql_action = "DELETE FROM tags_entries WHERE tag_id=? AND entry_id=?"; | 537 | $sql_action = "DELETE FROM tags_entries WHERE tag_id=? AND entry_id=?"; |
511 | $params_action = array($tag_id, $entry_id); | 538 | $params_action = array($tag_id, $entry_id); |
512 | $query = $this->executeQuery($sql_action, $params_action); | 539 | $query = $this->executeQuery($sql_action, $params_action); |
513 | return $query; | 540 | return $query; |
514 | } | 541 | } |
515 | 542 | ||
516 | public function cleanUnusedTag($tag_id) { | 543 | public function cleanUnusedTag($tag_id) |
544 | { | ||
517 | $sql_action = "SELECT tags.* FROM tags JOIN tags_entries ON tags_entries.tag_id=tags.id WHERE tags.id=?"; | 545 | $sql_action = "SELECT tags.* FROM tags JOIN tags_entries ON tags_entries.tag_id=tags.id WHERE tags.id=?"; |
518 | $query = $this->executeQuery($sql_action,array($tag_id)); | 546 | $query = $this->executeQuery($sql_action,array($tag_id)); |
519 | $tagstokeep = $query->fetchAll(); | 547 | $tagstokeep = $query->fetchAll(); |
@@ -532,7 +560,8 @@ class Database { | |||
532 | 560 | ||
533 | } | 561 | } |
534 | 562 | ||
535 | public function retrieveTagByValue($value) { | 563 | public function retrieveTagByValue($value) |
564 | { | ||
536 | $tag = NULL; | 565 | $tag = NULL; |
537 | $sql = "SELECT * FROM tags WHERE value=?"; | 566 | $sql = "SELECT * FROM tags WHERE value=?"; |
538 | $params = array($value); | 567 | $params = array($value); |
@@ -542,27 +571,29 @@ class Database { | |||
542 | return isset($tag[0]) ? $tag[0] : null; | 571 | return isset($tag[0]) ? $tag[0] : null; |
543 | } | 572 | } |
544 | 573 | ||
545 | public function createTag($value) { | 574 | public function createTag($value) |
575 | { | ||
546 | $sql_action = 'INSERT INTO tags ( value ) VALUES (?)'; | 576 | $sql_action = 'INSERT INTO tags ( value ) VALUES (?)'; |
547 | $params_action = array($value); | 577 | $params_action = array($value); |
548 | $query = $this->executeQuery($sql_action, $params_action); | 578 | $query = $this->executeQuery($sql_action, $params_action); |
549 | return $query; | 579 | return $query; |
550 | } | 580 | } |
551 | 581 | ||
552 | public function setTagToEntry($tag_id, $entry_id) { | 582 | public function setTagToEntry($tag_id, $entry_id) |
583 | { | ||
553 | $sql_action = 'INSERT INTO tags_entries ( tag_id, entry_id ) VALUES (?, ?)'; | 584 | $sql_action = 'INSERT INTO tags_entries ( tag_id, entry_id ) VALUES (?, ?)'; |
554 | $params_action = array($tag_id, $entry_id); | 585 | $params_action = array($tag_id, $entry_id); |
555 | $query = $this->executeQuery($sql_action, $params_action); | 586 | $query = $this->executeQuery($sql_action, $params_action); |
556 | return $query; | 587 | return $query; |
557 | } | 588 | } |
558 | 589 | ||
559 | private function getEntriesOrder() { | 590 | private function getEntriesOrder() |
560 | if (isset($_SESSION['sort']) and array_key_exists($_SESSION['sort'], $this->order)) { | 591 | { |
561 | return $this->order[$_SESSION['sort']]; | 592 | if (isset($_SESSION['sort']) and array_key_exists($_SESSION['sort'], $this->order)) { |
562 | } | 593 | return $this->order[$_SESSION['sort']]; |
563 | else { | ||
564 | return $this->order['default']; | ||
565 | } | ||
566 | } | 594 | } |
567 | 595 | else { | |
596 | return $this->order['default']; | ||
597 | } | ||
598 | } | ||
568 | } | 599 | } |
diff --git a/inc/poche/Language.class.php b/inc/poche/Language.class.php new file mode 100644 index 00000000..8d3912f5 --- /dev/null +++ b/inc/poche/Language.class.php | |||
@@ -0,0 +1,113 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | class Language | ||
12 | { | ||
13 | protected $wallabag; | ||
14 | |||
15 | private $currentLanguage; | ||
16 | |||
17 | private $languageNames = array( | ||
18 | 'cs_CZ.utf8' => 'ÄeÅ¡tina', | ||
19 | 'de_DE.utf8' => 'German', | ||
20 | 'en_EN.utf8' => 'English', | ||
21 | 'es_ES.utf8' => 'Español', | ||
22 | 'fa_IR.utf8' => 'Ùارسی', | ||
23 | 'fr_FR.utf8' => 'Français', | ||
24 | 'it_IT.utf8' => 'Italiano', | ||
25 | 'pl_PL.utf8' => 'Polski', | ||
26 | 'pt_BR.utf8' => 'Português (Brasil)', | ||
27 | 'ru_RU.utf8' => 'PуÑÑкий', | ||
28 | 'sl_SI.utf8' => 'SlovenÅ¡Äina', | ||
29 | 'uk_UA.utf8' => 'УкраїнÑька', | ||
30 | ); | ||
31 | |||
32 | public function __construct(Poche $wallabag) | ||
33 | { | ||
34 | $this->wallabag = $wallabag; | ||
35 | $pocheUser = Session::getParam('poche_user'); | ||
36 | $language = (is_null($pocheUser) ? LANG : $pocheUser->getConfigValue('language')); | ||
37 | |||
38 | @putenv('LC_ALL=' . $language); | ||
39 | setlocale(LC_ALL, $language); | ||
40 | bindtextdomain($language, LOCALE); | ||
41 | textdomain($language); | ||
42 | |||
43 | $this->currentLanguage = $language; | ||
44 | } | ||
45 | |||
46 | public function getLanguage() { | ||
47 | return $this->currentLanguage; | ||
48 | } | ||
49 | |||
50 | public function getInstalledLanguages() { | ||
51 | $handle = opendir(LOCALE); | ||
52 | $languages = array(); | ||
53 | |||
54 | while (($language = readdir($handle)) !== false) { | ||
55 | # Languages are stored in a directory, so all directory names are languages | ||
56 | # @todo move language installation data to database | ||
57 | if (! is_dir(LOCALE . '/' . $language) || in_array($language, array('..', '.', 'tools'))) { | ||
58 | continue; | ||
59 | } | ||
60 | |||
61 | $current = false; | ||
62 | |||
63 | if ($language === $this->getLanguage()) { | ||
64 | $current = true; | ||
65 | } | ||
66 | |||
67 | $languages[] = array('name' => (isset($this->languageNames[$language]) ? $this->languageNames[$language] : $language), 'value' => $language, 'current' => $current); | ||
68 | } | ||
69 | |||
70 | return $languages; | ||
71 | } | ||
72 | |||
73 | |||
74 | /** | ||
75 | * Update language for current user | ||
76 | * | ||
77 | * @param $newLanguage | ||
78 | */ | ||
79 | public function updateLanguage($newLanguage) | ||
80 | { | ||
81 | # we are not going to change it to the current language | ||
82 | if ($newLanguage == $this->getLanguage()) { | ||
83 | $this->wallabag->messages->add('w', _('still using the "' . $this->getLanguage() . '" language!')); | ||
84 | Tools::redirect('?view=config'); | ||
85 | } | ||
86 | |||
87 | $languages = $this->getInstalledLanguages(); | ||
88 | $actualLanguage = false; | ||
89 | |||
90 | foreach ($languages as $language) { | ||
91 | if ($language['value'] == $newLanguage) { | ||
92 | $actualLanguage = true; | ||
93 | break; | ||
94 | } | ||
95 | } | ||
96 | |||
97 | if (!$actualLanguage) { | ||
98 | $this->wallabag->messages->add('e', _('that language does not seem to be installed')); | ||
99 | Tools::redirect('?view=config'); | ||
100 | } | ||
101 | |||
102 | $this->wallabag->store->updateUserConfig($this->wallabag->user->getId(), 'language', $newLanguage); | ||
103 | $this->wallabag->messages->add('s', _('you have changed your language preferences')); | ||
104 | |||
105 | $currentConfig = $_SESSION['poche_user']->config; | ||
106 | $currentConfig['language'] = $newLanguage; | ||
107 | |||
108 | $_SESSION['poche_user']->setConfig($currentConfig); | ||
109 | |||
110 | Tools::emptyCache(); | ||
111 | Tools::redirect('?view=config'); | ||
112 | } | ||
113 | } \ No newline at end of file | ||
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 09a9f5ff..8cebafa3 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php | |||
@@ -5,402 +5,127 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | class Poche | 11 | class Poche |
12 | { | 12 | { |
13 | public static $canRenderTemplates = true; | 13 | /** |
14 | public static $configFileAvailable = true; | 14 | * @var User |
15 | 15 | */ | |
16 | public $user; | 16 | public $user; |
17 | /** | ||
18 | * @var Database | ||
19 | */ | ||
17 | public $store; | 20 | public $store; |
21 | /** | ||
22 | * @var Template | ||
23 | */ | ||
18 | public $tpl; | 24 | public $tpl; |
25 | /** | ||
26 | * @var Language | ||
27 | */ | ||
28 | public $language; | ||
29 | /** | ||
30 | * @var Routing | ||
31 | */ | ||
32 | public $routing; | ||
33 | /** | ||
34 | * @var Messages | ||
35 | */ | ||
19 | public $messages; | 36 | public $messages; |
37 | /** | ||
38 | * @var Paginator | ||
39 | */ | ||
20 | public $pagination; | 40 | public $pagination; |
21 | 41 | ||
22 | private $currentTheme = ''; | ||
23 | private $currentLanguage = ''; | ||
24 | private $notInstalledMessage = array(); | ||
25 | |||
26 | private $language_names = array( | ||
27 | 'cs_CZ.utf8' => 'ÄeÅ¡tina', | ||
28 | 'de_DE.utf8' => 'German', | ||
29 | 'en_EN.utf8' => 'English', | ||
30 | 'es_ES.utf8' => 'Español', | ||
31 | 'fa_IR.utf8' => 'Ùارسی', | ||
32 | 'fr_FR.utf8' => 'Français', | ||
33 | 'it_IT.utf8' => 'Italiano', | ||
34 | 'pl_PL.utf8' => 'Polski', | ||
35 | 'pt_BR.utf8' => 'Português (Brasil)', | ||
36 | 'ru_RU.utf8' => 'PуÑÑкий', | ||
37 | 'sl_SI.utf8' => 'SlovenÅ¡Äina', | ||
38 | 'uk_UA.utf8' => 'УкраїнÑька', | ||
39 | ); | ||
40 | public function __construct() | 42 | public function __construct() |
41 | { | 43 | { |
42 | if ($this->configFileIsAvailable()) { | 44 | $this->init(); |
43 | $this->init(); | ||
44 | } | ||
45 | |||
46 | if ($this->themeIsInstalled()) { | ||
47 | $this->initTpl(); | ||
48 | } | ||
49 | |||
50 | if ($this->systemIsInstalled()) { | ||
51 | $this->store = new Database(); | ||
52 | $this->messages = new Messages(); | ||
53 | # installation | ||
54 | if (! $this->store->isInstalled()) { | ||
55 | $this->install(); | ||
56 | } | ||
57 | $this->store->checkTags(); | ||
58 | } | ||
59 | } | 45 | } |
60 | 46 | ||
61 | private function init() | 47 | private function init() |
62 | { | 48 | { |
63 | Tools::initPhp(); | 49 | Tools::initPhp(); |
64 | 50 | ||
65 | if (isset($_SESSION['poche_user']) && $_SESSION['poche_user'] != array()) { | 51 | $pocheUser = Session::getParam('poche_user'); |
66 | $this->user = $_SESSION['poche_user']; | 52 | |
53 | if ($pocheUser && $pocheUser != array()) { | ||
54 | $this->user = $pocheUser; | ||
67 | } else { | 55 | } else { |
68 | # fake user, just for install & login screens | 56 | // fake user, just for install & login screens |
69 | $this->user = new User(); | 57 | $this->user = new User(); |
70 | $this->user->setConfig($this->getDefaultConfig()); | 58 | $this->user->setConfig($this->getDefaultConfig()); |
71 | } | 59 | } |
72 | 60 | ||
73 | # l10n | 61 | $this->pagination = new Paginator($this->user->getConfigValue('pager'), 'p'); |
74 | $language = $this->user->getConfigValue('language'); | 62 | $this->language = new Language($this); |
75 | @putenv('LC_ALL=' . $language); | 63 | $this->tpl = new Template($this); |
76 | setlocale(LC_ALL, $language); | 64 | $this->store = new Database(); |
77 | bindtextdomain($language, LOCALE); | 65 | $this->messages = new Messages(); |
78 | textdomain($language); | 66 | $this->routing = new Routing($this); |
79 | |||
80 | # Pagination | ||
81 | $this->pagination = new Paginator($this->user->getConfigValue('pager'), 'p'); | ||
82 | |||
83 | # Set up theme | ||
84 | $themeDirectory = $this->user->getConfigValue('theme'); | ||
85 | |||
86 | if ($themeDirectory === false) { | ||
87 | $themeDirectory = DEFAULT_THEME; | ||
88 | } | ||
89 | |||
90 | $this->currentTheme = $themeDirectory; | ||
91 | |||
92 | # Set up language | ||
93 | $languageDirectory = $this->user->getConfigValue('language'); | ||
94 | |||
95 | if ($languageDirectory === false) { | ||
96 | $languageDirectory = DEFAULT_THEME; | ||
97 | } | ||
98 | |||
99 | $this->currentLanguage = $languageDirectory; | ||
100 | } | 67 | } |
101 | 68 | ||
102 | public function configFileIsAvailable() { | 69 | public function run() |
103 | if (! self::$configFileAvailable) { | 70 | { |
104 | $this->notInstalledMessage[] = 'You have to copy (don\'t just rename!) inc/poche/config.inc.default.php to inc/poche/config.inc.php.'; | 71 | $this->routing->run(); |
105 | |||
106 | return false; | ||
107 | } | ||
108 | |||
109 | return true; | ||
110 | } | ||
111 | |||
112 | public function themeIsInstalled() { | ||
113 | $passTheme = TRUE; | ||
114 | # Twig is an absolute requirement for Poche to function. Abort immediately if the Composer installer hasn't been run yet | ||
115 | if (! self::$canRenderTemplates) { | ||
116 | $this->notInstalledMessage[] = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. You can also download <a href="http://wllbg.org/vendor">vendor.zip</a> and extract it in your wallabag folder.'; | ||
117 | $passTheme = FALSE; | ||
118 | } | ||
119 | |||
120 | if (! is_writable(CACHE)) { | ||
121 | $this->notInstalledMessage[] = 'You don\'t have write access on cache directory.'; | ||
122 | |||
123 | self::$canRenderTemplates = false; | ||
124 | |||
125 | $passTheme = FALSE; | ||
126 | } | ||
127 | |||
128 | # Check if the selected theme and its requirements are present | ||
129 | $theme = $this->getTheme(); | ||
130 | |||
131 | if ($theme != '' && ! is_dir(THEME . '/' . $theme)) { | ||
132 | $this->notInstalledMessage[] = 'The currently selected theme (' . $theme . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $theme . ')'; | ||
133 | |||
134 | self::$canRenderTemplates = false; | ||
135 | |||
136 | $passTheme = FALSE; | ||
137 | } | ||
138 | |||
139 | $themeInfo = $this->getThemeInfo($theme); | ||
140 | if (isset($themeInfo['requirements']) && is_array($themeInfo['requirements'])) { | ||
141 | foreach ($themeInfo['requirements'] as $requiredTheme) { | ||
142 | if (! is_dir(THEME . '/' . $requiredTheme)) { | ||
143 | $this->notInstalledMessage[] = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $theme . ')'; | ||
144 | |||
145 | self::$canRenderTemplates = false; | ||
146 | |||
147 | $passTheme = FALSE; | ||
148 | } | ||
149 | } | ||
150 | } | ||
151 | |||
152 | if (!$passTheme) { | ||
153 | return FALSE; | ||
154 | } | ||
155 | |||
156 | |||
157 | return true; | ||
158 | } | 72 | } |
159 | 73 | ||
160 | /** | 74 | /** |
161 | * all checks before installation. | 75 | * Creates a new user |
162 | * @todo move HTML to template | ||
163 | * @return boolean | ||
164 | */ | 76 | */ |
165 | public function systemIsInstalled() | 77 | public function createNewUser($username, $password, $email = "") |
166 | { | ||
167 | $msg = TRUE; | ||
168 | |||
169 | $configSalt = defined('SALT') ? constant('SALT') : ''; | ||
170 | |||
171 | if (empty($configSalt)) { | ||
172 | $this->notInstalledMessage[] = 'You have not yet filled in the SALT value in the config.inc.php file.'; | ||
173 | $msg = FALSE; | ||
174 | } | ||
175 | if (STORAGE == 'sqlite' && ! file_exists(STORAGE_SQLITE)) { | ||
176 | Tools::logm('sqlite file doesn\'t exist'); | ||
177 | $this->notInstalledMessage[] = 'sqlite file doesn\'t exist, you can find it in install folder. Copy it in /db folder.'; | ||
178 | $msg = FALSE; | ||
179 | } | ||
180 | if (is_dir(ROOT . '/install') && ! DEBUG_POCHE) { | ||
181 | $this->notInstalledMessage[] = 'you have to delete the /install folder before using poche.'; | ||
182 | $msg = FALSE; | ||
183 | } | ||
184 | if (STORAGE == 'sqlite' && ! is_writable(STORAGE_SQLITE)) { | ||
185 | Tools::logm('you don\'t have write access on sqlite file'); | ||
186 | $this->notInstalledMessage[] = 'You don\'t have write access on sqlite file.'; | ||
187 | $msg = FALSE; | ||
188 | } | ||
189 | |||
190 | if (! $msg) { | ||
191 | return false; | ||
192 | } | ||
193 | |||
194 | return true; | ||
195 | } | ||
196 | |||
197 | public function getNotInstalledMessage() { | ||
198 | return $this->notInstalledMessage; | ||
199 | } | ||
200 | |||
201 | private function initTpl() | ||
202 | { | 78 | { |
203 | $loaderChain = new Twig_Loader_Chain(); | 79 | if (!empty($username) && !empty($password)){ |
204 | $theme = $this->getTheme(); | 80 | $newUsername = filter_var($username, FILTER_SANITIZE_STRING); |
205 | 81 | $email = filter_var($email, FILTER_SANITIZE_STRING); | |
206 | # add the current theme as first to the loader chain so Twig will look there first for overridden template files | 82 | if (!$this->store->userExists($newUsername)){ |
207 | try { | 83 | if ($this->store->install($newUsername, Tools::encodeString($password . $newUsername), $email)) { |
208 | $loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $theme)); | 84 | Tools::logm('The new user ' . $newUsername . ' has been installed'); |
209 | } catch (Twig_Error_Loader $e) { | 85 | $this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'), $newUsername)); |
210 | # @todo isInstalled() should catch this, inject Twig later | ||
211 | die('The currently selected theme (' . $theme . ') does not seem to be properly installed (' . THEME . '/' . $theme .' is missing)'); | ||
212 | } | ||
213 | |||
214 | # add all required themes to the loader chain | ||
215 | $themeInfo = $this->getThemeInfo($theme); | ||
216 | if (isset($themeInfo['requirements']) && is_array($themeInfo['requirements'])) { | ||
217 | foreach ($themeInfo['requirements'] as $requiredTheme) { | ||
218 | try { | ||
219 | $loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $requiredTheme)); | ||
220 | } catch (Twig_Error_Loader $e) { | ||
221 | # @todo isInstalled() should catch this, inject Twig later | ||
222 | die('The required "' . $requiredTheme . '" theme is missing for the current theme (' . $theme . ')'); | ||
223 | } | ||
224 | } | ||
225 | } | ||
226 | |||
227 | if (DEBUG_POCHE) { | ||
228 | $twigParams = array(); | ||
229 | } else { | ||
230 | $twigParams = array('cache' => CACHE); | ||
231 | } | ||
232 | |||
233 | $this->tpl = new Twig_Environment($loaderChain, $twigParams); | ||
234 | $this->tpl->addExtension(new Twig_Extensions_Extension_I18n()); | ||
235 | |||
236 | # filter to display domain name of an url | ||
237 | $filter = new Twig_SimpleFilter('getDomain', 'Tools::getDomain'); | ||
238 | $this->tpl->addFilter($filter); | ||
239 | |||
240 | # filter for reading time | ||
241 | $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime'); | ||
242 | $this->tpl->addFilter($filter); | ||
243 | } | ||
244 | |||
245 | public function createNewUser() { | ||
246 | if (isset($_GET['newuser'])){ | ||
247 | if ($_POST['newusername'] != "" && $_POST['password4newuser'] != ""){ | ||
248 | $newusername = filter_var($_POST['newusername'], FILTER_SANITIZE_STRING); | ||
249 | if (!$this->store->userExists($newusername)){ | ||
250 | if ($this->store->install($newusername, Tools::encodeString($_POST['password4newuser'] . $newusername))) { | ||
251 | Tools::logm('The new user '.$newusername.' has been installed'); | ||
252 | $this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'),$newusername)); | ||
253 | Tools::redirect(); | ||
254 | } | ||
255 | else { | ||
256 | Tools::logm('error during adding new user'); | ||
257 | Tools::redirect(); | ||
258 | } | ||
259 | } | ||
260 | else { | ||
261 | $this->messages->add('e', sprintf(_('Error : An user with the name %s already exists !'),$newusername)); | ||
262 | Tools::logm('An user with the name '.$newusername.' already exists !'); | ||
263 | Tools::redirect(); | 86 | Tools::redirect(); |
264 | } | 87 | } |
265 | } | ||
266 | } | ||
267 | } | ||
268 | |||
269 | public function deleteUser(){ | ||
270 | if (isset($_GET['deluser'])){ | ||
271 | if ($this->store->listUsers() > 1) { | ||
272 | if (Tools::encodeString($_POST['password4deletinguser'].$this->user->getUsername()) == $this->store->getUserPassword($this->user->getId())) { | ||
273 | $username = $this->user->getUsername(); | ||
274 | $this->store->deleteUserConfig($this->user->getId()); | ||
275 | Tools::logm('The configuration for user '. $username .' has been deleted !'); | ||
276 | $this->store->deleteTagsEntriesAndEntries($this->user->getId()); | ||
277 | Tools::logm('The entries for user '. $username .' has been deleted !'); | ||
278 | $this->store->deleteUser($this->user->getId()); | ||
279 | Tools::logm('User '. $username .' has been completely deleted !'); | ||
280 | Session::logout(); | ||
281 | Tools::logm('logout'); | ||
282 | Tools::redirect(); | ||
283 | $this->messages->add('s', sprintf(_('User %s has been successfully deleted !'),$newusername)); | ||
284 | } | ||
285 | else { | 88 | else { |
286 | Tools::logm('Bad password !'); | 89 | Tools::logm('error during adding new user'); |
287 | $this->messages->add('e', _('Error : The password is wrong !')); | ||
288 | } | ||
289 | } | ||
290 | else { | ||
291 | Tools::logm('Only user !'); | ||
292 | $this->messages->add('e', _('Error : You are the only user, you cannot delete your account !')); | ||
293 | } | ||
294 | } | ||
295 | } | ||
296 | |||
297 | private function install() | ||
298 | { | ||
299 | Tools::logm('poche still not installed'); | ||
300 | echo $this->tpl->render('install.twig', array( | ||
301 | 'token' => Session::getToken(), | ||
302 | 'theme' => $this->getTheme(), | ||
303 | 'poche_url' => Tools::getPocheUrl() | ||
304 | )); | ||
305 | if (isset($_GET['install'])) { | ||
306 | if (($_POST['password'] == $_POST['password_repeat']) | ||
307 | && $_POST['password'] != "" && $_POST['login'] != "") { | ||
308 | # let's rock, install poche baby ! | ||
309 | if ($this->store->install($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login']))) | ||
310 | { | ||
311 | Session::logout(); | ||
312 | Tools::logm('poche is now installed'); | ||
313 | Tools::redirect(); | 90 | Tools::redirect(); |
314 | } | 91 | } |
315 | } | 92 | } |
316 | else { | 93 | else { |
317 | Tools::logm('error during installation'); | 94 | $this->messages->add('e', sprintf(_('Error : An user with the name %s already exists !'), $newUsername)); |
95 | Tools::logm('An user with the name ' . $newUsername . ' already exists !'); | ||
318 | Tools::redirect(); | 96 | Tools::redirect(); |
319 | } | 97 | } |
320 | } | 98 | } |
321 | exit(); | ||
322 | } | ||
323 | |||
324 | public function getTheme() { | ||
325 | return $this->currentTheme; | ||
326 | } | 99 | } |
327 | 100 | ||
328 | /** | 101 | /** |
329 | * Provides theme information by parsing theme.ini file if present in the theme's root directory. | 102 | * Delete an existing user |
330 | * In all cases, the following data will be returned: | ||
331 | * - name: theme's name, or key if the theme is unnamed, | ||
332 | * - current: boolean informing if the theme is the current user theme. | ||
333 | * | ||
334 | * @param string $theme Theme key (directory name) | ||
335 | * @return array|boolean Theme information, or false if the theme doesn't exist. | ||
336 | */ | 103 | */ |
337 | public function getThemeInfo($theme) { | 104 | public function deleteUser($password) |
338 | if (!is_dir(THEME . '/' . $theme)) { | 105 | { |
339 | return false; | 106 | if ($this->store->listUsers() > 1) { |
340 | } | 107 | if (Tools::encodeString($password . $this->user->getUsername()) == $this->store->getUserPassword($this->user->getId())) { |
341 | 108 | $username = $this->user->getUsername(); | |
342 | $themeIniFile = THEME . '/' . $theme . '/theme.ini'; | 109 | $this->store->deleteUserConfig($this->user->getId()); |
343 | $themeInfo = array(); | 110 | Tools::logm('The configuration for user '. $username .' has been deleted !'); |
344 | 111 | $this->store->deleteTagsEntriesAndEntries($this->user->getId()); | |
345 | if (is_file($themeIniFile) && is_readable($themeIniFile)) { | 112 | Tools::logm('The entries for user '. $username .' has been deleted !'); |
346 | $themeInfo = parse_ini_file($themeIniFile); | 113 | $this->store->deleteUser($this->user->getId()); |
347 | } | 114 | Tools::logm('User '. $username .' has been completely deleted !'); |
348 | 115 | Session::logout(); | |
349 | if ($themeInfo === false) { | 116 | Tools::logm('logout'); |
350 | $themeInfo = array(); | 117 | Tools::redirect(); |
351 | } | 118 | $this->messages->add('s', sprintf(_('User %s has been successfully deleted !'), $username)); |
352 | if (!isset($themeInfo['name'])) { | ||
353 | $themeInfo['name'] = $theme; | ||
354 | } | ||
355 | $themeInfo['current'] = ($theme === $this->getTheme()); | ||
356 | |||
357 | return $themeInfo; | ||
358 | } | ||
359 | |||
360 | public function getInstalledThemes() { | ||
361 | $handle = opendir(THEME); | ||
362 | $themes = array(); | ||
363 | |||
364 | while (($theme = readdir($handle)) !== false) { | ||
365 | # Themes are stored in a directory, so all directory names are themes | ||
366 | # @todo move theme installation data to database | ||
367 | if (!is_dir(THEME . '/' . $theme) || in_array($theme, array('.', '..'))) { | ||
368 | continue; | ||
369 | } | ||
370 | |||
371 | $themes[$theme] = $this->getThemeInfo($theme); | ||
372 | } | ||
373 | |||
374 | ksort($themes); | ||
375 | |||
376 | return $themes; | ||
377 | } | ||
378 | |||
379 | public function getLanguage() { | ||
380 | return $this->currentLanguage; | ||
381 | } | ||
382 | |||
383 | public function getInstalledLanguages() { | ||
384 | $handle = opendir(LOCALE); | ||
385 | $languages = array(); | ||
386 | |||
387 | while (($language = readdir($handle)) !== false) { | ||
388 | # Languages are stored in a directory, so all directory names are languages | ||
389 | # @todo move language installation data to database | ||
390 | if (! is_dir(LOCALE . '/' . $language) || in_array($language, array('..', '.', 'tools'))) { | ||
391 | continue; | ||
392 | } | 119 | } |
393 | 120 | else { | |
394 | $current = false; | 121 | Tools::logm('Bad password !'); |
395 | 122 | $this->messages->add('e', _('Error : The password is wrong !')); | |
396 | if ($language === $this->getLanguage()) { | ||
397 | $current = true; | ||
398 | } | 123 | } |
399 | |||
400 | $languages[] = array('name' => (isset($this->language_names[$language]) ? $this->language_names[$language] : $language), 'value' => $language, 'current' => $current); | ||
401 | } | 124 | } |
402 | 125 | else { | |
403 | return $languages; | 126 | Tools::logm('Only user !'); |
127 | $this->messages->add('e', _('Error : You are the only user, you cannot delete your account !')); | ||
128 | } | ||
404 | } | 129 | } |
405 | 130 | ||
406 | public function getDefaultConfig() | 131 | public function getDefaultConfig() |
@@ -425,7 +150,7 @@ class Poche | |||
425 | $body = $content['rss']['channel']['item']['description']; | 150 | $body = $content['rss']['channel']['item']['description']; |
426 | 151 | ||
427 | // clean content from prevent xss attack | 152 | // clean content from prevent xss attack |
428 | $purifier = $this->getPurifier(); | 153 | $purifier = $this->_getPurifier(); |
429 | $title = $purifier->purify($title); | 154 | $title = $purifier->purify($title); |
430 | $body = $purifier->purify($body); | 155 | $body = $purifier->purify($body); |
431 | 156 | ||
@@ -437,7 +162,7 @@ class Poche | |||
437 | if ( $last_id ) { | 162 | if ( $last_id ) { |
438 | Tools::logm('add link ' . $url->getUrl()); | 163 | Tools::logm('add link ' . $url->getUrl()); |
439 | if (DOWNLOAD_PICTURES) { | 164 | if (DOWNLOAD_PICTURES) { |
440 | $content = filtre_picture($body, $url->getUrl(), $last_id); | 165 | $content = Picture::filterPicture($body, $url->getUrl(), $last_id); |
441 | Tools::logm('updating content article'); | 166 | Tools::logm('updating content article'); |
442 | $this->store->updateContent($last_id, $content, $this->user->getId()); | 167 | $this->store->updateContent($last_id, $content, $this->user->getId()); |
443 | } | 168 | } |
@@ -472,7 +197,7 @@ class Poche | |||
472 | $msg = 'delete link #' . $id; | 197 | $msg = 'delete link #' . $id; |
473 | if ($this->store->deleteById($id, $this->user->getId())) { | 198 | if ($this->store->deleteById($id, $this->user->getId())) { |
474 | if (DOWNLOAD_PICTURES) { | 199 | if (DOWNLOAD_PICTURES) { |
475 | remove_directory(ABS_PATH . $id); | 200 | Picture::removeDirectory(ABS_PATH . $id); |
476 | } | 201 | } |
477 | $this->messages->add('s', _('the link has been deleted successfully')); | 202 | $this->messages->add('s', _('the link has been deleted successfully')); |
478 | } | 203 | } |
@@ -590,16 +315,16 @@ class Poche | |||
590 | switch ($view) | 315 | switch ($view) |
591 | { | 316 | { |
592 | case 'config': | 317 | case 'config': |
593 | $dev_infos = $this->getPocheVersion('dev'); | 318 | $dev_infos = $this->_getPocheVersion('dev'); |
594 | $dev = trim($dev_infos[0]); | 319 | $dev = trim($dev_infos[0]); |
595 | $check_time_dev = date('d-M-Y H:i', $dev_infos[1]); | 320 | $check_time_dev = date('d-M-Y H:i', $dev_infos[1]); |
596 | $prod_infos = $this->getPocheVersion('prod'); | 321 | $prod_infos = $this->_getPocheVersion('prod'); |
597 | $prod = trim($prod_infos[0]); | 322 | $prod = trim($prod_infos[0]); |
598 | $check_time_prod = date('d-M-Y H:i', $prod_infos[1]); | 323 | $check_time_prod = date('d-M-Y H:i', $prod_infos[1]); |
599 | $compare_dev = version_compare(POCHE, $dev); | 324 | $compare_dev = version_compare(POCHE, $dev); |
600 | $compare_prod = version_compare(POCHE, $prod); | 325 | $compare_prod = version_compare(POCHE, $prod); |
601 | $themes = $this->getInstalledThemes(); | 326 | $themes = $this->tpl->getInstalledThemes(); |
602 | $languages = $this->getInstalledLanguages(); | 327 | $languages = $this->language->getInstalledLanguages(); |
603 | $token = $this->user->getConfigValue('token'); | 328 | $token = $this->user->getConfigValue('token'); |
604 | $http_auth = (isset($_SERVER['PHP_AUTH_USER']) || isset($_SERVER['REMOTE_USER'])) ? true : false; | 329 | $http_auth = (isset($_SERVER['PHP_AUTH_USER']) || isset($_SERVER['REMOTE_USER'])) ? true : false; |
605 | $only_user = ($this->store->listUsers() > 1) ? false : true; | 330 | $only_user = ($this->store->listUsers() > 1) ? false : true; |
@@ -703,7 +428,7 @@ class Poche | |||
703 | 'listmode' => (isset($_COOKIE['listmode']) ? true : false), | 428 | 'listmode' => (isset($_COOKIE['listmode']) ? true : false), |
704 | ); | 429 | ); |
705 | 430 | ||
706 | //if id is given - we retrive entries by tag: id is tag id | 431 | //if id is given - we retrieve entries by tag: id is tag id |
707 | if ($id) { | 432 | if ($id) { |
708 | $tpl_vars['tag'] = $this->store->retrieveTag($id, $this->user->getId()); | 433 | $tpl_vars['tag'] = $this->store->retrieveTag($id, $this->user->getId()); |
709 | $tpl_vars['id'] = intval($id); | 434 | $tpl_vars['id'] = intval($id); |
@@ -733,7 +458,7 @@ class Poche | |||
733 | * @todo set the new password in function header like this updatePassword($newPassword) | 458 | * @todo set the new password in function header like this updatePassword($newPassword) |
734 | * @return boolean | 459 | * @return boolean |
735 | */ | 460 | */ |
736 | public function updatePassword() | 461 | public function updatePassword($password, $confirmPassword) |
737 | { | 462 | { |
738 | if (MODE_DEMO) { | 463 | if (MODE_DEMO) { |
739 | $this->messages->add('i', _('in demo mode, you can\'t update your password')); | 464 | $this->messages->add('i', _('in demo mode, you can\'t update your password')); |
@@ -741,10 +466,10 @@ class Poche | |||
741 | Tools::redirect('?view=config'); | 466 | Tools::redirect('?view=config'); |
742 | } | 467 | } |
743 | else { | 468 | else { |
744 | if (isset($_POST['password']) && isset($_POST['password_repeat'])) { | 469 | if (isset($password) && isset($confirmPassword)) { |
745 | if ($_POST['password'] == $_POST['password_repeat'] && $_POST['password'] != "") { | 470 | if ($password == $confirmPassword && !empty($password)) { |
746 | $this->messages->add('s', _('your password has been updated')); | 471 | $this->messages->add('s', _('your password has been updated')); |
747 | $this->store->updatePassword($this->user->getId(), Tools::encodeString($_POST['password'] . $this->user->getUsername())); | 472 | $this->store->updatePassword($this->user->getId(), Tools::encodeString($password . $this->user->getUsername())); |
748 | Session::logout(); | 473 | Session::logout(); |
749 | Tools::logm('password updated'); | 474 | Tools::logm('password updated'); |
750 | Tools::redirect(); | 475 | Tools::redirect(); |
@@ -757,102 +482,25 @@ class Poche | |||
757 | } | 482 | } |
758 | } | 483 | } |
759 | 484 | ||
760 | public function updateTheme() | ||
761 | { | ||
762 | # no data | ||
763 | if (empty($_POST['theme'])) { | ||
764 | } | ||
765 | |||
766 | # we are not going to change it to the current theme... | ||
767 | if ($_POST['theme'] == $this->getTheme()) { | ||
768 | $this->messages->add('w', _('still using the "' . $this->getTheme() . '" theme!')); | ||
769 | Tools::redirect('?view=config'); | ||
770 | } | ||
771 | |||
772 | $themes = $this->getInstalledThemes(); | ||
773 | $actualTheme = false; | ||
774 | |||
775 | foreach (array_keys($themes) as $theme) { | ||
776 | if ($theme == $_POST['theme']) { | ||
777 | $actualTheme = true; | ||
778 | break; | ||
779 | } | ||
780 | } | ||
781 | |||
782 | if (! $actualTheme) { | ||
783 | $this->messages->add('e', _('that theme does not seem to be installed')); | ||
784 | Tools::redirect('?view=config'); | ||
785 | } | ||
786 | |||
787 | $this->store->updateUserConfig($this->user->getId(), 'theme', $_POST['theme']); | ||
788 | $this->messages->add('s', _('you have changed your theme preferences')); | ||
789 | |||
790 | $currentConfig = $_SESSION['poche_user']->config; | ||
791 | $currentConfig['theme'] = $_POST['theme']; | ||
792 | |||
793 | $_SESSION['poche_user']->setConfig($currentConfig); | ||
794 | |||
795 | $this->emptyCache(); | ||
796 | |||
797 | Tools::redirect('?view=config'); | ||
798 | } | ||
799 | |||
800 | public function updateLanguage() | ||
801 | { | ||
802 | # no data | ||
803 | if (empty($_POST['language'])) { | ||
804 | } | ||
805 | |||
806 | # we are not going to change it to the current language... | ||
807 | if ($_POST['language'] == $this->getLanguage()) { | ||
808 | $this->messages->add('w', _('still using the "' . $this->getLanguage() . '" language!')); | ||
809 | Tools::redirect('?view=config'); | ||
810 | } | ||
811 | |||
812 | $languages = $this->getInstalledLanguages(); | ||
813 | $actualLanguage = false; | ||
814 | |||
815 | foreach ($languages as $language) { | ||
816 | if ($language['value'] == $_POST['language']) { | ||
817 | $actualLanguage = true; | ||
818 | break; | ||
819 | } | ||
820 | } | ||
821 | |||
822 | if (! $actualLanguage) { | ||
823 | $this->messages->add('e', _('that language does not seem to be installed')); | ||
824 | Tools::redirect('?view=config'); | ||
825 | } | ||
826 | |||
827 | $this->store->updateUserConfig($this->user->getId(), 'language', $_POST['language']); | ||
828 | $this->messages->add('s', _('you have changed your language preferences')); | ||
829 | |||
830 | $currentConfig = $_SESSION['poche_user']->config; | ||
831 | $currentConfig['language'] = $_POST['language']; | ||
832 | |||
833 | $_SESSION['poche_user']->setConfig($currentConfig); | ||
834 | |||
835 | $this->emptyCache(); | ||
836 | |||
837 | Tools::redirect('?view=config'); | ||
838 | } | ||
839 | /** | 485 | /** |
840 | * get credentials from differents sources | 486 | * Get credentials from differents sources |
841 | * it redirects the user to the $referer link | 487 | * It redirects the user to the $referer link |
488 | * | ||
842 | * @return array | 489 | * @return array |
843 | */ | 490 | */ |
844 | private function credentials() { | 491 | private function credentials() |
845 | if(isset($_SERVER['PHP_AUTH_USER'])) { | 492 | { |
846 | return array($_SERVER['PHP_AUTH_USER'],'php_auth',true); | 493 | if (isset($_SERVER['PHP_AUTH_USER'])) { |
494 | return array($_SERVER['PHP_AUTH_USER'], 'php_auth', true); | ||
847 | } | 495 | } |
848 | if(!empty($_POST['login']) && !empty($_POST['password'])) { | 496 | if (!empty($_POST['login']) && !empty($_POST['password'])) { |
849 | return array($_POST['login'],$_POST['password'],false); | 497 | return array($_POST['login'], $_POST['password'], false); |
850 | } | 498 | } |
851 | if(isset($_SERVER['REMOTE_USER'])) { | 499 | if (isset($_SERVER['REMOTE_USER'])) { |
852 | return array($_SERVER['REMOTE_USER'],'http_auth',true); | 500 | return array($_SERVER['REMOTE_USER'], 'http_auth', true); |
853 | } | 501 | } |
854 | 502 | ||
855 | return array(false,false,false); | 503 | return array(false, false, false); |
856 | } | 504 | } |
857 | 505 | ||
858 | /** | 506 | /** |
@@ -877,6 +525,14 @@ class Poche | |||
877 | $longlastingsession = isset($_POST['longlastingsession']); | 525 | $longlastingsession = isset($_POST['longlastingsession']); |
878 | $passwordTest = ($isauthenticated) ? $user['password'] : Tools::encodeString($password . $login); | 526 | $passwordTest = ($isauthenticated) ? $user['password'] : Tools::encodeString($password . $login); |
879 | Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user))); | 527 | Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user))); |
528 | |||
529 | # reload l10n | ||
530 | $language = $user['config']['language']; | ||
531 | @putenv('LC_ALL=' . $language); | ||
532 | setlocale(LC_ALL, $language); | ||
533 | bindtextdomain($language, LOCALE); | ||
534 | textdomain($language); | ||
535 | |||
880 | $this->messages->add('s', _('welcome to your wallabag')); | 536 | $this->messages->add('s', _('welcome to your wallabag')); |
881 | Tools::logm('login successful'); | 537 | Tools::logm('login successful'); |
882 | Tools::redirect($referer); | 538 | Tools::redirect($referer); |
@@ -901,12 +557,13 @@ class Poche | |||
901 | } | 557 | } |
902 | 558 | ||
903 | /** | 559 | /** |
904 | * import datas into your poche | 560 | * import datas into your wallabag |
905 | * @return boolean | 561 | * @return boolean |
906 | */ | 562 | */ |
563 | |||
907 | public function import() { | 564 | public function import() { |
908 | 565 | ||
909 | if ( isset($_FILES['file']) ) { | 566 | if ( isset($_FILES['file']) && $_FILES['file']['tmp_name'] ) { |
910 | Tools::logm('Import stated: parsing file'); | 567 | Tools::logm('Import stated: parsing file'); |
911 | 568 | ||
912 | // assume, that file is in json format | 569 | // assume, that file is in json format |
@@ -935,95 +592,112 @@ class Poche | |||
935 | $read = ((sizeof($data) && $read)?0:1); | 592 | $read = ((sizeof($data) && $read)?0:1); |
936 | } | 593 | } |
937 | } | 594 | } |
938 | } | 595 | } |
939 | 596 | ||
940 | //for readability structure | 597 | // for readability structure |
941 | foreach ($data as $record) { | 598 | |
942 | if (is_array($record)) { | 599 | foreach($data as $record) { |
943 | $data[] = $record; | 600 | if (is_array($record)) { |
944 | foreach ($record as $record2) { | 601 | $data[] = $record; |
945 | if (is_array($record2)) { | 602 | foreach($record as $record2) { |
946 | $data[] = $record2; | 603 | if (is_array($record2)) { |
947 | } | 604 | $data[] = $record2; |
605 | } | ||
606 | } | ||
607 | } | ||
948 | } | 608 | } |
949 | } | ||
950 | } | ||
951 | 609 | ||
952 | $urlsInserted = array(); //urls of articles inserted | 610 | $urlsInserted = array(); //urls of articles inserted |
953 | foreach ($data as $record) { | 611 | foreach($data as $record) { |
954 | $url = trim( isset($record['article__url']) ? $record['article__url'] : (isset($record['url']) ? $record['url'] : '') ); | 612 | $url = trim(isset($record['article__url']) ? $record['article__url'] : (isset($record['url']) ? $record['url'] : '')); |
955 | if ( $url and !in_array($url, $urlsInserted) ) { | 613 | if ($url and !in_array($url, $urlsInserted)) { |
956 | $title = (isset($record['title']) ? $record['title'] : _('Untitled - Import - ').'</a> <a href="./?import">'._('click to finish import').'</a><a>'); | 614 | $title = (isset($record['title']) ? $record['title'] : _('Untitled - Import - ') . '</a> <a href="./?import">' . _('click to finish import') . '</a><a>'); |
957 | $body = (isset($record['content']) ? $record['content'] : ''); | 615 | $body = (isset($record['content']) ? $record['content'] : ''); |
958 | $isRead = (isset($record['is_read']) ? intval($record['is_read']) : (isset($record['archive'])?intval($record['archive']):0)); | 616 | $isRead = (isset($record['is_read']) ? intval($record['is_read']) : (isset($record['archive']) ? intval($record['archive']) : 0)); |
959 | $isFavorite = (isset($record['is_fav']) ? intval($record['is_fav']) : (isset($record['favorite'])?intval($record['favorite']):0) ); | 617 | $isFavorite = (isset($record['is_fav']) ? intval($record['is_fav']) : (isset($record['favorite']) ? intval($record['favorite']) : 0)); |
960 | //insert new record | ||
961 | $id = $this->store->add($url, $title, $body, $this->user->getId(), $isFavorite, $isRead); | ||
962 | if ( $id ) { | ||
963 | $urlsInserted[] = $url; //add | ||
964 | |||
965 | if ( isset($record['tags']) && trim($record['tags']) ) { | ||
966 | //@TODO: set tags | ||
967 | 618 | ||
968 | } | 619 | // insert new record |
620 | |||
621 | $id = $this->store->add($url, $title, $body, $this->user->getId() , $isFavorite, $isRead); | ||
622 | if ($id) { | ||
623 | $urlsInserted[] = $url; //add | ||
624 | if (isset($record['tags']) && trim($record['tags'])) { | ||
625 | |||
626 | // @TODO: set tags | ||
627 | |||
628 | } | ||
629 | } | ||
630 | } | ||
631 | } | ||
632 | |||
633 | $i = sizeof($urlsInserted); | ||
634 | if ($i > 0) { | ||
635 | $this->messages->add('s', _('Articles inserted: ') . $i . _('. Please note, that some may be marked as "read".')); | ||
969 | } | 636 | } |
970 | } | ||
971 | } | ||
972 | 637 | ||
973 | $i = sizeof($urlsInserted); | ||
974 | if ( $i > 0 ) { | ||
975 | $this->messages->add('s', _('Articles inserted: ').$i._('. Please note, that some may be marked as "read".')); | ||
976 | } | ||
977 | Tools::logm('Import of articles finished: '.$i.' articles added (w/o content if not provided).'); | 638 | Tools::logm('Import of articles finished: '.$i.' articles added (w/o content if not provided).'); |
978 | } | 639 | } |
979 | //file parsing finished here | 640 | else { |
641 | $this->messages->add('s', _('Did you forget to select a file?')); | ||
642 | } | ||
643 | // file parsing finished here | ||
644 | // now download article contents if any | ||
645 | // check if we need to download any content | ||
980 | 646 | ||
981 | //now download article contents if any | 647 | $recordsDownloadRequired = $this->store->retrieveUnfetchedEntriesCount($this->user->getId()); |
982 | 648 | ||
983 | //check if we need to download any content | 649 | if ($recordsDownloadRequired == 0) { |
984 | $recordsDownloadRequired = $this->store->retrieveUnfetchedEntriesCount($this->user->getId()); | ||
985 | if ( $recordsDownloadRequired == 0 ) { | ||
986 | //nothing to download | ||
987 | $this->messages->add('s', _('Import finished.')); | ||
988 | Tools::logm('Import finished completely'); | ||
989 | Tools::redirect(); | ||
990 | } | ||
991 | else { | ||
992 | //if just inserted - don't download anything, download will start in next reload | ||
993 | if ( !isset($_FILES['file']) ) { | ||
994 | //download next batch | ||
995 | Tools::logm('Fetching next batch of articles...'); | ||
996 | $items = $this->store->retrieveUnfetchedEntries($this->user->getId(), IMPORT_LIMIT); | ||
997 | 650 | ||
998 | $purifier = $this->getPurifier(); | 651 | // nothing to download |
999 | 652 | ||
1000 | foreach ($items as $item) { | 653 | $this->messages->add('s', _('Import finished.')); |
1001 | $url = new Url(base64_encode($item['url'])); | 654 | Tools::logm('Import finished completely'); |
1002 | Tools::logm('Fetching article '.$item['id']); | 655 | Tools::redirect(); |
1003 | $content = Tools::getPageContent($url); | 656 | } |
657 | else { | ||
1004 | 658 | ||
1005 | $title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled')); | 659 | // if just inserted - don't download anything, download will start in next reload |
1006 | $body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined')); | ||
1007 | 660 | ||
1008 | //clean content to prevent xss attack | 661 | if (!isset($_FILES['file'])) { |
1009 | $title = $purifier->purify($title); | ||
1010 | $body = $purifier->purify($body); | ||
1011 | 662 | ||
1012 | $this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId()); | 663 | // download next batch |
1013 | Tools::logm('Article '.$item['id'].' updated.'); | 664 | |
1014 | } | 665 | Tools::logm('Fetching next batch of articles...'); |
666 | $items = $this->store->retrieveUnfetchedEntries($this->user->getId() , IMPORT_LIMIT); | ||
667 | $purifier = $this->_getPurifier(); | ||
668 | foreach($items as $item) { | ||
669 | $url = new Url(base64_encode($item['url'])); | ||
670 | Tools::logm('Fetching article ' . $item['id']); | ||
671 | $content = Tools::getPageContent($url); | ||
672 | $title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled')); | ||
673 | $body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined')); | ||
674 | |||
675 | // clean content to prevent xss attack | ||
1015 | 676 | ||
677 | $title = $purifier->purify($title); | ||
678 | $body = $purifier->purify($body); | ||
679 | $this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId()); | ||
680 | Tools::logm('Article ' . $item['id'] . ' updated.'); | ||
681 | } | ||
682 | } | ||
1016 | } | 683 | } |
1017 | } | ||
1018 | 684 | ||
1019 | return array('includeImport'=>true, 'import'=>array('recordsDownloadRequired'=>$recordsDownloadRequired, 'recordsUnderDownload'=> IMPORT_LIMIT, 'delay'=> IMPORT_DELAY * 1000) ); | 685 | return array( |
686 | 'includeImport' => true, | ||
687 | 'import' => array( | ||
688 | 'recordsDownloadRequired' => $recordsDownloadRequired, | ||
689 | 'recordsUnderDownload' => IMPORT_LIMIT, | ||
690 | 'delay' => IMPORT_DELAY * 1000 | ||
691 | ) | ||
692 | ); | ||
1020 | } | 693 | } |
1021 | 694 | ||
1022 | /** | 695 | /** |
1023 | * export poche entries in json | 696 | * export poche entries in json |
1024 | * @return json all poche entries | 697 | * @return json all poche entries |
1025 | */ | 698 | */ |
1026 | public function export() { | 699 | public function export() |
700 | { | ||
1027 | $filename = "wallabag-export-".$this->user->getId()."-".date("Y-m-d").".json"; | 701 | $filename = "wallabag-export-".$this->user->getId()."-".date("Y-m-d").".json"; |
1028 | header('Content-Disposition: attachment; filename='.$filename); | 702 | header('Content-Disposition: attachment; filename='.$filename); |
1029 | 703 | ||
@@ -1039,7 +713,7 @@ class Poche | |||
1039 | * @param string $which 'prod' or 'dev' | 713 | * @param string $which 'prod' or 'dev' |
1040 | * @return string latest $which version | 714 | * @return string latest $which version |
1041 | */ | 715 | */ |
1042 | private function getPocheVersion($which = 'prod') { | 716 | private function _getPocheVersion($which = 'prod') { |
1043 | $cache_file = CACHE . '/' . $which; | 717 | $cache_file = CACHE . '/' . $which; |
1044 | $check_time = time(); | 718 | $check_time = time(); |
1045 | 719 | ||
@@ -1054,29 +728,27 @@ class Poche | |||
1054 | return array($version, $check_time); | 728 | return array($version, $check_time); |
1055 | } | 729 | } |
1056 | 730 | ||
1057 | public function generateToken() | 731 | /** |
732 | * Update token for current user | ||
733 | */ | ||
734 | public function updateToken() | ||
1058 | { | 735 | { |
1059 | if (ini_get('open_basedir') === '') { | 736 | $token = Tools::generateToken(); |
1060 | if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { | 737 | $this->store->updateUserConfig($this->user->getId(), 'token', $token); |
1061 | echo 'This is a server using Windows!'; | 738 | $currentConfig = $_SESSION['poche_user']->config; |
1062 | // alternative to /dev/urandom for Windows | 739 | $currentConfig['token'] = $token; |
1063 | $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); | 740 | $_SESSION['poche_user']->setConfig($currentConfig); |
1064 | } else { | 741 | Tools::redirect(); |
1065 | $token = substr(base64_encode(file_get_contents('/dev/urandom', false, null, 0, 20)), 0, 15); | ||
1066 | } | ||
1067 | } | ||
1068 | else { | ||
1069 | $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); | ||
1070 | } | ||
1071 | |||
1072 | $token = str_replace('+', '', $token); | ||
1073 | $this->store->updateUserConfig($this->user->getId(), 'token', $token); | ||
1074 | $currentConfig = $_SESSION['poche_user']->config; | ||
1075 | $currentConfig['token'] = $token; | ||
1076 | $_SESSION['poche_user']->setConfig($currentConfig); | ||
1077 | Tools::redirect(); | ||
1078 | } | 742 | } |
1079 | 743 | ||
744 | /** | ||
745 | * Generate RSS feeds for current user | ||
746 | * | ||
747 | * @param $token | ||
748 | * @param $user_id | ||
749 | * @param $tag_id | ||
750 | * @param string $type | ||
751 | */ | ||
1080 | public function generateFeeds($token, $user_id, $tag_id, $type = 'home') | 752 | public function generateFeeds($token, $user_id, $tag_id, $type = 'home') |
1081 | { | 753 | { |
1082 | $allowed_types = array('home', 'fav', 'archive', 'tag'); | 754 | $allowed_types = array('home', 'fav', 'archive', 'tag'); |
@@ -1086,10 +758,9 @@ class Poche | |||
1086 | die(sprintf(_('User with this id (%d) does not exist.'), $user_id)); | 758 | die(sprintf(_('User with this id (%d) does not exist.'), $user_id)); |
1087 | } | 759 | } |
1088 | 760 | ||
1089 | if (!in_array($type, $allowed_types) || $token != $config['token']) { | 761 | if (!in_array($type, $allowed_types) || !isset($config['token']) || $token != $config['token']) { |
1090 | die(_('Uh, there is a problem while generating feeds.')); | 762 | die(_('Uh, there is a problem while generating feed. Wrong token used?')); |
1091 | } | 763 | } |
1092 | // Check the token | ||
1093 | 764 | ||
1094 | $feed = new FeedWriter(RSS2); | 765 | $feed = new FeedWriter(RSS2); |
1095 | $feed->setTitle('wallabag — ' . $type . ' feed'); | 766 | $feed->setTitle('wallabag — ' . $type . ' feed'); |
@@ -1121,147 +792,22 @@ class Poche | |||
1121 | exit; | 792 | exit; |
1122 | } | 793 | } |
1123 | 794 | ||
1124 | public function emptyCache() { | ||
1125 | $files = new RecursiveIteratorIterator( | ||
1126 | new RecursiveDirectoryIterator(CACHE, RecursiveDirectoryIterator::SKIP_DOTS), | ||
1127 | RecursiveIteratorIterator::CHILD_FIRST | ||
1128 | ); | ||
1129 | |||
1130 | foreach ($files as $fileinfo) { | ||
1131 | $todo = ($fileinfo->isDir() ? 'rmdir' : 'unlink'); | ||
1132 | $todo($fileinfo->getRealPath()); | ||
1133 | } | ||
1134 | 795 | ||
1135 | Tools::logm('empty cache'); | ||
1136 | $this->messages->add('s', _('Cache deleted.')); | ||
1137 | Tools::redirect(); | ||
1138 | } | ||
1139 | 796 | ||
1140 | /** | 797 | /** |
1141 | * return new purifier object with actual config | 798 | * Returns new purifier object with actual config |
1142 | */ | 799 | */ |
1143 | protected function getPurifier() { | 800 | private function _getPurifier() |
1144 | $config = HTMLPurifier_Config::createDefault(); | 801 | { |
1145 | $config->set('Cache.SerializerPath', CACHE); | 802 | $config = HTMLPurifier_Config::createDefault(); |
1146 | $config->set('HTML.SafeIframe', true); | 803 | $config->set('Cache.SerializerPath', CACHE); |
804 | $config->set('HTML.SafeIframe', true); | ||
1147 | 805 | ||
1148 | //allow YouTube, Vimeo and dailymotion videos | 806 | //allow YouTube, Vimeo and dailymotion videos |
1149 | $config->set('URI.SafeIframeRegexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/|www\.dailymotion\.com/embed/video/)%'); | 807 | $config->set('URI.SafeIframeRegexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/|www\.dailymotion\.com/embed/video/)%'); |
1150 | 808 | ||
1151 | return new HTMLPurifier($config); | 809 | return new HTMLPurifier($config); |
1152 | } | 810 | } |
1153 | 811 | ||
1154 | /** | ||
1155 | * handle epub | ||
1156 | */ | ||
1157 | public function createEpub() { | ||
1158 | |||
1159 | switch ($_GET['method']) { | ||
1160 | case 'id': | ||
1161 | $entryID = filter_var($_GET['id'],FILTER_SANITIZE_NUMBER_INT); | ||
1162 | $entry = $this->store->retrieveOneById($entryID, $this->user->getId()); | ||
1163 | $entries = array($entry); | ||
1164 | $bookTitle = $entry['title']; | ||
1165 | $bookFileName = substr($bookTitle, 0, 200); | ||
1166 | break; | ||
1167 | case 'all': | ||
1168 | $entries = $this->store->retrieveAll($this->user->getId()); | ||
1169 | $bookTitle = sprintf(_('All my articles on '), date(_('d.m.y'))); #translatable because each country has it's own date format system | ||
1170 | $bookFileName = _('Allarticles') . date(_('dmY')); | ||
1171 | break; | ||
1172 | case 'tag': | ||
1173 | $tag = filter_var($_GET['tag'],FILTER_SANITIZE_STRING); | ||
1174 | $tags_id = $this->store->retrieveAllTags($this->user->getId(),$tag); | ||
1175 | $tag_id = $tags_id[0]["id"]; // we take the first result, which is supposed to match perfectly. There must be a workaround. | ||
1176 | $entries = $this->store->retrieveEntriesByTag($tag_id,$this->user->getId()); | ||
1177 | $bookTitle = sprintf(_('Articles tagged %s'),$tag); | ||
1178 | $bookFileName = substr(sprintf(_('Tag %s'),$tag), 0, 200); | ||
1179 | break; | ||
1180 | case 'category': | ||
1181 | $category = filter_var($_GET['category'],FILTER_SANITIZE_STRING); | ||
1182 | $entries = $this->store->getEntriesByView($category,$this->user->getId()); | ||
1183 | $bookTitle = sprintf(_('All articles in category %s'), $category); | ||
1184 | $bookFileName = substr(sprintf(_('Category %s'),$category), 0, 200); | ||
1185 | break; | ||
1186 | case 'search': | ||
1187 | $search = filter_var($_GET['search'],FILTER_SANITIZE_STRING); | ||
1188 | $entries = $this->store->search($search,$this->user->getId()); | ||
1189 | $bookTitle = sprintf(_('All articles for search %s'), $search); | ||
1190 | $bookFileName = substr(sprintf(_('Search %s'), $search), 0, 200); | ||
1191 | break; | ||
1192 | case 'default': | ||
1193 | die(_('Uh, there is a problem while generating epub.')); | ||
1194 | |||
1195 | } | ||
1196 | |||
1197 | $content_start = | ||
1198 | "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" | ||
1199 | . "<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:epub=\"http://www.idpf.org/2007/ops\">\n" | ||
1200 | . "<head>" | ||
1201 | . "<meta http-equiv=\"Default-Style\" content=\"text/html; charset=utf-8\" />\n" | ||
1202 | . "<title>wallabag articles book</title>\n" | ||
1203 | . "</head>\n" | ||
1204 | . "<body>\n"; | ||
1205 | |||
1206 | $bookEnd = "</body>\n</html>\n"; | ||
1207 | 812 | ||
1208 | $log = new Logger("wallabag", TRUE); | ||
1209 | $fileDir = CACHE; | ||
1210 | |||
1211 | $book = new EPub(EPub::BOOK_VERSION_EPUB3, DEBUG_POCHE); | ||
1212 | $log->logLine("new EPub()"); | ||
1213 | $log->logLine("EPub class version: " . EPub::VERSION); | ||
1214 | $log->logLine("EPub Req. Zip version: " . EPub::REQ_ZIP_VERSION); | ||
1215 | $log->logLine("Zip version: " . Zip::VERSION); | ||
1216 | $log->logLine("getCurrentServerURL: " . $book->getCurrentServerURL()); | ||
1217 | $log->logLine("getCurrentPageURL..: " . $book->getCurrentPageURL()); | ||
1218 | |||
1219 | $book->setTitle(_('wallabag\'s articles')); | ||
1220 | $book->setIdentifier("http://$_SERVER[HTTP_HOST]", EPub::IDENTIFIER_URI); // Could also be the ISBN number, prefered for published books, or a UUID. | ||
1221 | //$book->setLanguage("en"); // Not needed, but included for the example, Language is mandatory, but EPub defaults to "en". Use RFC3066 Language codes, such as "en", "da", "fr" etc. | ||
1222 | $book->setDescription(_("Some articles saved on my wallabag")); | ||
1223 | $book->setAuthor("wallabag","wallabag"); | ||
1224 | $book->setPublisher("wallabag","wallabag"); // I hope this is a non existant address :) | ||
1225 | $book->setDate(time()); // Strictly not needed as the book date defaults to time(). | ||
1226 | //$book->setRights("Copyright and licence information specific for the book."); // As this is generated, this _could_ contain the name or licence information of the user who purchased the book, if needed. If this is used that way, the identifier must also be made unique for the book. | ||
1227 | $book->setSourceURL("http://$_SERVER[HTTP_HOST]"); | ||
1228 | |||
1229 | $book->addDublinCoreMetadata(DublinCore::CONTRIBUTOR, "PHP"); | ||
1230 | $book->addDublinCoreMetadata(DublinCore::CONTRIBUTOR, "wallabag"); | ||
1231 | |||
1232 | $cssData = "body {\n margin-left: .5em;\n margin-right: .5em;\n text-align: justify;\n}\n\np {\n font-family: serif;\n font-size: 10pt;\n text-align: justify;\n text-indent: 1em;\n margin-top: 0px;\n margin-bottom: 1ex;\n}\n\nh1, h2 {\n font-family: sans-serif;\n font-style: italic;\n text-align: center;\n background-color: #6b879c;\n color: white;\n width: 100%;\n}\n\nh1 {\n margin-bottom: 2px;\n}\n\nh2 {\n margin-top: -2px;\n margin-bottom: 2px;\n}\n"; | ||
1233 | |||
1234 | $log->logLine("Add Cover"); | ||
1235 | |||
1236 | $fullTitle = "<h1> " . $bookTitle . "</h1>\n"; | ||
1237 | |||
1238 | $book->setCoverImage("Cover.png", file_get_contents("themes/baggy/img/apple-touch-icon-152.png"), "image/png", $fullTitle); | ||
1239 | |||
1240 | $cover = $content_start . '<div style="text-align:center;"><p>' . _('Produced by wallabag with PHPePub') . '</p><p>'. _('Please open <a href="https://github.com/wallabag/wallabag/issues" >an issue</a> if you have trouble with the display of this E-Book on your device.') . '</p></div>' . $bookEnd; | ||
1241 | |||
1242 | //$book->addChapter("Table of Contents", "TOC.xhtml", NULL, false, EPub::EXTERNAL_REF_IGNORE); | ||
1243 | $book->addChapter("Notices", "Cover2.html", $cover); | ||
1244 | |||
1245 | $book->buildTOC(); | ||
1246 | |||
1247 | foreach ($entries as $entry) { //set tags as subjects | ||
1248 | $tags = $this->store->retrieveTagsByEntry($entry['id']); | ||
1249 | foreach ($tags as $tag) { | ||
1250 | $book->setSubject($tag['value']); | ||
1251 | } | ||
1252 | |||
1253 | $log->logLine("Set up parameters"); | ||
1254 | |||
1255 | $chapter = $content_start . $entry['content'] . $bookEnd; | ||
1256 | $book->addChapter($entry['title'], htmlspecialchars($entry['title']) . ".html", $chapter, true, EPub::EXTERNAL_REF_ADD); | ||
1257 | $log->logLine("Added chapter " . $entry['title']); | ||
1258 | } | ||
1259 | |||
1260 | if (DEBUG_POCHE) { | ||
1261 | $epuplog = $book->getLog(); | ||
1262 | $book->addChapter("Log", "Log.html", $content_start . $log->getLog() . "\n</pre>" . $bookEnd); // log generation | ||
1263 | } | ||
1264 | $book->finalize(); | ||
1265 | $zipData = $book->sendBook($bookFileName); | ||
1266 | } | ||
1267 | } | 813 | } |
diff --git a/inc/poche/Routing.class.php b/inc/poche/Routing.class.php new file mode 100755 index 00000000..0b373058 --- /dev/null +++ b/inc/poche/Routing.class.php | |||
@@ -0,0 +1,151 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | class Routing | ||
12 | { | ||
13 | protected $wallabag; | ||
14 | protected $referer; | ||
15 | protected $view; | ||
16 | protected $action; | ||
17 | protected $id; | ||
18 | protected $url; | ||
19 | protected $file; | ||
20 | protected $defaultVars = array(); | ||
21 | protected $vars = array(); | ||
22 | |||
23 | public function __construct(Poche $wallabag) | ||
24 | { | ||
25 | $this->wallabag = $wallabag; | ||
26 | $this->_init(); | ||
27 | } | ||
28 | |||
29 | private function _init() | ||
30 | { | ||
31 | # Parse GET & REFERER vars | ||
32 | $this->referer = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER']; | ||
33 | $this->view = Tools::checkVar('view', 'home'); | ||
34 | $this->action = Tools::checkVar('action'); | ||
35 | $this->id = Tools::checkVar('id'); | ||
36 | $_SESSION['sort'] = Tools::checkVar('sort', 'id'); | ||
37 | $this->url = new Url((isset ($_GET['url'])) ? $_GET['url'] : ''); | ||
38 | } | ||
39 | |||
40 | public function run() | ||
41 | { | ||
42 | # vars to _always_ send to templates | ||
43 | $this->defaultVars = array( | ||
44 | 'referer' => $this->referer, | ||
45 | 'view' => $this->view, | ||
46 | 'poche_url' => Tools::getPocheUrl(), | ||
47 | 'title' => _('wallabag, a read it later open source system'), | ||
48 | 'token' => \Session::getToken(), | ||
49 | 'theme' => $this->wallabag->tpl->getTheme() | ||
50 | ); | ||
51 | |||
52 | $this->_launchAction(); | ||
53 | $this->_defineTplInformation(); | ||
54 | |||
55 | # because messages can be added in $poche->action(), we have to add this entry now (we can add it before) | ||
56 | $this->vars = array_merge($this->vars, array('messages' => $this->wallabag->messages->display('all', FALSE))); | ||
57 | |||
58 | $this->_render($this->file, $this->vars); | ||
59 | } | ||
60 | |||
61 | private function _defineTplInformation() | ||
62 | { | ||
63 | $tplFile = array(); | ||
64 | $tplVars = array(); | ||
65 | |||
66 | if (\Session::isLogged()) { | ||
67 | $this->wallabag->action($this->action, $this->url, $this->id); | ||
68 | $tplFile = Tools::getTplFile($this->view); | ||
69 | $tplVars = array_merge($this->vars, $this->wallabag->displayView($this->view, $this->id)); | ||
70 | } elseif(isset($_SERVER['PHP_AUTH_USER'])) { | ||
71 | if($this->wallabag->store->userExists($_SERVER['PHP_AUTH_USER'])) { | ||
72 | $this->wallabag->login($this->referer); | ||
73 | } else { | ||
74 | $this->wallabag->messages->add('e', _('login failed: user doesn\'t exist')); | ||
75 | Tools::logm('user doesn\'t exist'); | ||
76 | $tplFile = Tools::getTplFile('login'); | ||
77 | $tplVars['http_auth'] = 1; | ||
78 | } | ||
79 | } elseif(isset($_SERVER['REMOTE_USER'])) { | ||
80 | if($this->wallabag->store->userExists($_SERVER['REMOTE_USER'])) { | ||
81 | $this->wallabag->login($this->referer); | ||
82 | } else { | ||
83 | $this->wallabag->messages->add('e', _('login failed: user doesn\'t exist')); | ||
84 | Tools::logm('user doesn\'t exist'); | ||
85 | $tplFile = Tools::getTplFile('login'); | ||
86 | $tplVars['http_auth'] = 1; | ||
87 | } | ||
88 | } else { | ||
89 | $tplFile = Tools::getTplFile('login'); | ||
90 | $tplVars['http_auth'] = 0; | ||
91 | \Session::logout(); | ||
92 | } | ||
93 | |||
94 | $this->file = $tplFile; | ||
95 | $this->vars = array_merge($this->defaultVars, $tplVars); | ||
96 | } | ||
97 | |||
98 | private function _launchAction() | ||
99 | { | ||
100 | if (isset($_GET['login'])) { | ||
101 | // hello to you | ||
102 | $this->wallabag->login($this->referer); | ||
103 | } elseif (isset($_GET['feed']) && isset($_GET['user_id'])) { | ||
104 | $tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0); | ||
105 | $this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type']); | ||
106 | } | ||
107 | |||
108 | //allowed ONLY to logged in user | ||
109 | if (\Session::isLogged() === true) | ||
110 | { | ||
111 | if (isset($_GET['logout'])) { | ||
112 | // see you soon ! | ||
113 | $this->wallabag->logout(); | ||
114 | } elseif (isset($_GET['config'])) { | ||
115 | // update password | ||
116 | $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']); | ||
117 | } elseif (isset($_GET['newuser'])) { | ||
118 | $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser']); | ||
119 | } elseif (isset($_GET['deluser'])) { | ||
120 | $this->wallabag->deleteUser($_POST['password4deletinguser']); | ||
121 | } elseif (isset($_GET['epub'])) { | ||
122 | $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['id'], $_GET['value']); | ||
123 | $epub->run(); | ||
124 | } elseif (isset($_GET['import'])) { | ||
125 | $import = $this->wallabag->import(); | ||
126 | $tplVars = array_merge($this->vars, $import); | ||
127 | } elseif (isset($_GET['empty-cache'])) { | ||
128 | Tools::emptyCache(); | ||
129 | } elseif (isset($_GET['export'])) { | ||
130 | $this->wallabag->export(); | ||
131 | } elseif (isset($_GET['updatetheme'])) { | ||
132 | $this->wallabag->tpl->updateTheme($_POST['theme']); | ||
133 | } elseif (isset($_GET['updatelanguage'])) { | ||
134 | $this->wallabag->language->updateLanguage($_POST['language']); | ||
135 | } elseif (isset($_GET['uploadfile'])) { | ||
136 | $this->wallabag->uploadFile(); | ||
137 | } elseif (isset($_GET['feed']) && isset($_GET['action']) && $_GET['action'] == 'generate') { | ||
138 | $this->wallabag->updateToken(); | ||
139 | } | ||
140 | elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) { | ||
141 | $plainUrl = new Url(base64_encode($_GET['plainurl'])); | ||
142 | $this->wallabag->action('add', $plainUrl); | ||
143 | } | ||
144 | } | ||
145 | } | ||
146 | |||
147 | public function _render($file, $vars) | ||
148 | { | ||
149 | echo $this->wallabag->tpl->render($file, $vars); | ||
150 | } | ||
151 | } \ No newline at end of file | ||
diff --git a/inc/poche/Template.class.php b/inc/poche/Template.class.php new file mode 100644 index 00000000..b686f2ec --- /dev/null +++ b/inc/poche/Template.class.php | |||
@@ -0,0 +1,235 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | class Template extends Twig_Environment | ||
12 | { | ||
13 | protected $wallabag; | ||
14 | |||
15 | private $canRenderTemplates = TRUE; | ||
16 | private $currentTheme = ''; | ||
17 | |||
18 | public function __construct(Poche $wallabag) | ||
19 | { | ||
20 | $this->wallabag = $wallabag; | ||
21 | |||
22 | // Set up theme | ||
23 | $pocheUser = Session::getParam('poche_user'); | ||
24 | |||
25 | $themeDirectory = (is_null($pocheUser) ? DEFAULT_THEME : $pocheUser->getConfigValue('theme')); | ||
26 | |||
27 | if ($themeDirectory === false) { | ||
28 | $themeDirectory = DEFAULT_THEME; | ||
29 | } | ||
30 | |||
31 | $this->currentTheme = $themeDirectory; | ||
32 | |||
33 | if ($this->_themeIsInstalled() === array()) { | ||
34 | $this->_init(); | ||
35 | } | ||
36 | } | ||
37 | |||
38 | /** | ||
39 | * Returns true if selected theme is installed | ||
40 | * | ||
41 | * @return bool | ||
42 | */ | ||
43 | private function _themeIsInstalled() | ||
44 | { | ||
45 | $errors = array(); | ||
46 | |||
47 | // Twig is an absolute requirement for wallabag to function. | ||
48 | // Abort immediately if the Composer installer hasn't been run yet | ||
49 | if (!$this->canRenderTemplates) { | ||
50 | $errors[] = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. You can also download <a href="http://wllbg.org/vendor">vendor.zip</a> and extract it in your wallabag folder.'; | ||
51 | } | ||
52 | |||
53 | // Check if the selected theme and its requirements are present | ||
54 | $theme = $this->getTheme(); | ||
55 | if ($theme != '' && !is_dir(THEME . '/' . $theme)) { | ||
56 | $errors[] = 'The currently selected theme (' . $theme . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $theme . ')'; | ||
57 | $this->canRenderTemplates = FALSE; | ||
58 | } | ||
59 | |||
60 | $themeInfo = $this->getThemeInfo($theme); | ||
61 | if (isset($themeInfo['requirements']) && is_array($themeInfo['requirements'])) { | ||
62 | foreach ($themeInfo['requirements'] as $requiredTheme) { | ||
63 | if (! is_dir(THEME . '/' . $requiredTheme)) { | ||
64 | $errors[] = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $theme . ')'; | ||
65 | $this->canRenderTemplates = FALSE; | ||
66 | } | ||
67 | } | ||
68 | } | ||
69 | |||
70 | $currentErrors = (is_null(Session::getParam('errors'))? array() : Session::getParam('errors')); | ||
71 | Session::setParam('errors', array_merge($errors, $currentErrors)); | ||
72 | |||
73 | return $errors; | ||
74 | } | ||
75 | |||
76 | /** | ||
77 | * Initialization for templates | ||
78 | */ | ||
79 | private function _init() | ||
80 | { | ||
81 | $loaderChain = new Twig_Loader_Chain(); | ||
82 | $theme = $this->getTheme(); | ||
83 | |||
84 | // add the current theme as first to the loader chain | ||
85 | // so Twig will look there first for overridden template files | ||
86 | try { | ||
87 | $loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $theme)); | ||
88 | } catch (Twig_Error_Loader $e) { | ||
89 | # @todo isInstalled() should catch this, inject Twig later | ||
90 | die('The currently selected theme (' . $theme . ') does not seem to be properly installed (' . THEME . '/' . $theme .' is missing)'); | ||
91 | } | ||
92 | |||
93 | // add all required themes to the loader chain | ||
94 | $themeInfo = $this->getThemeInfo($theme); | ||
95 | if (isset($themeInfo['requirements']) && is_array($themeInfo['requirements'])) { | ||
96 | foreach ($themeInfo['requirements'] as $requiredTheme) { | ||
97 | try { | ||
98 | $loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $requiredTheme)); | ||
99 | } catch (Twig_Error_Loader $e) { | ||
100 | # @todo isInstalled() should catch this, inject Twig later | ||
101 | die('The required "' . $requiredTheme . '" theme is missing for the current theme (' . $theme . ')'); | ||
102 | } | ||
103 | } | ||
104 | } | ||
105 | |||
106 | if (DEBUG_POCHE) { | ||
107 | $twigParams = array(); | ||
108 | } else { | ||
109 | $twigParams = array('cache' => CACHE); | ||
110 | } | ||
111 | |||
112 | parent::__construct($loaderChain, $twigParams); | ||
113 | |||
114 | //$tpl = new Twig_Environment($loaderChain, $twigParams); | ||
115 | $this->addExtension(new Twig_Extensions_Extension_I18n()); | ||
116 | |||
117 | # filter to display domain name of an url | ||
118 | $filter = new Twig_SimpleFilter('getDomain', 'Tools::getDomain'); | ||
119 | $this->addFilter($filter); | ||
120 | |||
121 | # filter for reading time | ||
122 | $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime'); | ||
123 | $this->addFilter($filter); | ||
124 | } | ||
125 | |||
126 | /** | ||
127 | * Returns current theme | ||
128 | * | ||
129 | * @return string | ||
130 | */ | ||
131 | public function getTheme() | ||
132 | { | ||
133 | return $this->currentTheme; | ||
134 | } | ||
135 | |||
136 | /** | ||
137 | * Provides theme information by parsing theme.ini file if present in the theme's root directory. | ||
138 | * In all cases, the following data will be returned: | ||
139 | * - name: theme's name, or key if the theme is unnamed, | ||
140 | * - current: boolean informing if the theme is the current user theme. | ||
141 | * | ||
142 | * @param string $theme Theme key (directory name) | ||
143 | * @return array|boolean Theme information, or false if the theme doesn't exist. | ||
144 | */ | ||
145 | public function getThemeInfo($theme) | ||
146 | { | ||
147 | if (!is_dir(THEME . '/' . $theme)) { | ||
148 | return false; | ||
149 | } | ||
150 | |||
151 | $themeIniFile = THEME . '/' . $theme . '/theme.ini'; | ||
152 | $themeInfo = array(); | ||
153 | |||
154 | if (is_file($themeIniFile) && is_readable($themeIniFile)) { | ||
155 | $themeInfo = parse_ini_file($themeIniFile); | ||
156 | } | ||
157 | |||
158 | if ($themeInfo === false) { | ||
159 | $themeInfo = array(); | ||
160 | } | ||
161 | |||
162 | if (!isset($themeInfo['name'])) { | ||
163 | $themeInfo['name'] = $theme; | ||
164 | } | ||
165 | |||
166 | $themeInfo['current'] = ($theme === $this->getTheme()); | ||
167 | |||
168 | return $themeInfo; | ||
169 | } | ||
170 | |||
171 | /** | ||
172 | * Returns an array with installed themes | ||
173 | * | ||
174 | * @return array | ||
175 | */ | ||
176 | public function getInstalledThemes() | ||
177 | { | ||
178 | $handle = opendir(THEME); | ||
179 | $themes = array(); | ||
180 | |||
181 | while (($theme = readdir($handle)) !== false) { | ||
182 | # Themes are stored in a directory, so all directory names are themes | ||
183 | # @todo move theme installation data to database | ||
184 | if (!is_dir(THEME . '/' . $theme) || in_array($theme, array('.', '..'))) { | ||
185 | continue; | ||
186 | } | ||
187 | |||
188 | $themes[$theme] = $this->getThemeInfo($theme); | ||
189 | } | ||
190 | |||
191 | ksort($themes); | ||
192 | |||
193 | return $themes; | ||
194 | } | ||
195 | |||
196 | /** | ||
197 | * Update theme for the current user | ||
198 | * | ||
199 | * @param $newTheme | ||
200 | */ | ||
201 | public function updateTheme($newTheme) | ||
202 | { | ||
203 | # we are not going to change it to the current theme... | ||
204 | if ($newTheme == $this->getTheme()) { | ||
205 | $this->wallabag->messages->add('w', _('still using the "' . $this->getTheme() . '" theme!')); | ||
206 | Tools::redirect('?view=config'); | ||
207 | } | ||
208 | |||
209 | $themes = $this->getInstalledThemes(); | ||
210 | $actualTheme = false; | ||
211 | |||
212 | foreach (array_keys($themes) as $theme) { | ||
213 | if ($theme == $newTheme) { | ||
214 | $actualTheme = true; | ||
215 | break; | ||
216 | } | ||
217 | } | ||
218 | |||
219 | if (!$actualTheme) { | ||
220 | $this->wallabag->messages->add('e', _('that theme does not seem to be installed')); | ||
221 | Tools::redirect('?view=config'); | ||
222 | } | ||
223 | |||
224 | $this->wallabag->store->updateUserConfig($this->wallabag->user->getId(), 'theme', $newTheme); | ||
225 | $this->wallabag->messages->add('s', _('you have changed your theme preferences')); | ||
226 | |||
227 | $currentConfig = $_SESSION['poche_user']->config; | ||
228 | $currentConfig['theme'] = $newTheme; | ||
229 | |||
230 | $_SESSION['poche_user']->setConfig($currentConfig); | ||
231 | |||
232 | Tools::emptyCache(); | ||
233 | Tools::redirect('?view=config'); | ||
234 | } | ||
235 | } \ No newline at end of file | ||
diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php index cc01f403..93ec3fc6 100755 --- a/inc/poche/Tools.class.php +++ b/inc/poche/Tools.class.php | |||
@@ -5,19 +5,18 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | class Tools | 11 | final class Tools |
12 | { | 12 | { |
13 | /** | ||
14 | * Initialize PHP environment | ||
15 | */ | ||
13 | public static function initPhp() | 16 | public static function initPhp() |
14 | { | 17 | { |
15 | define('START_TIME', microtime(true)); | 18 | define('START_TIME', microtime(true)); |
16 | 19 | ||
17 | if (phpversion() < 5) { | ||
18 | die(_('Oops, it seems you don\'t have PHP 5.')); | ||
19 | } | ||
20 | |||
21 | function stripslashesDeep($value) { | 20 | function stripslashesDeep($value) { |
22 | return is_array($value) | 21 | return is_array($value) |
23 | ? array_map('stripslashesDeep', $value) | 22 | ? array_map('stripslashesDeep', $value) |
@@ -34,6 +33,11 @@ class Tools | |||
34 | register_shutdown_function('ob_end_flush'); | 33 | register_shutdown_function('ob_end_flush'); |
35 | } | 34 | } |
36 | 35 | ||
36 | /** | ||
37 | * Get wallabag instance URL | ||
38 | * | ||
39 | * @return string | ||
40 | */ | ||
37 | public static function getPocheUrl() | 41 | public static function getPocheUrl() |
38 | { | 42 | { |
39 | $https = (!empty($_SERVER['HTTPS']) | 43 | $https = (!empty($_SERVER['HTTPS']) |
@@ -50,6 +54,10 @@ class Tools | |||
50 | || ($https && $_SERVER["SERVER_PORT"] == '443') | 54 | || ($https && $_SERVER["SERVER_PORT"] == '443') |
51 | || ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection | 55 | || ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection |
52 | ? '' : ':' . $_SERVER["SERVER_PORT"]); | 56 | ? '' : ':' . $_SERVER["SERVER_PORT"]); |
57 | |||
58 | if (isset($_SERVER["HTTP_X_FORWARDED_PORT"])) { | ||
59 | $serverport = ':' . $_SERVER["HTTP_X_FORWARDED_PORT"]; | ||
60 | } | ||
53 | 61 | ||
54 | $scriptname = str_replace('/index.php', '/', $_SERVER["SCRIPT_NAME"]); | 62 | $scriptname = str_replace('/index.php', '/', $_SERVER["SCRIPT_NAME"]); |
55 | 63 | ||
@@ -67,6 +75,11 @@ class Tools | |||
67 | . $host . $serverport . $scriptname; | 75 | . $host . $serverport . $scriptname; |
68 | } | 76 | } |
69 | 77 | ||
78 | /** | ||
79 | * Redirects to a URL | ||
80 | * | ||
81 | * @param string $url | ||
82 | */ | ||
70 | public static function redirect($url = '') | 83 | public static function redirect($url = '') |
71 | { | 84 | { |
72 | if ($url === '') { | 85 | if ($url === '') { |
@@ -87,11 +100,18 @@ class Tools | |||
87 | $url = $ref; | 100 | $url = $ref; |
88 | } | 101 | } |
89 | } | 102 | } |
103 | |||
90 | self::logm('redirect to ' . $url); | 104 | self::logm('redirect to ' . $url); |
91 | header('Location: '.$url); | 105 | header('Location: '.$url); |
92 | exit(); | 106 | exit(); |
93 | } | 107 | } |
94 | 108 | ||
109 | /** | ||
110 | * Returns name of the template file to display | ||
111 | * | ||
112 | * @param $view | ||
113 | * @return string | ||
114 | */ | ||
95 | public static function getTplFile($view) | 115 | public static function getTplFile($view) |
96 | { | 116 | { |
97 | $views = array( | 117 | $views = array( |
@@ -99,13 +119,15 @@ class Tools | |||
99 | 'edit-tags', 'view', 'login', 'error' | 119 | 'edit-tags', 'view', 'login', 'error' |
100 | ); | 120 | ); |
101 | 121 | ||
102 | if (in_array($view, $views)) { | 122 | return (in_array($view, $views) ? $view . '.twig' : 'home.twig'); |
103 | return $view . '.twig'; | ||
104 | } | ||
105 | |||
106 | return 'home.twig'; | ||
107 | } | 123 | } |
108 | 124 | ||
125 | /** | ||
126 | * Download a file (typically, for downloading pictures on web server) | ||
127 | * | ||
128 | * @param $url | ||
129 | * @return bool|mixed|string | ||
130 | */ | ||
109 | public static function getFile($url) | 131 | public static function getFile($url) |
110 | { | 132 | { |
111 | $timeout = 15; | 133 | $timeout = 15; |
@@ -186,6 +208,11 @@ class Tools | |||
186 | } | 208 | } |
187 | } | 209 | } |
188 | 210 | ||
211 | /** | ||
212 | * Headers for JSON export | ||
213 | * | ||
214 | * @param $data | ||
215 | */ | ||
189 | public static function renderJson($data) | 216 | public static function renderJson($data) |
190 | { | 217 | { |
191 | header('Cache-Control: no-cache, must-revalidate'); | 218 | header('Cache-Control: no-cache, must-revalidate'); |
@@ -195,6 +222,11 @@ class Tools | |||
195 | exit(); | 222 | exit(); |
196 | } | 223 | } |
197 | 224 | ||
225 | /** | ||
226 | * Create new line in log file | ||
227 | * | ||
228 | * @param $message | ||
229 | */ | ||
198 | public static function logm($message) | 230 | public static function logm($message) |
199 | { | 231 | { |
200 | if (DEBUG_POCHE && php_sapi_name() != 'cli') { | 232 | if (DEBUG_POCHE && php_sapi_name() != 'cli') { |
@@ -204,36 +236,57 @@ class Tools | |||
204 | } | 236 | } |
205 | } | 237 | } |
206 | 238 | ||
239 | /** | ||
240 | * Encode a URL by using a salt | ||
241 | * | ||
242 | * @param $string | ||
243 | * @return string | ||
244 | */ | ||
207 | public static function encodeString($string) | 245 | public static function encodeString($string) |
208 | { | 246 | { |
209 | return sha1($string . SALT); | 247 | return sha1($string . SALT); |
210 | } | 248 | } |
211 | 249 | ||
250 | /** | ||
251 | * Cleans a variable | ||
252 | * | ||
253 | * @param $var | ||
254 | * @param string $default | ||
255 | * @return string | ||
256 | */ | ||
212 | public static function checkVar($var, $default = '') | 257 | public static function checkVar($var, $default = '') |
213 | { | 258 | { |
214 | return ((isset ($_REQUEST["$var"])) ? htmlentities($_REQUEST["$var"]) : $default); | 259 | return ((isset($_REQUEST["$var"])) ? htmlentities($_REQUEST["$var"]) : $default); |
215 | } | 260 | } |
216 | 261 | ||
262 | /** | ||
263 | * Returns the domain name for a URL | ||
264 | * | ||
265 | * @param $url | ||
266 | * @return string | ||
267 | */ | ||
217 | public static function getDomain($url) | 268 | public static function getDomain($url) |
218 | { | 269 | { |
219 | return parse_url($url, PHP_URL_HOST); | 270 | return parse_url($url, PHP_URL_HOST); |
220 | } | 271 | } |
221 | 272 | ||
222 | public static function getReadingTime($text) { | 273 | /** |
223 | $word = str_word_count(strip_tags($text)); | 274 | * For a given text, we calculate reading time for an article |
224 | $minutes = floor($word / 200); | 275 | * |
225 | $seconds = floor($word % 200 / (200 / 60)); | 276 | * @param $text |
226 | $time = array('minutes' => $minutes, 'seconds' => $seconds); | 277 | * @return float |
227 | 278 | */ | |
228 | return $minutes; | 279 | public static function getReadingTime($text) |
229 | } | 280 | { |
230 | 281 | return floor(str_word_count(strip_tags($text)) / 200); | |
231 | public static function getDocLanguage($userlanguage) { | ||
232 | $lang = explode('.', $userlanguage); | ||
233 | return str_replace('_', '-', $lang[0]); | ||
234 | } | 282 | } |
235 | 283 | ||
236 | public static function status($status_code) | 284 | /** |
285 | * Returns the correct header for a status code | ||
286 | * | ||
287 | * @param $status_code | ||
288 | */ | ||
289 | private static function _status($status_code) | ||
237 | { | 290 | { |
238 | if (strpos(php_sapi_name(), 'apache') !== false) { | 291 | if (strpos(php_sapi_name(), 'apache') !== false) { |
239 | 292 | ||
@@ -245,29 +298,24 @@ class Tools | |||
245 | } | 298 | } |
246 | } | 299 | } |
247 | 300 | ||
248 | public static function download_db() { | 301 | /** |
249 | header('Content-Disposition: attachment; filename="poche.sqlite.gz"'); | 302 | * Get the content for a given URL (by a call to FullTextFeed) |
250 | self::status(200); | 303 | * |
251 | 304 | * @param Url $url | |
252 | header('Content-Transfer-Encoding: binary'); | 305 | * @return mixed |
253 | header('Content-Type: application/octet-stream'); | 306 | */ |
254 | echo gzencode(file_get_contents(STORAGE_SQLITE)); | ||
255 | |||
256 | exit; | ||
257 | } | ||
258 | |||
259 | public static function getPageContent(Url $url) | 307 | public static function getPageContent(Url $url) |
260 | { | 308 | { |
261 | // Saving and clearing context | 309 | // Saving and clearing context |
262 | $REAL = array(); | 310 | $REAL = array(); |
263 | foreach( $GLOBALS as $key => $value ) { | 311 | foreach( $GLOBALS as $key => $value ) { |
264 | if( $key != 'GLOBALS' && $key != '_SESSION' && $key != 'HTTP_SESSION_VARS' ) { | 312 | if( $key != 'GLOBALS' && $key != '_SESSION' && $key != 'HTTP_SESSION_VARS' ) { |
265 | $GLOBALS[$key] = array(); | 313 | $GLOBALS[$key] = array(); |
266 | $REAL[$key] = $value; | 314 | $REAL[$key] = $value; |
267 | } | 315 | } |
268 | } | 316 | } |
269 | // Saving and clearing session | 317 | // Saving and clearing session |
270 | if ( isset($_SESSION) ) { | 318 | if (isset($_SESSION)) { |
271 | $REAL_SESSION = array(); | 319 | $REAL_SESSION = array(); |
272 | foreach( $_SESSION as $key => $value ) { | 320 | foreach( $_SESSION as $key => $value ) { |
273 | $REAL_SESSION[$key] = $value; | 321 | $REAL_SESSION[$key] = $value; |
@@ -279,12 +327,12 @@ class Tools | |||
279 | $scope = function() { | 327 | $scope = function() { |
280 | extract( func_get_arg(1) ); | 328 | extract( func_get_arg(1) ); |
281 | $_GET = $_REQUEST = array( | 329 | $_GET = $_REQUEST = array( |
282 | "url" => $url->getUrl(), | 330 | "url" => $url->getUrl(), |
283 | "max" => 5, | 331 | "max" => 5, |
284 | "links" => "preserve", | 332 | "links" => "preserve", |
285 | "exc" => "", | 333 | "exc" => "", |
286 | "format" => "json", | 334 | "format" => "json", |
287 | "submit" => "Create Feed" | 335 | "submit" => "Create Feed" |
288 | ); | 336 | ); |
289 | ob_start(); | 337 | ob_start(); |
290 | require func_get_arg(0); | 338 | require func_get_arg(0); |
@@ -292,23 +340,26 @@ class Tools | |||
292 | ob_end_clean(); | 340 | ob_end_clean(); |
293 | return $json; | 341 | return $json; |
294 | }; | 342 | }; |
295 | $json = $scope( "inc/3rdparty/makefulltextfeed.php", array("url" => $url) ); | 343 | |
344 | $json = $scope("inc/3rdparty/makefulltextfeed.php", array("url" => $url)); | ||
296 | 345 | ||
297 | // Clearing and restoring context | 346 | // Clearing and restoring context |
298 | foreach( $GLOBALS as $key => $value ) { | 347 | foreach ($GLOBALS as $key => $value) { |
299 | if( $key != "GLOBALS" && $key != "_SESSION" ) { | 348 | if($key != "GLOBALS" && $key != "_SESSION" ) { |
300 | unset($GLOBALS[$key]); | 349 | unset($GLOBALS[$key]); |
301 | } | 350 | } |
302 | } | 351 | } |
303 | foreach( $REAL as $key => $value ) { | 352 | foreach ($REAL as $key => $value) { |
304 | $GLOBALS[$key] = $value; | 353 | $GLOBALS[$key] = $value; |
305 | } | 354 | } |
355 | |||
306 | // Clearing and restoring session | 356 | // Clearing and restoring session |
307 | if ( isset($REAL_SESSION) ) { | 357 | if (isset($REAL_SESSION)) { |
308 | foreach( $_SESSION as $key => $value ) { | 358 | foreach($_SESSION as $key => $value) { |
309 | unset($_SESSION[$key]); | 359 | unset($_SESSION[$key]); |
310 | } | 360 | } |
311 | foreach( $REAL_SESSION as $key => $value ) { | 361 | |
362 | foreach($REAL_SESSION as $key => $value) { | ||
312 | $_SESSION[$key] = $value; | 363 | $_SESSION[$key] = $value; |
313 | } | 364 | } |
314 | } | 365 | } |
@@ -318,11 +369,48 @@ class Tools | |||
318 | 369 | ||
319 | /** | 370 | /** |
320 | * Returns whether we handle an AJAX (XMLHttpRequest) request. | 371 | * Returns whether we handle an AJAX (XMLHttpRequest) request. |
372 | * | ||
321 | * @return boolean whether we handle an AJAX (XMLHttpRequest) request. | 373 | * @return boolean whether we handle an AJAX (XMLHttpRequest) request. |
322 | */ | 374 | */ |
323 | public static function isAjaxRequest() | 375 | public static function isAjaxRequest() |
324 | { | 376 | { |
325 | return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']==='XMLHttpRequest'; | 377 | return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']==='XMLHttpRequest'; |
378 | } | ||
379 | |||
380 | /* | ||
381 | * Empty cache folder | ||
382 | */ | ||
383 | public static function emptyCache() | ||
384 | { | ||
385 | $files = new RecursiveIteratorIterator( | ||
386 | new RecursiveDirectoryIterator(CACHE, RecursiveDirectoryIterator::SKIP_DOTS), | ||
387 | RecursiveIteratorIterator::CHILD_FIRST | ||
388 | ); | ||
389 | |||
390 | foreach ($files as $fileInfo) { | ||
391 | $todo = ($fileInfo->isDir() ? 'rmdir' : 'unlink'); | ||
392 | $todo($fileInfo->getRealPath()); | ||
393 | } | ||
394 | |||
395 | Tools::logm('empty cache'); | ||
396 | Tools::redirect(); | ||
397 | } | ||
398 | |||
399 | public static function generateToken() | ||
400 | { | ||
401 | if (ini_get('open_basedir') === '') { | ||
402 | if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { | ||
403 | // alternative to /dev/urandom for Windows | ||
404 | $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); | ||
405 | } else { | ||
406 | $token = substr(base64_encode(file_get_contents('/dev/urandom', false, null, 0, 20)), 0, 15); | ||
407 | } | ||
408 | } | ||
409 | else { | ||
410 | $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); | ||
411 | } | ||
412 | |||
413 | return str_replace('+', '', $token); | ||
326 | } | 414 | } |
327 | 415 | ||
328 | } | 416 | } |
diff --git a/inc/poche/Url.class.php b/inc/poche/Url.class.php index aba236fa..d9172b7d 100644 --- a/inc/poche/Url.class.php +++ b/inc/poche/Url.class.php | |||
@@ -5,7 +5,7 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | class Url | 11 | class Url |
diff --git a/inc/poche/User.class.php b/inc/poche/User.class.php index cc8bec65..eaadd3e5 100644 --- a/inc/poche/User.class.php +++ b/inc/poche/User.class.php | |||
@@ -5,7 +5,7 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | class User | 11 | class User |
@@ -44,7 +44,14 @@ class User | |||
44 | $this->config = $config; | 44 | $this->config = $config; |
45 | } | 45 | } |
46 | 46 | ||
47 | public function getConfigValue($name) { | 47 | /** |
48 | * Returns configuration entry for a user | ||
49 | * | ||
50 | * @param $name | ||
51 | * @return bool | ||
52 | */ | ||
53 | public function getConfigValue($name) | ||
54 | { | ||
48 | return (isset($this->config[$name])) ? $this->config[$name] : FALSE; | 55 | return (isset($this->config[$name])) ? $this->config[$name] : FALSE; |
49 | } | 56 | } |
50 | } \ No newline at end of file | 57 | } \ No newline at end of file |
diff --git a/inc/poche/WallabagEpub.class.php b/inc/poche/WallabagEpub.class.php new file mode 100644 index 00000000..9c4d3566 --- /dev/null +++ b/inc/poche/WallabagEpub.class.php | |||
@@ -0,0 +1,135 @@ | |||
1 | <?php | ||
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
11 | class WallabagEpub | ||
12 | { | ||
13 | protected $wallabag; | ||
14 | protected $method; | ||
15 | protected $value; | ||
16 | |||
17 | public function __construct(Poche $wallabag, $method, $value) | ||
18 | { | ||
19 | $this->wallabag = $wallabag; | ||
20 | $this->method = $method; | ||
21 | $this->value = $value; | ||
22 | } | ||
23 | |||
24 | /** | ||
25 | * handle ePub | ||
26 | */ | ||
27 | public function run() | ||
28 | { | ||
29 | switch ($this->method) { | ||
30 | case 'id': | ||
31 | $entryID = filter_var($this->value, FILTER_SANITIZE_NUMBER_INT); | ||
32 | $entry = $this->wallabag->store->retrieveOneById($entryID, $this->wallabag->user->getId()); | ||
33 | $entries = array($entry); | ||
34 | $bookTitle = $entry['title']; | ||
35 | $bookFileName = substr($bookTitle, 0, 200); | ||
36 | break; | ||
37 | case 'all': | ||
38 | $entries = $this->wallabag->store->retrieveAll($this->wallabag->user->getId()); | ||
39 | $bookTitle = sprintf(_('All my articles on '), date(_('d.m.y'))); #translatable because each country has it's own date format system | ||
40 | $bookFileName = _('Allarticles') . date(_('dmY')); | ||
41 | break; | ||
42 | case 'tag': | ||
43 | $tag = filter_var($this->value, FILTER_SANITIZE_STRING); | ||
44 | $tags_id = $this->wallabag->store->retrieveAllTags($this->wallabag->user->getId(), $tag); | ||
45 | $tag_id = $tags_id[0]["id"]; // we take the first result, which is supposed to match perfectly. There must be a workaround. | ||
46 | $entries = $this->wallabag->store->retrieveEntriesByTag($tag_id, $this->wallabag->user->getId()); | ||
47 | $bookTitle = sprintf(_('Articles tagged %s'), $tag); | ||
48 | $bookFileName = substr(sprintf(_('Tag %s'), $tag), 0, 200); | ||
49 | break; | ||
50 | case 'category': | ||
51 | $category = filter_var($this->value, FILTER_SANITIZE_STRING); | ||
52 | $entries = $this->wallabag->store->getEntriesByView($category, $this->wallabag->user->getId()); | ||
53 | $bookTitle = sprintf(_('All articles in category %s'), $category); | ||
54 | $bookFileName = substr(sprintf(_('Category %s'), $category), 0, 200); | ||
55 | break; | ||
56 | case 'search': | ||
57 | $search = filter_var($this->value, FILTER_SANITIZE_STRING); | ||
58 | $entries = $this->store->search($search, $this->wallabag->user->getId()); | ||
59 | $bookTitle = sprintf(_('All articles for search %s'), $search); | ||
60 | $bookFileName = substr(sprintf(_('Search %s'), $search), 0, 200); | ||
61 | break; | ||
62 | case 'default': | ||
63 | die(_('Uh, there is a problem while generating epub.')); | ||
64 | } | ||
65 | |||
66 | $content_start = | ||
67 | "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" | ||
68 | . "<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:epub=\"http://www.idpf.org/2007/ops\">\n" | ||
69 | . "<head>" | ||
70 | . "<meta http-equiv=\"Default-Style\" content=\"text/html; charset=utf-8\" />\n" | ||
71 | . "<title>wallabag articles book</title>\n" | ||
72 | . "</head>\n" | ||
73 | . "<body>\n"; | ||
74 | |||
75 | $bookEnd = "</body>\n</html>\n"; | ||
76 | |||
77 | $log = new Logger("wallabag", TRUE); | ||
78 | $fileDir = CACHE; | ||
79 | |||
80 | $book = new EPub(EPub::BOOK_VERSION_EPUB3, DEBUG_POCHE); | ||
81 | $log->logLine("new EPub()"); | ||
82 | $log->logLine("EPub class version: " . EPub::VERSION); | ||
83 | $log->logLine("EPub Req. Zip version: " . EPub::REQ_ZIP_VERSION); | ||
84 | $log->logLine("Zip version: " . Zip::VERSION); | ||
85 | $log->logLine("getCurrentServerURL: " . $book->getCurrentServerURL()); | ||
86 | $log->logLine("getCurrentPageURL..: " . $book->getCurrentPageURL()); | ||
87 | |||
88 | $book->setTitle($bookTitle); | ||
89 | $book->setIdentifier("http://$_SERVER[HTTP_HOST]", EPub::IDENTIFIER_URI); // Could also be the ISBN number, prefered for published books, or a UUID. | ||
90 | //$book->setLanguage("en"); // Not needed, but included for the example, Language is mandatory, but EPub defaults to "en". Use RFC3066 Language codes, such as "en", "da", "fr" etc. | ||
91 | $book->setDescription(_("Some articles saved on my wallabag")); | ||
92 | $book->setAuthor("wallabag", "wallabag"); | ||
93 | $book->setPublisher("wallabag", "wallabag"); // I hope this is a non existant address :) | ||
94 | $book->setDate(time()); // Strictly not needed as the book date defaults to time(). | ||
95 | //$book->setRights("Copyright and licence information specific for the book."); // As this is generated, this _could_ contain the name or licence information of the user who purchased the book, if needed. If this is used that way, the identifier must also be made unique for the book. | ||
96 | $book->setSourceURL("http://$_SERVER[HTTP_HOST]"); | ||
97 | |||
98 | $book->addDublinCoreMetadata(DublinCore::CONTRIBUTOR, "PHP"); | ||
99 | $book->addDublinCoreMetadata(DublinCore::CONTRIBUTOR, "wallabag"); | ||
100 | |||
101 | $cssData = "body {\n margin-left: .5em;\n margin-right: .5em;\n text-align: justify;\n}\n\np {\n font-family: serif;\n font-size: 10pt;\n text-align: justify;\n text-indent: 1em;\n margin-top: 0px;\n margin-bottom: 1ex;\n}\n\nh1, h2 {\n font-family: sans-serif;\n font-style: italic;\n text-align: center;\n background-color: #6b879c;\n color: white;\n width: 100%;\n}\n\nh1 {\n margin-bottom: 2px;\n}\n\nh2 {\n margin-top: -2px;\n margin-bottom: 2px;\n}\n"; | ||
102 | |||
103 | $log->logLine("Add Cover"); | ||
104 | |||
105 | $fullTitle = "<h1> " . $bookTitle . "</h1>\n"; | ||
106 | |||
107 | $book->setCoverImage("Cover.png", file_get_contents("themes/baggy/img/apple-touch-icon-152.png"), "image/png", $fullTitle); | ||
108 | |||
109 | $cover = $content_start . '<div style="text-align:center;"><p>' . _('Produced by wallabag with PHPePub') . '</p><p>'. _('Please open <a href="https://github.com/wallabag/wallabag/issues" >an issue</a> if you have trouble with the display of this E-Book on your device.') . '</p></div>' . $bookEnd; | ||
110 | |||
111 | //$book->addChapter("Table of Contents", "TOC.xhtml", NULL, false, EPub::EXTERNAL_REF_IGNORE); | ||
112 | $book->addChapter("Notices", "Cover2.html", $cover); | ||
113 | |||
114 | $book->buildTOC(); | ||
115 | |||
116 | foreach ($entries as $entry) { //set tags as subjects | ||
117 | $tags = $this->wallabag->store->retrieveTagsByEntry($entry['id']); | ||
118 | foreach ($tags as $tag) { | ||
119 | $book->setSubject($tag['value']); | ||
120 | } | ||
121 | |||
122 | $log->logLine("Set up parameters"); | ||
123 | |||
124 | $chapter = $content_start . $entry['content'] . $bookEnd; | ||
125 | $book->addChapter($entry['title'], htmlspecialchars($entry['title']) . ".html", $chapter, true, EPub::EXTERNAL_REF_ADD); | ||
126 | $log->logLine("Added chapter " . $entry['title']); | ||
127 | } | ||
128 | |||
129 | if (DEBUG_POCHE) { | ||
130 | $book->addChapter("Log", "Log.html", $content_start . $log->getLog() . "\n</pre>" . $bookEnd); // log generation | ||
131 | } | ||
132 | $book->finalize(); | ||
133 | $zipData = $book->sendBook($bookFileName); | ||
134 | } | ||
135 | } \ No newline at end of file | ||
diff --git a/inc/poche/config.inc.default.php b/inc/poche/config.inc.default.php index 95f727c6..2a458544 100755 --- a/inc/poche/config.inc.default.php +++ b/inc/poche/config.inc.default.php | |||
@@ -5,7 +5,7 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | @define ('SALT', ''); # put a strong string here | 11 | @define ('SALT', ''); # put a strong string here |
@@ -59,7 +59,7 @@ | |||
59 | @define ('LOCALE', ROOT . '/locale'); | 59 | @define ('LOCALE', ROOT . '/locale'); |
60 | @define ('CACHE', ROOT . '/cache'); | 60 | @define ('CACHE', ROOT . '/cache'); |
61 | 61 | ||
62 | @define ('PAGINATION', '10'); | 62 | @define ('PAGINATION', '12'); |
63 | 63 | ||
64 | //limit for download of articles during import | 64 | //limit for download of articles during import |
65 | @define ('IMPORT_LIMIT', 5); | 65 | @define ('IMPORT_LIMIT', 5); |
diff --git a/inc/poche/global.inc.php b/inc/poche/global.inc.php index 8cf86d03..b8c487e3 100755 --- a/inc/poche/global.inc.php +++ b/inc/poche/global.inc.php | |||
@@ -5,7 +5,7 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | # the poche system root directory (/inc) | 11 | # the poche system root directory (/inc) |
@@ -18,6 +18,11 @@ require_once INCLUDES . '/poche/Tools.class.php'; | |||
18 | require_once INCLUDES . '/poche/User.class.php'; | 18 | require_once INCLUDES . '/poche/User.class.php'; |
19 | require_once INCLUDES . '/poche/Url.class.php'; | 19 | require_once INCLUDES . '/poche/Url.class.php'; |
20 | require_once INCLUDES . '/3rdparty/class.messages.php'; | 20 | require_once INCLUDES . '/3rdparty/class.messages.php'; |
21 | require_once ROOT . '/vendor/autoload.php'; | ||
22 | require_once INCLUDES . '/poche/Template.class.php'; | ||
23 | require_once INCLUDES . '/poche/Language.class.php'; | ||
24 | require_once INCLUDES . '/poche/Routing.class.php'; | ||
25 | require_once INCLUDES . '/poche/WallabagEpub.class.php'; | ||
21 | require_once INCLUDES . '/poche/Poche.class.php'; | 26 | require_once INCLUDES . '/poche/Poche.class.php'; |
22 | 27 | ||
23 | require_once INCLUDES . '/poche/Database.class.php'; | 28 | require_once INCLUDES . '/poche/Database.class.php'; |
@@ -36,25 +41,18 @@ require_once INCLUDES . '/3rdparty/libraries/PHPePub/Logger.php'; | |||
36 | require_once INCLUDES . '/3rdparty/libraries/PHPePub/EPub.php'; | 41 | require_once INCLUDES . '/3rdparty/libraries/PHPePub/EPub.php'; |
37 | require_once INCLUDES . '/3rdparty/libraries/PHPePub/EPubChapterSplitter.php'; | 42 | require_once INCLUDES . '/3rdparty/libraries/PHPePub/EPubChapterSplitter.php'; |
38 | 43 | ||
39 | # Composer its autoloader for automatically loading Twig | ||
40 | if (! file_exists(ROOT . '/vendor/autoload.php')) { | ||
41 | Poche::$canRenderTemplates = false; | ||
42 | } else { | ||
43 | require_once ROOT . '/vendor/autoload.php'; | ||
44 | } | ||
45 | |||
46 | # system configuration; database credentials et caetera | 44 | # system configuration; database credentials et caetera |
47 | if (! file_exists(INCLUDES . '/poche/config.inc.php')) { | 45 | require_once INCLUDES . '/poche/config.inc.php'; |
48 | Poche::$configFileAvailable = false; | 46 | require_once INCLUDES . '/poche/config.inc.default.php'; |
49 | } else { | ||
50 | require_once INCLUDES . '/poche/config.inc.php'; | ||
51 | require_once INCLUDES . '/poche/config.inc.default.php'; | ||
52 | } | ||
53 | 47 | ||
54 | if (Poche::$configFileAvailable && DOWNLOAD_PICTURES) { | 48 | if (DOWNLOAD_PICTURES) { |
55 | require_once INCLUDES . '/poche/pochePictures.php'; | 49 | require_once INCLUDES . '/poche/pochePictures.php'; |
56 | } | 50 | } |
57 | 51 | ||
58 | if (!ini_get('date.timezone') || !@date_default_timezone_set(ini_get('date.timezone'))) { | 52 | if (!ini_get('date.timezone') || !@date_default_timezone_set(ini_get('date.timezone'))) { |
59 | date_default_timezone_set('UTC'); | 53 | date_default_timezone_set('UTC'); |
60 | } \ No newline at end of file | 54 | } |
55 | |||
56 | if (defined('ERROR_REPORTING')) { | ||
57 | error_reporting(ERROR_REPORTING); | ||
58 | } | ||
diff --git a/inc/poche/pochePictures.php b/inc/poche/pochePictures.php index 7c319a85..52394c70 100644 --- a/inc/poche/pochePictures.php +++ b/inc/poche/pochePictures.php | |||
@@ -5,154 +5,164 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | /** | 11 | |
12 | * On modifie les URLS des images dans le corps de l'article | 12 | final class Picture |
13 | */ | ||
14 | function filtre_picture($content, $url, $id) | ||
15 | { | 13 | { |
16 | $matches = array(); | 14 | /** |
17 | $processing_pictures = array(); // list of processing image to avoid processing the same pictures twice | 15 | * Changing pictures URL in article content |
18 | preg_match_all('#<\s*(img)[^>]+src="([^"]*)"[^>]*>#Si', $content, $matches, PREG_SET_ORDER); | 16 | */ |
19 | foreach($matches as $i => $link) { | 17 | public static function filterPicture($content, $url, $id) |
20 | $link[1] = trim($link[1]); | 18 | { |
21 | if (!preg_match('#^(([a-z]+://)|(\#))#', $link[1])) { | 19 | $matches = array(); |
22 | $absolute_path = get_absolute_link($link[2],$url); | 20 | $processing_pictures = array(); // list of processing image to avoid processing the same pictures twice |
23 | $filename = basename(parse_url($absolute_path, PHP_URL_PATH)); | 21 | preg_match_all('#<\s*(img)[^>]+src="([^"]*)"[^>]*>#Si', $content, $matches, PREG_SET_ORDER); |
24 | $directory = create_assets_directory($id); | 22 | foreach($matches as $i => $link) { |
25 | $fullpath = $directory . '/' . $filename; | 23 | $link[1] = trim($link[1]); |
26 | 24 | if (!preg_match('#^(([a-z]+://)|(\#))#', $link[1])) { | |
27 | if (in_array($absolute_path, $processing_pictures) === true) { | 25 | $absolute_path = self::_getAbsoluteLink($link[2], $url); |
28 | // replace picture's URL only if processing is OK : already processing -> go to next picture | 26 | $filename = basename(parse_url($absolute_path, PHP_URL_PATH)); |
29 | continue; | 27 | $directory = self::_createAssetsDirectory($id); |
28 | $fullpath = $directory . '/' . $filename; | ||
29 | |||
30 | if (in_array($absolute_path, $processing_pictures) === true) { | ||
31 | // replace picture's URL only if processing is OK : already processing -> go to next picture | ||
32 | continue; | ||
33 | } | ||
34 | |||
35 | if (self::_downloadPictures($absolute_path, $fullpath) === true) { | ||
36 | $content = str_replace($matches[$i][2], Tools::getPocheUrl() . $fullpath, $content); | ||
37 | } | ||
38 | |||
39 | $processing_pictures[] = $absolute_path; | ||
30 | } | 40 | } |
31 | |||
32 | if (download_pictures($absolute_path, $fullpath) === true) { | ||
33 | $content = str_replace($matches[$i][2], $fullpath, $content); | ||
34 | } | ||
35 | |||
36 | $processing_pictures[] = $absolute_path; | ||
37 | } | 41 | } |
38 | 42 | ||
43 | return $content; | ||
39 | } | 44 | } |
40 | 45 | ||
41 | return $content; | 46 | /** |
42 | } | 47 | * Get absolute URL |
48 | */ | ||
49 | private static function _getAbsoluteLink($relativeLink, $url) | ||
50 | { | ||
51 | /* return if already absolute URL */ | ||
52 | if (parse_url($relativeLink, PHP_URL_SCHEME) != '') return $relativeLink; | ||
43 | 53 | ||
44 | /** | 54 | /* queries and anchors */ |
45 | * Retourne le lien absolu | 55 | if ($relativeLink[0]=='#' || $relativeLink[0]=='?') return $url . $relativeLink; |
46 | */ | ||
47 | function get_absolute_link($relative_link, $url) { | ||
48 | /* return if already absolute URL */ | ||
49 | if (parse_url($relative_link, PHP_URL_SCHEME) != '') return $relative_link; | ||
50 | 56 | ||
51 | /* queries and anchors */ | 57 | /* parse base URL and convert to local variables: |
52 | if ($relative_link[0]=='#' || $relative_link[0]=='?') return $url . $relative_link; | 58 | $scheme, $host, $path */ |
59 | extract(parse_url($url)); | ||
53 | 60 | ||
54 | /* parse base URL and convert to local variables: | 61 | /* remove non-directory element from path */ |
55 | $scheme, $host, $path */ | 62 | $path = preg_replace('#/[^/]*$#', '', $path); |
56 | extract(parse_url($url)); | ||
57 | 63 | ||
58 | /* remove non-directory element from path */ | 64 | /* destroy path if relative url points to root */ |
59 | $path = preg_replace('#/[^/]*$#', '', $path); | 65 | if ($relativeLink[0] == '/') $path = ''; |
60 | 66 | ||
61 | /* destroy path if relative url points to root */ | 67 | /* dirty absolute URL */ |
62 | if ($relative_link[0] == '/') $path = ''; | 68 | $abs = $host . $path . '/' . $relativeLink; |
63 | 69 | ||
64 | /* dirty absolute URL */ | 70 | /* replace '//' or '/./' or '/foo/../' with '/' */ |
65 | $abs = $host . $path . '/' . $relative_link; | 71 | $re = array('#(/\.?/)#', '#/(?!\.\.)[^/]+/\.\./#'); |
72 | for($n=1; $n>0; $abs=preg_replace($re, '/', $abs, -1, $n)) {} | ||
66 | 73 | ||
67 | /* replace '//' or '/./' or '/foo/../' with '/' */ | 74 | /* absolute URL is ready! */ |
68 | $re = array('#(/\.?/)#', '#/(?!\.\.)[^/]+/\.\./#'); | 75 | return $scheme.'://'.$abs; |
69 | for($n=1; $n>0; $abs=preg_replace($re, '/', $abs, -1, $n)) {} | 76 | } |
70 | 77 | ||
71 | /* absolute URL is ready! */ | 78 | /** |
72 | return $scheme.'://'.$abs; | 79 | * Downloading pictures |
73 | } | 80 | * |
81 | * @return bool true if the download and processing is OK, false else | ||
82 | */ | ||
83 | private static function _downloadPictures($absolute_path, $fullpath) | ||
84 | { | ||
85 | $rawdata = Tools::getFile($absolute_path); | ||
86 | $fullpath = urldecode($fullpath); | ||
87 | |||
88 | if(file_exists($fullpath)) { | ||
89 | unlink($fullpath); | ||
90 | } | ||
74 | 91 | ||
75 | /** | 92 | // check extension |
76 | * Téléchargement des images | 93 | $file_ext = strrchr($fullpath, '.'); |
77 | * | 94 | $whitelist = array(".jpg",".jpeg",".gif",".png"); |
78 | * @return bool true if the download and processing is OK, false else | 95 | if (!(in_array($file_ext, $whitelist))) { |
79 | */ | 96 | Tools::logm('processed image with not allowed extension. Skipping ' . $fullpath); |
80 | function download_pictures($absolute_path, $fullpath) | 97 | return false; |
81 | { | 98 | } |
82 | $rawdata = Tools::getFile($absolute_path); | ||
83 | $fullpath = urldecode($fullpath); | ||
84 | 99 | ||
85 | if(file_exists($fullpath)) { | 100 | // check headers |
86 | unlink($fullpath); | 101 | $imageinfo = getimagesize($absolute_path); |
87 | } | 102 | if ($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg'&& $imageinfo['mime'] != 'image/jpg'&& $imageinfo['mime'] != 'image/png') { |
88 | 103 | Tools::logm('processed image with bad header. Skipping ' . $fullpath); | |
89 | // check extension | 104 | return false; |
90 | $file_ext = strrchr($fullpath, '.'); | 105 | } |
91 | $whitelist = array(".jpg",".jpeg",".gif",".png"); | ||
92 | if (!(in_array($file_ext, $whitelist))) { | ||
93 | Tools::logm('processed image with not allowed extension. Skipping ' . $fullpath); | ||
94 | return false; | ||
95 | } | ||
96 | |||
97 | // check headers | ||
98 | $imageinfo = getimagesize($absolute_path); | ||
99 | if ($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg'&& $imageinfo['mime'] != 'image/jpg'&& $imageinfo['mime'] != 'image/png') { | ||
100 | Tools::logm('processed image with bad header. Skipping ' . $fullpath); | ||
101 | return false; | ||
102 | } | ||
103 | |||
104 | // regenerate image | ||
105 | $im = imagecreatefromstring($rawdata); | ||
106 | if ($im === false) { | ||
107 | Tools::logm('error while regenerating image ' . $fullpath); | ||
108 | return false; | ||
109 | } | ||
110 | |||
111 | switch ($imageinfo['mime']) { | ||
112 | case 'image/gif': | ||
113 | $result = imagegif($im, $fullpath); | ||
114 | break; | ||
115 | case 'image/jpeg': | ||
116 | case 'image/jpg': | ||
117 | $result = imagejpeg($im, $fullpath, REGENERATE_PICTURES_QUALITY); | ||
118 | break; | ||
119 | case 'image/png': | ||
120 | $result = imagepng($im, $fullpath, ceil(REGENERATE_PICTURES_QUALITY / 100 * 9)); | ||
121 | break; | ||
122 | } | ||
123 | imagedestroy($im); | ||
124 | |||
125 | return $result; | ||
126 | } | ||
127 | 106 | ||
128 | /** | 107 | // regenerate image |
129 | * Crée un répertoire de médias pour l'article | 108 | $im = imagecreatefromstring($rawdata); |
130 | */ | 109 | if ($im === false) { |
131 | function create_assets_directory($id) | 110 | Tools::logm('error while regenerating image ' . $fullpath); |
132 | { | 111 | return false; |
133 | $assets_path = ABS_PATH; | 112 | } |
134 | if(!is_dir($assets_path)) { | 113 | |
135 | mkdir($assets_path, 0715); | 114 | switch ($imageinfo['mime']) { |
136 | } | 115 | case 'image/gif': |
116 | $result = imagegif($im, $fullpath); | ||
117 | break; | ||
118 | case 'image/jpeg': | ||
119 | case 'image/jpg': | ||
120 | $result = imagejpeg($im, $fullpath, REGENERATE_PICTURES_QUALITY); | ||
121 | break; | ||
122 | case 'image/png': | ||
123 | $result = imagepng($im, $fullpath, ceil(REGENERATE_PICTURES_QUALITY / 100 * 9)); | ||
124 | break; | ||
125 | } | ||
126 | imagedestroy($im); | ||
137 | 127 | ||
138 | $article_directory = $assets_path . $id; | 128 | return $result; |
139 | if(!is_dir($article_directory)) { | ||
140 | mkdir($article_directory, 0715); | ||
141 | } | 129 | } |
142 | 130 | ||
143 | return $article_directory; | 131 | /** |
144 | } | 132 | * Create a directory for an article |
133 | * | ||
134 | * @param $id ID of the article | ||
135 | * @return string | ||
136 | */ | ||
137 | private static function _createAssetsDirectory($id) | ||
138 | { | ||
139 | $assets_path = ABS_PATH; | ||
140 | if (!is_dir($assets_path)) { | ||
141 | mkdir($assets_path, 0715); | ||
142 | } | ||
145 | 143 | ||
146 | /** | 144 | $article_directory = $assets_path . $id; |
147 | * Suppression du répertoire d'images | 145 | if (!is_dir($article_directory)) { |
148 | */ | 146 | mkdir($article_directory, 0715); |
149 | function remove_directory($directory) | 147 | } |
150 | { | 148 | |
151 | if(is_dir($directory)) { | 149 | return $article_directory; |
152 | $files = array_diff(scandir($directory), array('.','..')); | 150 | } |
153 | foreach ($files as $file) { | 151 | |
154 | (is_dir("$directory/$file")) ? remove_directory("$directory/$file") : unlink("$directory/$file"); | 152 | /** |
153 | * Remove the directory | ||
154 | * | ||
155 | * @param $directory | ||
156 | * @return bool | ||
157 | */ | ||
158 | public static function removeDirectory($directory) | ||
159 | { | ||
160 | if (is_dir($directory)) { | ||
161 | $files = array_diff(scandir($directory), array('.','..')); | ||
162 | foreach ($files as $file) { | ||
163 | (is_dir("$directory/$file")) ? self::removeDirectory("$directory/$file") : unlink("$directory/$file"); | ||
164 | } | ||
165 | return rmdir($directory); | ||
155 | } | 166 | } |
156 | return rmdir($directory); | ||
157 | } | 167 | } |
158 | } | 168 | } \ No newline at end of file |
@@ -5,139 +5,18 @@ | |||
5 | * @category wallabag | 5 | * @category wallabag |
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | 6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> |
7 | * @copyright 2013 | 7 | * @copyright 2013 |
8 | * @license http://www.wtfpl.net/ see COPYING file | 8 | * @license http://opensource.org/licenses/MIT see COPYING file |
9 | */ | 9 | */ |
10 | 10 | ||
11 | define ('POCHE', '1.7.2'); | 11 | define ('POCHE', '1.8.0'); |
12 | require 'check_essentials.php'; | ||
12 | require 'check_setup.php'; | 13 | require 'check_setup.php'; |
13 | require_once 'inc/poche/global.inc.php'; | 14 | require_once 'inc/poche/global.inc.php'; |
14 | 15 | ||
15 | # Set error reporting level | 16 | // Start session |
16 | if (defined('ERROR_REPORTING')) { | 17 | Session::$sessionName = 'wallabag'; |
17 | error_reporting(ERROR_REPORTING); | ||
18 | } | ||
19 | |||
20 | # Start session | ||
21 | Session::$sessionName = 'poche'; | ||
22 | Session::init(); | 18 | Session::init(); |
23 | 19 | ||
24 | # Start Poche | 20 | // Let's rock ! |
25 | $poche = new Poche(); | 21 | $wallabag = new Poche(); |
26 | $notInstalledMessage = $poche -> getNotInstalledMessage(); | 22 | $wallabag->run(); \ No newline at end of file |
27 | |||
28 | # Parse GET & REFERER vars | ||
29 | $referer = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER']; | ||
30 | $view = Tools::checkVar('view', 'home'); | ||
31 | $action = Tools::checkVar('action'); | ||
32 | $id = Tools::checkVar('id'); | ||
33 | $_SESSION['sort'] = Tools::checkVar('sort', 'id'); | ||
34 | $url = new Url((isset ($_GET['url'])) ? $_GET['url'] : ''); | ||
35 | |||
36 | # vars to _always_ send to templates | ||
37 | $tpl_vars = array( | ||
38 | 'referer' => $referer, | ||
39 | 'view' => $view, | ||
40 | 'poche_url' => Tools::getPocheUrl(), | ||
41 | 'title' => _('wallabag, a read it later open source system'), | ||
42 | 'token' => Session::getToken(), | ||
43 | 'theme' => $poche->getTheme() | ||
44 | ); | ||
45 | |||
46 | if (! empty($notInstalledMessage)) { | ||
47 | if (! Poche::$canRenderTemplates || ! Poche::$configFileAvailable) { | ||
48 | # We cannot use Twig to display the error message | ||
49 | echo '<h1>Errors</h1><ol>'; | ||
50 | foreach ($notInstalledMessage as $message) { | ||
51 | echo '<li>' . $message . '</li>'; | ||
52 | } | ||
53 | echo '</ol>'; | ||
54 | die(); | ||
55 | } else { | ||
56 | # Twig is installed, put the error message in the template | ||
57 | $tpl_file = Tools::getTplFile('error'); | ||
58 | $tpl_vars = array_merge($tpl_vars, array('msg' => $poche->getNotInstalledMessage())); | ||
59 | echo $poche->tpl->render($tpl_file, $tpl_vars); | ||
60 | exit; | ||
61 | } | ||
62 | } | ||
63 | |||
64 | # poche actions | ||
65 | if (isset($_GET['login'])) { | ||
66 | # hello to you | ||
67 | $poche->login($referer); | ||
68 | } elseif (isset($_GET['feed']) && isset($_GET['user_id'])) { | ||
69 | $tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0); | ||
70 | $poche->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type']); | ||
71 | } | ||
72 | |||
73 | if (Session::isLogged()) { | ||
74 | |||
75 | if (isset($_GET['logout'])) { | ||
76 | # see you soon ! | ||
77 | $poche->logout(); | ||
78 | } elseif (isset($_GET['config'])) { | ||
79 | # Update password | ||
80 | $poche->updatePassword(); | ||
81 | } elseif (isset($_GET['newuser'])) { | ||
82 | $poche->createNewUser(); | ||
83 | } elseif (isset($_GET['deluser'])) { | ||
84 | $poche->deleteUser(); | ||
85 | } elseif (isset($_GET['epub'])) { | ||
86 | $poche->createEpub(); | ||
87 | } elseif (isset($_GET['import'])) { | ||
88 | $import = $poche->import(); | ||
89 | $tpl_vars = array_merge($tpl_vars, $import); | ||
90 | } elseif (isset($_GET['download'])) { | ||
91 | Tools::download_db(); | ||
92 | } elseif (isset($_GET['empty-cache'])) { | ||
93 | $poche->emptyCache(); | ||
94 | } elseif (isset($_GET['export'])) { | ||
95 | $poche->export(); | ||
96 | } elseif (isset($_GET['updatetheme'])) { | ||
97 | $poche->updateTheme(); | ||
98 | } elseif (isset($_GET['updatelanguage'])) { | ||
99 | $poche->updateLanguage(); | ||
100 | } elseif (isset($_GET['uploadfile'])) { | ||
101 | $poche->uploadFile(); | ||
102 | } elseif (isset($_GET['feed']) && isset($_GET['action']) && $_GET['action'] == 'generate') { | ||
103 | $poche->generateToken(); | ||
104 | } | ||
105 | elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) { | ||
106 | $plain_url = new Url(base64_encode($_GET['plainurl'])); | ||
107 | $poche->action('add', $plain_url); | ||
108 | } | ||
109 | |||
110 | $poche->action($action, $url, $id); | ||
111 | $tpl_file = Tools::getTplFile($view); | ||
112 | $tpl_vars = array_merge($tpl_vars, $poche->displayView($view, $id)); | ||
113 | |||
114 | } elseif(isset($_SERVER['PHP_AUTH_USER'])) { | ||
115 | if($poche->store->userExists($_SERVER['PHP_AUTH_USER'])) { | ||
116 | $poche->login($referer); | ||
117 | } else { | ||
118 | $poche->messages->add('e', _('login failed: user doesn\'t exist')); | ||
119 | Tools::logm('user doesn\'t exist'); | ||
120 | $tpl_file = Tools::getTplFile('login'); | ||
121 | $tpl_vars['http_auth'] = 1; | ||
122 | } | ||
123 | } elseif(isset($_SERVER['REMOTE_USER'])) { | ||
124 | if($poche->store->userExists($_SERVER['REMOTE_USER'])) { | ||
125 | $poche->login($referer); | ||
126 | } else { | ||
127 | $poche->messages->add('e', _('login failed: user doesn\'t exist')); | ||
128 | Tools::logm('user doesn\'t exist'); | ||
129 | $tpl_file = Tools::getTplFile('login'); | ||
130 | $tpl_vars['http_auth'] = 1; | ||
131 | } | ||
132 | } else { | ||
133 | $tpl_file = Tools::getTplFile('login'); | ||
134 | $tpl_vars['http_auth'] = 0; | ||
135 | Session::logout(); | ||
136 | } | ||
137 | |||
138 | # because messages can be added in $poche->action(), we have to add this entry now (we can add it before) | ||
139 | $messages = $poche->messages->display('all', FALSE); | ||
140 | $tpl_vars = array_merge($tpl_vars, array('messages' => $messages)); | ||
141 | |||
142 | # display poche | ||
143 | echo $poche->tpl->render($tpl_file, $tpl_vars); | ||
diff --git a/install/index.php b/install/index.php index e702891b..89dfc017 100755 --- a/install/index.php +++ b/install/index.php | |||
@@ -1,4 +1,13 @@ | |||
1 | <?php | 1 | <?php |
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
2 | $errors = array(); | 11 | $errors = array(); |
3 | $successes = array(); | 12 | $successes = array(); |
4 | 13 | ||
@@ -77,6 +86,7 @@ else if (isset($_POST['install'])) { | |||
77 | $salted_password = sha1($password . $username . $salt); | 86 | $salted_password = sha1($password . $username . $salt); |
78 | 87 | ||
79 | // Database informations | 88 | // Database informations |
89 | $moreQueries = array(); | ||
80 | if ($_POST['db_engine'] == 'sqlite') { | 90 | if ($_POST['db_engine'] == 'sqlite') { |
81 | if (!copy('install/poche.sqlite', 'db/poche.sqlite')) { | 91 | if (!copy('install/poche.sqlite', 'db/poche.sqlite')) { |
82 | $errors[] = 'Impossible to create inc/poche/config.inc.php file.'; | 92 | $errors[] = 'Impossible to create inc/poche/config.inc.php file.'; |
@@ -99,6 +109,13 @@ else if (isset($_POST['install'])) { | |||
99 | $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); | 109 | $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); |
100 | $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password']); | 110 | $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password']); |
101 | 111 | ||
112 | $moreQueries[] = "INSERT INTO `entries` (`id`, `title`, `url`, `is_read`, `is_fav`, `content`, `user_id`) VALUES | ||
113 | (1, 'Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', 0, 0, 0x0a3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a, 1), | ||
114 | (2, 'wallabag/wallabag', 'https://github.com/wallabag/wallabag', 0, 0, 0x3c7370616e20636c6173733d226e616d65223e524541444d452e6d643c2f7370616e3e3c703e77616c6c6162616720697320612073656c6620686f737461626c65206170706c69636174696f6e20616c6c6f77696e6720796f7520746f206e6f74206d69737320616e7920636f6e74656e7420616e796d6f72652e20436c69636b2c20736176652c2072656164206974207768656e20796f752063616e2e20497420657874726163747320636f6e74656e7420736f207468617420796f752063616e2072656164206974207768656e20796f7520686176652074696d652e3c2f703e0a3c703e4d6f726520696e666f726d6174696f6e73206f6e206f757220776562736974653a203c6120687265663d22687474703a2f2f77616c6c616261672e6f7267223e77616c6c616261672e6f72673c2f613e3c2f703e0a3c68323e3c6120636c6173733d22616e63686f722220687265663d2268747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c61626167236c6963656e7365223e3c2f613e4c6963656e73653c2f68323e0a3c703e436f7079726967687420c2a920323031302d32303134204e69636f6c6173204cc59375696c6c6574203c6120687265663d226d61696c746f3a6e69636f6c6173406c6f6575696c6c65742e6f7267223e6e69636f6c6173406c6f6575696c6c65742e6f72673c2f613e205468697320776f726b20697320667265652e20596f752063616e2072656469737472696275746520697420616e642f6f72206d6f6469667920697420756e64657220746865207465726d73206f662074686520446f205768617420546865204675636b20596f752057616e7420546f205075626c6963204c6963656e73652c2056657273696f6e20322c206173207075626c69736865642062792053616d20486f63657661722e205365652074686520434f5059494e472066696c6520666f72206d6f72652064657461696c732e3c2f703e0a, 1), | ||
115 | (3, 'a self hostable application for saving web pages | wallabag', 'https://www.wallabag.org/', 0, 1, 0x0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3820636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c703e77616c6c616261672028666f726d65726c7920706f636865292069732061203c7374726f6e673e73656c6620686f737461626c65206170706c69636174696f6e20666f7220736176696e67207765622070616765733c2f7374726f6e673e2e20556e6c696b65206f746865722073657276696365732cc2a077616c6c6162616720697320667265652028617320696e2066726565646f6d2920616e64206f70656e20736f757263652e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3820636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c703e576974682074686973206170706c69636174696f6e20796f752077696c6c206e6f74206d69737320636f6e74656e7420616e796d6f72652e203c7374726f6e673e436c69636b2c20736176652c2072656164206974207768656e20796f752077616e743c2f7374726f6e673e2e2049742073617665732074686520636f6e74656e7420796f752073656c65637420736f207468617420796f752063616e2072656164206974207768656e20796f7520686176652074696d652e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3620636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c68323e486f7720697420776f726b733c2f68323e0a3c703e5468616e6b7320746f2074686520626f6f6b6d61726b6c6574206f72203c61207469746c653d22446f776e6c6f6164732220687265663d22687474703a2f2f7777772e77616c6c616261672e6f72672f646f776e6c6f6164732f223e74686972642d7061727479206170706c69636174696f6e733c2f613e2c20796f75207361766520616e2061727469636c6520696e20796f7572c2a077616c6c6162616720746f2072656164206974206c617465722e205468656e2c207768656e20796f75206f70656e20796f75722077616c6c616261672c203c7374726f6e673e796f752063616e20636f6d666f727461626c79207265616420796f75722061727469636c65733c2f7374726f6e673e2e3c2f703e0a3c68323e486f7720746f207573652077616c6c616261673c2f68323e0a3c703e5468657265206172652074776f207761797320746f207573652077616c6c616261673a20796f752063616e203c6120687265663d22687474703a2f2f7777772e77616c6c616261672e6f72672f6672657175656e746c792d61736b65642d7175657374696f6e732f23486f775f63616e5f495f696e7374616c6c5f77616c6c616261675f616e645f776861745f6172655f7468655f726571756972656d656e7473223e696e7374616c6c2069743c2f613ec2a06f6e20796f75722077656220736572766572206f7220796f752063616ec2a03c6120687265663d22687474703a2f2f6170702e696e746865706f6368652e636f6d223e63726561746520616e206163636f756e743c2f613ec2a06174204672616d616261672028776520696e7374616c6c20616e642075706772616465c2a077616c6c6162616720666f7220796f75292e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a, 1);"; | ||
116 | $moreQueries[] = "INSERT INTO `tags` (`id`, `value`) VALUES (1, 'opensource');"; | ||
117 | $moreQueries[] = "INSERT INTO `tags_entries` (`id`, `entry_id`, `tag_id`) VALUES (1, 2, 1);"; | ||
118 | |||
102 | $sql_structure = file_get_contents('install/mysql.sql'); | 119 | $sql_structure = file_get_contents('install/mysql.sql'); |
103 | } | 120 | } |
104 | else if ($_POST['db_engine'] == 'postgres') { | 121 | else if ($_POST['db_engine'] == 'postgres') { |
@@ -108,6 +125,13 @@ else if (isset($_POST['install'])) { | |||
108 | $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['pg_user']."');", $content); | 125 | $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['pg_user']."');", $content); |
109 | $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['pg_password']."');", $content); | 126 | $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['pg_password']."');", $content); |
110 | $handle = new PDO($db_path, $_POST['pg_user'], $_POST['pg_password']); | 127 | $handle = new PDO($db_path, $_POST['pg_user'], $_POST['pg_password']); |
128 | |||
129 | $moreQueries[] = "INSERT INTO entries (title, url, is_read, is_fav, content, user_id) VALUES | ||
130 | ('Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', false, false, convert_from(decode('3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a', 'hex'), 'UTF8'), 1), | ||
131 | ('wallabag/wallabag', 'https://github.com/wallabag/wallabag', false, false, convert_from(decode('3c7370616e20636c6173733d226e616d65223e524541444d452e6d643c2f7370616e3e3c703e77616c6c6162616720697320612073656c6620686f737461626c65206170706c69636174696f6e20616c6c6f77696e6720796f7520746f206e6f74206d69737320616e7920636f6e74656e7420616e796d6f72652e20436c69636b2c20736176652c2072656164206974207768656e20796f752063616e2e20497420657874726163747320636f6e74656e7420736f207468617420796f752063616e2072656164206974207768656e20796f7520686176652074696d652e3c2f703e0a3c703e4d6f726520696e666f726d6174696f6e73206f6e206f757220776562736974653a203c6120687265663d22687474703a2f2f77616c6c616261672e6f7267223e77616c6c616261672e6f72673c2f613e3c2f703e0a3c68323e3c6120636c6173733d22616e63686f722220687265663d2268747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c61626167236c6963656e7365223e3c2f613e4c6963656e73653c2f68323e0a3c703e436f7079726967687420c2a920323031302d32303134204e69636f6c6173204cc59375696c6c6574203c6120687265663d226d61696c746f3a6e69636f6c6173406c6f6575696c6c65742e6f7267223e6e69636f6c6173406c6f6575696c6c65742e6f72673c2f613e205468697320776f726b20697320667265652e20596f752063616e2072656469737472696275746520697420616e642f6f72206d6f6469667920697420756e64657220746865207465726d73206f662074686520446f205768617420546865204675636b20596f752057616e7420546f205075626c6963204c6963656e73652c2056657273696f6e20322c206173207075626c69736865642062792053616d20486f63657661722e205365652074686520434f5059494e472066696c6520666f72206d6f72652064657461696c732e3c2f703e0a', 'hex'), 'UTF8'), 1), | ||
132 | ('a self hostable application for saving web pages | wallabag', 'https://www.wallabag.org/', false, true, convert_from(decode('3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3820636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c703e77616c6c616261672028666f726d65726c7920706f636865292069732061203c7374726f6e673e73656c6620686f737461626c65206170706c69636174696f6e20666f7220736176696e67207765622070616765733c2f7374726f6e673e2e20556e6c696b65206f746865722073657276696365732cc2a077616c6c6162616720697320667265652028617320696e2066726565646f6d2920616e64206f70656e20736f757263652e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3820636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c703e576974682074686973206170706c69636174696f6e20796f752077696c6c206e6f74206d69737320636f6e74656e7420616e796d6f72652e203c7374726f6e673e436c69636b2c20736176652c2072656164206974207768656e20796f752077616e743c2f7374726f6e673e2e2049742073617665732074686520636f6e74656e7420796f752073656c65637420736f207468617420796f752063616e2072656164206974207768656e20796f7520686176652074696d652e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a3c64697620636c6173733d22726f77223e0a3c64697620636c6173733d22636f6c2d6c672d3620636f6c2d6d642d313220636f6c2d78732d313220636f6c2d736d2d3132223e0a3c68323e486f7720697420776f726b733c2f68323e0a3c703e5468616e6b7320746f2074686520626f6f6b6d61726b6c6574206f72203c61207469746c653d22446f776e6c6f6164732220687265663d22687474703a2f2f7777772e77616c6c616261672e6f72672f646f776e6c6f6164732f223e74686972642d7061727479206170706c69636174696f6e733c2f613e2c20796f75207361766520616e2061727469636c6520696e20796f7572c2a077616c6c6162616720746f2072656164206974206c617465722e205468656e2c207768656e20796f75206f70656e20796f75722077616c6c616261672c203c7374726f6e673e796f752063616e20636f6d666f727461626c79207265616420796f75722061727469636c65733c2f7374726f6e673e2e3c2f703e0a3c68323e486f7720746f207573652077616c6c616261673c2f68323e0a3c703e5468657265206172652074776f207761797320746f207573652077616c6c616261673a20796f752063616e203c6120687265663d22687474703a2f2f7777772e77616c6c616261672e6f72672f6672657175656e746c792d61736b65642d7175657374696f6e732f23486f775f63616e5f495f696e7374616c6c5f77616c6c616261675f616e645f776861745f6172655f7468655f726571756972656d656e7473223e696e7374616c6c2069743c2f613ec2a06f6e20796f75722077656220736572766572206f7220796f752063616ec2a03c6120687265663d22687474703a2f2f6170702e696e746865706f6368652e636f6d223e63726561746520616e206163636f756e743c2f613ec2a06174204672616d616261672028776520696e7374616c6c20616e642075706772616465c2a077616c6c6162616720666f7220796f75292e3c2f703e0a3c2f6469763e0a0a3c2f6469763e0a', 'hex'), 'UTF8'), 1)"; | ||
133 | $moreQueries[] = "INSERT INTO tags (value) VALUES ('opensource')"; | ||
134 | $moreQueries[] = "INSERT INTO tags_entries (entry_id, tag_id) VALUES (2, 1)"; | ||
111 | 135 | ||
112 | $sql_structure = file_get_contents('install/postgres.sql'); | 136 | $sql_structure = file_get_contents('install/postgres.sql'); |
113 | } | 137 | } |
@@ -131,17 +155,19 @@ else if (isset($_POST['install'])) { | |||
131 | } | 155 | } |
132 | } | 156 | } |
133 | 157 | ||
134 | // create database structure | 158 | if ($_POST['db_engine'] != "sqlite") { |
135 | $query = executeQuery($handle, $sql_structure, array()); | 159 | // create database structure |
160 | $query = $handle->exec($sql_structure); | ||
161 | } | ||
136 | 162 | ||
137 | // Create user | 163 | // Create user |
138 | $handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | 164 | $handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
139 | 165 | ||
140 | $sql = 'INSERT INTO users (username, password, name) VALUES (?, ?, ?)'; | 166 | $sql = "INSERT INTO users (username, password, name, email) VALUES (?, ?, ?, '')"; |
141 | $params = array($username, $salted_password, $username); | 167 | $params = array($username, $salted_password, $username); |
142 | $query = executeQuery($handle, $sql, $params); | 168 | $query = executeQuery($handle, $sql, $params); |
143 | 169 | ||
144 | $id_user = $handle->lastInsertId(); | 170 | $id_user = (int)$handle->lastInsertId('users_id_seq'); |
145 | 171 | ||
146 | $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; | 172 | $sql = 'INSERT INTO users_config ( user_id, name, value ) VALUES (?, ?, ?)'; |
147 | $params = array($id_user, 'pager', '10'); | 173 | $params = array($id_user, 'pager', '10'); |
@@ -151,6 +177,10 @@ else if (isset($_POST['install'])) { | |||
151 | $params = array($id_user, 'language', 'en_EN.UTF8'); | 177 | $params = array($id_user, 'language', 'en_EN.UTF8'); |
152 | $query = executeQuery($handle, $sql, $params); | 178 | $query = executeQuery($handle, $sql, $params); |
153 | 179 | ||
180 | foreach ($moreQueries as $query) { | ||
181 | executeQuery($handle, $query, array()); | ||
182 | } | ||
183 | |||
154 | $successes[] = 'wallabag is now installed. You can now <a href="index.php?clean=0">access it !</a>'; | 184 | $successes[] = 'wallabag is now installed. You can now <a href="index.php?clean=0">access it !</a>'; |
155 | } | 185 | } |
156 | } | 186 | } |
@@ -226,7 +256,7 @@ else if (isset($_POST['install'])) { | |||
226 | <?php endif; ?> | 256 | <?php endif; ?> |
227 | <?php endif; ?> | 257 | <?php endif; ?> |
228 | <p>To install wallabag, you just have to fill the following fields. That's all.</p> | 258 | <p>To install wallabag, you just have to fill the following fields. That's all.</p> |
229 | <p>Don't forget to check your server compatibility <a href="wallabag_compatibility_test.php?from=install">here</a>.</p> | 259 | <p>Don't forget to check your server compatibility <a href="install/wallabag_compatibility_test.php?from=install">here</a>.</p> |
230 | <form method="post"> | 260 | <form method="post"> |
231 | <fieldset> | 261 | <fieldset> |
232 | <legend><strong>Technical settings</strong></legend> | 262 | <legend><strong>Technical settings</strong></legend> |
@@ -283,9 +313,11 @@ php composer.phar install</code></pre></li> | |||
283 | <p> | 313 | <p> |
284 | <label for="password">Password</label> | 314 | <label for="password">Password</label> |
285 | <input type="password" required id="password" name="password" value="wallabag" /> | 315 | <input type="password" required id="password" name="password" value="wallabag" /> |
316 | <label for="show">Show password:</label> <input style="margin-left:-80px;" name="show" id="show" type="checkbox" onchange="document.getElementById('password').type = this.checked ? 'text' : 'password'"> | ||
286 | </p> | 317 | </p> |
287 | <p> | 318 | <p> |
288 | <label for="show">Show password:</label> <input name="show" id="show" type="checkbox" onchange="document.getElementById('password').type = this.checked ? 'text' : 'password'"> | 319 | <label for="email">Email (not required)</label> |
320 | <input type="email" id="email" name="email" /> | ||
289 | </p> | 321 | </p> |
290 | </fieldset> | 322 | </fieldset> |
291 | 323 | ||
diff --git a/wallabag_compatibility_test.php b/install/wallabag_compatibility_test.php index d6f22156..2e78b675 100644 --- a/wallabag_compatibility_test.php +++ b/install/wallabag_compatibility_test.php | |||
@@ -1,10 +1,20 @@ | |||
1 | <?php | 1 | <?php |
2 | /** | ||
3 | * wallabag, self hostable application allowing you to not miss any content anymore | ||
4 | * | ||
5 | * @category wallabag | ||
6 | * @author Nicolas LÅ“uillet <nicolas@loeuillet.org> | ||
7 | * @copyright 2013 | ||
8 | * @license http://opensource.org/licenses/MIT see COPYING file | ||
9 | */ | ||
10 | |||
2 | $app_name = 'wallabag'; | 11 | $app_name = 'wallabag'; |
3 | 12 | ||
4 | $php_ok = (function_exists('version_compare') && version_compare(phpversion(), '5.3.3', '>=')); | 13 | $php_ok = (function_exists('version_compare') && version_compare(phpversion(), '5.3.3', '>=')); |
5 | $pcre_ok = extension_loaded('pcre'); | 14 | $pcre_ok = extension_loaded('pcre'); |
6 | $zlib_ok = extension_loaded('zlib'); | 15 | $zlib_ok = extension_loaded('zlib'); |
7 | $mbstring_ok = extension_loaded('mbstring'); | 16 | $mbstring_ok = extension_loaded('mbstring'); |
17 | $dom_ok = extension_loaded('DOM'); | ||
8 | $iconv_ok = extension_loaded('iconv'); | 18 | $iconv_ok = extension_loaded('iconv'); |
9 | $tidy_ok = function_exists('tidy_parse_string'); | 19 | $tidy_ok = function_exists('tidy_parse_string'); |
10 | $curl_ok = function_exists('curl_exec'); | 20 | $curl_ok = function_exists('curl_exec'); |
@@ -13,6 +23,8 @@ $parallel_ok = ((extension_loaded('http') && class_exists('HttpRequestPool')) || | |||
13 | $allow_url_fopen_ok = (bool)ini_get('allow_url_fopen'); | 23 | $allow_url_fopen_ok = (bool)ini_get('allow_url_fopen'); |
14 | $filter_ok = extension_loaded('filter'); | 24 | $filter_ok = extension_loaded('filter'); |
15 | $gettext_ok = function_exists("gettext"); | 25 | $gettext_ok = function_exists("gettext"); |
26 | $gd_ok = extension_loaded('gd'); | ||
27 | |||
16 | 28 | ||
17 | if (extension_loaded('xmlreader')) { | 29 | if (extension_loaded('xmlreader')) { |
18 | $xml_ok = true; | 30 | $xml_ok = true; |
@@ -223,10 +235,20 @@ if (isset($_GET['from'])){ | |||
223 | <td>Enabled</td> | 235 | <td>Enabled</td> |
224 | <?php echo ($iconv_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td> | 236 | <?php echo ($iconv_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td> |
225 | </tr> --> | 237 | </tr> --> |
238 | <tr class="<?php echo ($dom_ok) ? 'enabled' : 'disabled'; ?>"> | ||
239 | <td><a href="http://php.net/manual/en/book.dom.php">DOM / XML extension</a></td> | ||
240 | <td>Enabled</td> | ||
241 | <?php echo ($dom_ok) ? '<td class="good">Enabled' : '<td class="bad">Disabled'; ?></td> | ||
242 | </tr> | ||
226 | <tr class="<?php echo ($filter_ok) ? 'enabled' : 'disabled'; ?>"> | 243 | <tr class="<?php echo ($filter_ok) ? 'enabled' : 'disabled'; ?>"> |
227 | <td><a href="http://uk.php.net/manual/en/book.filter.php">Data filtering</a></td> | 244 | <td><a href="http://uk.php.net/manual/en/book.filter.php">Data filtering</a></td> |
228 | <td>Enabled</td> | 245 | <td>Enabled</td> |
229 | <?php echo ($filter_ok) ? '<td class="good">Enabled' : '<td class="pass">Disabled'; ?></td> | 246 | <?php echo ($filter_ok) ? '<td class="good">Enabled' : '<td class="pass">Disabled'; ?></td> |
247 | </tr> | ||
248 | <tr class="<?php echo ($gd_ok) ? 'enabled' : 'disabled'; ?>"> | ||
249 | <td><a href="http://php.net/manual/en/book.image.php">GD</a></td> | ||
250 | <td>Enabled</td> | ||
251 | <?php echo ($gd_ok) ? '<td class="good">Enabled' : '<td class="pass">Disabled'; ?></td> | ||
230 | </tr> | 252 | </tr> |
231 | <tr class="<?php echo ($tidy_ok) ? 'enabled' : 'disabled'; ?>"> | 253 | <tr class="<?php echo ($tidy_ok) ? 'enabled' : 'disabled'; ?>"> |
232 | <td><a href="http://php.net/tidy">Tidy</a></td> | 254 | <td><a href="http://php.net/tidy">Tidy</a></td> |
@@ -266,7 +288,7 @@ if (isset($_GET['from'])){ | |||
266 | <h3>What does this mean?</h3> | 288 | <h3>What does this mean?</h3> |
267 | <ol> | 289 | <ol> |
268 | <?php //if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $iconv_ok && $filter_ok && $zlib_ok && $tidy_ok && $curl_ok && $parallel_ok && $allow_url_fopen_ok): ?> | 290 | <?php //if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $iconv_ok && $filter_ok && $zlib_ok && $tidy_ok && $curl_ok && $parallel_ok && $allow_url_fopen_ok): ?> |
269 | <?php if ($php_ok && $xml_ok && $pcre_ok && $filter_ok && $tidy_ok && $curl_ok && $parallel_ok && $allow_url_fopen_ok && $gettext_ok && $parse_ini_ok): ?> | 291 | <?php if ($php_ok && $xml_ok && $pcre_ok && $dom_ok && $filter_ok && $gd_ok && $tidy_ok && $curl_ok && $parallel_ok && $allow_url_fopen_ok && $gettext_ok && $parse_ini_ok): ?> |
270 | <li><em>You have everything you need to run <?php echo $app_name; ?> properly! Congratulations!</em></li> | 292 | <li><em>You have everything you need to run <?php echo $app_name; ?> properly! Congratulations!</em></li> |
271 | <?php else: ?> | 293 | <?php else: ?> |
272 | <?php if ($php_ok): ?> | 294 | <?php if ($php_ok): ?> |
@@ -283,48 +305,62 @@ if (isset($_GET['from'])){ | |||
283 | <li><strong>Gettext:</strong> You have <code>gettext</code> enabled. <em>No problems here.</em></li> | 305 | <li><strong>Gettext:</strong> You have <code>gettext</code> enabled. <em>No problems here.</em></li> |
284 | 306 | ||
285 | <?php if ($parse_ini_ok): ?> | 307 | <?php if ($parse_ini_ok): ?> |
308 | <li><strong>Parse ini:</strong> You can parse <em>ini</em> files. <em>No problems here.</em></li> | ||
309 | |||
310 | <?php if ($dom_ok): ?> | ||
311 | <li><strong>DOM/XML:</strong> You can parse <em>ini</em> files. <em>No problems here.</em></li> | ||
286 | 312 | ||
287 | <?php if ($filter_ok): ?> | 313 | <?php if ($filter_ok): ?> |
288 | <li><strong>Data filtering:</strong> You have the PHP filter extension enabled. <em>No problems here.</em></li> | 314 | <li><strong>Data filtering:</strong> You can use the PHP build-in DOM to operate on XML documents. <em>No problems here.</em></li> |
289 | 315 | ||
290 | <?php if ($zlib_ok): ?> | 316 | <?php if ($zlib_ok): ?> |
291 | <li><strong>Zlib:</strong> You have <code>Zlib</code> enabled. This allows SimplePie to support GZIP-encoded feeds. <em>No problems here.</em></li> | 317 | <li><strong>Zlib:</strong> You have <code>Zlib</code> enabled. This allows SimplePie to support GZIP-encoded feeds. <em>No problems here.</em></li> |
292 | <?php else: ?> | 318 | <?php else: ?> |
293 | <li><strong>Zlib:</strong> The <code>Zlib</code> extension is not available. SimplePie will ignore any GZIP-encoding, and instead handle feeds as uncompressed text.</li> | 319 | <li><strong>Zlib:</strong> The <code>Zlib</code> extension is not available. SimplePie will ignore any GZIP-encoding, and instead handle feeds as uncompressed text.</li> |
294 | <?php endif; ?> | 320 | <?php endif; ?> |
295 | 321 | ||
296 | <?php if ($mbstring_ok && $iconv_ok): ?> | 322 | <?php if ($mbstring_ok && $iconv_ok): ?> |
297 | <li><strong>mbstring and iconv:</strong> You have both <code>mbstring</code> and <code>iconv</code> installed! This will allow <?php echo $app_name; ?> to handle the greatest number of languages. <em>No problems here.</em></li> | 323 | <li><strong>mbstring and iconv:</strong> You have both <code>mbstring</code> and <code>iconv</code> installed! This will allow <?php echo $app_name; ?> to handle the greatest number of languages. <em>No problems here.</em></li> |
298 | <?php elseif ($mbstring_ok): ?> | 324 | <?php elseif ($mbstring_ok): ?> |
299 | <li><strong>mbstring:</strong> <code>mbstring</code> is installed, but <code>iconv</code> is not.</li> | 325 | <li><strong>mbstring:</strong> <code>mbstring</code> is installed, but <code>iconv</code> is not.</li> |
300 | <?php elseif ($iconv_ok): ?> | 326 | <?php elseif ($iconv_ok): ?> |
301 | <li><strong>iconv:</strong> <code>iconv</code> is installed, but <code>mbstring</code> is not.</li> | 327 | <li><strong>iconv:</strong> <code>iconv</code> is installed, but <code>mbstring</code> is not.</li> |
302 | <?php else: ?> | 328 | <?php else: ?> |
303 | <li><strong>mbstring and iconv:</strong> <em>You do not have either of the extensions installed.</em> This will significantly impair your ability to read non-English feeds, as well as even some English ones.</li> | 329 | <li><strong>mbstring and iconv:</strong> <em>You do not have either of the extensions installed.</em> This will significantly impair your ability to read non-English feeds, as well as even some English ones.</li> |
304 | <?php endif; ?> | 330 | <?php endif; ?> |
305 | 331 | ||
306 | <?php if ($tidy_ok): ?> | 332 | <?php if ($gd_ok): ?> |
307 | <li><strong>Tidy:</strong> You have <code>Tidy</code> support installed. <em>No problems here.</em></li> | 333 | <li><strong>GD:</strong> You have <code>GD</code> support installed. <em>No problems here.</em></li> |
308 | <?php else: ?> | 334 | <?php else: ?> |
309 | <li><strong>Tidy:</strong> The <code>Tidy</code> extension is not available. <?php echo $app_name; ?> should still work with most feeds, but you may experience problems with some.</li> | 335 | <li><strong>GD:</strong> The <code>GD</code> extension is not available. <?php echo $app_name; ?> will not be able to download pictures locally on your server.</li> |
310 | <?php endif; ?> | 336 | <?php endif; ?> |
311 | 337 | ||
312 | <?php if ($curl_ok): ?> | 338 | <?php if ($tidy_ok): ?> |
313 | <li><strong>cURL:</strong> You have <code>cURL</code> support installed. <em>No problems here.</em></li> | 339 | <li><strong>Tidy:</strong> You have <code>Tidy</code> support installed. <em>No problems here.</em></li> |
314 | <?php else: ?> | 340 | <?php else: ?> |
315 | <li><strong>cURL:</strong> The <code>cURL</code> extension is not available. SimplePie will use <code>fsockopen()</code> instead.</li> | 341 | <li><strong>Tidy:</strong> The <code>Tidy</code> extension is not available. <?php echo $app_name; ?> should still work with most feeds, but you may experience problems with some.</li> |
316 | <?php endif; ?> | 342 | <?php endif; ?> |
317 | 343 | ||
318 | <?php if ($parallel_ok): ?> | 344 | <?php if ($curl_ok): ?> |
319 | <li><strong>Parallel URL fetching:</strong> You have <code>HttpRequestPool</code> or <code>curl_multi</code> support installed. <em>No problems here.</em></li> | 345 | <li><strong>cURL:</strong> You have <code>cURL</code> support installed. <em>No problems here.</em></li> |
320 | <?php else: ?> | 346 | <?php else: ?> |
321 | <li><strong>Parallel URL fetching:</strong> <code>HttpRequestPool</code> or <code>curl_multi</code> support is not available. <?php echo $app_name; ?> will use <code>file_get_contents()</code> instead to fetch URLs sequentially rather than in parallel.</li> | 347 | <li><strong>cURL:</strong> The <code>cURL</code> extension is not available. SimplePie will use <code>fsockopen()</code> instead.</li> |
322 | <?php endif; ?> | 348 | <?php endif; ?> |
323 | 349 | ||
324 | <?php else: ?> | 350 | <?php if ($parallel_ok): ?> |
325 | <li><strong>Data filtering:</strong> Your PHP configuration has the filter extension disabled. <strong><?php echo $app_name; ?> will not work here.</strong></li> | 351 | <li><strong>Parallel URL fetching:</strong> You have <code>HttpRequestPool</code> or <code>curl_multi</code> support installed. <em>No problems here.</em></li> |
326 | <?php endif; ?> | 352 | <?php else: ?> |
327 | 353 | <li><strong>Parallel URL fetching:</strong> <code>HttpRequestPool</code> or <code>curl_multi</code> support is not available. <?php echo $app_name; ?> will use <code>file_get_contents()</code> instead to fetch URLs sequentially rather than in parallel.</li> | |
354 | <?php endif; ?> | ||
355 | |||
356 | <?php else: ?> | ||
357 | <li><strong>Data filtering:</strong> Your PHP configuration has the filter extension disabled. <strong><?php echo $app_name; ?> will not work here.</strong></li> | ||
358 | <?php endif; ?> | ||
359 | |||
360 | <?php else: ?> | ||
361 | <li><strong>DOM/XML:</strong> Your PHP configuration isn't standard, you're missing PHP-DOM. You may try to install a package or recompile PHP. <strong><?php echo $app_name; ?> will not work here.</strong></li> | ||
362 | <?php endif; ?> | ||
363 | |||
328 | <?php else : ?> | 364 | <?php else : ?> |
329 | <li><strong>Parse ini files function :</strong> Bad luck : your webhost has decided to block the use of the <em>parse_ini_file</em> function. <strong><?php echo $app_name; ?> will not work here.</strong> | 365 | <li><strong>Parse ini files function :</strong> Bad luck : your webhost has decided to block the use of the <em>parse_ini_file</em> function. <strong><?php echo $app_name; ?> will not work here.</strong> |
330 | <?php endif; ?> | 366 | <?php endif; ?> |
@@ -359,7 +395,7 @@ if (isset($_GET['from'])){ | |||
359 | <p>You can download the latest version of <?php echo $app_name; ?> from <a href="http://wallabag.org/download">wallabag.org</a>.</p> | 395 | <p>You can download the latest version of <?php echo $app_name; ?> from <a href="http://wallabag.org/download">wallabag.org</a>.</p> |
360 | <p>If you already have done that, you should access <a href="index.php">the index.php file</a> of your installation to configure and/or start using wallabag</p> | 396 | <p>If you already have done that, you should access <a href="index.php">the index.php file</a> of your installation to configure and/or start using wallabag</p> |
361 | <?php } else { ?> | 397 | <?php } else { ?> |
362 | <p>You can now <a href="index.php">return to the installation section</a>.</p> | 398 | <p>You can now <a href="../index.php">return to the installation section</a>.</p> |
363 | <?php } ?> | 399 | <?php } ?> |
364 | <p><strong>Note</strong>: Passing this test does not guarantee that <?php echo $app_name; ?> will run on your webhost — it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.</p> | 400 | <p><strong>Note</strong>: Passing this test does not guarantee that <?php echo $app_name; ?> will run on your webhost — it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.</p> |
365 | <?php //} else if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $allow_url_fopen_ok && $filter_ok) { ?> | 401 | <?php //} else if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $allow_url_fopen_ok && $filter_ok) { ?> |
@@ -370,7 +406,7 @@ if (isset($_GET['from'])){ | |||
370 | <p>You can download the latest version of <?php echo $app_name; ?> from <a href="http://wallabag.org/download">wallabag.org</a>.</p> | 406 | <p>You can download the latest version of <?php echo $app_name; ?> from <a href="http://wallabag.org/download">wallabag.org</a>.</p> |
371 | <p>If you already have done that, you should access <a href="index.php">the index.php file</a> of your installation to configure and/or start using wallabag</p> | 407 | <p>If you already have done that, you should access <a href="index.php">the index.php file</a> of your installation to configure and/or start using wallabag</p> |
372 | <?php } else { ?> | 408 | <?php } else { ?> |
373 | <p>You can now <a href="index.php">return to the installation section</a>.</p> | 409 | <p>You can now <a href="../index.php">return to the installation section</a>.</p> |
374 | <?php } ?> | 410 | <?php } ?> |
375 | <p><strong>Note</strong>: Passing this test does not guarantee that <?php echo $app_name; ?> will run on your webhost — it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.</p> | 411 | <p><strong>Note</strong>: Passing this test does not guarantee that <?php echo $app_name; ?> will run on your webhost — it only ensures that the basic requirements have been addressed. If you experience any problems, please let us know.</p> |
376 | <?php } else { ?> | 412 | <?php } else { ?> |
diff --git a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo index bf5f69e7..a3c98497 100644 --- a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo +++ b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo | |||
Binary files differ | |||
diff --git a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po index 119fb060..c589866c 100644 --- a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po +++ b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po | |||
@@ -1,19 +1,17 @@ | |||
1 | msgid "" | 1 | msgid "" |
2 | msgstr "" | 2 | msgstr "" |
3 | "Project-Id-Version: \n" | 3 | "Project-Id-Version: wallabag\n" |
4 | "Report-Msgid-Bugs-To: \n" | 4 | "Report-Msgid-Bugs-To: \n" |
5 | "POT-Creation-Date: 2014-02-25 15:17+0300\n" | 5 | "POT-Creation-Date: 2014-02-25 15:17+0300\n" |
6 | "PO-Revision-Date: \n" | 6 | "PO-Revision-Date: \n" |
7 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | 7 | "Last-Translator: tcit <tcit@tcit.fr>\n" |
8 | "Language-Team: \n" | 8 | "Language-Team: \n" |
9 | "Language: \n" | 9 | "Language: en\n" |
10 | "MIME-Version: 1.0\n" | 10 | "MIME-Version: 1.0\n" |
11 | "Content-Type: text/plain; charset=UTF-8\n" | 11 | "Content-Type: text/plain; charset=UTF-8\n" |
12 | "Content-Transfer-Encoding: 8bit\n" | 12 | "Content-Transfer-Encoding: 8bit\n" |
13 | "X-Generator: Poedit 1.5.4\n" | 13 | "X-Generator: Poedit 1.6.9\n" |
14 | "X-Poedit-Language: English\n" | ||
15 | "X-Poedit-Basepath: .\n" | 14 | "X-Poedit-Basepath: .\n" |
16 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | ||
17 | 15 | ||
18 | msgid "wallabag, a read it later open source system" | 16 | msgid "wallabag, a read it later open source system" |
19 | msgstr "wallabag, a read it later open source system" | 17 | msgstr "wallabag, a read it later open source system" |
@@ -84,8 +82,12 @@ msgstr "A more recent development version is available." | |||
84 | msgid "Feeds" | 82 | msgid "Feeds" |
85 | msgstr "Feeds" | 83 | msgstr "Feeds" |
86 | 84 | ||
87 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | 85 | msgid "" |
88 | msgstr "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | 86 | "Your feed token is currently empty and must first be generated to enable " |
87 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
88 | msgstr "" | ||
89 | "Your feed token is currently empty and must first be generated to enable " | ||
90 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
89 | 91 | ||
90 | msgid "Unread feed" | 92 | msgid "Unread feed" |
91 | msgstr "Unread feed" | 93 | msgstr "Unread feed" |
@@ -102,8 +104,12 @@ msgstr "Your token:" | |||
102 | msgid "Your user id:" | 104 | msgid "Your user id:" |
103 | msgstr "Your user id:" | 105 | msgstr "Your user id:" |
104 | 106 | ||
105 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | 107 | msgid "" |
106 | msgstr "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | 108 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" |
109 | "</a>." | ||
110 | msgstr "" | ||
111 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
112 | "</a>." | ||
107 | 113 | ||
108 | msgid "Change your theme" | 114 | msgid "Change your theme" |
109 | msgstr "Change your theme" | 115 | msgstr "Change your theme" |
@@ -135,8 +141,10 @@ msgstr "Repeat your new password:" | |||
135 | msgid "Import" | 141 | msgid "Import" |
136 | msgstr "Import" | 142 | msgstr "Import" |
137 | 143 | ||
138 | msgid "Please execute the import script locally as it can take a very long time." | 144 | msgid "" |
139 | msgstr "Please execute the import script locally as it can take a very long time." | 145 | "Please execute the import script locally as it can take a very long time." |
146 | msgstr "" | ||
147 | "Please execute the import script locally as it can take a very long time." | ||
140 | 148 | ||
141 | msgid "More info in the official documentation:" | 149 | msgid "More info in the official documentation:" |
142 | msgstr "More info in the official documentation:" | 150 | msgstr "More info in the official documentation:" |
@@ -184,8 +192,12 @@ msgstr "return to article" | |||
184 | msgid "plop" | 192 | msgid "plop" |
185 | msgstr "plop" | 193 | msgstr "plop" |
186 | 194 | ||
187 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | 195 | msgid "" |
188 | msgstr "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | 196 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " |
197 | "here</a>." | ||
198 | msgstr "" | ||
199 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
200 | "here</a>." | ||
189 | 201 | ||
190 | msgid "favoris" | 202 | msgid "favoris" |
191 | msgstr "favoris" | 203 | msgstr "favoris" |
@@ -247,8 +259,14 @@ msgstr "installation" | |||
247 | msgid "install your wallabag" | 259 | msgid "install your wallabag" |
248 | msgstr "install your wallabag" | 260 | msgstr "install your wallabag" |
249 | 261 | ||
250 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | 262 | msgid "" |
251 | msgstr "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | 263 | "wallabag is still not installed. Please fill the below form to install it. " |
264 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
265 | "on wallabag website</a>." | ||
266 | msgstr "" | ||
267 | "wallabag is still not installed. Please fill the below form to install it. " | ||
268 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
269 | "on wallabag website</a>." | ||
252 | 270 | ||
253 | msgid "Login" | 271 | msgid "Login" |
254 | msgstr "Login" | 272 | msgstr "Login" |
@@ -401,7 +419,8 @@ msgid "a more recent development version is available." | |||
401 | msgstr "a more recent development version is available." | 419 | msgstr "a more recent development version is available." |
402 | 420 | ||
403 | msgid "Please execute the import script locally, it can take a very long time." | 421 | msgid "Please execute the import script locally, it can take a very long time." |
404 | msgstr "Please execute the import script locally, it can take a very long time." | 422 | msgstr "" |
423 | "Please execute the import script locally, it can take a very long time." | ||
405 | 424 | ||
406 | msgid "More infos in the official doc:" | 425 | msgid "More infos in the official doc:" |
407 | msgstr "More infos in the official doc:" | 426 | msgstr "More infos in the official doc:" |
@@ -448,8 +467,12 @@ msgstr "in demo mode, you can't update your password" | |||
448 | msgid "your password has been updated" | 467 | msgid "your password has been updated" |
449 | msgstr "your password has been updated" | 468 | msgstr "your password has been updated" |
450 | 469 | ||
451 | msgid "the two fields have to be filled & the password must be the same in the two fields" | 470 | msgid "" |
452 | msgstr "the two fields have to be filled & the password must be the same in the two fields" | 471 | "the two fields have to be filled & the password must be the same in the two " |
472 | "fields" | ||
473 | msgstr "" | ||
474 | "the two fields have to be filled & the password must be the same in the two " | ||
475 | "fields" | ||
453 | 476 | ||
454 | msgid "still using the \"" | 477 | msgid "still using the \"" |
455 | msgstr "still using the \"" | 478 | msgstr "still using the \"" |
@@ -505,6 +528,49 @@ msgstr "Cache deleted." | |||
505 | msgid "Oops, it seems you don't have PHP 5." | 528 | msgid "Oops, it seems you don't have PHP 5." |
506 | msgstr "Oops, it seems you don't have PHP 5." | 529 | msgstr "Oops, it seems you don't have PHP 5." |
507 | 530 | ||
531 | msgid "Add user" | ||
532 | msgstr "Add user" | ||
533 | |||
534 | msgid "Add a new user :" | ||
535 | msgstr "Add a new user :" | ||
536 | |||
537 | msgid "Login for new user" | ||
538 | msgstr "Login for new user" | ||
539 | |||
540 | msgid "Password for new user" | ||
541 | msgstr "Password for new user" | ||
542 | |||
543 | msgid "Email for new user (not required)" | ||
544 | msgstr "Email for new user (not required)" | ||
545 | |||
546 | msgid "Send" | ||
547 | msgstr "Send" | ||
548 | |||
549 | msgid "Delete account" | ||
550 | msgstr "Delete account" | ||
551 | |||
552 | msgid "You can delete your account by entering your password and validating." | ||
553 | msgstr "You can delete your account by entering your password and validating." | ||
554 | |||
555 | msgid "Be careful, data will be erased forever (that is a very long time)." | ||
556 | msgstr "Be careful, data will be erased forever (that is a very long time)." | ||
557 | |||
558 | msgid "Type here your password" | ||
559 | msgstr "Type here your password" | ||
560 | |||
561 | msgid "You are the only user, you cannot delete your own account." | ||
562 | msgstr "You are the only user, you cannot delete your own account." | ||
563 | |||
564 | msgid "" | ||
565 | "To completely remove wallabag, delete the wallabag folder on your web server " | ||
566 | "(and eventual databases)." | ||
567 | msgstr "" | ||
568 | "To completely remove wallabag, delete the wallabag folder on your web server " | ||
569 | "(and eventual databases)." | ||
570 | |||
571 | msgid "Enter your search here" | ||
572 | msgstr "Enter your search here" | ||
573 | |||
508 | #~ msgid "poche it!" | 574 | #~ msgid "poche it!" |
509 | #~ msgstr "poche it!" | 575 | #~ msgstr "poche it!" |
510 | 576 | ||
diff --git a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo index b625e346..f4a28e72 100644 --- a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo +++ b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo | |||
Binary files differ | |||
diff --git a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po index 0343bfec..0912b872 100644 --- a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po +++ b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po | |||
@@ -4,7 +4,7 @@ msgstr "" | |||
4 | "Report-Msgid-Bugs-To: \n" | 4 | "Report-Msgid-Bugs-To: \n" |
5 | "POT-Creation-Date: 2014-05-10 20:09+0100\n" | 5 | "POT-Creation-Date: 2014-05-10 20:09+0100\n" |
6 | "PO-Revision-Date: \n" | 6 | "PO-Revision-Date: \n" |
7 | "Last-Translator: Gilles Wittezaële <gilles.wittezaele@laposte.net>\n" | 7 | "Last-Translator: tcit <tcit@tcit.fr>\n" |
8 | "Language-Team: \n" | 8 | "Language-Team: \n" |
9 | "Language: fr_FR\n" | 9 | "Language: fr_FR\n" |
10 | "MIME-Version: 1.0\n" | 10 | "MIME-Version: 1.0\n" |
@@ -12,7 +12,7 @@ msgstr "" | |||
12 | "Content-Transfer-Encoding: 8bit\n" | 12 | "Content-Transfer-Encoding: 8bit\n" |
13 | "X-Poedit-KeywordsList: _;gettext;gettext_noop\n" | 13 | "X-Poedit-KeywordsList: _;gettext;gettext_noop\n" |
14 | "X-Poedit-SourceCharset: UTF-8\n" | 14 | "X-Poedit-SourceCharset: UTF-8\n" |
15 | "X-Generator: Poedit 1.5.4\n" | 15 | "X-Generator: Poedit 1.6.9\n" |
16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" | 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" |
17 | 17 | ||
18 | msgid "wallabag, a read it later open source system" | 18 | msgid "wallabag, a read it later open source system" |
@@ -298,6 +298,9 @@ msgstr "Nom d'utilisateur" | |||
298 | msgid "Password for new user" | 298 | msgid "Password for new user" |
299 | msgstr "Mot de passe du nouvel utilisateur" | 299 | msgstr "Mot de passe du nouvel utilisateur" |
300 | 300 | ||
301 | msgid "Email for new user (not required)" | ||
302 | msgstr "E-mail pour le nouvel utilisateur (facultatif)" | ||
303 | |||
301 | msgid "Send" | 304 | msgid "Send" |
302 | msgstr "Envoyer" | 305 | msgstr "Envoyer" |
303 | 306 | ||
@@ -320,10 +323,12 @@ msgstr "" | |||
320 | "Vous êtes l'unique utilisateur, vous ne pouvez pas supprimer votre compte." | 323 | "Vous êtes l'unique utilisateur, vous ne pouvez pas supprimer votre compte." |
321 | 324 | ||
322 | msgid "" | 325 | msgid "" |
323 | "To completely remove wallabag, delete the wallabag folder on your web server." | 326 | "To completely remove wallabag, delete the wallabag folder on your web server " |
327 | "(and eventual databases)." | ||
324 | msgstr "" | 328 | msgstr "" |
325 | "Pour désinstaller complètement wallabag, supprimez le répertoire " | 329 | "Pour désinstaller complètement wallabag, supprimez le répertoire " |
326 | "<code>wallabag</code> de votre serveur Web." | 330 | "<code>wallabag</code> de votre serveur Web (ainsi que les bases de données " |
331 | "éventuelles)." | ||
327 | 332 | ||
328 | msgid "Save a link" | 333 | msgid "Save a link" |
329 | msgstr "Ajouter un lien" | 334 | msgstr "Ajouter un lien" |
diff --git a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo index b363385a..297516c0 100755..100644 --- a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo +++ b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo | |||
Binary files differ | |||
diff --git a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po index 1764bd61..e39156e6 100755 --- a/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po +++ b/locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po | |||
@@ -1,58 +1,40 @@ | |||
1 | msgid "" | 1 | msgid "" |
2 | msgstr "" | 2 | msgstr "" |
3 | "Project-Id-Version: wballabag\n" | 3 | "Project-Id-Version: wallabag\n" |
4 | "Report-Msgid-Bugs-To: \n" | 4 | "Report-Msgid-Bugs-To: \n" |
5 | "POT-Creation-Date: 2014-02-24 15:19+0300\n" | 5 | "POT-Creation-Date: 2014-02-25 15:17+0300\n" |
6 | "PO-Revision-Date: 2014-02-24 15:29+0300\n" | 6 | "PO-Revision-Date: \n" |
7 | "Last-Translator: Maryana <mariroz@mr.lviv.ua>\n" | 7 | "Last-Translator: skibbipl <skibbipl@users.noreply.github.com>\n" |
8 | "Language-Team: \n" | 8 | "Language-Team: \n" |
9 | "Language: \n" | 9 | "Language: pl\n" |
10 | "MIME-Version: 1.0\n" | 10 | "MIME-Version: 1.0\n" |
11 | "Content-Type: text/plain; charset=UTF-8\n" | 11 | "Content-Type: text/plain; charset=UTF-8\n" |
12 | "Content-Transfer-Encoding: 8bit\n" | 12 | "Content-Transfer-Encoding: 8bit\n" |
13 | "X-Poedit-KeywordsList: _;gettext;gettext_noop\n" | 13 | "X-Generator: Poedit 1.6.6\n" |
14 | "X-Poedit-Basepath: .\n" | 14 | "X-Poedit-Basepath: .\n" |
15 | "X-Poedit-Language: Polish\n" | 15 | "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " |
16 | "X-Poedit-Country: POLAND\n" | 16 | "|| n%100>=20) ? 1 : 2);\n" |
17 | "X-Poedit-SourceCharset: utf-8\n" | 17 | "X-Poedit-SourceCharset: UTF-8\n" |
18 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-testing\n" | 18 | "X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag-master-" |
19 | "testing\n" | ||
19 | 20 | ||
20 | msgid "poche, a read it later open source system" | 21 | msgid "wallabag, a read it later open source system" |
21 | msgstr "poche, serwis odrocznego czytania open source" | 22 | msgstr "wallabag, open source'owy system typu \"przeczytaj to później\"" |
22 | 23 | ||
23 | msgid "login failed: user doesn't exist" | 24 | msgid "login failed: user doesn't exist" |
24 | msgstr "logowanie nie udało się: użytkownik nie istnieje" | 25 | msgstr "logowanie się nie powiodło: użytkownik nie istnieje" |
25 | 26 | ||
26 | msgid "home" | 27 | msgid "return home" |
27 | msgstr "strona domowa" | 28 | msgstr "powrót do strony domowej" |
28 | |||
29 | msgid "favorites" | ||
30 | msgstr "ulubione" | ||
31 | |||
32 | msgid "archive" | ||
33 | msgstr "archiwum" | ||
34 | |||
35 | msgid "tags" | ||
36 | msgstr "tagi" | ||
37 | 29 | ||
38 | msgid "config" | 30 | msgid "config" |
39 | msgstr "ustawienia" | 31 | msgstr "konfiguracja" |
40 | |||
41 | msgid "logout" | ||
42 | msgstr "wyloguj" | ||
43 | |||
44 | msgid "back to home" | ||
45 | msgstr "wróć do strony domowej" | ||
46 | 32 | ||
47 | msgid "Tags" | 33 | msgid "Saving articles" |
48 | msgstr "Tagi" | 34 | msgstr "Zapisywanie artykułów" |
49 | |||
50 | #, fuzzy | ||
51 | msgid "Poching a link" | ||
52 | msgstr "Zapisywanie linków" | ||
53 | 35 | ||
54 | msgid "You can poche a link by several methods:" | 36 | msgid "There are several ways to save an article:" |
55 | msgstr "Istnieje kilka sposobów aby zapisać link:" | 37 | msgstr "Istnieje kilka sposobów aby zapisać artykuł:" |
56 | 38 | ||
57 | msgid "read the documentation" | 39 | msgid "read the documentation" |
58 | msgstr "przeczytaj dokumentacjÄ™" | 40 | msgstr "przeczytaj dokumentacjÄ™" |
@@ -60,54 +42,98 @@ msgstr "przeczytaj dokumentacjÄ™" | |||
60 | msgid "download the extension" | 42 | msgid "download the extension" |
61 | msgstr "pobierz rozszerzenie" | 43 | msgstr "pobierz rozszerzenie" |
62 | 44 | ||
45 | msgid "via F-Droid" | ||
46 | msgstr "przez F-Droid" | ||
47 | |||
48 | msgid " or " | ||
49 | msgstr "albo " | ||
50 | |||
51 | msgid "via Google Play" | ||
52 | msgstr "przez Google Play" | ||
53 | |||
63 | msgid "download the application" | 54 | msgid "download the application" |
64 | msgstr "pobierz aplikacjÄ™" | 55 | msgstr "pobierz aplikacjÄ™" |
65 | 56 | ||
66 | #, fuzzy | 57 | msgid "By filling this field" |
67 | msgid "by filling this field" | ||
68 | msgstr "Poprzez wypełnienie tego pola" | 58 | msgstr "Poprzez wypełnienie tego pola" |
69 | 59 | ||
70 | msgid "poche it!" | 60 | msgid "bag it!" |
71 | msgstr "zapisz!" | 61 | msgstr "zapisz!" |
72 | 62 | ||
73 | #, fuzzy | 63 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" |
74 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | 64 | msgstr "Skryptozakładka: przeciągnij i upuść ten link na twój pasek zakładek" |
75 | msgstr "Bookmarklet: przeciÄ…gnij i upucs ten link na pasek zakladek" | ||
76 | 65 | ||
77 | msgid "Updating poche" | 66 | msgid "Upgrading wallabag" |
78 | msgstr "Aktualizacja poche" | 67 | msgstr "Aktualizacja wallabag" |
79 | 68 | ||
80 | msgid "your version" | 69 | msgid "Installed version" |
81 | msgstr "twoja wersja" | 70 | msgstr "Zainstalowana wersja" |
82 | 71 | ||
83 | #, fuzzy | 72 | msgid "Latest stable version" |
84 | msgid "latest stable version" | ||
85 | msgstr "Najnowsza stabilna wersja" | 73 | msgstr "Najnowsza stabilna wersja" |
86 | 74 | ||
87 | #, fuzzy | 75 | msgid "A more recent stable version is available." |
88 | msgid "a more recent stable version is available." | ||
89 | msgstr "Nowsza stabilna wersja jest dostępna." | 76 | msgstr "Nowsza stabilna wersja jest dostępna." |
90 | 77 | ||
91 | msgid "you are up to date." | 78 | msgid "You are up to date." |
92 | msgstr "brak nowych aktualizacji." | 79 | msgstr "Posiadasz najnowszÄ… wersjÄ™." |
93 | 80 | ||
94 | msgid "latest dev version" | 81 | msgid "Latest dev version" |
95 | msgstr "najnowsza wersja rozwojowa" | 82 | msgstr "Najnowsza wersja developerska" |
96 | 83 | ||
97 | msgid "a more recent development version is available." | 84 | msgid "A more recent development version is available." |
98 | msgstr "Nowsza wersja rozwojowa jest dostępna." | 85 | msgstr "Nowsza developerska wersja jest dostępna." |
86 | |||
87 | msgid "Feeds" | ||
88 | msgstr "Kanały" | ||
89 | |||
90 | msgid "" | ||
91 | "Your feed token is currently empty and must first be generated to enable " | ||
92 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
93 | msgstr "" | ||
94 | "Twój token kanału jest aktualnie pusty i musi zostać wygenerowany, aby " | ||
95 | "włączyć kanały. Kliknij <a href='?feed&action=generate'>tutaj, aby go " | ||
96 | "wygenerować</a>." | ||
97 | |||
98 | msgid "Unread feed" | ||
99 | msgstr "Nieprzeczytane kanały" | ||
100 | |||
101 | msgid "Favorites feed" | ||
102 | msgstr "Ulubione kanały" | ||
103 | |||
104 | msgid "Archive feed" | ||
105 | msgstr "Kanały archiwum" | ||
106 | |||
107 | msgid "Your token:" | ||
108 | msgstr "Twój token:" | ||
109 | |||
110 | msgid "Your user id:" | ||
111 | msgstr "Twój id użytkownika:" | ||
112 | |||
113 | msgid "" | ||
114 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
115 | "</a>." | ||
116 | msgstr "" | ||
117 | "Możesz wygenewrować ponownie swój token: <a href='?feed&" | ||
118 | "action=generate'>generuj!</a>." | ||
99 | 119 | ||
100 | msgid "Change your theme" | 120 | msgid "Change your theme" |
101 | msgstr "Zmień motyw" | 121 | msgstr "Zmień swój motyw" |
102 | 122 | ||
103 | msgid "Theme:" | 123 | msgid "Theme:" |
104 | msgstr "Motyw:" | 124 | msgstr "Motyw:" |
105 | 125 | ||
106 | msgid "Update" | 126 | msgid "Update" |
107 | msgstr "Aktualizacja" | 127 | msgstr "Aktualizuj" |
128 | |||
129 | msgid "Change your language" | ||
130 | msgstr "Zmień język" | ||
131 | |||
132 | msgid "Language:" | ||
133 | msgstr "Język:" | ||
108 | 134 | ||
109 | msgid "Change your password" | 135 | msgid "Change your password" |
110 | msgstr "Zmień hasło" | 136 | msgstr "Zmień swoje hasło" |
111 | 137 | ||
112 | msgid "New password:" | 138 | msgid "New password:" |
113 | msgstr "Nowe hasło:" | 139 | msgstr "Nowe hasło:" |
@@ -116,91 +142,104 @@ msgid "Password" | |||
116 | msgstr "Hasło" | 142 | msgstr "Hasło" |
117 | 143 | ||
118 | msgid "Repeat your new password:" | 144 | msgid "Repeat your new password:" |
119 | msgstr "Powtórz hasło jeszcze raz:" | 145 | msgstr "Powtórz twoje nowe hasło:" |
120 | 146 | ||
121 | msgid "Import" | 147 | msgid "Import" |
122 | msgstr "Import" | 148 | msgstr "Import" |
123 | 149 | ||
124 | msgid "Please execute the import script locally, it can take a very long time." | 150 | msgid "" |
125 | msgstr "Proszę wykonać skrypt importu lokalnie, ponieważ moze to trwać bardzo długo." | 151 | "Please execute the import script locally as it can take a very long time." |
152 | msgstr "" | ||
153 | "Proszę wykonaj skrypt importu lokalnie, ponieważ może to trwać bardzo długo." | ||
126 | 154 | ||
127 | msgid "More infos in the official doc:" | 155 | msgid "More info in the official documentation:" |
128 | msgstr "Więcej informacji znajduje się w oficjalnej dokumentacji:" | 156 | msgstr "Więcej informacji znajdziesz w oficjalnej dokumentacji:" |
129 | 157 | ||
130 | msgid "import from Pocket" | 158 | msgid "Import from Pocket" |
131 | msgstr "Importuj z Pocket'a" | 159 | msgstr "Importuj z Pocket" |
132 | 160 | ||
133 | #, php-format | 161 | #, php-format |
134 | msgid "(you must have a %s file on your server)" | 162 | msgid "(you must have a %s file on your server)" |
135 | msgstr "(musisz mieć plik %s na serwerze)" | 163 | msgstr "(musisz mieć plik %s na swoim serwerze)" |
136 | 164 | ||
137 | msgid "import from Readability" | 165 | msgid "Import from Readability" |
138 | msgstr "Importuj z Readability" | 166 | msgstr "Importuj z Readability" |
139 | 167 | ||
140 | msgid "import from Instapaper" | 168 | msgid "Import from Instapaper" |
141 | msgstr "Importuj z Instapaper" | 169 | msgstr "Importuj z Instapaper" |
142 | 170 | ||
143 | #, fuzzy | 171 | msgid "Import from wallabag" |
144 | msgid "Export your poche datas" | 172 | msgstr "Importuj z wallabag" |
145 | msgstr "Exportuj dane poche" | 173 | |
174 | msgid "Export your wallabag data" | ||
175 | msgstr "Wyeksportuj swoje dane wallabag" | ||
146 | 176 | ||
147 | msgid "Click here" | 177 | msgid "Click here" |
148 | msgstr "Kliknij tu" | 178 | msgstr "Kliknij tu" |
149 | 179 | ||
150 | #, fuzzy | 180 | msgid "to download your database." |
151 | msgid "to export your poche datas." | 181 | msgstr "aby pobrać twoją bazę danych." |
152 | msgstr "aby wyeksportować dane poche." | ||
153 | 182 | ||
154 | msgid "plop" | 183 | msgid "to export your wallabag data." |
155 | msgstr "plop" | 184 | msgstr "aby wyeksportować dane wallabag." |
156 | 185 | ||
157 | msgid "installation" | 186 | msgid "Cache" |
158 | msgstr "instalacja" | 187 | msgstr "Cache" |
159 | 188 | ||
160 | msgid "install your wallabag" | 189 | msgid "to delete cache." |
161 | msgstr "zainstaluj wallabag" | 190 | msgstr "aby wyczyścić cache." |
162 | 191 | ||
163 | msgid "wallabag is still not installed. Please fill the below form to install it. Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation on wallabag website</a>." | 192 | msgid "You can enter multiple tags, separated by commas." |
164 | msgstr "wallabag nie jest jeszcze zainstalowany. Proszę wypełnić poniższy formularz, aby go zainstalować. Nie wahaj się <a href='http://doc.wallabag.org/'>zapoznać się z dokumentacją na stronie wallabag</a>." | 193 | msgstr "Możesz wprowadzić wiele tagów, oddzielonych przecinkami." |
165 | 194 | ||
166 | msgid "Login" | 195 | msgid "return to article" |
167 | msgstr "Login" | 196 | msgstr "powrót do artykułu" |
168 | 197 | ||
169 | msgid "Repeat your password" | 198 | msgid "plop" |
170 | msgstr "Powtórz hasło" | 199 | msgstr "plop" |
171 | 200 | ||
172 | msgid "Install" | 201 | msgid "" |
173 | msgstr "Instaluj" | 202 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " |
203 | "here</a>." | ||
204 | msgstr "" | ||
205 | "Możesz <a href='wallabag_compatibility_test.php'>sprawdzić swoją " | ||
206 | "konfiguracjÄ™ tutaj</a>." | ||
174 | 207 | ||
175 | msgid "favoris" | 208 | msgid "favoris" |
176 | msgstr "ulubione" | 209 | msgstr "favoris" |
210 | |||
211 | msgid "archive" | ||
212 | msgstr "archiwum" | ||
177 | 213 | ||
178 | msgid "unread" | 214 | msgid "unread" |
179 | msgstr "nieprzeczytane" | 215 | msgstr "nieprzeczytane" |
180 | 216 | ||
181 | msgid "by date asc" | 217 | msgid "by date asc" |
182 | msgstr "według daty rosnąco" | 218 | msgstr "po dacie rosnąco" |
183 | 219 | ||
184 | msgid "by date" | 220 | msgid "by date" |
185 | msgstr "wg daty" | 221 | msgstr "po dacie" |
186 | 222 | ||
187 | msgid "by date desc" | 223 | msgid "by date desc" |
188 | msgstr "według daty malejąco" | 224 | msgstr "po dacie malejąco" |
189 | 225 | ||
190 | msgid "by title asc" | 226 | msgid "by title asc" |
191 | msgstr "według tytułu rosnąco" | 227 | msgstr "po tytule rosnąco" |
192 | 228 | ||
193 | msgid "by title" | 229 | msgid "by title" |
194 | msgstr "wg tytułu" | 230 | msgstr "po tytule" |
195 | 231 | ||
196 | msgid "by title desc" | 232 | msgid "by title desc" |
197 | msgstr "według tytułu malejąco" | 233 | msgstr "po tytule malejąco" |
198 | 234 | ||
199 | msgid "No link available here!" | 235 | msgid "Tag" |
200 | msgstr "Brak dostępnych linków!" | 236 | msgstr "Otaguj" |
201 | 237 | ||
202 | msgid "toggle mark as read" | 238 | msgid "No articles found." |
203 | msgstr "przełącz jako przeczytane" | 239 | msgstr "Nie znaleziono artykułów." |
240 | |||
241 | msgid "Toggle mark as read" | ||
242 | msgstr "Przełącz jako przeczytane" | ||
204 | 243 | ||
205 | msgid "toggle favorite" | 244 | msgid "toggle favorite" |
206 | msgstr "przełącz ulubione" | 245 | msgstr "przełącz ulubione" |
@@ -212,139 +251,91 @@ msgid "original" | |||
212 | msgstr "oryginał" | 251 | msgstr "oryginał" |
213 | 252 | ||
214 | msgid "estimated reading time:" | 253 | msgid "estimated reading time:" |
215 | msgstr "szacowany czas odczytu:" | 254 | msgstr "szacowany czas czytania:" |
216 | |||
217 | msgid "results" | ||
218 | msgstr "wyniki" | ||
219 | |||
220 | msgid "login to your wallabag" | ||
221 | msgstr "zaloguj siÄ™ do swojego wallabag" | ||
222 | |||
223 | msgid "you are in demo mode, some features may be disabled." | ||
224 | msgstr "jesteś w trybie demo, niektóre funkcje mogą być wyłączone." | ||
225 | |||
226 | msgid "Stay signed in" | ||
227 | msgstr "Pozostań zalogowany" | ||
228 | |||
229 | msgid "(Do not check on public computers)" | ||
230 | msgstr "(Nie sprawdzaj na publicznych komputerach)" | ||
231 | |||
232 | msgid "Saving articles" | ||
233 | msgstr "Zapisywanie artykułów" | ||
234 | |||
235 | msgid "There are several ways to save an article:" | ||
236 | msgstr "Istnieje kilka sposobów aby zapisać artykuł:" | ||
237 | |||
238 | msgid "via F-Droid" | ||
239 | msgstr "przez F-Droid" | ||
240 | |||
241 | msgid " or " | ||
242 | msgstr "albo" | ||
243 | |||
244 | msgid "via Google Play" | ||
245 | msgstr "przez Google Play" | ||
246 | |||
247 | msgid "By filling this field" | ||
248 | msgstr "Poprzez wypełnienie tego pola" | ||
249 | |||
250 | msgid "bag it!" | ||
251 | msgstr "zapisz!" | ||
252 | |||
253 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
254 | msgstr "Bookmarklet: przeciągnij i upuść ten link na pasek zakladek" | ||
255 | |||
256 | msgid "Upgrading wallabag" | ||
257 | msgstr "Aktualizacja wallabag" | ||
258 | |||
259 | msgid "Installed version" | ||
260 | msgstr "Zainstalowana wersja " | ||
261 | 255 | ||
262 | msgid "Latest stable version" | 256 | msgid "mark all the entries as read" |
263 | msgstr "Najnowsza stabilna wersja" | 257 | msgstr "zaznacz wszystkie wpisy jako przeczytane" |
264 | |||
265 | msgid "A more recent stable version is available." | ||
266 | msgstr "Nowsza stabilna wersja jest dostępna." | ||
267 | |||
268 | msgid "You are up to date." | ||
269 | msgstr "Brak nowych aktualizacji." | ||
270 | 258 | ||
271 | msgid "Latest dev version" | 259 | msgid "results" |
272 | msgstr "Najnowsza wersja rozwojowa" | 260 | msgstr "rezultaty" |
273 | 261 | ||
274 | #, fuzzy | 262 | msgid "installation" |
275 | msgid "A more recent development version is available." | 263 | msgstr "instalacja" |
276 | msgstr "Nowsza wersja rozwojowa jest dostępna." | ||
277 | 264 | ||
278 | msgid "Feeds" | 265 | msgid "install your wallabag" |
279 | msgstr "Kanały (feeds)" | 266 | msgstr "zainstauj wallabag" |
280 | 267 | ||
281 | msgid "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | 268 | msgid "" |
282 | msgstr "Twój token kanału jest pusty i musi najpierw zostać wygenerowany. Kliknij <a href='?feed&action=generate'>tu aby go wygenerować</a>." | 269 | "wallabag is still not installed. Please fill the below form to install it. " |
270 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
271 | "on wallabag website</a>." | ||
272 | msgstr "" | ||
273 | "wallabag wciąż nie jest zainstalowany. Proszę wypełnij poniższy formularz " | ||
274 | "aby go zainstalować. Nie wahaj się <a href='http://doc.wallabag." | ||
275 | "org/'>przeczytać dokumentacji na stronie wallabag</a>." | ||
283 | 276 | ||
284 | msgid "Unread feed" | 277 | msgid "Login" |
285 | msgstr "Kanał nieprzeczytanych" | 278 | msgstr "Login" |
286 | 279 | ||
287 | msgid "Favorites feed" | 280 | msgid "Repeat your password" |
288 | msgstr "Kanał ulubionych" | 281 | msgstr "Powtórz swoje hasło" |
289 | 282 | ||
290 | msgid "Archive feed" | 283 | msgid "Install" |
291 | msgstr "Kanał archiwum" | 284 | msgstr "Zainstauj" |
292 | 285 | ||
293 | msgid "Your token:" | 286 | msgid "login to your wallabag" |
294 | msgstr "Twój token: " | 287 | msgstr "zaloguj się do twojego wallabag" |
295 | 288 | ||
296 | msgid "Your user id:" | 289 | msgid "Login to wallabag" |
297 | msgstr "Twój identyfikator użytkownika:" | 290 | msgstr "Logowanie do wallabag" |
298 | 291 | ||
299 | msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." | 292 | msgid "you are in demo mode, some features may be disabled." |
300 | msgstr "Możesz wygenerować token ponownie: kliknij <a href='?feed&action=generate'>generuj!</a>." | 293 | msgstr "jesteś w trybie demo, niektóre funkcjonalności mogą być wyłączone." |
301 | 294 | ||
302 | msgid "Change your language" | 295 | msgid "Username" |
303 | msgstr "Zmień język" | 296 | msgstr "Nazwa użytkownika" |
304 | 297 | ||
305 | msgid "Language:" | 298 | msgid "Stay signed in" |
306 | msgstr "Język:" | 299 | msgstr "Pozostań zalogowany" |
307 | 300 | ||
308 | msgid "Please execute the import script locally as it can take a very long time." | 301 | msgid "(Do not check on public computers)" |
309 | msgstr "Proszę wykonać skrypt importu lokalnie, gdyż moze to trwać bardzo długo." | 302 | msgstr "(Nie zaznaczaj na komputerach z publicznym dostępem)" |
310 | 303 | ||
311 | #, fuzzy | 304 | msgid "Sign in" |
312 | msgid "More info in the official documentation:" | 305 | msgstr "Zaloguj siÄ™" |
313 | msgstr "Więcej informacji znajduje się w oficjalnej dokumentacji:" | ||
314 | 306 | ||
315 | msgid "Import from Pocket" | 307 | msgid "favorites" |
316 | msgstr "Іmport z Pocket'a" | 308 | msgstr "ulubione" |
317 | 309 | ||
318 | msgid "Import from Readability" | 310 | msgid "estimated reading time :" |
319 | msgstr "Import z Readability" | 311 | msgstr "szacowany czas czytania :" |
320 | 312 | ||
321 | msgid "Import from Instapaper" | 313 | msgid "Mark all the entries as read" |
322 | msgstr "Import z Instapaper" | 314 | msgstr "Zaznacz wszystkie wpisy jako przeczytane" |
323 | 315 | ||
324 | msgid "Import from wallabag" | 316 | msgid "Return home" |
325 | msgstr "Import z wallabag" | 317 | msgstr "Powrót na stronę domową" |
326 | 318 | ||
327 | msgid "Export your wallabag data" | 319 | msgid "Back to top" |
328 | msgstr "Eksportowac dane wallabag" | 320 | msgstr "Powrót na górę" |
329 | 321 | ||
330 | msgid "to download your database." | 322 | msgid "Mark as read" |
331 | msgstr "aby pobrac bazÄ™ danych." | 323 | msgstr "Oznacz jako przeczytane" |
332 | 324 | ||
333 | msgid "to export your wallabag data." | 325 | msgid "Favorite" |
334 | msgstr "aby eksportować dane wallabag." | 326 | msgstr "Ulubione" |
335 | 327 | ||
336 | msgid "Cache" | 328 | msgid "Toggle favorite" |
337 | msgstr "Cache" | 329 | msgstr "Przełącz ulubione" |
338 | 330 | ||
339 | msgid "to delete cache." | 331 | msgid "Delete" |
340 | msgstr "aby wyczyścić cache." | 332 | msgstr "Usuń" |
341 | 333 | ||
342 | msgid "tweet" | 334 | msgid "Tweet" |
343 | msgstr "tweet" | 335 | msgstr "Tweet" |
344 | 336 | ||
345 | #, fuzzy | 337 | msgid "Email" |
346 | msgid "email" | 338 | msgstr "Email" |
347 | msgstr "Wyślij email" | ||
348 | 339 | ||
349 | msgid "shaarli" | 340 | msgid "shaarli" |
350 | msgstr "shaarli" | 341 | msgstr "shaarli" |
@@ -352,163 +343,172 @@ msgstr "shaarli" | |||
352 | msgid "flattr" | 343 | msgid "flattr" |
353 | msgstr "flattr" | 344 | msgstr "flattr" |
354 | 345 | ||
355 | msgid "this article appears wrong?" | 346 | msgid "Does this article appear wrong?" |
356 | msgstr "Czy ten artykuł wyświetla się nieprawidłowo?" | 347 | msgstr "Czy ten artykuł jest wyświetlany niepoprawnie?" |
357 | 348 | ||
358 | msgid "You can enter multiple tags, separated by commas." | 349 | msgid "tags:" |
359 | msgstr "Możesz wprowadzić wiele tagów, rozdzielając je przecinkami." | 350 | msgstr "tagi:" |
360 | 351 | ||
361 | msgid "return to article" | 352 | msgid "Edit tags" |
362 | msgstr "wróć do artykułu" | 353 | msgstr "Edytuj tagi" |
354 | |||
355 | msgid "save link!" | ||
356 | msgstr "zapisz link!" | ||
357 | |||
358 | msgid "home" | ||
359 | msgstr "strona domowa" | ||
360 | |||
361 | msgid "tags" | ||
362 | msgstr "tagi" | ||
363 | |||
364 | msgid "logout" | ||
365 | msgstr "wyloguj" | ||
363 | 366 | ||
364 | #, fuzzy | ||
365 | msgid "powered by" | 367 | msgid "powered by" |
366 | msgstr "zasilany przez" | 368 | msgstr "w oparciu o" |
367 | 369 | ||
368 | msgid "debug mode is on so cache is off." | 370 | msgid "debug mode is on so cache is off." |
369 | msgstr "tryb debugowania jest włączony, więc cashe jest wyłączony." | 371 | msgstr "tryb debug jest włączony zatem cache jest wyłączony." |
370 | 372 | ||
371 | msgid "your wallabag version:" | 373 | msgid "your wallabag version:" |
372 | msgstr "twoja wersja wallabag:" | 374 | msgstr "wersja twojego wallabag:" |
373 | 375 | ||
374 | msgid "storage:" | 376 | msgid "storage:" |
375 | msgstr "magazyn:" | 377 | msgstr "storage:" |
376 | 378 | ||
377 | msgid "save a link" | 379 | msgid "save a link" |
378 | msgstr "zapisz link" | 380 | msgstr "zapisz link" |
379 | 381 | ||
380 | msgid "return home" | 382 | msgid "back to home" |
381 | msgstr "wróć do strony domowej" | 383 | msgstr "powrót do strony domowej" |
382 | |||
383 | msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>." | ||
384 | msgstr "Możesz <a href='wallabag_compatibility_test.php'>sprawdzić swoją konfigurację tu</a>." | ||
385 | |||
386 | msgid "Tag" | ||
387 | msgstr "Tag" | ||
388 | 384 | ||
389 | msgid "No articles found." | 385 | msgid "toggle mark as read" |
390 | msgstr "Nie znaleziono artykułów." | 386 | msgstr "przełącz jako przeczytane" |
391 | 387 | ||
392 | msgid "Toggle mark as read" | 388 | msgid "tweet" |
393 | msgstr "Przełącz jako przeczytane" | 389 | msgstr "tweet" |
394 | 390 | ||
395 | msgid "mark all the entries as read" | 391 | msgid "email" |
396 | msgstr "zaznacz wszystko jako przeczytane" | 392 | msgstr "email" |
397 | 393 | ||
398 | msgid "Login to wallabag" | 394 | msgid "this article appears wrong?" |
399 | msgstr "Zaloguj się do wallabag" | 395 | msgstr "ten artykuł wygląda niepoprawnie?" |
400 | 396 | ||
401 | msgid "Username" | 397 | msgid "No link available here!" |
402 | msgstr "Nazwa użytkownika" | 398 | msgstr "No link available here!" |
403 | 399 | ||
404 | msgid "Sign in" | 400 | #, fuzzy |
405 | msgstr "Login" | 401 | msgid "Poching a link" |
402 | msgstr "Poching a link" | ||
406 | 403 | ||
407 | msgid "Return home" | 404 | msgid "by filling this field" |
408 | msgstr "Wróć do strony domowej" | 405 | msgstr "przez wypełnienie tego pola" |
409 | 406 | ||
410 | msgid "Back to top" | 407 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" |
411 | msgstr "Wróć na górę" | 408 | msgstr "skryptozakładka: przeciągnij i upuść ten link na twój pasek zakładek" |
412 | 409 | ||
413 | msgid "Mark as read" | 410 | msgid "your version" |
414 | msgstr "Zaznacz jako przeczytane" | 411 | msgstr "twoja wersja" |
415 | 412 | ||
416 | msgid "Favorite" | 413 | msgid "latest stable version" |
417 | msgstr "Ulubione" | 414 | msgstr "najnowsza stabilna wersja" |
418 | 415 | ||
419 | msgid "Toggle favorite" | 416 | msgid "a more recent stable version is available." |
420 | msgstr "Zaznacz jako ulubione" | 417 | msgstr "nowsza wersja stabilna jest dostępna." |
421 | 418 | ||
422 | msgid "Delete" | 419 | msgid "you are up to date." |
423 | msgstr "Usuń" | 420 | msgstr "posiadasz najnowszą wersję." |
424 | 421 | ||
425 | msgid "Tweet" | 422 | msgid "latest dev version" |
426 | msgstr "Tweet" | 423 | msgstr "najnowsza wersja developerska" |
427 | 424 | ||
428 | msgid "Email" | 425 | msgid "a more recent development version is available." |
429 | msgstr "Wyślij email" | 426 | msgstr "nowsza wersja developerska jest dostępna." |
430 | 427 | ||
431 | msgid "Does this article appear wrong?" | 428 | msgid "Please execute the import script locally, it can take a very long time." |
432 | msgstr "Czy ten artykuł wyświetla się nieprawidłowo?" | 429 | msgstr "" |
430 | "Please execute the import script locally, it can take a very long time." | ||
433 | 431 | ||
434 | msgid "tags:" | 432 | msgid "More infos in the official doc:" |
435 | msgstr "tegi:" | 433 | msgstr "More infos in the official doc:" |
436 | 434 | ||
437 | msgid "Edit tags" | 435 | msgid "import from Pocket" |
438 | msgstr "Edytuj tagi" | 436 | msgstr "import from Pocket" |
439 | 437 | ||
440 | msgid "save link!" | 438 | msgid "import from Readability" |
441 | msgstr "zapisz link!" | 439 | msgstr "import from Readability" |
442 | 440 | ||
443 | #, fuzzy | 441 | msgid "import from Instapaper" |
444 | msgid "estimated reading time :" | 442 | msgstr "import from Instapaper" |
445 | msgstr "szacowany czas odczytu:" | ||
446 | 443 | ||
447 | msgid "Mark all the entries as read" | 444 | msgid "Tags" |
448 | msgstr "Oznacz wszystko jako przeczytane" | 445 | msgstr "Tagi" |
449 | 446 | ||
450 | msgid "Untitled" | 447 | msgid "Untitled" |
451 | msgstr "Bez nazwy" | 448 | msgstr "Untitled" |
452 | 449 | ||
453 | msgid "the link has been added successfully" | 450 | msgid "the link has been added successfully" |
454 | msgstr "link został pomyślnie dodany" | 451 | msgstr "link został dodany pomyślnie" |
455 | 452 | ||
456 | msgid "error during insertion : the link wasn't added" | 453 | msgid "error during insertion : the link wasn't added" |
457 | msgstr "błąd podczas wprowadzania: link nie został dodany" | 454 | msgstr "błąd podczas dodawania : link nie został dodany" |
458 | 455 | ||
459 | msgid "the link has been deleted successfully" | 456 | msgid "the link has been deleted successfully" |
460 | msgstr "link zostal pomyślnie usunięty" | 457 | msgstr "link został usunięty pomyślnie" |
461 | 458 | ||
462 | msgid "the link wasn't deleted" | 459 | msgid "the link wasn't deleted" |
463 | msgstr "link nie został usunięty" | 460 | msgstr "link nie został usunięty" |
464 | 461 | ||
465 | msgid "Article not found!" | 462 | msgid "Article not found!" |
466 | msgstr "Nie znaleziono artykułu." | 463 | msgstr "Artykuł nie znaleziony!" |
467 | 464 | ||
468 | msgid "previous" | 465 | msgid "previous" |
469 | msgstr "poprzednia" | 466 | msgstr "poprzedni" |
470 | 467 | ||
471 | msgid "next" | 468 | msgid "next" |
472 | msgstr "następna" | 469 | msgstr "następny" |
473 | 470 | ||
474 | msgid "in demo mode, you can't update your password" | 471 | msgid "in demo mode, you can't update your password" |
475 | msgstr "w trybie demo, nie można zmieniać hasła" | 472 | msgstr "w trybie demo nie możesz zaktualizować swojego hasła" |
476 | 473 | ||
477 | msgid "your password has been updated" | 474 | msgid "your password has been updated" |
478 | msgstr "twoje hasło zostało zmienione" | 475 | msgstr "twoje hasło zostało zaktualizowane" |
479 | 476 | ||
480 | msgid "the two fields have to be filled & the password must be the same in the two fields" | 477 | msgid "" |
481 | msgstr "oba pola muszą być wypełnione i hasła muszę być takie same w obu polach" | 478 | "the two fields have to be filled & the password must be the same in the two " |
479 | "fields" | ||
480 | msgstr "" | ||
481 | "oba pola muszą być wypełnione oraz hasło musi być takie same w obu polach" | ||
482 | 482 | ||
483 | msgid "still using the \"" | 483 | msgid "still using the \"" |
484 | msgstr "nadal w użyciu \"" | 484 | msgstr "wciąż używam \"" |
485 | 485 | ||
486 | msgid "that theme does not seem to be installed" | 486 | msgid "that theme does not seem to be installed" |
487 | msgstr "wydaje się że ten motyw nie jest zainstalowany" | 487 | msgstr "ten motyw nie wygląda na zainstalowany" |
488 | 488 | ||
489 | msgid "you have changed your theme preferences" | 489 | msgid "you have changed your theme preferences" |
490 | msgstr "ustawienia motywu zostały zmienione" | 490 | msgstr "zmieniłeś swoje preferencje motywu" |
491 | 491 | ||
492 | msgid "that language does not seem to be installed" | 492 | msgid "that language does not seem to be installed" |
493 | msgstr "wydaje się że ten język nie jest zainstalowany" | 493 | msgstr "ten język nie wygląda na zainstalowany" |
494 | 494 | ||
495 | msgid "you have changed your language preferences" | 495 | msgid "you have changed your language preferences" |
496 | msgstr "ustawienia języka zostały zmienione" | 496 | msgstr "zmieniłeś swoje preferencje językowe" |
497 | 497 | ||
498 | msgid "login failed: you have to fill all fields" | 498 | msgid "login failed: you have to fill all fields" |
499 | msgstr "logowanie nie powiodlo się: musisz wypełnić wszystkie pola" | 499 | msgstr "logowanie się nie powiodło: musisz wypełnić wszystkie pola" |
500 | 500 | ||
501 | msgid "welcome to your wallabag" | 501 | msgid "welcome to your wallabag" |
502 | msgstr "Witamy w wallabag" | 502 | msgstr "witaj w twoim wallabag" |
503 | 503 | ||
504 | msgid "login failed: bad login or password" | 504 | msgid "login failed: bad login or password" |
505 | msgstr "logowanie nie powiodlo się: niepoprawny login lub hasło" | 505 | msgstr "logowanie się nie powiodło: nieprawidłowy login lub hasło" |
506 | 506 | ||
507 | msgid "import from instapaper completed" | 507 | msgid "import from instapaper completed" |
508 | msgstr "import z instapaper'a zakończony" | 508 | msgstr "import z instapaper zakończony" |
509 | 509 | ||
510 | msgid "import from pocket completed" | 510 | msgid "import from pocket completed" |
511 | msgstr "import z pocket'a zakończony" | 511 | msgstr "import z pocket zakończony" |
512 | 512 | ||
513 | msgid "import from Readability completed. " | 513 | msgid "import from Readability completed. " |
514 | msgstr "import z Readability zakończony. " | 514 | msgstr "import z Readability zakończony. " |
@@ -520,25 +520,34 @@ msgid "Unknown import provider." | |||
520 | msgstr "Nieznany dostawca importu." | 520 | msgstr "Nieznany dostawca importu." |
521 | 521 | ||
522 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | 522 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" |
523 | msgstr "Niekompletny plik inc/poche/define.inc.php, proszę zdefiniować \"" | 523 | msgstr "Niekompletny plik inc/poche/define.inc.php, proszę zdefiniuj \"" |
524 | 524 | ||
525 | msgid "Could not find required \"" | 525 | msgid "Could not find required \"" |
526 | msgstr "Nie znaleziono potrzebnego \"" | 526 | msgstr "Nie znaleziono wymaganego \"" |
527 | 527 | ||
528 | msgid "Uh, there is a problem while generating feeds." | 528 | msgid "Uh, there is a problem while generating feeds." |
529 | msgstr "Uh, jest problem podczas generowania kanałów." | 529 | msgstr "Ah, wystąpił problem podczas generowania kanałów." |
530 | 530 | ||
531 | msgid "Cache deleted." | 531 | msgid "Cache deleted." |
532 | msgstr "Cache wyczyszczony." | 532 | msgstr "Cache usunięty." |
533 | 533 | ||
534 | msgid "Oops, it seems you don't have PHP 5." | 534 | msgid "Oops, it seems you don't have PHP 5." |
535 | msgstr "Oops, wygląda ze nie masz PHP 5." | 535 | msgstr "Oops, wygląda na to że nie masz PHP 5." |
536 | |||
537 | #~ msgid "poche it!" | ||
538 | #~ msgstr "poche it!" | ||
539 | |||
540 | #~ msgid "Updating poche" | ||
541 | #~ msgstr "Updating poche" | ||
542 | |||
543 | #~ msgid "create an issue" | ||
544 | #~ msgstr "create an issue" | ||
536 | 545 | ||
537 | #~ msgid "Import from poche" | 546 | #~ msgid "or" |
538 | #~ msgstr "Import z poche" | 547 | #~ msgstr "or" |
539 | 548 | ||
540 | #~ msgid "welcome to your poche" | 549 | #~ msgid "contact us by mail" |
541 | #~ msgstr "witamy w poche" | 550 | #~ msgstr "contact us by mail" |
542 | 551 | ||
543 | #~ msgid "see you soon!" | 552 | #~ msgid "your poche version:" |
544 | #~ msgstr "do zobaczenia wkrótce!" | 553 | #~ msgstr "your poche version:" |
diff --git a/themes/baggy/_menu.twig b/themes/baggy/_menu.twig index f1b75cd5..59b6a46b 100644 --- a/themes/baggy/_menu.twig +++ b/themes/baggy/_menu.twig | |||
@@ -1,6 +1,6 @@ | |||
1 | <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button> | 1 | <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button> |
2 | <ul id="links" class="links"> | 2 | <ul id="links" class="links"> |
3 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "home" %}</a></li> | 3 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "unread" %}</a></li> |
4 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> | 4 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> |
5 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> | 5 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> |
6 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> | 6 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> |
diff --git a/themes/baggy/_pocheit-form.twig b/themes/baggy/_pocheit-form.twig index 505ec368..57a928c0 100755 --- a/themes/baggy/_pocheit-form.twig +++ b/themes/baggy/_pocheit-form.twig | |||
@@ -4,7 +4,7 @@ | |||
4 | {% trans "Save a link" %}</h2> | 4 | {% trans "Save a link" %}</h2> |
5 | <input type="hidden" name="autoclose" value="1" /> | 5 | <input type="hidden" name="autoclose" value="1" /> |
6 | <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> | 6 | <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> |
7 | <span id="add-link-result"></span> | ||
7 | <input type="submit" value="{% trans "save link!" %}" /> | 8 | <input type="submit" value="{% trans "save link!" %}" /> |
8 | <div id="add-link-result"></div> | ||
9 | </form> | 9 | </form> |
10 | </div> | 10 | </div> |
diff --git a/themes/baggy/_search-form.twig b/themes/baggy/_search-form.twig index b8ac3bfa..7b2c7082 100644 --- a/themes/baggy/_search-form.twig +++ b/themes/baggy/_search-form.twig | |||
@@ -1,7 +1,7 @@ | |||
1 | <div id="search-form" class="messages info"> | 1 | <div id="search-form" class="messages info"> |
2 | <form method="get" action="index.php"> | 2 | <form method="get" action="index.php"> |
3 | <input type="hidden" name="view" value="search"></input> | 3 | <input type="hidden" name="view" value="search"></input> |
4 | <label><a href="javascript: void(null);" id="search-form-close">X</a>{% trans "Search" %}</label> : <input type="text" name="search" /> | 4 | <label><a href="javascript: void(null);" id="search-form-close">X</a>{% trans "Search" %}</label> : <input required placeholder="{% trans "Enter your search here" %}" type="text" name="search" id="searchfield" /> |
5 | <input id="submit-search" type="submit" value="{% trans "Search" %} !"></input> | 5 | <input id="submit-search" type="submit" value="{% trans "Search" %} !"></input> |
6 | </form> | 6 | </form> |
7 | </div> \ No newline at end of file | 7 | </div> \ No newline at end of file |
diff --git a/themes/baggy/config.twig b/themes/baggy/config.twig index 46735f07..3523cd08 100755 --- a/themes/baggy/config.twig +++ b/themes/baggy/config.twig | |||
@@ -111,7 +111,7 @@ | |||
111 | <fieldset class="w500p"> | 111 | <fieldset class="w500p"> |
112 | <div class="row"> | 112 | <div class="row"> |
113 | <label class="col w150p" for="file">{% trans "File:" %}</label> | 113 | <label class="col w150p" for="file">{% trans "File:" %}</label> |
114 | <input class="col" type="file" id="file" name="file" tabindex="4"> | 114 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> |
115 | </div> | 115 | </div> |
116 | <div class="row mts txtcenter"> | 116 | <div class="row mts txtcenter"> |
117 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | 117 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> |
@@ -121,8 +121,6 @@ | |||
121 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | 121 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> |
122 | 122 | ||
123 | <h2>{% trans "Export your wallabag data" %}</h2> | 123 | <h2>{% trans "Export your wallabag data" %}</h2> |
124 | {% if constant('STORAGE') == 'sqlite' %} | ||
125 | <p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %} | ||
126 | <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p> | 124 | <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p> |
127 | 125 | ||
128 | <h2>{% trans "Fancy an E-Book ?" %}</h2> | 126 | <h2>{% trans "Fancy an E-Book ?" %}</h2> |
@@ -138,11 +136,15 @@ | |||
138 | <fieldset class="w500p"> | 136 | <fieldset class="w500p"> |
139 | <div class="row"> | 137 | <div class="row"> |
140 | <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label> | 138 | <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label> |
141 | <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}"> | 139 | <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required> |
142 | </div> | 140 | </div> |
143 | <div class="row"> | 141 | <div class="row"> |
144 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> | 142 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> |
145 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}"> | 143 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required> |
144 | </div> | ||
145 | <div class="row"> | ||
146 | <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label> | ||
147 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> | ||
146 | </div> | 148 | </div> |
147 | <div class="row mts txtcenter"> | 149 | <div class="row mts txtcenter"> |
148 | <button type="submit">{% trans "Send" %}</button> | 150 | <button type="submit">{% trans "Send" %}</button> |
@@ -163,5 +165,5 @@ | |||
163 | </div> | 165 | </div> |
164 | </form> | 166 | </form> |
165 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> | 167 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> |
166 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server." %}</p>{% endif %} | 168 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} |
167 | {% endblock %} | 169 | {% endblock %} |
diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index 6d320cd2..b775a291 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css | |||
@@ -89,7 +89,7 @@ form fieldset { | |||
89 | margin: 0; | 89 | margin: 0; |
90 | } | 90 | } |
91 | 91 | ||
92 | form input[type="text"], select, form input[type="password"], form input[type="url"] { | 92 | form input[type="text"], select, form input[type="password"], form input[type="url"], form input[type="email"] { |
93 | border: 1px solid #999; | 93 | border: 1px solid #999; |
94 | padding: 0.5em 1em; | 94 | padding: 0.5em 1em; |
95 | min-width: 12em; | 95 | min-width: 12em; |
@@ -630,7 +630,7 @@ a.add-to-wallabag-link-after:after { | |||
630 | 630 | ||
631 | #add-link-result { | 631 | #add-link-result { |
632 | font-weight: bold; | 632 | font-weight: bold; |
633 | margin-top: 10px; | 633 | font-size: 0.9em; |
634 | } | 634 | } |
635 | 635 | ||
636 | /* ========================================================================== | 636 | /* ========================================================================== |
@@ -923,6 +923,13 @@ blockquote { | |||
923 | text-decoration: underline; | 923 | text-decoration: underline; |
924 | } | 924 | } |
925 | 925 | ||
926 | pre code { | ||
927 | font-family: "Courier New", Courier, monospace; | ||
928 | border: 1px solid #ccc; | ||
929 | font-size: 0.96em; | ||
930 | } | ||
931 | |||
932 | |||
926 | /* ========================================================================== | 933 | /* ========================================================================== |
927 | 6 = Media Queries | 934 | 6 = Media Queries |
928 | ========================================================================== */ | 935 | ========================================================================== */ |
@@ -1055,3 +1062,4 @@ blockquote { | |||
1055 | left: 0; | 1062 | left: 0; |
1056 | } | 1063 | } |
1057 | } | 1064 | } |
1065 | |||
diff --git a/themes/baggy/home.twig b/themes/baggy/home.twig index 3942d3bf..e788b588 100755 --- a/themes/baggy/home.twig +++ b/themes/baggy/home.twig | |||
@@ -61,9 +61,9 @@ | |||
61 | 61 | ||
62 | {% if search_term is defined %}<a title="{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}" href="./?action=add_tag&search={{ search_term }}">{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}</a>{% endif %} | 62 | {% if search_term is defined %}<a title="{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}" href="./?action=add_tag&search={{ search_term }}">{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}</a>{% endif %} |
63 | 63 | ||
64 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&tag={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | 64 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> |
65 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&search={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> | 65 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> |
66 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&category={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} | 66 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} |
67 | 67 | ||
68 | {% endif %} | 68 | {% endif %} |
69 | {% endblock %} | 69 | {% endblock %} |
diff --git a/themes/baggy/view.twig b/themes/baggy/view.twig index af97407d..53a9ee69 100755 --- a/themes/baggy/view.twig +++ b/themes/baggy/view.twig | |||
@@ -4,6 +4,7 @@ | |||
4 | {% endblock %} | 4 | {% endblock %} |
5 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} | 5 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} |
6 | {% block content %} | 6 | {% block content %} |
7 | {% include '_highlight.twig' %} | ||
7 | <div id="article_toolbar"> | 8 | <div id="article_toolbar"> |
8 | <ul class="links"> | 9 | <ul class="links"> |
9 | <li class="topPosF"><a href="#top" title="{% trans "Back to top" %}" class="tool top icon icon-arrow-up-thick"><span>{% trans "Back to top" %}</span></a></li> | 10 | <li class="topPosF"><a href="#top" title="{% trans "Back to top" %}" class="tool top icon icon-arrow-up-thick"><span>{% trans "Back to top" %}</span></a></li> |
@@ -16,7 +17,7 @@ | |||
16 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} | 17 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} |
17 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numflattrs }})</a></li>{% endif %}{% endif %} | 18 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numflattrs }})</a></li>{% endif %}{% endif %} |
18 | {% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %} | 19 | {% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %} |
19 | <li><a href="./?epub&method=id&id={{ entry.id|e }}" title="Generate epub file">EPUB</a></li> | 20 | <li><a href="./?epub&method=id&value={{ entry.id|e }}" title="Generate epub file">EPUB</a></li> |
20 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display icon icon-delete"><span>{% trans "Does this article appear wrong?" %}</span></a></li> | 21 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display icon icon-delete"><span>{% trans "Does this article appear wrong?" %}</span></a></li> |
21 | </ul> | 22 | </ul> |
22 | </div> | 23 | </div> |
diff --git a/themes/courgette/_menu.twig b/themes/courgette/_menu.twig index 5e737299..0e37660a 100755 --- a/themes/courgette/_menu.twig +++ b/themes/courgette/_menu.twig | |||
@@ -1,6 +1,6 @@ | |||
1 | <div id="menuContainer"> | 1 | <div id="menuContainer"> |
2 | <ul id="links"> | 2 | <ul id="links"> |
3 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "home" %}</a></li> | 3 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "unread" %}</a></li> |
4 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> | 4 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> |
5 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> | 5 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> |
6 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> | 6 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> |
diff --git a/themes/courgette/_view.twig b/themes/courgette/_view.twig index 25479a3d..c5c916c0 100755 --- a/themes/courgette/_view.twig +++ b/themes/courgette/_view.twig | |||
@@ -12,7 +12,7 @@ | |||
12 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %} | 12 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %} |
13 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} | 13 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} |
14 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li class="flattrli"><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numflattrs }}</a></li>{% endif %}{% endif %} | 14 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li class="flattrli"><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numflattrs }}</a></li>{% endif %}{% endif %} |
15 | <li><a href="./?epub&method=id&id={{ entry.id|e }}" title="Generate epub file">EPUB</a></li> | 15 | <li><a href="./?epub&method=id&value={{ entry.id|e }}" title="Generate epub file">EPUB</a></li> |
16 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "this article appears wrong?" %}" class="tool bad-display"><span>{% trans "this article appears wrong?" %}</span></a></li> | 16 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "this article appears wrong?" %}" class="tool bad-display"><span>{% trans "this article appears wrong?" %}</span></a></li> |
17 | </ul> | 17 | </ul> |
18 | </div> | 18 | </div> |
diff --git a/themes/courgette/config.twig b/themes/courgette/config.twig index 9ab58461..c4933794 100755 --- a/themes/courgette/config.twig +++ b/themes/courgette/config.twig | |||
@@ -97,6 +97,10 @@ | |||
97 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> | 97 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> |
98 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}"> | 98 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}"> |
99 | </div> | 99 | </div> |
100 | <div class="row"> | ||
101 | <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label> | ||
102 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> | ||
103 | </div> | ||
100 | <div class="row mts txtcenter"> | 104 | <div class="row mts txtcenter"> |
101 | <button type="submit">{% trans "Send" %}</button> | 105 | <button type="submit">{% trans "Send" %}</button> |
102 | </div> | 106 | </div> |
@@ -116,6 +120,6 @@ | |||
116 | </div> | 120 | </div> |
117 | </form> | 121 | </form> |
118 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> | 122 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> |
119 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server." %}</p>{% endif %} | 123 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} |
120 | </div> | 124 | </div> |
121 | {% endblock %} | 125 | {% endblock %} |
diff --git a/themes/courgette/home.twig b/themes/courgette/home.twig index 401f3f20..811298eb 100755 --- a/themes/courgette/home.twig +++ b/themes/courgette/home.twig | |||
@@ -53,9 +53,9 @@ | |||
53 | 53 | ||
54 | {{ block('pager') }} | 54 | {{ block('pager') }} |
55 | 55 | ||
56 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&tag={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | 56 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> |
57 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&search={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> | 57 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> |
58 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&category={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} | 58 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} |
59 | 59 | ||
60 | {% endif %} | 60 | {% endif %} |
61 | 61 | ||
diff --git a/themes/default/_highlight.twig b/themes/default/_highlight.twig new file mode 100755 index 00000000..cdb7c6bf --- /dev/null +++ b/themes/default/_highlight.twig | |||
@@ -0,0 +1,4 @@ | |||
1 | {# include excelent highlight.js library for code highligting, see http://highlightjs.org/ #} | ||
2 | <link rel="stylesheet" href="{{ poche_url }}themes/default/highlightjs/styles/github.css"> | ||
3 | <script src="{{ poche_url }}themes/default/highlightjs/highlight.pack.js"></script> | ||
4 | <script>hljs.initHighlightingOnLoad();</script> | ||
diff --git a/themes/default/_menu.twig b/themes/default/_menu.twig index 0daa0b03..9b9a6062 100644 --- a/themes/default/_menu.twig +++ b/themes/default/_menu.twig | |||
@@ -1,5 +1,5 @@ | |||
1 | <ul id="links"> | 1 | <ul id="links"> |
2 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "home" %}</a></li> | 2 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "unread" %}</a></li> |
3 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> | 3 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> |
4 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> | 4 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> |
5 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> | 5 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> |
diff --git a/themes/default/_search-form.twig b/themes/default/_search-form.twig index 33bea20d..0cf6097a 100755 --- a/themes/default/_search-form.twig +++ b/themes/default/_search-form.twig | |||
@@ -2,7 +2,7 @@ | |||
2 | <form method="get" action="index.php"> | 2 | <form method="get" action="index.php"> |
3 | <p> | 3 | <p> |
4 | <input type="hidden" name="view" value="search"></input> | 4 | <input type="hidden" name="view" value="search"></input> |
5 | <label>{% trans "Search" %}</label> : <input type="text" placeholder="{% trans "Enter your search here" %}" name="search" /> | 5 | <label>{% trans "Search" %}</label> : <input type="text" required placeholder="{% trans "Enter your search here" %}" name="search" id="searchfield" /> |
6 | <input type="submit" value="{% trans "Search" %} !"></input> | 6 | <input type="submit" value="{% trans "Search" %} !"></input> |
7 | </p> | 7 | </p> |
8 | </form> | 8 | </form> |
diff --git a/themes/default/config.twig b/themes/default/config.twig index 160f6046..36b66e88 100755 --- a/themes/default/config.twig +++ b/themes/default/config.twig | |||
@@ -110,7 +110,7 @@ | |||
110 | <fieldset class="w500p"> | 110 | <fieldset class="w500p"> |
111 | <div class="row"> | 111 | <div class="row"> |
112 | <label class="col w150p" for="file">{% trans "File:" %}</label> | 112 | <label class="col w150p" for="file">{% trans "File:" %}</label> |
113 | <input class="col" type="file" id="file" name="file" tabindex="4"> | 113 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> |
114 | </div> | 114 | </div> |
115 | <div class="row mts txtcenter"> | 115 | <div class="row mts txtcenter"> |
116 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | 116 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> |
@@ -120,8 +120,6 @@ | |||
120 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | 120 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> |
121 | 121 | ||
122 | <h2>{% trans "Export your wallabag data" %}</h2> | 122 | <h2>{% trans "Export your wallabag data" %}</h2> |
123 | {% if constant('STORAGE') == 'sqlite' %} | ||
124 | <p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %} | ||
125 | <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p> | 123 | <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p> |
126 | 124 | ||
127 | <h2>{% trans "Cache" %}</h2> | 125 | <h2>{% trans "Cache" %}</h2> |
@@ -143,6 +141,10 @@ | |||
143 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> | 141 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> |
144 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}"> | 142 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}"> |
145 | </div> | 143 | </div> |
144 | <div class="row"> | ||
145 | <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label> | ||
146 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> | ||
147 | </div> | ||
146 | <div class="row mts txtcenter"> | 148 | <div class="row mts txtcenter"> |
147 | <button type="submit">{% trans "Send" %}</button> | 149 | <button type="submit">{% trans "Send" %}</button> |
148 | </div> | 150 | </div> |
@@ -162,5 +164,5 @@ | |||
162 | </div> | 164 | </div> |
163 | </form> | 165 | </form> |
164 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> | 166 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> |
165 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server." %}</p>{% endif %} | 167 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} |
166 | {% endblock %} | 168 | {% endblock %} |
diff --git a/themes/default/css/messages.css b/themes/default/css/messages.css index 46b54795..3ad4e34e 100644 --- a/themes/default/css/messages.css +++ b/themes/default/css/messages.css | |||
@@ -8,6 +8,11 @@ | |||
8 | border-radius: 4px; | 8 | border-radius: 4px; |
9 | } | 9 | } |
10 | 10 | ||
11 | /* Search form message needs a little more width, depending on translations */ | ||
12 | #search-form { | ||
13 | width: 420px; | ||
14 | } | ||
15 | |||
11 | .messages a.closeMessage { | 16 | .messages a.closeMessage { |
12 | display: none; | 17 | display: none; |
13 | float: right; | 18 | float: right; |
diff --git a/themes/default/css/style.css b/themes/default/css/style.css index e58ef81a..e254d481 100755 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css | |||
@@ -429,4 +429,10 @@ a.add-to-wallabag-link-after:after { | |||
429 | text-indent: 0; | 429 | text-indent: 0; |
430 | color: black; | 430 | color: black; |
431 | width: 50px; | 431 | width: 50px; |
432 | } | ||
433 | |||
434 | pre code { | ||
435 | font-family: "Courier New", Courier, monospace; | ||
436 | border: 1px solid #ddd; | ||
437 | font-size: 0.96em; | ||
432 | } \ No newline at end of file | 438 | } \ No newline at end of file |
diff --git a/themes/default/highlightjs/highlight.pack.js b/themes/default/highlightjs/highlight.pack.js new file mode 100644 index 00000000..10a21c34 --- /dev/null +++ b/themes/default/highlightjs/highlight.pack.js | |||
@@ -0,0 +1 @@ | |||
var hljs=new function(){function j(v){return v.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">")}function t(v){return v.nodeName.toLowerCase()}function h(w,x){var v=w&&w.exec(x);return v&&v.index==0}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNode.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^lang(uage)?-/,"")});return v.filter(function(x){return i(x)||x=="no-highlight"})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}return v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSibling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(t(A)=="br"){z+=1}else{if(A.nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);v.push({event:"stop",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0].offset!=y[0].offset){return(w[0].offset<y[0].offset)?w:y}return y[0].event=="start"?w:y}function A(H){function G(I){return" "+I.nodeName+'="'+j(I.value)+'"'}F+="<"+t(H)+Array.prototype.map.call(H.attributes,G).join("")+">"}function E(G){F+="</"+t(G)+">"}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.length){var D=B();F+=j(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse().forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x);z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop()}v(D.splice(0,1)[0])}}return F+j(C.substr(x))}function m(y){function v(z){return(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":""))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){var z={};var E=function(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(function(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})};if(typeof D.k=="string"){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k=z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b="\\b("+D.bK.split(" ").join("|")+")\\b"}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w(D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i)}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if(F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c=B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(function(F){return F.bK?"\\.?("+F.b+")\\.?":F.b}).concat([D.tE,D.i]).map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){return null}};D.continuation={}}x(y)}function c(S,L,J,R){function v(U,V){for(var T=0;T<V.c.length;T++){if(h(V.c[T].bR,U)){return V.c[T]}}}function z(U,T){if(h(U.eR,T)){return U}if(U.eW){return z(U.parent,T)}}function A(T,U){return !J&&h(U.iR,T)}function E(V,T){var U=M.cI?T[0].toLowerCase():T[0];return V.k.hasOwnProperty(U)&&V.k[U]}function w(Z,X,W,V){var T=V?"":b.classPrefix,U='<span class="'+T,Y=W?"":"</span>";U+=Z+'">';return U+X+Y}function N(){if(!I.k){return j(C)}var T="";var W=0;I.lR.lastIndex=0;var U=I.lR.exec(C);while(U){T+=j(C.substr(W,U.index-W));var V=E(I,U);if(V){H+=V[1];T+=w(V[0],j(U[0]))}else{T+=j(U[0])}W=I.lR.lastIndex;U=I.lR.exec(C)}return T+j(C.substr(W))}function F(){if(I.sL&&!f[I.sL]){return j(C)}var T=I.sL?c(I.sL,C,true,I.continuation.top):e(C);if(I.r>0){H+=T.r}if(I.subLanguageMode=="continuous"){I.continuation.top=T.top}return w(T.language,T.value,false,true)}function Q(){return I.sL!==undefined?F():N()}function P(V,U){var T=V.cN?w(V.cN,"",true):"";if(V.rB){D+=T;C=""}else{if(V.eB){D+=j(U)+T;C=""}else{D+=T;C=U}}I=Object.create(V,{parent:{value:I}})}function G(T,X){C+=T;if(X===undefined){D+=Q();return 0}var V=v(X,I);if(V){D+=Q();P(V,X);return V.rB?0:X.length}var W=z(I,X);if(W){var U=I;if(!(U.rE||U.eE)){C+=X}D+=Q();do{if(I.cN){D+="</span>"}H+=I.r;I=I.parent}while(I!=W.parent);if(U.eE){D+=j(X)}C="";if(W.starts){P(W.starts,"")}return U.rE?0:X.length}if(A(X,I)){throw new Error('Illegal lexeme "'+X+'" for mode "'+(I.cN||"<unnamed>")+'"')}C+=X;return X.length||1}var M=i(S);if(!M){throw new Error('Unknown language: "'+S+'"')}m(M);var I=R||M;var D="";for(var K=I;K!=M;K=K.parent){if(K.cN){D+=w(K.cN,D,true)}}var C="";var H=0;try{var B,y,x=0;while(true){I.t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.index+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+="</span>"}}return{r:H,value:D,language:S,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){return{r:0,value:j(L)}}else{throw O}}}function e(y,x){x=x||b.languages||Object.keys(f);var v={r:0,value:j(y)};var w=v;x.forEach(function(z){if(!i(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.language){v.second_best=w}return v}function g(v){if(b.tabReplace){v=v.replace(/^((<[^>]+>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR){v=v.replace(/\n/g,"<br>")}return v}function p(z){var y=b.useBR?z.innerHTML.replace(/\n/g,"").replace(/<br>|<br [^>]*>/g,"\n").replace(/<[^>]*>/g,""):z.textContent;var A=r(z);if(A=="no-highlight"){return}var v=A?c(A,y,true):e(y);var w=u(z);if(w.length){var x=document.createElementNS("http://www.w3.org/1999/xhtml","pre");x.innerHTML=v.value;v.value=q(w,u(x),y)}v.value=g(v.value);z.innerHTML=v.value;z.className+=" hljs "+(!A&&v.language||"");z.result={language:v.language,re:v.r};if(v.second_best){z.second_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPrefix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorAll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener("DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};function d(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y]=v})}}function k(){return Object.keys(f)}function i(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=e;this.fixMarkup=g;this.highlightBlock=p;this.configure=s;this.initHighlighting=l;this.initHighlightingOnLoad=a;this.registerLanguage=d;this.listLanguages=k;this.getLanguage=i;this.inherit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]};this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/};this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]};this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]};this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0};this.RM={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"title",b:this.UIR,r:0}}();hljs.registerLanguage("bash",function(b){var a={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]};var d={cN:"string",b:/"/,e:/"/,c:[b.BE,a,{cN:"variable",b:/\$\(/,e:/\)/,c:[b.BE]}]};var c={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[b.inherit(b.TM,{b:/\w[\w\d_]*/})],r:0},b.HCM,b.NM,d,c,a]}});hljs.registerLanguage("cs",function(b){var a="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await ascending descending from get group into join let orderby partial select set value var where yield";return{aliases:["csharp"],k:a,i:/::/,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",v:[{b:"///",r:0},{b:"<!--|-->"},{b:"</?",e:">"}]}]},b.CLCM,b.CBCM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},b.ASM,b.QSM,b.CNM,{bK:"protected public private internal",e:/[{;=]/,k:a,c:[{bK:"class namespace interface",starts:{c:[b.TM]}},{b:b.IR+"\\s*\\(",rB:true,c:[b.TM]}]}]}});hljs.registerLanguage("ruby",function(f){var j="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var i="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor";var b={cN:"yardoctag",b:"@[A-Za-z]+"};var c={cN:"value",b:"#<",e:">"};var k={cN:"comment",v:[{b:"#",e:"$",c:[b]},{b:"^\\=begin",e:"^\\=end",c:[b],r:10},{b:"^__END__",e:"\\n$"}]};var d={cN:"subst",b:"#\\{",e:"}",k:i};var e={cN:"string",c:[f.BE,d],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:"%[qw]?\\(",e:"\\)"},{b:"%[qw]?\\[",e:"\\]"},{b:"%[qw]?{",e:"}"},{b:"%[qw]?<",e:">"},{b:"%[qw]?/",e:"/"},{b:"%[qw]?%",e:"%"},{b:"%[qw]?-",e:"-"},{b:"%[qw]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]};var a={cN:"params",b:"\\(",e:"\\)",k:i};var h=[e,c,k,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[f.inherit(f.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+f.IR+"::)?"+f.IR}]},k]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[f.inherit(f.TM,{b:j}),a,k]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[e,{b:j}],r:0},{cN:"symbol",b:f.UIR+"(\\!|\\?)?:",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+f.RSR+")\\s*",c:[c,k,{cN:"regexp",c:[f.BE,d],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];d.c=h;a.c=h;var g=[{r:1,cN:"output",b:"^\\s*=> ",e:"$",rB:true,c:[{cN:"status",b:"^\\s*=>"},{b:" ",e:"$",c:h}]},{r:1,cN:"input",b:"^[^ ][^=>]*>+ ",e:"$",rB:true,c:[{cN:"prompt",b:"^[^ ][^=>]*>+"},{b:" ",e:"$",c:h}]}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:i,c:g.concat(h)}});hljs.registerLanguage("diff",function(a){return{aliases:["patch"],c:[{cN:"chunk",r:10,v:[{b:/^\@\@ +\-\d+,\d+ +\+\d+,\d+ +\@\@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("javascript",function(a){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBCM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBCM,a.RM,{b:/</,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:true,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("xml",function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"};var b={eW:true,i:/</,r:0,c:[d,{cN:"attribute",b:c,r:0},{b:"=",r:0,c:[{cN:"value",v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:true,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[b],starts:{e:"</style>",rE:true,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},d,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:"[^ /><]+",r:0},b]}]}});hljs.registerLanguage("markdown",function(a){return{aliases:["md","mkdown","mkd"],c:[{cN:"header",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{cN:"horizontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].+?[\\)\\]]",rB:true,c:[{cN:"link_label",b:"\\[",e:"\\]",eB:true,rE:true,r:0},{cN:"link_url",b:"\\]\\(",e:"\\)",eB:true,eE:true},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:true,eE:true}],r:10},{b:"^\\[.+\\]:",e:"$",rB:true,c:[{cN:"link_reference",b:"\\[",e:"\\]",eB:true,eE:true},{cN:"link_url",b:"\\s",e:"$"}]}]}});hljs.registerLanguage("css",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*";var c={cN:"function",b:b+"\\(",rB:true,eE:true,e:"\\("};return{cI:true,i:"[=/|']",c:[a.CBCM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:true,eE:true,r:0,c:[c,a.ASM,a.QSM,a.CSSNM]}]},{cN:"tag",b:b,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBCM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[c,a.CSSNM,a.QSM,a.ASM,a.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}});hljs.registerLanguage("http",function(a){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN:"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]}});hljs.registerLanguage("java",function(b){var a="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws";return{aliases:["jsp"],k:a,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}],r:10},b.CLCM,b.CBCM,b.ASM,b.QSM,{bK:"protected public private",e:/[{;=]/,k:a,c:[{cN:"class",bK:"class interface",eW:true,eE:true,i:/[:"\[\]]/,c:[{bK:"extends implements",r:10},b.UTM]},{b:b.UIR+"\\s*\\(",rB:true,c:[b.UTM]}]},b.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("php",function(b){var e={cN:"variable",b:"(\\$|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"};var a={cN:"preprocessor",b:/<\?(php)?|\?>/};var c={cN:"string",c:[b.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},b.inherit(b.ASM,{i:null}),b.inherit(b.QSM,{i:null})]};var d={v:[b.BNM,b.CNM]};return{aliases:["php3","php4","php5","php6"],cI:true,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[b.CLCM,b.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"},a]},{cN:"comment",b:"__halt_compiler.+?;",eW:true,k:"__halt_compiler",l:b.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[b.BE]},a,e,{cN:"function",bK:"function",e:/[;{]/,eE:true,i:"\\$|\\[|%",c:[b.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",e,b.CBCM,c,d]}]},{cN:"class",bK:"class interface",e:"{",eE:true,i:/[:\(\$"]/,c:[{bK:"extends implements",r:10},b.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[b.UTM]},{bK:"use",e:";",c:[b.UTM]},{b:"=>"},c,d]}});hljs.registerLanguage("python",function(a){var f={cN:"prompt",b:/^(>>>|\.\.\.) /};var b={cN:"string",c:[a.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[f],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[f],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},a.ASM,a.QSM]};var d={cN:"number",r:0,v:[{b:a.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:a.CNR+"[lLjJ]?"}]};var e={cN:"params",b:/\(/,e:/\)/,c:["self",f,d,b]};var c={e:/:/,i:/[${=;\n]/,c:[a.UTM,e]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[f,d,b,a.HCM,a.inherit(c,{cN:"function",bK:"def",r:10}),a.inherit(c,{cN:"class",bK:"class"}),{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("sql",function(a){var b={cN:"comment",b:"--",e:"$"};return{cI:true,i:/[<>]/,c:[{cN:"operator",bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup",e:/;/,eW:true,k:{keyword:"abs absolute acos action add adddate addtime aes_decrypt aes_encrypt after aggregate all allocate alter analyze and any are as asc ascii asin assertion at atan atan2 atn2 authorization authors avg backup before begin benchmark between bin binlog bit_and bit_count bit_length bit_or bit_xor both by cache call cascade cascaded case cast catalog ceil ceiling chain change changed char_length character_length charindex charset check checksum checksum_agg choose close coalesce coercibility collate collation collationproperty column columns columns_updated commit compress concat concat_ws concurrent connect connection connection_id consistent constraint constraints continue contributors conv convert convert_tz corresponding cos cot count count_big crc32 create cross cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime data database databases datalength date_add date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts datetimeoffsetfromparts day dayname dayofmonth dayofweek dayofyear deallocate declare decode default deferrable deferred degrees delayed delete des_decrypt des_encrypt des_key_file desc describe descriptor diagnostics difference disconnect distinct distinctrow div do domain double drop dumpfile each else elt enclosed encode encrypt end end-exec engine engines eomonth errors escape escaped event eventdata events except exception exec execute exists exp explain export_set extended external extract fast fetch field fields find_in_set first first_value floor flush for force foreign format found found_rows from from_base64 from_days from_unixtime full function get get_format get_lock getdate getutcdate global go goto grant grants greatest group group_concat grouping grouping_id gtid_subset gtid_subtract handler having help hex high_priority hosts hour ident_current ident_incr ident_seed identified identity if ifnull ignore iif ilike immediate in index indicator inet6_aton inet6_ntoa inet_aton inet_ntoa infile initially inner innodb input insert install instr intersect into is is_free_lock is_ipv4 is_ipv4_compat is_ipv4_mapped is_not is_not_null is_used_lock isdate isnull isolation join key kill language last last_day last_insert_id last_value lcase lead leading least leaves left len lenght level like limit lines ln load load_file local localtime localtimestamp locate lock log log10 log2 logfile logs low_priority lower lpad ltrim make_set makedate maketime master master_pos_wait match matched max md5 medium merge microsecond mid min minute mod mode module month monthname mutex name_const names national natural nchar next no no_write_to_binlog not now nullif nvarchar oct octet_length of old_password on only open optimize option optionally or ord order outer outfile output pad parse partial partition password patindex percent_rank percentile_cont percentile_disc period_add period_diff pi plugin position pow power pragma precision prepare preserve primary prior privileges procedure procedure_analyze processlist profile profiles public publishingservername purge quarter query quick quote quotename radians rand read references regexp relative relaylog release release_lock rename repair repeat replace replicate reset restore restrict return returns reverse revoke right rlike rollback rollup round row row_count rows rpad rtrim savepoint schema scroll sec_to_time second section select serializable server session session_user set sha sha1 sha2 share show sign sin size slave sleep smalldatetimefromparts snapshot some soname soundex sounds_like space sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sql_variant_property sqlstate sqrt square start starting status std stddev stddev_pop stddev_samp stdev stdevp stop str str_to_date straight_join strcmp string stuff subdate substr substring subtime subtring_index sum switchoffset sysdate sysdatetime sysdatetimeoffset system_user sysutcdatetime table tables tablespace tan temporary terminated tertiary_weights then time time_format time_to_sec timediff timefromparts timestamp timestampadd timestampdiff timezone_hour timezone_minute to to_base64 to_days to_seconds todatetimeoffset trailing transaction translation trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse ucase uncompress uncompressed_length unhex unicode uninstall union unique unix_timestamp unknown unlock update upgrade upped upper usage use user user_resources using utc_date utc_time utc_timestamp uuid uuid_short validate_password_strength value values var var_pop var_samp variables variance varp version view warnings week weekday weekofyear weight_string when whenever where with work write xml xor year yearweek zon",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int integer interval number numeric real serial smallint varchar varying int8 serial8 text"},c:[{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[a.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[a.BE]},a.CNM,a.CBCM,b]},a.CBCM,b]}});hljs.registerLanguage("ini",function(a){return{cI:true,i:/\S/,c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:true,k:"on off true false yes no",c:[a.QSM,a.NM],r:0}]}]}});hljs.registerLanguage("perl",function(c){var d="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when";var f={cN:"subst",b:"[$@]\\{",e:"\\}",k:d};var g={b:"->{",e:"}"};var a={cN:"variable",v:[{b:/\$\d/},{b:/[\$\%\@](\^\w\b|#\w+(\:\:\w+)*|{\w+}|\w+(\:\:\w*)*)/},{b:/[\$\%\@][^\s\w{]/,r:0}]};var e={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5};var h=[c.BE,f,a];var b=[a,c.HCM,e,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:true},g,{cN:"string",c:h,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[c.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[c.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+c.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[c.HCM,e,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[c.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"operator",b:"-\\w\\b",r:0}];f.c=b;g.c=b;return{aliases:["pl"],k:d,c:b}});hljs.registerLanguage("objectivec",function(a){var d={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView NSView NSViewController NSWindow NSWindowController NSSet NSUUID NSIndexSet UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection UIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};var c=/[a-zA-Z@][a-zA-Z0-9_]*/;var b="@interface @class @protocol @implementation";return{aliases:["m","mm","objc","obj-c"],k:d,l:c,i:"</",c:[a.CLCM,a.CBCM,a.CNM,a.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[a.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"preprocessor",b:"#",e:"$",c:[{cN:"title",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+b.split(" ").join("|")+")\\b",e:"({|$)",eE:true,k:b,l:c,c:[a.UTM]},{cN:"variable",b:"\\."+a.UIR,r:0}]}});hljs.registerLanguage("coffeescript",function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module global window document"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var f=c.inherit(c.TM,{b:a});var e={cN:"subst",b:/#\{/,e:/}/,k:b};var d=[c.BNM,c.inherit(c.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[c.BE]},{b:/'/,e:/'/,c:[c.BE]},{b:/"""/,e:/"""/,c:[c.BE,e]},{b:/"/,e:/"/,c:[c.BE,e]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[e,c.HCM]},{b:"//[gim]*",r:0},{b:"/\\S(\\\\.|[^\\n])*?/[gim]*(?=\\s|\\W|$)"}]},{cN:"property",b:"@"+a},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"}];e.c=d;return{aliases:["coffee","cson","iced"],k:b,c:d.concat([{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"function",b:"("+a+"\\s*=\\s*)?(\\(.*\\))?\\s*\\B[-=]>",e:"[-=]>",rB:true,c:[f,{cN:"params",b:"\\(",rB:true,c:[{b:/\(/,e:/\)/,k:b,c:["self"].concat(d)}]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:true,i:/[:="\[\]]/,c:[f]},f]},{cN:"attribute",b:a+":",e:":",rB:true,eE:true,r:0}])}});hljs.registerLanguage("nginx",function(c){var b={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+c.UIR}]};var a={eW:true,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[c.HCM,{cN:"string",c:[c.BE,b],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:true,eE:true},{cN:"regexp",c:[c.BE,b],v:[{b:"\\s\\^",e:"\\s|{|;",rE:true},{b:"~\\*?\\s+",e:"\\s|{|;",rE:true},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},b]};return{aliases:["nginxconf"],c:[c.HCM,{b:c.UIR+"\\s",e:";|{",rB:true,c:[{cN:"title",b:c.UIR,starts:a}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("json",function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}});hljs.registerLanguage("apache",function(a){var b={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:true,c:[a.HCM,{cN:"tag",b:"</?",e:">"},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,a.QSM]}}],i:/\S/}});hljs.registerLanguage("cpp",function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c","h","c++","h++"],k:b,i:"</",c:[a.CLCM,a.CBCM,a.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},a.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line pragma",c:[{b:'include\\s*[<"]',e:'[>"]',k:"include",i:"\\n"},a.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,c:["self"]},{b:a.IR+"::"}]}});hljs.registerLanguage("makefile",function(a){var b={cN:"variable",b:/\$\(/,e:/\)/,c:[a.BE]};return{aliases:["mk","mak"],c:[a.HCM,{b:/^\w+\s*\W*=/,rB:true,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:true,starts:{e:/$/,r:0,c:[b]}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,c:[a.QSM,b]}]}}); \ No newline at end of file | |||
diff --git a/themes/default/highlightjs/styles/default.css b/themes/default/highlightjs/styles/default.css new file mode 100644 index 00000000..e5bd2801 --- /dev/null +++ b/themes/default/highlightjs/styles/default.css | |||
@@ -0,0 +1,152 @@ | |||
1 | /* | ||
2 | |||
3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | background: #f0f0f0; | ||
12 | } | ||
13 | |||
14 | .hljs, | ||
15 | .hljs-subst, | ||
16 | .hljs-tag .hljs-title, | ||
17 | .lisp .hljs-title, | ||
18 | .clojure .hljs-built_in, | ||
19 | .nginx .hljs-title { | ||
20 | color: black; | ||
21 | } | ||
22 | |||
23 | .hljs-string, | ||
24 | .hljs-title, | ||
25 | .hljs-constant, | ||
26 | .hljs-parent, | ||
27 | .hljs-tag .hljs-value, | ||
28 | .hljs-rules .hljs-value, | ||
29 | .hljs-preprocessor, | ||
30 | .hljs-pragma, | ||
31 | .haml .hljs-symbol, | ||
32 | .ruby .hljs-symbol, | ||
33 | .ruby .hljs-symbol .hljs-string, | ||
34 | .hljs-template_tag, | ||
35 | .django .hljs-variable, | ||
36 | .smalltalk .hljs-class, | ||
37 | .hljs-addition, | ||
38 | .hljs-flow, | ||
39 | .hljs-stream, | ||
40 | .bash .hljs-variable, | ||
41 | .apache .hljs-tag, | ||
42 | .apache .hljs-cbracket, | ||
43 | .tex .hljs-command, | ||
44 | .tex .hljs-special, | ||
45 | .erlang_repl .hljs-function_or_atom, | ||
46 | .asciidoc .hljs-header, | ||
47 | .markdown .hljs-header, | ||
48 | .coffeescript .hljs-attribute { | ||
49 | color: #800; | ||
50 | } | ||
51 | |||
52 | .smartquote, | ||
53 | .hljs-comment, | ||
54 | .hljs-annotation, | ||
55 | .hljs-template_comment, | ||
56 | .diff .hljs-header, | ||
57 | .hljs-chunk, | ||
58 | .asciidoc .hljs-blockquote, | ||
59 | .markdown .hljs-blockquote { | ||
60 | color: #888; | ||
61 | } | ||
62 | |||
63 | .hljs-number, | ||
64 | .hljs-date, | ||
65 | .hljs-regexp, | ||
66 | .hljs-literal, | ||
67 | .hljs-hexcolor, | ||
68 | .smalltalk .hljs-symbol, | ||
69 | .smalltalk .hljs-char, | ||
70 | .go .hljs-constant, | ||
71 | .hljs-change, | ||
72 | .lasso .hljs-variable, | ||
73 | .makefile .hljs-variable, | ||
74 | .asciidoc .hljs-bullet, | ||
75 | .markdown .hljs-bullet, | ||
76 | .asciidoc .hljs-link_url, | ||
77 | .markdown .hljs-link_url { | ||
78 | color: #080; | ||
79 | } | ||
80 | |||
81 | .hljs-label, | ||
82 | .hljs-javadoc, | ||
83 | .ruby .hljs-string, | ||
84 | .hljs-decorator, | ||
85 | .hljs-filter .hljs-argument, | ||
86 | .hljs-localvars, | ||
87 | .hljs-array, | ||
88 | .hljs-attr_selector, | ||
89 | .hljs-important, | ||
90 | .hljs-pseudo, | ||
91 | .hljs-pi, | ||
92 | .haml .hljs-bullet, | ||
93 | .hljs-doctype, | ||
94 | .hljs-deletion, | ||
95 | .hljs-envvar, | ||
96 | .hljs-shebang, | ||
97 | .apache .hljs-sqbracket, | ||
98 | .nginx .hljs-built_in, | ||
99 | .tex .hljs-formula, | ||
100 | .erlang_repl .hljs-reserved, | ||
101 | .hljs-prompt, | ||
102 | .asciidoc .hljs-link_label, | ||
103 | .markdown .hljs-link_label, | ||
104 | .vhdl .hljs-attribute, | ||
105 | .clojure .hljs-attribute, | ||
106 | .asciidoc .hljs-attribute, | ||
107 | .lasso .hljs-attribute, | ||
108 | .coffeescript .hljs-property, | ||
109 | .hljs-phony { | ||
110 | color: #88f; | ||
111 | } | ||
112 | |||
113 | .hljs-keyword, | ||
114 | .hljs-id, | ||
115 | .hljs-title, | ||
116 | .hljs-built_in, | ||
117 | .css .hljs-tag, | ||
118 | .hljs-javadoctag, | ||
119 | .hljs-phpdoc, | ||
120 | .hljs-yardoctag, | ||
121 | .smalltalk .hljs-class, | ||
122 | .hljs-winutils, | ||
123 | .bash .hljs-variable, | ||
124 | .apache .hljs-tag, | ||
125 | .go .hljs-typename, | ||
126 | .tex .hljs-command, | ||
127 | .asciidoc .hljs-strong, | ||
128 | .markdown .hljs-strong, | ||
129 | .hljs-request, | ||
130 | .hljs-status { | ||
131 | font-weight: bold; | ||
132 | } | ||
133 | |||
134 | .asciidoc .hljs-emphasis, | ||
135 | .markdown .hljs-emphasis { | ||
136 | font-style: italic; | ||
137 | } | ||
138 | |||
139 | .nginx .hljs-built_in { | ||
140 | font-weight: normal; | ||
141 | } | ||
142 | |||
143 | .coffeescript .javascript, | ||
144 | .javascript .xml, | ||
145 | .lasso .markup, | ||
146 | .tex .hljs-formula, | ||
147 | .xml .javascript, | ||
148 | .xml .vbscript, | ||
149 | .xml .css, | ||
150 | .xml .hljs-cdata { | ||
151 | opacity: 0.5; | ||
152 | } | ||
diff --git a/themes/default/highlightjs/styles/github.css b/themes/default/highlightjs/styles/github.css new file mode 100644 index 00000000..47fc2651 --- /dev/null +++ b/themes/default/highlightjs/styles/github.css | |||
@@ -0,0 +1,127 @@ | |||
1 | /* | ||
2 | |||
3 | github.com style (c) Vasily Polovnyov <vast@whiteants.net> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | color: #333; | ||
12 | background: #f8f8f8; | ||
13 | } | ||
14 | |||
15 | .hljs-comment, | ||
16 | .hljs-template_comment, | ||
17 | .diff .hljs-header, | ||
18 | .hljs-javadoc { | ||
19 | color: #998; | ||
20 | font-style: italic; | ||
21 | } | ||
22 | |||
23 | .hljs-keyword, | ||
24 | .css .rule .hljs-keyword, | ||
25 | .hljs-winutils, | ||
26 | .javascript .hljs-title, | ||
27 | .nginx .hljs-title, | ||
28 | .hljs-subst, | ||
29 | .hljs-request, | ||
30 | .hljs-status { | ||
31 | color: #333; | ||
32 | font-weight: bold; | ||
33 | } | ||
34 | |||
35 | .hljs-number, | ||
36 | .hljs-hexcolor, | ||
37 | .ruby .hljs-constant { | ||
38 | color: #099; | ||
39 | } | ||
40 | |||
41 | .hljs-string, | ||
42 | .hljs-tag .hljs-value, | ||
43 | .hljs-phpdoc, | ||
44 | .tex .hljs-formula { | ||
45 | color: #d14; | ||
46 | } | ||
47 | |||
48 | .hljs-title, | ||
49 | .hljs-id, | ||
50 | .coffeescript .hljs-params, | ||
51 | .scss .hljs-preprocessor { | ||
52 | color: #900; | ||
53 | font-weight: bold; | ||
54 | } | ||
55 | |||
56 | .javascript .hljs-title, | ||
57 | .lisp .hljs-title, | ||
58 | .clojure .hljs-title, | ||
59 | .hljs-subst { | ||
60 | font-weight: normal; | ||
61 | } | ||
62 | |||
63 | .hljs-class .hljs-title, | ||
64 | .haskell .hljs-type, | ||
65 | .vhdl .hljs-literal, | ||
66 | .tex .hljs-command { | ||
67 | color: #458; | ||
68 | font-weight: bold; | ||
69 | } | ||
70 | |||
71 | .hljs-tag, | ||
72 | .hljs-tag .hljs-title, | ||
73 | .hljs-rules .hljs-property, | ||
74 | .django .hljs-tag .hljs-keyword { | ||
75 | color: #000080; | ||
76 | font-weight: normal; | ||
77 | } | ||
78 | |||
79 | .hljs-attribute, | ||
80 | .hljs-variable, | ||
81 | .lisp .hljs-body { | ||
82 | color: #008080; | ||
83 | } | ||
84 | |||
85 | .hljs-regexp { | ||
86 | color: #009926; | ||
87 | } | ||
88 | |||
89 | .hljs-symbol, | ||
90 | .ruby .hljs-symbol .hljs-string, | ||
91 | .lisp .hljs-keyword, | ||
92 | .tex .hljs-special, | ||
93 | .hljs-prompt { | ||
94 | color: #990073; | ||
95 | } | ||
96 | |||
97 | .hljs-built_in, | ||
98 | .lisp .hljs-title, | ||
99 | .clojure .hljs-built_in { | ||
100 | color: #0086b3; | ||
101 | } | ||
102 | |||
103 | .hljs-preprocessor, | ||
104 | .hljs-pragma, | ||
105 | .hljs-pi, | ||
106 | .hljs-doctype, | ||
107 | .hljs-shebang, | ||
108 | .hljs-cdata { | ||
109 | color: #999; | ||
110 | font-weight: bold; | ||
111 | } | ||
112 | |||
113 | .hljs-deletion { | ||
114 | background: #fdd; | ||
115 | } | ||
116 | |||
117 | .hljs-addition { | ||
118 | background: #dfd; | ||
119 | } | ||
120 | |||
121 | .diff .hljs-change { | ||
122 | background: #0086b3; | ||
123 | } | ||
124 | |||
125 | .hljs-chunk { | ||
126 | color: #aaa; | ||
127 | } | ||
diff --git a/themes/default/highlightjs/styles/googlecode.css b/themes/default/highlightjs/styles/googlecode.css new file mode 100644 index 00000000..fd237367 --- /dev/null +++ b/themes/default/highlightjs/styles/googlecode.css | |||
@@ -0,0 +1,148 @@ | |||
1 | /* | ||
2 | |||
3 | Google Code style (c) Aahan Krish <geekpanth3r@gmail.com> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | background: white; | ||
12 | color: black; | ||
13 | } | ||
14 | |||
15 | .hljs-comment, | ||
16 | .hljs-template_comment, | ||
17 | .hljs-javadoc { | ||
18 | color: #800; | ||
19 | } | ||
20 | |||
21 | .hljs-keyword, | ||
22 | .method, | ||
23 | .hljs-list .hljs-title, | ||
24 | .clojure .hljs-built_in, | ||
25 | .nginx .hljs-title, | ||
26 | .hljs-tag .hljs-title, | ||
27 | .setting .hljs-value, | ||
28 | .hljs-winutils, | ||
29 | .tex .hljs-command, | ||
30 | .http .hljs-title, | ||
31 | .hljs-request, | ||
32 | .hljs-status { | ||
33 | color: #008; | ||
34 | } | ||
35 | |||
36 | .hljs-envvar, | ||
37 | .tex .hljs-special { | ||
38 | color: #660; | ||
39 | } | ||
40 | |||
41 | .hljs-string, | ||
42 | .hljs-tag .hljs-value, | ||
43 | .hljs-cdata, | ||
44 | .hljs-filter .hljs-argument, | ||
45 | .hljs-attr_selector, | ||
46 | .apache .hljs-cbracket, | ||
47 | .hljs-date, | ||
48 | .hljs-regexp, | ||
49 | .coffeescript .hljs-attribute { | ||
50 | color: #080; | ||
51 | } | ||
52 | |||
53 | .hljs-sub .hljs-identifier, | ||
54 | .hljs-pi, | ||
55 | .hljs-tag, | ||
56 | .hljs-tag .hljs-keyword, | ||
57 | .hljs-decorator, | ||
58 | .ini .hljs-title, | ||
59 | .hljs-shebang, | ||
60 | .hljs-prompt, | ||
61 | .hljs-hexcolor, | ||
62 | .hljs-rules .hljs-value, | ||
63 | .hljs-literal, | ||
64 | .hljs-symbol, | ||
65 | .ruby .hljs-symbol .hljs-string, | ||
66 | .hljs-number, | ||
67 | .css .hljs-function, | ||
68 | .clojure .hljs-attribute { | ||
69 | color: #066; | ||
70 | } | ||
71 | |||
72 | .hljs-class .hljs-title, | ||
73 | .haskell .hljs-type, | ||
74 | .smalltalk .hljs-class, | ||
75 | .hljs-javadoctag, | ||
76 | .hljs-yardoctag, | ||
77 | .hljs-phpdoc, | ||
78 | .hljs-typename, | ||
79 | .hljs-tag .hljs-attribute, | ||
80 | .hljs-doctype, | ||
81 | .hljs-class .hljs-id, | ||
82 | .hljs-built_in, | ||
83 | .setting, | ||
84 | .hljs-params, | ||
85 | .hljs-variable, | ||
86 | .clojure .hljs-title { | ||
87 | color: #606; | ||
88 | } | ||
89 | |||
90 | .css .hljs-tag, | ||
91 | .hljs-rules .hljs-property, | ||
92 | .hljs-pseudo, | ||
93 | .hljs-subst { | ||
94 | color: #000; | ||
95 | } | ||
96 | |||
97 | .css .hljs-class, | ||
98 | .css .hljs-id { | ||
99 | color: #9b703f; | ||
100 | } | ||
101 | |||
102 | .hljs-value .hljs-important { | ||
103 | color: #ff7700; | ||
104 | font-weight: bold; | ||
105 | } | ||
106 | |||
107 | .hljs-rules .hljs-keyword { | ||
108 | color: #c5af75; | ||
109 | } | ||
110 | |||
111 | .hljs-annotation, | ||
112 | .apache .hljs-sqbracket, | ||
113 | .nginx .hljs-built_in { | ||
114 | color: #9b859d; | ||
115 | } | ||
116 | |||
117 | .hljs-preprocessor, | ||
118 | .hljs-preprocessor *, | ||
119 | .hljs-pragma { | ||
120 | color: #444; | ||
121 | } | ||
122 | |||
123 | .tex .hljs-formula { | ||
124 | background-color: #eee; | ||
125 | font-style: italic; | ||
126 | } | ||
127 | |||
128 | .diff .hljs-header, | ||
129 | .hljs-chunk { | ||
130 | color: #808080; | ||
131 | font-weight: bold; | ||
132 | } | ||
133 | |||
134 | .diff .hljs-change { | ||
135 | background-color: #bccff9; | ||
136 | } | ||
137 | |||
138 | .hljs-addition { | ||
139 | background-color: #baeeba; | ||
140 | } | ||
141 | |||
142 | .hljs-deletion { | ||
143 | background-color: #ffc8bd; | ||
144 | } | ||
145 | |||
146 | .hljs-comment .hljs-yardoctag { | ||
147 | font-weight: bold; | ||
148 | } | ||
diff --git a/themes/default/home.twig b/themes/default/home.twig index e6c781f5..093c2dc5 100755 --- a/themes/default/home.twig +++ b/themes/default/home.twig | |||
@@ -60,9 +60,9 @@ | |||
60 | 60 | ||
61 | {% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "mark all the entries as read" %}" href="./?action=archive_all">{% trans "mark all the entries as read" %}</a>{% endif %}{% endif %} | 61 | {% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "mark all the entries as read" %}" href="./?action=archive_all">{% trans "mark all the entries as read" %}</a>{% endif %}{% endif %} |
62 | 62 | ||
63 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&tag={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | 63 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> |
64 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&search={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> | 64 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> |
65 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&category={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} | 65 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} |
66 | 66 | ||
67 | {% endif %} | 67 | {% endif %} |
68 | {% endblock %} | 68 | {% endblock %} |
diff --git a/themes/default/js/popupForm.js b/themes/default/js/popupForm.js index 06be3f0c..a32e6e70 100644 --- a/themes/default/js/popupForm.js +++ b/themes/default/js/popupForm.js | |||
@@ -10,6 +10,7 @@ $(document).ready(function() { | |||
10 | 10 | ||
11 | $("#search").click(function(){ | 11 | $("#search").click(function(){ |
12 | closeSearch(); | 12 | closeSearch(); |
13 | $('#searchfield').focus(); | ||
13 | }); | 14 | }); |
14 | 15 | ||
15 | $("#search-form-close").click(function(){ | 16 | $("#search-form-close").click(function(){ |
diff --git a/themes/default/view.twig b/themes/default/view.twig index b7d48c00..dbbbde3c 100755 --- a/themes/default/view.twig +++ b/themes/default/view.twig | |||
@@ -1,6 +1,7 @@ | |||
1 | {% extends "layout.twig" %} | 1 | {% extends "layout.twig" %} |
2 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} | 2 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} |
3 | {% block content %} | 3 | {% block content %} |
4 | {% include '_highlight.twig' %} | ||
4 | {% include '_pocheit-form.twig' %} | 5 | {% include '_pocheit-form.twig' %} |
5 | <div id="article_toolbar"> | 6 | <div id="article_toolbar"> |
6 | <ul> | 7 | <ul> |
@@ -15,7 +16,7 @@ | |||
15 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} | 16 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} |
16 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numflattrs }}</a></li>{% endif %}{% endif %} | 17 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numflattrs }}</a></li>{% endif %}{% endif %} |
17 | {% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %} | 18 | {% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %} |
18 | <li><a href="./?epub&method=id&id={{ entry.id|e }}" title="Generate epub file">EPUB</a></li> | 19 | <li><a href="./?epub&method=id&value={{ entry.id|e }}" title="Generate epub file">EPUB</a></li> |
19 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display"><span>{% trans "Does this article appear wrong?" %}</span></a></li> | 20 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display"><span>{% trans "Does this article appear wrong?" %}</span></a></li> |
20 | {% if constant('SHOW_READPERCENT') == 1 %}<li><div id="readLeftPercent">0%</div></li>{% endif %} | 21 | {% if constant('SHOW_READPERCENT') == 1 %}<li><div id="readLeftPercent">0%</div></li>{% endif %} |
21 | </ul> | 22 | </ul> |