1
0
mirror of https://github.com/moparisthebest/wallabag synced 2024-11-23 17:42:15 -05:00

Merge branch 'dev'

This commit is contained in:
Nicolas Lœuillet 2014-10-10 13:33:54 +02:00
commit 44d35257e8
1012 changed files with 10222 additions and 7256 deletions

View File

@ -26,3 +26,5 @@ Note : If you have large portions of text, use [Github's Gist service](https://g
## You want to fix a bug or to add a feature ## You want to fix a bug or to add a feature
Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**. Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**.
[Don't forget to read our guidelines](https://github.com/wallabag/wallabag/blob/dev/GUIDELINES.md).

View File

@ -1,14 +1,19 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Copyright (c) 2013-2014 Nicolas Lœuillet
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
Everyone is permitted to copy and distribute verbatim or modified The above copyright notice and this permission notice shall be included in all
copies of this license document, and changing it is allowed as long copies or substantial portions of the Software.
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,7 +1,6 @@
wallabag is based on : wallabag is based on :
* PHP Readability https://bitbucket.org/fivefilters/php-readability * PHP Readability https://bitbucket.org/fivefilters/php-readability
* Full Text RSS http://code.fivefilters.org/full-text-rss/src * Full Text RSS http://code.fivefilters.org/full-text-rss/src
* Encoding https://github.com/neitanod/forceutf8
* logo by Maylis Agniel https://github.com/wallabag/logo * logo by Maylis Agniel https://github.com/wallabag/logo
* icons http://icomoon.io * icons http://icomoon.io
* PHP Simple HTML DOM Parser (for Pocket import) http://simplehtmldom.sourceforge.net/ * PHP Simple HTML DOM Parser (for Pocket import) http://simplehtmldom.sourceforge.net/
@ -11,6 +10,8 @@ wallabag is based on :
* Pagination https://github.com/daveismyname/pagination * Pagination https://github.com/daveismyname/pagination
* PHPePub https://github.com/Grandt/PHPePub/ * PHPePub https://github.com/Grandt/PHPePub/
wallabag is developed by Nicolas Lœuillet under the Do What the Fuck You Want to Public License wallabag is mainly developed by Nicolas Lœuillet under the MIT License
Thank you so much to @tcitworld and @mariroz.
Contributors : https://github.com/wallabag/wallabag/graphs/contributors Contributors : https://github.com/wallabag/wallabag/graphs/contributors

53
GUIDELINES.md Normal file
View File

@ -0,0 +1,53 @@
# Guidelines for wallabag
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).
## Basic Coding Standard (PSR-1)
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.
* Files MUST use only `<?php` and `<?=` tags.
* Files MUST use only UTF-8 without BOM for PHP code.
* 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.
* Namespaces and classes MUST follow [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md).
* Class names MUST be declared in `StudlyCaps`.
* Class constants MUST be declared in all upper case with underscore separators.
* Method names MUST be declared in `camelCase`.
You can read details on [PHP FIG website](http://www.php-fig.org/psr/psr-1/).
## Coding Style Guide (PSR-2)
This guide extends and expands on PSR-1, the basic coding standard.
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.
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.
* Code MUST follow PSR-1.
* Code MUST use 4 spaces for indenting, not tabs.
* There MUST NOT be a hard limit on line length; the soft limit MUST be 120 characters; lines SHOULD be 80 characters or less.
* There MUST be one blank line after the `namespace` declaration, and there MUST be one blank line after the block of `use` declarations.
* Opening braces for classes MUST go on the next line, and closing braces MUST go on the next line after the body.
* Opening braces for methods MUST go on the next line, and closing braces MUST go on the next line after the body.
* 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.
* Control structure keywords MUST have one space after them; method and function calls MUST NOT.
* Opening braces for control structures MUST go on the same line, and closing braces MUST go on the next line after the body.
* Opening parentheses for control structures MUST NOT have a space after them, and closing parentheses for control structures MUST NOT have a space before.
You can read details on [PHP FIG website](http://www.php-fig.org/psr/psr-2/).

View File

@ -4,7 +4,6 @@ wallabag is a self hostable application allowing you to not miss any content any
More informations on our website: [wallabag.org](http://wallabag.org) More informations on our website: [wallabag.org](http://wallabag.org)
## License ## License
Copyright © 2010-2014 Nicolas Lœuillet <nicolas@loeuillet.org> Copyright © 2013-2014 Nicolas Lœuillet <nicolas@loeuillet.org>
This work is free. You can redistribute it and/or modify it under the This work is free. You can redistribute it and/or modify it under the
terms of the Do What The Fuck You Want To Public License, Version 2, terms of the MIT License. See the COPYING file for more details.
as published by Sam Hocevar. See the COPYING file for more details.

View File

@ -1,10 +1,10 @@
# How to manage translations of wallabag # How to manage translations for wallabag
This guide will describe procedure of translation management of wallabag web application. This guide will describe the procedure of translation management of the wallabag web application.
All translation are made using [gettext](http://en.wikipedia.org/wiki/Gettext) system and tools. All translations are made using [gettext](http://en.wikipedia.org/wiki/Gettext) system and tools.
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. 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.
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. 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.
@ -22,7 +22,7 @@ go to root of your installation of wallabag project and run next command:
`rm -rf ./cache/*` `rm -rf ./cache/*`
(this may require root privileges if you run, for example Apatche web server with mod_php) (this may require root privileges if you run, for example Apache web server with mod_php)
### 2. Generate php files from all twig templates ### 2. Generate php files from all twig templates
Do this using next command: Do this using next command:
@ -31,37 +31,37 @@ Do this using next command:
OR OR
from your browser: **http://your-wallabag-host.com/locale/tools/fillCache.php** (this may require removal of .htacces file in locale/ directory). from your browser: **http://your-wallabag-host.com/locale/tools/fillCache.php** (this may require removal of .htaccess file in locale/ directory).
### 3. Configure your Poedit ### 3. Configure your Poedit
Open Poedit editor, open Edit->Preferences. Go to "Parsers" tab, click on PHP and press "Edit" button. Make sure your "Parser command:" looks like Open Poedit editor, open Edit->Preferences. Go to "Parsers" tab, click on PHP and press "Edit" button. Make sure your "Parser command:" looks like
`xgettext --no-location --force-po -o %o %C %K %F` `xgettext --no-location --force-po -o %o %C %K %F`
Usualy it is required to add "--no-location" to default value. Usually it is required to add "--no-location" to default value.
### 4. Open .po file you want to edit in Poedit and change it's settings ### 4. Open .po file you want to edit in Poedit and change its settings
Open, for example `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po` file in your Poedit. Open, for example `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po` file in your Poedit.
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. 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.
You can also check "project into" tab to be sure, that "Language" is set correctly (this will allow you to spell check your translation). You can also check "project into" tab to be sure, that "Language" is set correctly (this will allow you to spell check your translation).
### 5. Update opened .po file from sources ### 5. Update opened .po file from sources
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. 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.
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). 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).
### 6. Translate and save your .po file ### 6. Translate and save your .po file
If you have any dificulties on this step, please consult with Poedit manual. If you have any difficulties on this step, please consult with Poedit manual.
Every time you save your .po file, Poedit will also comple appropriate .mo file by default (of course, if not disabled in preferences). Every time you save your .po file, Poedit will also compile appropriate .mo file by default (of course, if not disabled in preferences).
So, you are almost done. You are now almost done.
### 7. Clear cache again ### 7. Clear cache again
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). 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).
##To create new translation ##To create new translation
Please simple create appropriate directories in locale folder and perform all steps, described above. Instead of opening an existing file just create new one. 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.

14
check_essentials.php Normal file
View File

@ -0,0 +1,14 @@
<?php
// PHP 5.3 minimum
if (version_compare(PHP_VERSION, '5.3.3', '<')) {
die('This software require PHP 5.3.3 minimum');
}
// Short tags must be enabled for PHP < 5.4
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
if (! ini_get('short_open_tag')) {
die('This software require to have short tags enabled, check your php.ini => "short_open_tag = On"');
}
}

18
check_setup.php Normal file → Executable file
View File

@ -1,28 +1,10 @@
<?php <?php
// PHP 5.3 minimum
if (version_compare(PHP_VERSION, '5.3.3', '<')) {
die('This software require PHP 5.3.3 minimum');
}
// Short tags must be enabled for PHP < 5.4
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
if (! ini_get('short_open_tag')) {
die('This software require to have short tags enabled, check your php.ini => "short_open_tag = On"');
}
}
// Check if /cache is writeable // Check if /cache is writeable
if (! is_writable('cache')) { if (! is_writable('cache')) {
die('The directory "cache" must be writeable by your web server user'); die('The directory "cache" must be writeable by your web server user');
} }
// Check if /db is writeable
if (! is_writable('db')) {
die('The directory "db" must be writeable by your web server user');
}
// install folder still present, need to install wallabag // install folder still present, need to install wallabag
if (is_dir('install')) { if (is_dir('install')) {
require('install/index.php'); require('install/index.php');

View File

@ -1,28 +1,35 @@
<?php <?php
/* /**
* Class for Flattr querying * wallabag, self hostable application allowing you to not miss any content anymore
*/ *
class FlattrItem { * @category wallabag
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
* @copyright 2013
* @license http://opensource.org/licenses/MIT see COPYING file
*/
class FlattrItem
{
public $status; public $status;
public $urltoflattr; public $urlToFlattr;
public $flattrItemURL; public $flattrItemURL;
public $numflattrs; public $numFlattrs;
public function checkItem($urltoflattr,$id) { public function checkItem($urlToFlattr, $id)
$this->cacheflattrfile($urltoflattr, $id); {
$this->_cacheFlattrFile($urlToFlattr, $id);
$flattrResponse = file_get_contents(CACHE . "/flattr/".$id.".cache"); $flattrResponse = file_get_contents(CACHE . "/flattr/".$id.".cache");
if($flattrResponse != FALSE) { if($flattrResponse != FALSE) {
$result = json_decode($flattrResponse); $result = json_decode($flattrResponse);
if (isset($result->message)){ if (isset($result->message)) {
if ($result->message == "flattrable") { if ($result->message == "flattrable") {
$this->status = FLATTRABLE; $this->status = FLATTRABLE;
} }
} }
elseif (is_object($result) && $result->link) { elseif (is_object($result) && $result->link) {
$this->status = FLATTRED; $this->status = FLATTRED;
$this->flattrItemURL = $result->link; $this->flattrItemURL = $result->link;
$this->numflattrs = $result->flattrs; $this->numFlattrs = $result->flattrs;
} }
else { else {
$this->status = NOT_FLATTRABLE; $this->status = NOT_FLATTRABLE;
@ -33,14 +40,15 @@ class FlattrItem {
} }
} }
private function cacheflattrfile($urltoflattr, $id) { private function _cacheFlattrFile($urlToFlattr, $id)
{
if (!is_dir(CACHE . '/flattr')) { if (!is_dir(CACHE . '/flattr')) {
mkdir(CACHE . '/flattr', 0777); mkdir(CACHE . '/flattr', 0777);
} }
// 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 // 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
if ((!file_exists(CACHE . "/flattr/".$id.".cache")) || (time() - filemtime(CACHE . "/flattr/".$id.".cache") > 86400)) { if ((!file_exists(CACHE . "/flattr/".$id.".cache")) || (time() - filemtime(CACHE . "/flattr/".$id.".cache") > 86400)) {
$askForFlattr = Tools::getFile(FLATTR_API . $urltoflattr); $askForFlattr = Tools::getFile(FLATTR_API . $urlToFlattr);
$flattrCacheFile = fopen(CACHE . "/flattr/".$id.".cache", 'w+'); $flattrCacheFile = fopen(CACHE . "/flattr/".$id.".cache", 'w+');
fwrite($flattrCacheFile, $askForFlattr); fwrite($flattrCacheFile, $askForFlattr);
fclose($flattrCacheFile); fclose($flattrCacheFile);

View File

@ -309,4 +309,38 @@ class Session
return true; // User is not banned. return true; // User is not banned.
} }
/**
* Tells if a param exists in session
*
* @param $name name of the param to test
* @return bool
*/
public static function isInSession($name)
{
return (isset($_SESSION[$name]) ? : FALSE);
}
/**
* Returns param in session
*
* @param $name name of the param to return
* @return mixed param or null
*/
public static function getParam($name)
{
return (self::isInSession($name) ? $_SESSION[$name] : NULL);
}
/**
* Store value in session
*
* @param $name name of the variable to store
* @param $value value to store
*/
public static function setParam($name, $value)
{
$_SESSION[$name] = $value;
}
} }

View File

@ -0,0 +1,45 @@
# Author: zinnober
tidy: no
prune: no
# Set author
author: //a[@rel='author']
# Set date
date: //span[@class='Datum']
# Content is here
body: //div[@class='Artikel']
# Tidy up before article
strip: //div[@id='FAZHeaderNeu']
strip: //h2[@itemprop='headline']
strip: //span[@class='Datum']
strip: //span[@class='Autor']
strip_id_or_class: ArticlePagerTop
strip: //div[@class='FAZArtikelEinleitung']/h2
# General cleanup
strip: //div[@class='clear']
strip: //span[@class='Bildnachweis']
strip: //iframe
strip_id_or_class: Community
strip: ' · '
# Remove tracking and ads
strip_image_src: /l.gif?
strip: //img[@width='1']
strip_id_or_class: invisible
strip_id_or_class: Anzeige
strip_id_or_class: billboard
# Remove clutter after article
strip_id_or_class: Tagline
strip_id_or_class: ArtikelAbbinder
strip_id_or_class: FAZArtikelKommentare
strip_id_or_class: ArtikelKommentieren
strip_id_or_class: FAZContentRight
# Try it yourself
test_url: http://blogs.faz.net/wost/2014/08/17/viel-fuck-und-wenig-guter-sex-1239/

0
inc/3rdparty/site_config/standard/24ways.org.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,8 @@
title: //h1[contains(@class, 'entry-title')]
date: //meta[@name='weibo: article:create_at']/@content
body: //div[contains(@class, 'mainContent')]
strip_id_or_class: related_topics
prune: no
test_url: http://www.36kr.com/p/207879.html

0
inc/3rdparty/site_config/standard/37signals.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/3quarksdaily.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/3voor12.vpro.nl.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/43folders.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/500px.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/512pixels.net.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/5by5.tv.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,7 @@
title: //*[@id='sstitle']
body: //div[@id='sstory']
strip_id_or_class: newsoptions
prune: no
test_url: http://www.7newsbelize.com/sstory.php?nid=25654
test_url: http://www.7newsbelize.com/7news.xml

0
inc/3rdparty/site_config/standard/944.com.txt vendored Normal file → Executable file
View File

38
inc/3rdparty/site_config/standard/README.md vendored Executable file
View File

@ -0,0 +1,38 @@
Full-Text RSS site config files
================
[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.
This repository contains the site config files we use in Full-Text RSS.
### Contributing changes
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.
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:
> 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.
When we receive a pull request we'll review the changes and if everything's okay we'll update our copy.
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).
### How to write a site config file
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.
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).
### Instapaper
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.
Marco, Instapaper's creator, graciously opened up the database of contributions to everyone:
> 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.
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).
### Testing site config files
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.

0
inc/3rdparty/site_config/standard/aachener-nachrichten.de.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/aachener-zeitung.de.txt vendored Normal file → Executable file
View File

2
inc/3rdparty/site_config/standard/abc.es.txt vendored Normal file → Executable file
View File

@ -1,5 +1,5 @@
title: //meta[@property='og:title']/@content title: //meta[@property='og:title']/@content
body: //div[@class='datosi' or @class='date' or @class='photo-alt1' or @class='text'] body: //div[@class='datosi' or @class='date' or @class='photo-alt1' or @class='text' or @itemprop='articleBody']
strip_id_or_class: colB strip_id_or_class: colB
prune: no prune: no

12
inc/3rdparty/site_config/standard/abc.net.au.txt vendored Normal file → Executable file
View File

@ -1,10 +1,18 @@
title: //h1 title: //div[@class='article section']//h1
author: //div[@class="byline"]/a author: //div[@class="byline"]/a
date: //span[@class="timestamp"] date: //span[@class="timestamp"]
body: //div[@class="page section"]
strip: //a[@class="inline-caption"]
strip: //p[@class="ticker section noprint"]
strip: //p[@class="topics"] strip: //p[@class="topics"]
strip: //h1 strip: //h1
strip: //div[@class="byline"] strip: //div[@class="byline"]
strip: //p[@class="published"] strip: //p[@class="published"]
strip: //div[contains(@class,"featured-scroller")] strip: //div[contains(@class,"featured-scroller")]
test_url: http://www.abc.net.au/news/2011-11-08/crabb-carbon-legislation-abbott-demolition/3652544 strip_id_or_class: footer
tidy: no
test_url: http://www.abc.net.au/news/2013-03-27/open-speed-highways-change-clp-giles/4597892
test_url: http://www.abc.net.au/news/2013-04-30/credit-growth-remains-subdued/4660054?section=business

0
inc/3rdparty/site_config/standard/abcnews.go.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/accesstoinsight.org.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/acidcow.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/acquia.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/acroswing.fr.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,5 @@
title: //h1[@class='articleTitle ']
body: //div[@class='bodyText widget storyContent']
strip: //p/span[@class='quote']/..
strip_id_or_class: 'pull1'
test_url: https://www.aftenposten.no/meninger/spaltister/Portrett-av-scenekunstneren-som-ung-mann-7167959.html

View File

@ -0,0 +1,13 @@
author: //article//address[contains(@class, 'author')]
body: //article[.//div[contains(@class, 'abBodyText')]]//*[contains(@class, 'abLeadText') or contains(@class, 'abBodyText') or contains(@class, 'abImageBlock') or contains(@class, 'abIGSatellite')]
strip: //address//img
strip: //footer
strip_id_or_class: abSticky
prune: no
test_url: http://www.aftonbladet.se/sportbladet/hockey/sverige/allsvenskan/article17498194.ab
test_url: http://www.aftonbladet.se/debatt/article16207536.ab
test_url: http://www.aftonbladet.se/debatt/debattamnen/politik/article17483377.ab
test_url: http://www.aftonbladet.se/rss.xml

0
inc/3rdparty/site_config/standard/aht.seriouseats.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,6 @@
body: //div[@id='main-column']//div[@class='content']
prune: no
test_url: http://www.albayan.ae/across-the-uae/education/2013-08-29-1.1949645
test_url: http://www.albayan.ae/1.448?ot=ot.AjaxPageLayout

0
inc/3rdparty/site_config/standard/alex.mullr.net.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,4 @@
body: //section[@class='content']
date: //span[1]
author: //h1[@id='sitetitle']
test_url: https://alexduner.com/blog/2013/1/something-i-learned-today

View File

@ -0,0 +1,4 @@
body: //section[@class='content']
date: //span[1]
author: //h1[@id='sitetitle']
test_url: https://alexduner.squarespace.com/blog/2013/1/tech-culture-from-the-outside-looking-in

0
inc/3rdparty/site_config/standard/alistapart.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/aljazeera.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/allrecipes.com.txt vendored Normal file → Executable file
View File

5
inc/3rdparty/site_config/standard/allthingsd.com.txt vendored Normal file → Executable file
View File

@ -1,10 +1,13 @@
title://div[@class="article-title"]/h1[@class="title"] title://div[@class="article-title"]/h1[@class="title"]
date: //p[@class="article-date"] date: //p[@class="article-date"]
body://*[@class="article-body article-text"] body://div[contains(@class, "article-body")]
# Trim out related posts at bottom of article # Trim out related posts at bottom of article
strip://blockquote[@class="memo"] strip://blockquote[@class="memo"]
tidy: no
# Yup, no idea why author won't work... # Yup, no idea why author won't work...
author://div[@class="page-header article-header clearfix"]/p[@class="title"] author://div[@class="page-header article-header clearfix"]/p[@class="title"]
# [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. # [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.
test_url: http://allthingsd.com/20120513/exclusive-yahoos-thompson-out-levinsohn-in-board-settlement-with-loeb-nears-completion/ test_url: http://allthingsd.com/20120513/exclusive-yahoos-thompson-out-levinsohn-in-board-settlement-with-loeb-nears-completion/
test_url: http://allthingsd.com/20131010/google-cio-ben-fried-on-how-google-works/

0
inc/3rdparty/site_config/standard/allyou.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/alphabeta.argaam.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/alriyadh.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/alseraj.net.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/alt1040.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,4 @@
single_page_link: //div[contains(@class, 'story_tools')]//a[contains(@href, '/print/')]
test_url: http://www.alternet.org/civil-liberties/noam-chomsky-surveillance-state-beyond-imagination-being-created-one-freest
test_url: http://feeds.feedblitz.com/alternet

0
inc/3rdparty/site_config/standard/altfoto.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/alumni.stanford.edu.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,6 @@
body: //div[@id='content']//div[contains(@class, 'content')]
strip_id_or_class: widget
strip: //a[contains(@href, 'upm_export=')]
test_url: http://amandala.com.bz/news/feed/
test_url: http://amandala.com.bz/news/poor-pse-results-30-raise/

0
inc/3rdparty/site_config/standard/amazon.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/americandrink.net.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/americascup.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/americastestkitchenfeed.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,8 @@
title: //title
body: //div[@class="entry-content"]
author: //span[@class="author vcard"]
date: //span[@class="entry-date"]
test_url: http://www.amptoons.com/blog/2013/03/14/open-thread-and-link-farm-i-hate-being-sick-edition/

0
inc/3rdparty/site_config/standard/anandtech.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,5 @@
body: //div[@class='post_content']
date: //div[@class='date_day'] | div[@class='date_month']
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/

0
inc/3rdparty/site_config/standard/andyrutledge.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/annatravelling.wordpress.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/applature.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/apple.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,4 @@
body: //div[contains(@class, 'articulum')]
test_url: http://www.appledaily.com.tw/realtimenews/article/new/20140120/330479
test_url: http://www.appledaily.com.tw/rss/create/kind/rnews/type/new/

24
inc/3rdparty/site_config/standard/appleinsider.com.txt vendored Normal file → Executable file
View File

@ -1,11 +1,23 @@
title: //p[@class='title'] title: //h1[@class="art-head"]
author: //p[text() = 'By ']/a/text() author: //p[contains(@class, 'byline')]/a
strip: //p[text() = 'By '] #author: //p[text() = 'By ']/a/text()
#strip: //p[text() = 'By ']
body: //td[@class='bod'] date: //p[contains(@class, 'date-header')]
strip_id_or_class: title
strip_id_or_class: minor
body: //div[@class="article"]
strip_id_or_class: lazy
#strip_id_or_class: minor
strip_id_or_class: multipagefooter strip_id_or_class: multipagefooter
strip_id_or_class: date-header
strip_id_or_class: byline
find_string: <noscript>
replace_string: <div>
find_string: </noscript>
replace_string: </div>
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 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
test_url: http://appleinsider.com/articles/13/10/03/goldee-companion-app-for-philips-hue-bulbs-offers-shifting-dynamic-light-scenes
test_url: http://appleinsider.com/appleinsider.rss

0
inc/3rdparty/site_config/standard/appleweblog.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/archdaily.com.txt vendored Normal file → Executable file
View File

4
inc/3rdparty/site_config/standard/archiveofourown.org.txt vendored Normal file → Executable file
View File

@ -15,4 +15,8 @@ strip_id_or_class:add_comment_placeholder
strip_id_or_class:add_comment strip_id_or_class:add_comment
strip_id_or_class:globalize strip_id_or_class:globalize
strip_id_or_class:footer strip_id_or_class:footer
single_page_link: //div[@id='main']//a[contains(@href, 'view_adult=true')]
test_url: http://archiveofourown.org/works/229402?view_full_work=true test_url: http://archiveofourown.org/works/229402?view_full_work=true
test_url: http://archiveofourown.org/works/750111/chapters/1399929

1
inc/3rdparty/site_config/standard/arstechnica.com.txt vendored Normal file → Executable file
View File

@ -2,6 +2,7 @@ author: //p[@class='byline']/a
body: //div[contains(@class,'article-content')] body: //div[contains(@class,'article-content')]
strip: //h2[@class='title'] strip: //h2[@class='title']
strip_id_or_class: byline strip_id_or_class: byline
strip_id_or_class: story-sidebar
prune: no prune: no
date: //div[@class='byline']/span[@class='posted']//abbr/@original-title date: //div[@class='byline']/span[@class='posted']//abbr/@original-title

0
inc/3rdparty/site_config/standard/articles.boston.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/articles.courant.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,11 @@
body: //div[contains(@class, "article_body")]
# print view
body: //div[@id='print_facet']//div[@id='body']
tidy: no
prune: no
single_page_link: concat(substring-before(//div[@id="echo_container_a"]/@guid, '_story.html'), '_print.html')
test_url: http://articles.washingtonpost.com/2011-10-22/world/35279694_1_germany-acts-german-leaders-chancellor-angela-merkel
test_url: http://articles.washingtonpost.com/2013-05-31/opinions/39658000_1_chemical-weapons-mass-destruction-cartels

0
inc/3rdparty/site_config/standard/asahi.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/ascarter.net.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/astronews.com.txt vendored Normal file → Executable file
View File

2
inc/3rdparty/site_config/standard/asymco.com.txt vendored Normal file → Executable file
View File

@ -1,4 +1,4 @@
# Johannes Stühler # Johannes Stühler
title://h2 title://h2
author://span[@class='meta-content'] author://span[@class='meta-content']

0
inc/3rdparty/site_config/standard/autoblog.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/avclub.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/baltimoresun.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,13 @@
title: //h1[@class='title']
author: //p[@class="author"]/a[1]
body: //div[@class="article"]
date: //p[@class="date"]
# remove user tools
strip: //div[@class='tools']
strip: //h1
strip: //h2[@class='subtitle']
strip: //p[@class='author']
strip: //p[@class='date']
test_url: http://www.baseballprospectus.com/article.php?articleid=18463

0
inc/3rdparty/site_config/standard/basicthinking.de.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/bb.is.txt vendored Normal file → Executable file
View File

10
inc/3rdparty/site_config/standard/bbc.co.uk.txt vendored Normal file → Executable file
View File

@ -1,6 +1,11 @@
body: //div[@class="story-body"] body: //div[@class="story-body"]
# for video entries
body: //div[contains(@class, "videoInStory") or @id="meta-information"]
title: //h1[@class="story-header"] title: //h1[@class="story-header"]
date: //span[@class="story-date"]/span[@class='date'] date: //span[@class="story-date"]/span[@class='date']
# for sport site
date: //meta[@name='DCTERMS.created']/@content
author: //div[@id='headline']//span[@class='byline-name']
# recipes, e.g. http://www.bbc.co.uk/food/recipes/mymincepies_71055 # recipes, e.g. http://www.bbc.co.uk/food/recipes/mymincepies_71055
body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1'] body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1']
@ -22,6 +27,8 @@ strip: //div[contains(@class, 'hypertabs')]
strip: //div[contains(@class, 'related')] strip: //div[contains(@class, 'related')]
strip: //form[@id='comment-form'] strip: //form[@id='comment-form']
strip: //div[contains(@class, 'comment-introduction')] strip: //div[contains(@class, 'comment-introduction')]
strip: //div[contains(@class, 'share-tools')]
strip: //div[@id='also-related-links']
replace_string(<noscript>): <div> replace_string(<noscript>): <div>
replace_string(</noscript>): </div> replace_string(</noscript>): </div>
@ -29,4 +36,7 @@ replace_string(</noscript>): </div>
prune: no prune: no
dissolve: //h2 dissolve: //h2
test_url: http://www.bbc.co.uk/sport/0/football/23224017
test_url: http://www.bbc.co.uk/news/business-15060862 test_url: http://www.bbc.co.uk/news/business-15060862
# video entry
test_url: http://www.bbc.co.uk/news/world-asia-22056933

View File

@ -0,0 +1,16 @@
title: //header//h1
#body: //article[contains(@class, 'node-full')]
body: //div[contains(@class, 'recipe-details') or contains(@class, 'tips-carousel')] | //section[@id='recipe-ingredients' or @id='recipe-method']
strip_id_or_class: recipe-rating-wrapper
strip_id_or_class: magazine-subcribe-header
strip_id_or_class: hide
strip_id_or_class: recipe-actions
strip_id_or_class: buy-ingredients
strip_id_or_class: related-content
strip_id_or_class: recipe-magazine-ad
strip_id_or_class: copy-right
prune: no
test_url: http://www.bbcgoodfood.com/recipes/1131634/minced-beef-wellington

0
inc/3rdparty/site_config/standard/benoitmaison.org.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/berlingske.dk.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,5 @@
body: //div[contains(@class, "NewsText"]
prune: no
test_url: http://www.bernama.com/bernama/v7/rss/english.php
test_url: http://www.bernama.com/bernama/v7/newsindex.php?id=943513

0
inc/3rdparty/site_config/standard/betabeat.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/betanews.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/biography.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/bitelia.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,13 @@
date: //meta[@name='publish-date']/@content
body: //div[contains(@class, 'articleContentWrapper')]
prune: no
strip: //div[contains(@class, 'staff_info')]//dd[contains(., 'Twitter')]
strip_id_or_class: related_content
strip_id_or_class: enlarge
strip_id_or_class: photoBy
strip_id_or_class: older
test_url: http://www.bizjournals.com/cincinnati/news/2013/10/03/harris-teeter-shareholders-vote-on.html
test_url: http://feeds.bizjournals.com/industry_20?format=xml

0
inc/3rdparty/site_config/standard/bjango.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/blog.arsln.org.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/blog.asmartbear.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/blog.cloudflare.com.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/blog.fefe.de.txt vendored Normal file → Executable file
View File

0
inc/3rdparty/site_config/standard/blog.instagram.com.txt vendored Normal file → Executable file
View File

View File

@ -0,0 +1,9 @@
author: //a[@href="http://www.marco.org/about"]
date: //span[@class="date"]
# Remove the date from article body.
strip: //span[@class="date"]
# Remove pagination links from article body.
strip: //div[@id="pagination"]
test_url: http://blog.instapaper.com/post/31303984531

0
inc/3rdparty/site_config/standard/blog.jaysalvat.com.txt vendored Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More