Compare commits

...

92 Commits

Author SHA1 Message Date
Nicolas Lœuillet 1186b3b67a Merge pull request #986 from goofy-bz/patch-2
Update fr_FR.utf8.po
2015-01-02 21:23:42 +01:00
goofy-bz 30b948e68b Update fr_FR.utf8.po
formulation (trivial)
2015-01-02 21:13:54 +01:00
Thomas Citharel 1aa1461a2e Merge pull request #974 from jbfavre/fix_ftrss_call_can_break_import
Make call to FTRSS silent to avoid warnings which can break import
2014-12-26 10:31:15 +01:00
Jean Baptiste Favre 81315897f0 Make call to FTRSS silent to avoid warnings which can break import 2014-12-21 22:41:04 +01:00
Nicolas Lœuillet a460404252 Merge pull request #933 from wallabag/dev
1.8.1b
2014-11-16 21:12:47 +01:00
Thomas Citharel d0287608b6 update constant version 2014-11-16 02:29:01 +01:00
Nicolas Lœuillet 1532376710 Merge pull request #932 from wallabag/dev
1.8.1
2014-11-15 20:48:49 +01:00
Nicolas Lœuillet d3122db7b2 add DS_Store in gitignore 2014-11-08 08:25:00 +01:00
Nicolas Lœuillet b46b8933ab Merge pull request #926 from jsit/aboutlink
Fixing URL typo on about page
2014-11-05 17:24:05 +01:00
Jay Sitter 62f3e6db75 Fixing URL typo on about page 2014-11-05 11:22:22 -05:00
Thomas Citharel 217f3ca0b4 Merge pull request #921 from wallabag/about-page
add about page
2014-11-03 23:01:23 +01:00
Nicolas Lœuillet 3eba7538a4 Merge pull request #920 from jsit/uifixes
Many small UI changes/fixes to Baggy theme and English translation files
2014-11-03 22:48:07 +01:00
Nicolas Lœuillet fa6f5db97f Merge pull request #922 from jsit/menuhiding
Fixing menu hiding behavior when switching from mobile width to desktop width
2014-11-03 22:42:49 +01:00
Jay Sitter ebea829d80 Improving class names for menu hiding 2014-11-03 13:32:20 -05:00
Jay Sitter e319c49891 Fixing menu hiding behavior when switching from mobile width to desktop width 2014-11-03 13:28:58 -05:00
Jay Sitter efd0a9f5f1 Applying changes to config.twig to default theme as well 2014-11-03 12:06:44 -05:00
Jay Sitter 94888d5fd4 Removing title text from bookmarklet 2014-11-03 09:13:42 -05:00
Jay Sitter ac8b064f47 Restoring change password section in config 2014-11-03 09:11:25 -05:00
Nicolas Lœuillet 3c133bff49 add about page 2014-11-03 07:44:56 +01:00
Nicolas Lœuillet 20bb3f7f2a Merge pull request #919 from jsit/popupjs_
Improving JavaScript for popup forms
2014-11-03 06:46:18 +01:00
Jay Sitter cc1f78a83d Many small UI changes/fixes to Baggy theme and English translation files. May need review. 2014-11-02 13:37:44 -05:00
Jay Sitter ff02fd8aca Improving JavaScript for popup forms 2014-11-02 11:19:21 -05:00
Jay Sitter 063a2fadaa Removing spaces before colons on config screen 2014-11-02 10:30:13 -05:00
Jay Sitter 266b7328ef Merge branch 'dev' into uitextcase 2014-11-01 18:29:41 -04:00
Thomas Citharel 893b8e4cef Merge pull request #917 from jsit/menuopacity
Fixing opacity issue when using mobile menu (#912)
2014-10-31 20:45:40 +01:00
Jay Sitter 1772de2531 Changing my tabs to spaces :) 2014-10-31 15:38:25 -04:00
Jay Sitter 75dc3a71b7 Fixing opacity issue when using mobile menu 2014-10-31 15:37:08 -04:00
Jay Sitter 0be82dedb6 Capitalizing "EPUB" as is defined by IDPF: http://idpf.org/epub 2014-10-31 15:26:33 -04:00
Thomas Citharel 8a76674568 Merge pull request #913 from jsit/hotfix
Fixing regression in popup close button styling
2014-10-31 19:35:35 +01:00
Jay Sitter 40800c97b2 Fixing regression in popup close button styling 2014-10-31 14:34:10 -04:00
tcit 6926f6dcc7 Merge branch 'jsit-duplicateformstyles' into dev 2014-10-31 18:54:20 +01:00
tcit a63cd1b06f fix merge errors 2014-10-31 18:54:08 +01:00
tcit 9cf370cfb6 Merge branch 'jsit-duplicateformstyles' into dev 2014-10-31 18:48:02 +01:00
tcit ccaefcf69a merge 2014-10-31 18:47:54 +01:00
Jay Sitter 15eb5ca4b8 Merging changes with dev 2014-10-31 13:47:45 -04:00
Thomas Citharel 224528f1de Merge pull request #909 from jsit/closebutton
Standardizing class names and styles for close buttons
2014-10-31 18:44:42 +01:00
Jay Sitter ad2b61db80 Removing left border on popup forms on mobile widths 2014-10-31 13:32:34 -04:00
Jay Sitter 344c8f6b5c Fixing popup form width issue on narrow width 2014-10-31 13:28:39 -04:00
Jay Sitter 4bc70ed401 Making visual styling of search and bag it popup forms more consistent 2014-10-31 12:48:35 -04:00
Jay Sitter b95a6f57bf Removing duplicate popup form styles 2014-10-31 12:37:54 -04:00
Thomas Citharel 87e37e82fd Merge pull request #910 from jsit/default-theme-search-form-css
Moving search-form style out of messages css and into style.css
2014-10-31 17:34:03 +01:00
Jay Sitter 8519cc796f Moving search-form style out of messages css and into style.css 2014-10-31 12:31:13 -04:00
Jay Sitter 827bd1f899 Standardizing class names and styles for close buttons 2014-10-31 11:10:38 -04:00
Thomas Citharel ed0436d21e Merge pull request #908 from jsit/closemessage
Changing close message button to use × instead of X
2014-10-31 16:10:16 +01:00
Jay Sitter 242746fd17 Changing close message button to use × instead of X 2014-10-31 10:44:20 -04:00
Thomas Citharel f23fd0ee5e Merge pull request #907 from jsit/login
Some small design tweaks to the login page: Moving 'Stay signed in'...
2014-10-31 15:10:01 +01:00
Jay Sitter 1087b3cb4e Adding right margin to labels (to compensate for now-missing left margin on input fields) 2014-10-31 09:53:01 -04:00
Jay Sitter f60c9b00ab Some small design tweaks to the login page: Moving 'Stay signed in' label and removing left margin on input boxes 2014-10-31 09:30:57 -04:00
Thomas Citharel 6fe9b616aa Merge pull request #894 from wallabag/change-password-field
Fix #891: change type for password field in installation
2014-10-31 11:51:13 +01:00
Thomas Citharel 655550e23a Merge pull request #904 from wallabag/vagrantfile
Vagrantfile
2014-10-31 11:50:53 +01:00
Nicolas Lœuillet 4bada2b954 Merge pull request #906 from jsit/tagstitle
Uppercasing 'tags' page title
2014-10-30 21:55:46 +01:00
Jay Sitter a87a1b7d3b Uppercasing 'tags' page title 2014-10-30 16:54:24 -04:00
Nicolas Lœuillet 4fae3b0a85 Merge pull request #898 from jsit/previewtext
Fixing issue #874, displaying preview text when in list mode
2014-10-30 21:43:21 +01:00
Nicolas Lœuillet 052bdfc17e Merge pull request #897 from jsit/displaymode
Fixing display mode switching in Baggy theme (issue #896)
2014-10-30 21:43:15 +01:00
Nicolas Lœuillet 476b8902bb Merge pull request #905 from jsit/closebutton
Making the close button more visually consistent on the menu popup forms
2014-10-30 21:25:26 +01:00
Nicolas Lœuillet 6f0b92138f Merge pull request #903 from jsit/uitextcase
Fixing some more text case issues
2014-10-30 21:08:11 +01:00
Jay Sitter cd271fc485 Making the close button more visually consistent on the menu popup forms 2014-10-30 16:00:18 -04:00
Nicolas Lœuillet 0bf65303ca change database name 2014-10-30 20:43:39 +01:00
Nicolas Lœuillet c4800fc6da ignore vagrant directory 2014-10-30 20:42:17 +01:00
Nicolas Lœuillet d51c2e05d3 Vagrantfile, from @fguillot for kanboard 2014-10-30 20:40:56 +01:00
Jay Sitter ce096afed7 Fixing some more text case issues 2014-10-30 15:37:59 -04:00
Nicolas Lœuillet 06e7e7ff7b Merge pull request #902 from jsit/en_us
Adding 'en_US' locale (issue #901)
2014-10-30 20:34:08 +01:00
Jay Sitter bbbda080bf Adding 'en_US' locale (issue #901) 2014-10-30 15:32:00 -04:00
Jay Sitter 574f3faf06 Adding 'en_US' locale (issue #901) 2014-10-30 15:30:09 -04:00
Thomas Citharel b56c86457c Merge pull request #900 from jsit/uitextcase
Fixing a bunch of English translation letter casing and syntax (issue #899)
2014-10-30 18:37:58 +01:00
Jay Sitter 7212386e98 Fixing a bunch of English translation letter casing and syntax (issue #899) 2014-10-30 12:17:26 -04:00
Jay Sitter b73a175386 Fixing issue #874, displaying preview text when in list mode 2014-10-30 11:23:18 -04:00
Jay Sitter c9e6fec4bf Fixing display mode switching in Baggy theme (issue #896) 2014-10-30 11:20:05 -04:00
Nicolas Lœuillet fcd37d0c7b change type for password field in installation 2014-10-29 21:02:07 +01:00
Nicolas Lœuillet b40cd4e73f Merge pull request #889 from wallabag/fix#871
Fix#871
2014-10-27 20:58:13 +01:00
tcit 1b6e21d7a6 translation fix finished for #871 and bring add tag from search feature to all themes 2014-10-27 15:12:46 +01:00
tcit 7ee1972599 translation fix for #887 and tiny display fix 2014-10-27 14:00:47 +01:00
Thomas Citharel 24479b479d Merge pull request #888 from wallabag/updated-site-config
updated site_config
2014-10-27 09:28:30 +01:00
Nicolas Lœuillet 90a1a78b1e updated site_config 2014-10-27 06:46:13 +01:00
Nicolas Lœuillet 4a50075784 Merge pull request #883 from wallabag/hotfixepub
fix #882
2014-10-22 15:12:49 +02:00
tcit 606bea72e1 fix #882 2014-10-22 15:10:38 +02:00
Thomas Citharel 4eb603430d Merge pull request #879 from Marmo/patch-1
update zeit.de.txt for removal of inline ads
2014-10-21 19:42:21 +02:00
Marmo 76b1e0babe update zeit.de.txt for removal of inline ads 2014-10-21 19:33:40 +02:00
Nicolas Lœuillet f2248e604d Merge pull request #878 from wallabag/greybuttonread
fix #873
2014-10-20 15:07:24 +02:00
tcit f56791e6c4 fix #873 2014-10-19 11:12:25 +02:00
tcit 750d904a16 fix translation issues 2014-10-17 21:08:08 +02:00
Nicolas Lœuillet 691a03f176 Merge pull request #868 from wallabag/popupoverlap
fix for #830
2014-10-15 16:53:06 +02:00
tcit 48fb171d7a fix for #830 2014-10-15 16:47:38 +02:00
Nicolas Lœuillet 8fd0512a3c Merge pull request #848 from 11mariom/dev
Add support for custom http port
2014-10-14 19:57:16 +02:00
Nicolas Lœuillet 5b16d508b5 Merge pull request #843 from rros/mysql-utf8mb4
Convert the MySQL charset to utf8mb4 to support the full range of unicode
2014-10-14 19:56:50 +02:00
Nicolas Lœuillet 05e313ad28 Merge pull request #867 from wallabag/zindex-menu-bug
fix z-index-menu mobile view bug #834
2014-10-14 19:50:28 +02:00
tcit b9fa7d2c9c fix z-index-menu mobile view bug #834 2014-10-12 10:24:07 +02:00
Thomas Citharel 8ce508cab0 Create adme.ru.txt
Siteconfig
2014-10-12 10:00:35 +02:00
Thomas Citharel dffbec1c44 Merge pull request #865 from Marmo/patch-1
update heise.de.txt
2014-10-11 15:30:51 +02:00
Marmo ad0eccb4cd update heise.de.txt
Multi-page Telepolis-articles (www.heise.de/tp/...) are not fetched correctly atm. My addition to the single_page_link makes it work (tested with http://www.heise.de/tp/artikel/42/42579/1.html).
2014-10-11 15:22:53 +02:00
Mariusz Kozakowski 2d4cfc58ec Add support for custom http port
Now you can use wallabag behind reverse proxy (i.e Squid or Varnish)
without problem with urls like wallabag.example.com:8080.
2014-09-23 18:44:14 +02:00
Robert Ros b668db242d Convert the MySQL charset to utf8mb4 to support the full range of unicode characters 2014-09-18 22:29:22 +02:00
104 changed files with 2190 additions and 502 deletions

4
.gitignore vendored
View File

@ -1,7 +1,9 @@
.DS_Store
assets/*
cache/*
vendor
composer.phar
db/poche.sqlite
inc/poche/config.inc.php
inc/3rdparty/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer/
inc/3rdparty/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer/
.vagrant

71
Vagrantfile vendored Normal file
View File

@ -0,0 +1,71 @@
$script_sqlite = <<SCRIPT
apt-get update
apt-get install -y apache2 php5 php5-sqlite php5-xdebug
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
$script_mysql = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y apache2 php5 php5-mysql php5-xdebug mysql-server mysql-client
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
service mysql restart
echo "create database wallabag;" | mysql -u root
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
$script_postgres = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y apache2 php5 php5-pgsql php5-xdebug postgresql postgresql-contrib
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
service postgresql restart
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
Vagrant.configure("2") do |config|
config.vm.define "sqlite" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "mysql" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_mysql
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "postgres" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_postgres
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "debian7" do |m|
m.vm.box = "chef/debian-7.6"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
end
config.vm.define "debian6" do |m|
m.vm.box = "chef/debian-6.0.10"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
end
config.vm.network :forwarded_port, guest: 80, host: 8003
#config.vm.network "public_network", :bridge => "en0: Wi-Fi (AirPort)"
end

View File

@ -44,7 +44,7 @@ class Messages {
var $msgId;
var $msgTypes = array( 'help', 'info', 'warning', 'success', 'error' );
var $msgClass = 'messages';
var $msgWrapper = "<div class='%s %s'><a href='#' class='closeMessage'>X</a>\n%s</div>\n";
var $msgWrapper = "<div class='%s %s'><a href='#' class='closeMessage'>&times;</a>\n%s</div>\n";
var $msgBefore = '<p>';
var $msgAfter = "</p>\n";

View File

@ -1,2 +1,2 @@
title: substring-before(//title, '&mdash;')
test_url: http://512pixels.net/more-on-linked-lists/
title: //meta[@property='og:title']/@content
test_url: http://www.512pixels.net/blog/2014/10/the-move

View File

@ -1,12 +1,14 @@
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.
[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 rules are found, it tries to detect the content block automatically.
This repository contains the site config files we use in Full-Text RSS.
This repository contains the site-specific extraction rules we rely on in Full-Text RSS.
### Contributing changes
We run automated tests on these files to detect issues. If you'd like to help keep these up to date, please look at the [test results](http://siteconfig.fivefilters.org/test/) and see which files you'd like to contribute fixes for.
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:
@ -31,7 +33,7 @@ Marco, Instapaper's creator, graciously opened up the database of contributions
> 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).
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/) (no longer available since Instapaper was sold).
### Testing site config files

View File

@ -0,0 +1,6 @@
# Generated by FiveFilters.org's web-based selection tool
# Place this file inside your site_config/custom/ folder
# Source: http://siteconfig.fivefilters.org/grab.php?url=http%3A%2F%2Fwww.adme.ru%2Ftvorchestvo-hudozhniki%2Fprostoj-kak-5-kopeek-hudozhnik-557405%2F
body: //article[contains(concat(' ',normalize-space(@class),' '),' article ')]
test_url: http://www.adme.ru/tvorchestvo-hudozhniki/prostoj-kak-5-kopeek-hudozhnik-557405/

View File

@ -1,4 +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
test_url: http://alexduner.com/blog/something-i-learned-today

View File

@ -1,3 +1,5 @@
body: //section[@class='main_cont']/img | //div[@class='articleContent']
title: //div[@class='blog_top_left']//h2
author: //a[@class='b'][1]
date: substring-after(substring-before(//div, 'Posted in'), ' on ')
strip_image_src: /content/images/globals/
@ -8,4 +10,6 @@ prune: no
single_page_link: concat('http://www.anandtech.com/print/', substring-after(//meta[@property='og:url']/@content, '/show/'))
test_url: http://www.anandtech.com/show/5812/eurocom-monster-10-clevos-little-monster/
test_url: http://www.anandtech.com/show/8370/gigabyte-am1m-s2h-review
test_url: http://www.anandtech.com/show/8402/sandisk-releases-ultra-ii-ssd-the-second-tlc-nand-ssd-in-the-market
test_url: http://www.anandtech.com/show/8400/arms-cortex-m-even-smaller-and-lower-power-cpu-cores

View File

@ -0,0 +1,23 @@
# Author: zinnober
prune: no
title: substring-before(//div[@id='content']/h1, ',')
single_page_link: //a[@title='Seite drucken']
body: //div[@id='detail-body']
replace_string(<span class="description">): <em>
replace_string(<p class="leadtext"><small>): <p class="leadtext">
# Fix headlines
replace_string(Patrick Hollstein): &nbsp;
replace_string(APOTHEKE ADHOC): &nbsp;
replace_string(dpa): &nbsp;
replace_string(Katharina Lübke): &nbsp;
replace_string(Julia Pradel): &nbsp;
replace_string(Franziska Gerhardt): &nbsp;
test_url: http://www.apotheke-adhoc.de/nachrichten/politik/nachricht-detail-politik/deutscher-apothekertag-antraege-gegen-lieferengpaesse-2/

View File

@ -13,5 +13,7 @@ title: //div[@id='story']//h2[@class='title']
strip: //div[@class='pager']
next_page_link: //nav//a[span/@class='next']/@href
native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')]
test_url: http://arstechnica.com/tech-policy/news/2012/02/gigabit-internet-for-80-the-unlikely-success-of-californias-sonicnet.ars
test_url: http://arstechnica.com/apple/2005/04/macosx-10-4/

View File

@ -0,0 +1,13 @@
title: //div[@class='col-center']/h1
author: //div[@class='personality']/a
date: //div[@class='personality-date']
body: //div[@class='content-top ']//div[@class='content'][1] | //div[contains(@class,'article-body')] | //div[contains(@class,'main-article')]
next_page_link: //div[@id='review-link']/a
strip: //div[@class='author-block']
strip: //p//iframe[contains(@src,'signup')]/preceding::p[1]
test_url: http://www.autocar.co.uk/car-review/volkswagen/golf
test_url: http://www.autocar.co.uk/car-news/pebble-beach/saleen-unveils-performance-electric-vehicle-based-tesla-model-s
test_url: http://www.autocar.co.uk/car-review/rolls-royce/first-drives/rolls-royce-ghost-series-ii-first-drive-review

View File

@ -13,7 +13,7 @@ body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1']
#strip: //div[@class="story-feature narrow"]
#strip: //div[@class="story-feature wide"]
#strip: //div[@class="story-feature dslideshow-enclosure"]
strip: //div[contains(@class, "story-feature")]
strip: //div[contains(@class, "story-feature") and not(contains(@class, 'full-width'))]
strip: //span[@class="story-date"]
#strip: //div[@class="caption body-narrow-width"]
strip: //div[@class="warning"]//p
@ -30,13 +30,26 @@ strip: //div[contains(@class, 'comment-introduction')]
strip: //div[contains(@class, 'share-tools')]
strip: //div[@id='also-related-links']
strip_id_or_class: share-help
strip_id_or_class: comments_module
replace_string(<noscript>): <div>
replace_string(</noscript>): </div>
tidy: no
prune: no
dissolve: //h2
test_url: http://www.bbc.co.uk/sport/0/football/23224017
test_contains: Swansea City have completed the club-record signing
test_url: http://www.bbc.co.uk/news/business-15060862
test_contains: Europe's leaders are meeting again to try to solve
# news feed
test_url: http://feeds.bbci.co.uk/news/rss.xml
# sports feed
test_url: http://feeds.bbci.co.uk/sport/0/football/rss.xml?edition=int
# video entry
test_url: http://www.bbc.co.uk/news/world-asia-22056933
test_url: http://www.bbc.co.uk/news/world-asia-22056933

60
inc/3rdparty/site_config/standard/bbc.com.txt vendored Executable file
View File

@ -0,0 +1,60 @@
body: //div[@class="story-body"]
# for video entries
body: //div[contains(@class, "videoInStory") or @id="meta-information"]
title: //h1[@class="story-header"]
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
body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1']
#strip: //div[@class="story-feature narrow"]
#strip: //div[@class="story-feature wide"]
#strip: //div[@class="story-feature dslideshow-enclosure"]
strip: //div[contains(@class, "story-feature") and not(contains(@class, 'full-width'))]
strip: //span[@class="story-date"]
#strip: //div[@class="caption body-narrow-width"]
strip: //div[@class="warning"]//p
strip: //div[@id='page-bookmark-links-head']
strip: //object
strip: //div[contains(@class, "bbccom_advert_placeholder")]
strip: //div[contains(@class, "embedded-hyper")]
strip: //div[contains(@class, 'market-data')]
strip: //a[contains(@class, 'hidden')]
strip: //div[contains(@class, 'hypertabs')]
strip: //div[contains(@class, 'related')]
strip: //form[@id='comment-form']
strip: //div[contains(@class, 'comment-introduction')]
strip: //div[contains(@class, 'share-tools')]
strip: //div[@id='also-related-links']
strip_id_or_class: share-help
strip_id_or_class: comments_module
replace_string(<noscript>): <div>
replace_string(</noscript>): </div>
native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')]
tidy: no
prune: no
dissolve: //h2
test_url: http://www.bbc.com/sport/0/football/28918021
test_contains: Cameroonian footballer Albert Ebosse has died
test_url: http://www.bbc.com/sport/0/football/23224017
test_url: http://www.bbc.com/news/business-15060862
test_contains: Europe's leaders are meeting again to try
# news feed
test_url: http://feeds.bbci.co.uk/news/rss.xml
# sports feed
test_url: http://feeds.bbci.co.uk/sport/0/football/rss.xml?edition=int
# video entry
test_url: http://www.bbc.com/news/world-asia-22056933

View File

@ -0,0 +1,19 @@
body: //div[@id='column_1']
next_page_link: //div[@class='next']/a[not(contains(@href, '/comments') or contains(@href, '/news/'))]
prune: no
author: substring-after(//p[@class='byline'], 'by ')
date: substring-before(substring-after(//p[@class='byline'], 'on '), ' by')
strip: //h1
strip_id_or_class: socialLinks
strip_id_or_class: byline
strip_id_or_class: pageSelector
strip_id_or_class: articleTabs
strip_id_or_class: pageNav
strip_id_or_class: share
strip_id_or_class: commentsContainer
strip_id_or_class: below_article_related
test_url: http://www.bit-tech.net/hardware/storage/2014/08/13/ocz-arc-100-240gb-review/1
test_url: http://www.bit-tech.net/news/bits/2014/08/15/google-trojan/1

View File

@ -0,0 +1,16 @@
body: //div[contains(@class, 'article_pages')]
strip_id_or_class: article_page-header
strip_id_or_class: paginator
strip_id_or_class: article_info
find_string: src="data:image
replace_string: ignore-src="data:image
find_string: data-defer-src="
replace_string: src="
prune: no
test_url: http://bleacherreport.com/articles/feed
test_url: http://bleacherreport.com/articles/2137787-christian-ponders-newborn-daughter-was-named-after-fsu-legend-bobby-bowden
test_url: http://bleacherreport.com/articles/2137596-college-football-week-1-picks-unlv-runnin-rebels-vs-arizona-wildcats/

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/

View File

@ -19,5 +19,8 @@ strip: //p[@class='nota_pie']
strip: //div[starts-with(@id, 'sumario') and contains(., 'más información')]
strip: //div[@id='coment' or @id='foros_not']
test_url: http://elpais.com/elpais/2012/02/06/gente/1328526783_491687.html
test_url: http://www.elpais.com/articulo/cultura/mano/retrato/materia/elpepicul/20120207elpepicul_2/Tes
test_url: http://brasil.elpais.com/brasil/2014/10/15/politica/1413334841_878730.html
test_contains: O PT quer intensificar a presença do ex-presidente
test_url: http://brasil.elpais.com/brasil/2014/10/13/internacional/1413225730_450761.html
test_contains: Todos na localidade onde ele nasceu ainda falavam da façanha

View File

@ -1,30 +1,17 @@
# story has several pages, should be detected
body: //div[@id='storyBody']
body: //div[@id='article_body']
body: //div[@id='story_body']
# include the lead graphic in the body, if available
body: //div[contains(concat(' ', normalize-space(@id), ' '), ' lead_graphic ')] | //div[contains(concat(' ', normalize-space(@itemprop), ' '), ' articleBody ')]
title: //h1[contains(concat(' ', normalize-space(@itemprop), ' '), ' headline ')]
date: //time[contains(concat(' ', normalize-space(@itemprop), ' '), ' datePublished ')]
title://h1[@id='article_headline']
# article author
author: //p[@class='author']/a
# story author(s)
author: substring-after(//p[@class='byline'], 'By ')
# article date
date: //span[@class='published_date']
# story date
date: //span[@class='date']
date: substring-after(//div[contains(@class,'attributor')],'on')
strip_id_or_class: inset
strip: //p/span[@class='photoCredit']
strip: //h1
strip_id_or_class: page_count
strip_id_or_class: tools
strip_id_or_class: pagination
single_page_link: //li[@id='stPrint']/a
strip_id_or_class: photo_credit
strip_id_or_class: photo_caption
strip_id_or_class: inline_gallery
# pull quote, often inside a blockquote element
strip_id_or_class: pq
strip_id_or_class: credit
strip_id_or_class: figcaption
strip_id_or_class: related_item
test_url: http://www.businessweek.com/magazine/buyback-insurance-a-good-deal-for-retailers-07282011.html
test_url: http://www.businessweek.com/articles/2012-06-06/american-pain-the-largest-u-dot-s-dot-pill-mills-rise-and-fall
test_url: http://www.businessweek.com/articles/2012-06-06/american-pain-the-largest-u-dot-s-dot-pill-mills-rise-and-fall
test_url: http://www.businessweek.com/articles/2014-07-09/american-apparel-dov-charneys-sleazy-struggle-for-control

View File

@ -10,6 +10,15 @@ date: //time[@data-print='date']
body: //div[@data-print='body']
body: //section[@data-print='body']
find_string: rel:bf_image_src=
replace_string: src=
find_string: src="data:
replace_string: disabled_src="data:
native_ad_clue: //meta[@property="article:section" and @content="Advertiser"]
# For various things...
strip: *[@data-print="ignore"]
test_url: http://www.buzzfeed.com/hgrant/35-reasons-why-dogs-hate-the-holidays
test_url: http://www.buzzfeed.com/hgrant/35-reasons-why-dogs-hate-the-holidays
# Native ad
test_url: http://www.buzzfeed.com/bravo/ways-to-up-your-online-dating-game

View File

@ -0,0 +1,28 @@
# Author: zinnober
tidy: no
prune: no
# Set title
title: //h2
date: //li[@class='time']
# Set author
author: //a[contains(@rel, 'author')]
# Content is here
body: //div[@id='content']
# Tidy up before article
strip: //div[@class='meta']
# Tidy up after article
strip_id_or_class: nr_related_placeholder
strip_id_or_class: twitter-share-button
strip_id_or_class: afterpost
strip_id_or_class: tags
# Try it yourself
test_url: http://www.canonrumors.com/2014/09/chuck-westfall-talks-canon-eos-7d-mark-ii/
test_url: http://www.canonrumors.com/2014/09/canon-cinema-eos-captures-space-in-4k-for-new-imax-3d-film/

View File

@ -2,4 +2,5 @@ title: //div[@class='title']
author: //div[@class='author']
prune: no
test_url: http://www.chomsky.info/onchomsky/2002----.htm
test_url: http://www.chomsky.info/onchomsky/2002----.htm
test_contains: The propaganda model argues

View File

@ -1,5 +1,9 @@
title: //div[@id='maincontent']//h1
body: //div[@id='resizeableText']
single_page_link: concat(//link[@rel='canonical']/@href, '?sp=true')
test_url: http://cn.reuters.com/article/CNAnalysesNews/idCNKBS0FF0NM20140710
test_url: http://cn.reuters.feedsportal.com/CNAnalysesNews
test_url: http://cn.reuters.feedsportal.com/CNAnalysesNews
# multipage link
test_url: http://cn.reuters.com/article/idCNKBS0FF0UL20140710

View File

@ -1 +1,3 @@
body: //div[@id='content']
body: //div[@id='readme']
test_url: http://code.fivefilters.org/full-text-rss

View File

@ -15,4 +15,4 @@ strip_id_or_class: promotion-tag
tidy: no
prune: no
test_url: www.csmonitor.com/World/Middle-East/2011/1108/Imminent-Iran-nuclear-threat-A-timeline-of-warnings-since-1979/Earliest-warnings-1979-84
test_url: http://www.csmonitor.com/World/Middle-East/2011/1108/Imminent-Iran-nuclear-threat-A-timeline-of-warnings-since-1979/Earliest-warnings-1979-84

View File

@ -2,4 +2,4 @@ single_page_link: //a
tidy: no
prune: no
test_url: da.feedsportal.com/c/585/f/413794/s/17037b5a/l/0L0Stelegraaf0Bnl0Cbinnenland0C10A2757860C0I0IKlacht0Itegen0Idr0B0IFrank0Iniet0I0Eontvankelijk0I0I0Bhtml0Dcid0Frss/ia1.htm
test_url: http://da.feedsportal.com/c/585/f/413794/s/17037b5a/l/0L0Stelegraaf0Bnl0Cbinnenland0C10A2757860C0I0IKlacht0Itegen0Idr0B0IFrank0Iniet0I0Eontvankelijk0I0I0Bhtml0Dcid0Frss/ia1.htm

View File

@ -0,0 +1,31 @@
# Author: zinnober
tidy: no
prune: no
# Set title
title: //header/h1
# Set author
author: //a[rel='author']
# Content is here
body: //article
# Tidy up before article
strip: //header
# Tidy up article
strip: //div[contains(@id, 'gallery-')]
replace_string(<a rel="attachment): <p rel="attachment
# Tidy up after article
strip: //div[@class='sm']
strip_id_or_class: related
strip_id_or_class: comments
strip: //footer
# Try it yourself
test_url: http://www.designsponge.com/2010/06/seattle-design-guide.html
test_url: http://www.designsponge.com/2012/04/sneak-peek-liz-cook.html

View File

@ -2,4 +2,6 @@ body: (//blockquote[contains(@class, 'postcontent')])[1]
body: (//div[starts-with(@id, 'post_message')])[1]
prune: no
tidy: no
tidy: no
test_url: http://www.desitvforum.net/forum/watch-online/431739-creature-3d-2014-watch-online-download-dvd-rip.html

View File

@ -0,0 +1,29 @@
# Author: zinnober
prune: yes
tidy: yes
title: //h1
date: //p[@class='news_datum']
author: //span[@class='author']
body: //div[@class='tagesnews-content']
# General clenaup
strip_id_or_class: dachzeile
strip: //h3
strip: //p[@class='bodytext']//a
strip_id_or_class: autor_datum
strip_id_or_class: comments
strip_id_or_class: banner-
strip: //p[contains(., 'Lesen Sie')]
strip: //p[contains(., ' in DAZ')]
# Fix image captions
replace_string(<p class="image_caption">): <p><small><em>
replace_string(</dd>): </em></small></dd>
test_url: http://www.deutsche-apotheker-zeitung.de/pharmazie/news/2014/09/03/weniger-nebenwirkungen-aber-kein-zusatznutzen/13715.html
test_url: http://www.deutsche-apotheker-zeitung.de/recht/news/2014/09/02/urteile-zum-cannabis-eigenanbau-bfarm-geht-in-berufung/13716.html

View File

@ -1,8 +1,6 @@
title: //h1[@id='query_h1']
body: //div[contains(@class, 'lunatext results_content')]
strip_id_or_class: spl_unshd
#replace_string(<div class="dicTl">): <div class="dicTl">------------------<br />
body: //div[contains(@class, 'source-data')]
strip: //button
prune: no
test_url: http://www.wired.com/cloudline/2011/10/meet-arms-cortex-a15-the-future-of-the-ipad-and-possibly-the-macbook-air/
test_url: http://dictionary.reference.com/browse/propaganda

View File

@ -1 +1,3 @@
single_page_link: //a[@id='download_button_link']
single_page_link: //a[@id='download_button_link']
test_url: https://www.dropbox.com/s/qmocfrco2t0d28o/Fluffbeast.docx

View File

@ -0,0 +1,24 @@
# Author: Marvin Dickhaus <github@marvindickhaus.de>
# 2014-10-08
#Tidy just messes up the DOM
tidy: no
title: //h1
body: //h2 | //div[@id='artikelteaser'] | //div[@id='artikeltext']
#Strip
strip_image_src: artikel_a_merken.gif
strip: //div[@class='zusatzinfo']
#Author: substring is used to remove the " Von " prefix.
author: substring(//li[@class='artikelautor'], 5)
date: //li[@class='artikeldatum']
#The first two URLs will at some point no longer show
#the full article. There is a time-based paywall
#installed. Using the feed should present valid output
test_url: http://www.echo-online.de/art1231,5503063
test_url: http://www.echo-online.de/art1168,5502598
test_url: http://www.echo-online.de/rss/darmstadt.xml

View File

@ -1,8 +1,13 @@
body: //div[@class='main-content']
body: //article[contains(@class, 'resp-node')]
date: //time[@class='date-created']
strip: //aside
prune: no
autodetect_next_page: no
test_url: http://www.economist.com/node/21528429
test_url: http://www.economist.com/node/21528429
test_url: http://www.economist.com/news/essays/21623373-which-something-old-and-powerful-encountered-vault
test_contains: the calfskin pages are smooth
test_contains: Books will evolve online and off

View File

@ -1,8 +1,9 @@
body: //div[ @class='content' ] | //div[ @class='blog-entry' ]
body: //p[@class='strapline'] | //div[@class='cover-image'] | //article[@class='hd']
strip: //div[@class='social top']
strip: //p[@class='byline']
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 ')]
date: //span[@itemprop='datePublished']
author: //a[@itemprop='author']/text()
date://p[ @class='timestamp' ]
author://a[ @class='eurogamer-author' ]
test_url: http://www.eurogamer.net/articles/digitalfoundry-vs-unreal-engine-4
test_url: http://www.eurogamer.net/articles/2014-08-20-bungie-ordered-to-return-shares-to-composer-marty-odonnell
test_url: http://www.eurogamer.net/articles/2014-08-20-invisible-inc-does-espionage-justice

View File

@ -1,5 +1,12 @@
body: //div[@id='imagestage']
body: //div[contains(@class, 'userContentWrapper')]
strip_id_or_class: commentable
prune: no
tidy: no
test_url: https://www.facebook.com/feeds/page.php?id=338077742912613&format=rss20
# single_page_link: replace(substring-after(//noscript//meta[@http-equiv="refresh"]/@content, 'URL='), "&amp;", "&")
test_url: https://www.facebook.com/permalink.php?story_fbid=10154584776550183&id=294468630182
test_contains: holding an extraordinary session in Brussels this month

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

View File

@ -5,8 +5,8 @@ strip: //div[contains(@class, 'related-companies')]
strip: //div[@id='y-article-related']
strip: //div[@id='ypf-article-related']
prune: no
tidy: no
single_page_link: //div[@class='ft']//a[contains(@href, 'page=all')]
test_url: http://sg.finance.yahoo.com/news/Motorola-takes-wraps-249-rsg-3508842732.html?x=0&.v=1
test_url: http://finance.yahoo.com/news/super-young-retirement-savers.html
test_url: http://finance.yahoo.com/news/canadian-orebodies-gives-notice-exercise-130000032.html

View File

@ -1,2 +1,2 @@
body: //div[@class='entry']
test_url: http://www.fivechapters.com/2010/paris-part-one/
test_url: http://www.fivechapters.com/2014/the-saddest-writer-in-america-part-two/

View File

@ -1 +1,4 @@
prune: no
body: //section[contains(@class, 'container')]
prune: no
test_url: http://fivefilters.org/kindle-it/

View File

@ -1,15 +1,19 @@
title: //div[@class='translateHead']//h1 | //div[@id='art-mast']//h1
author: substring-after(//span[@id='by-line'], 'BY ')
date: //span[@id='pub-date']
body: //div[@id='art-mast']/h2 | //div[@class='translateBody'] | //div[@id='art-body']
body: (//article//img[contains(@class, 'main_photo')])[1] | (//article//div[contains(@class, 'full_post_content')])[1]
#body: //div[@id='art-mast']/h2 | //div[@class='translateBody'] | //div[@id='art-body']
#Strip inside article content
strip: //div[@id='share-box']
strip: //div[@id='special-box']
strip: //div[@id='special-box
strip_id_or_class: side_panel
prune: no
single_page_link: //span[@id='controls']/a[contains(@href, 'print=yes')]
single_page_link: //a[text()='SINGLE PAGE']
test_url: http://www.foreignpolicy.com/articles/2014/07/22/the_end_game_in_gaza_netanyahu_hamas
test_url: http://www.foreignpolicy.com/articles/2011/08/01/a_murderers_manifesto_and_me
test_url: http://www.foreignpolicy.com/articles/2012/02/29/five_years_in_damascus

View File

@ -1,25 +1,34 @@
# Jens Kohl, jens.kohl@...
# - Added publication date
# - Striped pagination block
# - Added single page link
# - Added xpath-querys for the printer friendly version
# Author: zinnober
# Rewrite of original template which fetched the printer-version without pictures
title: //h1
body: //div[@class='formatted']
tidy: no
prune: no
date: substring-after(//li[2][@class="text1"], 'Datum:')
strip: //ol[@class="list-chapters"]
strip_comments: yes
# Set full title
title: //h1
# next: commands for printer friendly pages
single_page_link: //a[contains(@href, 'print.php?a=')]/@href
title: //body/h3
strip_image_src: staticrl/images/logo.jpg
strip_image_src: http://cpx.golem.de/cpx.php?class=7
strip: //body/h3
strip: //body/b[1]
strip: //body/b[2]
strip: //body/b[3]
strip: //div[1]
test_url: http://www.golem.de/1112/88696.html
date: //time
# Content is here
body: //article
# Fetch full multipage articles
next_page_link: //a[@id='atoc_next']
# Remove tracking and ads
strip_id_or_class: iqadtile4
# General Cleanup
strip_id_or_class: list-jtoc
strip_id_or_class: table-jtoc
strip_id_or_class: implied
strip_id_or_class: social-
strip_id_or_class: comments
strip_id_or_class: footer
# Tidy up galleries (could still be improved, though)
strip: //img[@src='']
# Try yourself
test_url: http://www.golem.de/news/intel-core-i7-5960x-im-test-die-pc-revolution-beginnt-mit-octacore-und-ddr4-1408-108893.html
test_url: http://www.golem.de/news/test-infamous-first-light-neonbunter-actionspass-1408-108914.html

View File

@ -1,7 +1,42 @@
single_page_link: //p[@class='news_option']/a
# Author: zinnober
# Template should work well with either desktop or mobile version (m.heise.de)
prune: no
title: //article/h1 | //h1
date: //p[@class='news_datum']
title: //h1
body: //div[@class='meldung_wrapper']
author: //h4[@class='author']
test_url: http://www.heise.de/newsticker/meldung/Europa-soll-Grundrechteschutz-im-Netz-staerken-1392664.html
body: //article | //div[@class='meldung_wrapper']
# General cleanup
strip: //time
strip: //h4[@class='author']
strip: //p[@class='news_datum']
strip: //p[@class='artikel_datum']
strip: //a[contains(@href, 'mailto')]
strip_id_or_class: comments
strip_id_or_class: ISI_IGNORE
strip_id_or_class: clear
strip_id_or_class: linkurl_grossbild
strip_id_or_class: image-num
strip_id_or_class: heisebox_right
strip_id_or_class: dossier
# Strip Ads
strip_id_or_class: ad_
# Some optimizations
replace_string(<h5>): <h2>
replace_string(</h5>): </h2>
replace_string(<span class="bild_rechts"): <p
replace_string(<div class="heisebox">): <blockquote>
next_page_link: //a[@class='next']
next_page_link: //a[@title='vor']
test_url: http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-15-2196231.html
test_url: http://m.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-15-2196231.html
test_url: http://www.heise.de/newsticker/meldung/Ueberwachungstechnik-Die-globale-Handy-Standortueberwachung-2301494.html

View File

@ -2,4 +2,4 @@ body: //table[@class='ap-smallphoto-table'] | //div[@class='body']//*[@class='en
tidy: no
strip_image_src: analytics.apnewsregistry
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
test_url: http://hosted.ap.org/dynamic/stories/E/EU_TURKEY_KURDS?SITE=KSNEW&SECTION=HOME&TEMPLATE=DEFAULT&CTIME=2014-10-14-10-50-25

View File

@ -0,0 +1,14 @@
body: //div[@id='left-stack' or contains(@class, 'center-stack')]
find_string: class="artwork" src="
replace_string: class="artwork" src-disabled="
find_string: src-swap-high-dpi="
replace_string: src="
strip_id_or_class: rating
strip_id_or_class: listeners-also-bought
prune: no
test_url: https://itunes.apple.com/us/rss/topaudiobooks/limit=10/xml
test_url: https://itunes.apple.com/us/audiobook/the-giver-unabridged/id356345850

View File

@ -4,4 +4,4 @@ body: //div[@itemprop='articleBody']
tidy: no
test_url: http://www.kachiblog.com/2013/05/samsung-galaxy-s4-vs-samsung-galaxy.html
test_url: http://www.kachiblog.com/feeds/posts/default
test_url: http://www.kachiblog.com/feed

View File

@ -0,0 +1,7 @@
title: //div[@itemprop='headline']
body: //noscript/img | //div[@itemprop='text']
author: //div[@class='meta meta--post']//a[@class='is-author']
date: //div[@class='meta meta--post']//time/@datetime
test_url: http://www.lifehacker.co.uk/2014/08/22/dealhacker-10-google-chromecast-super-cheap-batteries-much
test_url: http://www.lifehacker.co.uk/2014/08/18/andrognito-hides-files-youd-like-keep-away-prying-eyes

View File

@ -25,4 +25,4 @@ strip_id_or_class: 'rightimage'
#Comments
strip: //table
strip: //p/following-sibling::*[0]
test_url: http://www.mainpost.de/ueberregional/meinung/Dioxin-Skandal-bringt-Agrarministerin-in-Bedraengnis;art9517,5920211
test_url: http://www.mainpost.de/regional/wuerzburg/Autobahnschuetze-Staatsanwalt-fordert-zwoelf-Jahre;art492151,8386332

View File

@ -1,4 +1,5 @@
strip_id_or_class: article-tools
strip_id_or_class: pagenav
prune: no
test_url: http://www.medialens.org/index.php/alerts/alert-archive/2012/713-the-illusion-of-democracy.html
test_url: http://www.medialens.org/index.php/alerts/alert-archive/2012/713-the-illusion-of-democracy.html
test_contains: In an era of permanent war, economic meltdown

View File

@ -1,7 +1,12 @@
body: //div[contains(@class, 'post-content-inner')]
strip_id_or_class: follow-ups
strip_id_or_class: footer
body: //div[contains(@class, 'postContent-inner')]
strip_id_or_class: supplementalPostContent
prune: no
test_url: https://medium.com/p/6844c0d7893b
test_url: https://medium.com/@savolai/kaytettavyyden-haasteet-keskustelukulttuurista-2-3-6844c0d7893b
test_contains: Jos käytettävyysongelmat ovat kerran niin tyypillisiä
test_contains: Keskustelukulttuuriongelmasta (subjective vs. objective bugs)
test_url: https://medium.com/health-the-future/thirty-things-ive-learned-482765ee3503
test_contains: Remember you will die
test_contains: You have to have some faith.

View File

@ -0,0 +1,12 @@
strip: //div[contains(@style, 'float:right') and contains(., 'advertisement')]
body: //div[@style="float:left;width:740px;"]
tidy: no
test_url: http://www.menshealth.com.sg/fitness/mh-picks-under-armour-clutchfit-nitro-mid-cleats
test_contains: These cleats are made for one thing
test_url: http://www.menshealth.com.sg/fitness/top-10-fat-burning-bodyweight-moves-you-can-do-10-minutes
test_contains: let this workout fool you
test_url: http://www.menshealth.com.sg/fitness/feed

View File

@ -8,4 +8,4 @@ strip_id_or_class: news_morearticlesincat
strip_id_or_class: ezc_comments
strip_comments: yes
test_url: http://www.northumberlandview.ca/index.php?module=news&func=display&sid=5972
test_url: http://www.northumberlandview.ca/index.php?module=news&type=user&func=display&sid=31127

View File

@ -42,8 +42,12 @@ strip://h6[@class = 'kicker']
author:substring-after(//h6[@class='byline'],'By ')
test_url: http://www.nytimes.com/2011/07/24/books/review/an-academic-authors-unintentional-masterpiece.html
test_contains: In this column I want to look at a not uncommon way of writing
test_url: http://www.nytimes.com/2012/06/10/arts/television/the-newsroom-aaron-sorkins-return-to-tv.html
test_contains: IF youve seen enough of Aaron Sorkins theater
test_url: http://www.nytimes.com/2013/03/25/world/middleeast/israeli-military-responds-after-patrols-come-under-fire-from-syria.html
test_url: http://www.nytimes.com/2013/08/15/nyregion/when-the-new-york-city-subway-ran-without-rails.html
test_url: http://www.nytimes.com/2004/02/29/weekinreview/correspondence-class-consciousness-china-s-wealthy-live-creed-hobbes-darwin-meet.html
test_url: http://www.nytimes.com/2014/06/19/opinion/gail-collins-romney-and-the-2016-contenders-huddle.html
test_url: http://www.nytimes.com/2014/06/19/opinion/gail-collins-romney-and-the-2016-contenders-huddle.html

View File

@ -1,3 +1,5 @@
body: //div[@id='_ctl12__ctl0_Article']
body: //div[contains(@class, 'article-photo-wrapper')]
prune: no
autodetect_on_failure: no
test_url: http://www.real.gr/DefaultArthro.aspx?page=arthro&id=360962&catID=1
test_contains: Επισήμως το αποψινό υπουργικό

View File

@ -7,7 +7,7 @@ author: //p[@class="tagline"]/a
# this doesn't work for some reason...?
date: //p[@class="tagline"]//@datetime
body: //div[@class="expando"]//div[@class="usertext-body"]
body: (//div[contains(@class, 'noncollapsed')]//div[contains(@class, 'usertext-body')])[1]
strip_id_or_class: tagline
strip_id_or_class: unvotable-message
@ -17,4 +17,5 @@ strip_id_or_class: buttons
single_page_link: //p[@class="title"]/a[contains(@href, 'http://')]
test_url: http://www.reddit.com/r/truegaming/comments/wfe7r/i_wrote_about_the_problems_i_honestly_feel_that/
test_url: http://www.reddit.com/r/worldnews/comments/1as37r/twelve_north_korean_soldiers_attempting_to_defect/
test_url: http://www.reddit.com/r/worldnews/comments/1as37r/twelve_north_korean_soldiers_attempting_to_defect/
test_url: http://www.reddit.com/r/WritingPrompts/comments/2786lw/wp_in_a_world_where_puns_are_illegal_one_man/chybk8e

View File

@ -1,4 +1,4 @@
body: //div[@class="storyBox"]
body: //div[contains(concat(' ',normalize-space(@class),' '),' article ') and (contains(concat(' ',normalize-space(@class),' '),' clear '))]
title: //div[@class="storyBox"]/h1
author: //a[@rel="author"]
date: substring-before(//span[@class="dateline"], 'by')

View File

@ -1,4 +1,4 @@
#grab the actual content div
body: //div[@class='rt-article']
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
test_url: http://www.sourcebooks.com/blog/happy-27th-birthday-sourcebooks.html

View File

@ -0,0 +1,5 @@
body: //div[contains(@class, 'story-text')]
strip_id_or_class: related
test_url: http://www.tabletmag.com/jewish-news-and-politics/181181/mossberg-parallel-states?all=1

View File

@ -0,0 +1,60 @@
# Author: zinnober
# Should work with "normal" articles as well as with image galleries
prune: no
# Title
title: //h1/span[@class='hcf-headline']
# Set author
author: //a[@rel='author']
# Set date
date: //span[@class='date hcf-atlas']
# Fetch full multipage articles
next_page_link: //a[contains(@class, 'hcf-forward')]
# Content is here
body: //article
body: //div[contains(@class, 'hcf-screen')]
# Remove tracking and ads
strip_id_or_class: hcf-ad
strip_id_or_class: hcf-autoload-ad
strip_id_or_class: hcf-content-ad
# Tidy up before article
strip: //article/h1
strip_id_or_class: hcf-atlas
strip_id_or_class: hcf-author
strip_id_or_class: date hcf-atlas
strip_id_or_class: date hcf-atlas
# General cleanup
strip: //div[contains(@class, 'hcf-screen')]//h1
strip: //div[@class='hcf-subpage-titles']//ul
strip_id_or_class: hcf-doctype-media
strip_id_or_class: hcf-inline-gallery
strip_id_or_class: hcf-doctype-video
strip_id_or_class: hcf-links
strip_id_or_class: hcf-mini-navi
strip_id_or_class: hcf-media-control
strip_id_or_class: hcf-hidden
replace_string(<span class="hcf-update">Update</span>): <strong>Update: </strong>
# Fix pictures and captions
replace_string(<a class="hcf-doctype-gallery): <p class="hcf-doctype-gallery
replace_string(<a class="hcf-doctype-enlarge): <p class="hcf-doctype-enlarge
replace_string(<figcaption class="hcf-caption">): <br><small><em>
replace_string(</figcaption>): </em></small>
# Fix image galleries
replace_string(<a class=" ajaxify): <p class="ajaxify
replace_string(<div class="hcf-caption"><div><p>): <small><em>
# Try it yourself
test_url: http://www.tagesspiegel.de/berlin/bezirke/wedding/wedding-jetzt/auf-der-suche-nach-einem-stadtteil-wilder-weiter-wedding/8757156.html
test_url: http://www.tagesspiegel.de/berlin/olympia-in-berlin-der-flughafen-tegel-soll-das-olympische-dorf-werden/10645036.html
test_url: http://www.tagesspiegel.de/mediacenter/fotostrecken/berlin/bildergalerie-kreuzberger-der-woche/9305534.html

View File

@ -1,3 +1,3 @@
single_page_link_in_feed: //b/a
test_url_feed: http://www.techmeme.com/feed.xml
test_url: http://www.techmeme.com/feed.xml

View File

@ -15,6 +15,8 @@ strip: //div[@class='earthbox']
single_page_link: //article//a[contains(@class, 'print')]
native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')]
test_url: http://www.theatlantic.com/technology/archive/2011/04/want-to-see-how-crazy-a-bot-run-market-can-be/237773/
test_url: http://www.theatlantic.com/magazine/archive/2007/11/the-autumn-of-the-multitaskers/6342/
test_url: http://www.theatlantic.com/entertainment/archive/2012/04/30-rock-live-a-funny-reminder-of-why-sitcoms-arent-shot-live-anymore/256447/

View File

@ -1,5 +1,10 @@
body: //div[contains(@class, 'entry-content')]//div[contains(@class, 'column-2')]
single_page_link: //div[contains(@class, 'pagination')]//a[contains(@title, 'ingle page')]
strip_id_or_class: entry-related
strip_id_or_class: entry-sidebar
strip_id_or_class: entry-pagination
tidy: no
prune: no
test_url: http://www.theglobeandmail.com/report-on-business/rob-magazine/how-a-novice-miner-survived-a-summer-in-the-klondike/article2345350/
test_url: http://www.theglobeandmail.com/report-on-business/rob-magazine/how-a-novice-miner-survived-a-summer-in-the-klondike/article2345350/
test_url: http://www.theglobeandmail.com/report-on-business/industry-news/energy-and-resources/cliffs-natural-resources-looking-to-exit-ontarios-ring-of-fire/article20651617/

View File

@ -6,8 +6,19 @@ strip: //div[contains(@class, 'kindleWidget')]
#strip: //a[not(text())]
strip_id_or_class: pocket-btn
author: //li[@class='byline']
native_ad_clue: //meta[@property="article:tag" and contains(@content, "Partner zone")]
native_ad_clue: //meta[@property="video:tag" and contains(@content, "Partner zone")]
prune: no
tidy: no
test_url: http://www.theguardian.com/world/2013/oct/04/nsa-gchq-attack-tor-network-encryption
test_contains: The National Security Agency has made repeated attempts to develop
test_contains: The agency did not directly address those questions, instead providing a statement.
test_url: http://www.theguardian.com/world/2013/oct/03/edward-snowden-files-john-lanchester
test_url: http://www.theguardian.com/commentisfree/2014/jun/15/britishness-search-identity-my-part-in-camerons-odyssey
test_contains: In August, the editor of the Guardian rang me up and asked if I would spend a week in New York
test_contains: As the second most senior judge in the country, Lord Hoffmann, said in 2004 about a previous version of our anti-terrorism laws
test_url: http://www.theguardian.com/commentisfree/2014/jun/15/britishness-search-identity-my-part-in-camerons-odyssey
# Native ad
test_url: http://www.theguardian.com/sustainable-business/2014/jul/18/ben-jerry-turn-ice-cream-into-energy

View File

@ -15,6 +15,11 @@ strip: //nav
strip: //img[contains(@class, 'vox-lazy-load')]
# deal with bad parsing
strip: //div[contains(@class, 'story-image')]//div[contains(., 'function(')]
strip: //div[contains(@class, 'm-linkset')]
strip: //div[contains(@class, 'm-entry__sidebar')]
strip: //ul[contains(@class, 'm-article__sources')]
strip: //div[contains(@class, 'chorus-emc__content')]
strip_id_or_class: gallery
strip_id_or_class: article-meta
@ -45,4 +50,4 @@ test_url: http://www.theverge.com/2012/2/29/2821763/lytro-review
test_url: http://www.theverge.com/2011/11/3/2534861/nokia-lumia-800-review
test_url: http://www.theverge.com/2013/2/24/4026114/barnes-noble-shifting-focus-away-from-nook-hardware
test_url: http://www.theverge.com/2014/6/19/5824072/top-shelf-living-the-dream
test_url: http://www.theverge.com/rss/frontpage
test_url: http://www.theverge.com/rss/frontpage

View File

@ -0,0 +1,25 @@
# Author: zinnober
tidy: no
prune: no
# Set author
author: //a[contains(@rel, 'author')]
# Content is here
body: //article
# Tidy up before article
strip: //header
# Get rid of doubled images
strip: //img[contains(@class, '-hidden')]
# Tidy up after article
strip_id_or_class: social-list
strip_id_or_class: meta-info
strip: //footer
# Try it yourself
test_url: http://www.thisiscolossal.com/2014/09/chicago-in-the-fog-by-michael-salisbury/
test_url: http://www.thisiscolossal.com/2014/09/bird-portraits-ruffling-with-personality-by-leila-jeffreys/

View File

@ -0,0 +1,10 @@
title: //div[@id='headline']
body: //div[@class='entry_text']
author: //div[text() = 'Author:']/following-sibling::div/a
date: //div[text() = 'Published:']/following-sibling::div
single_page_link: //a[@href='noscript.html']
prune: no
test_url: http://towerofthehand.com/blog/2014/08/08-pitch-this-got-spinoff/index.html
test_url: http://towerofthehand.com/blog/2014/07/31-definitions-and-embodiments/index.html
test_url: http://towerofthehand.com/blog/2014/07/03-hero-with-thousand-faces/index.html

View File

@ -6,4 +6,5 @@ date: //span[contains(@class, 'js-short-timestamp')]/@data-time
prune: no
tidy: no
test_url: https://twitter.com/medialens/status/216883678582804480
test_url: https://twitter.com/medialens/status/216883678582804480
test_contains: is all but alone in challenging the tsunami of UK

View File

@ -2,6 +2,7 @@ title: //meta[@property="og:title"]/@content
author: //div[contains(@class, 'byline')]//span[contains(@class, 'name')]
date: //div[contains(@class, 'cn_date_time')]
body: //div[contains(@class, 'pageContainers')]
body: //div[@id='main']
body: //article[@id='items-container']
#body: //h2[@class='sub-header'] | //div[contains(@class, 'contributor-type') or @class='display-date' or @class='content-container']
@ -26,5 +27,7 @@ strip: //li[@class='blogNavPrev']
single_page_link: //a[@title='Print this page']
test_url: http://www.vanityfair.com/politics/features/2011/05/egypt-revolutionaries-201105
test_contains: nothing can take away from the miracle of Tahrir Square
test_url: http://www.vanityfair.com/politics/features/2008/08/hitchens200808
test_url: http://www.vanityfair.com/style/2012/01/prisoners-of-style-201201
test_url: http://www.vanityfair.com/style/2012/01/prisoners-of-style-201201

18
inc/3rdparty/site_config/standard/wn.de.txt vendored Executable file
View File

@ -0,0 +1,18 @@
author: //div[@id='main']//div[@class='col right']//div[contains(@class, 'attribute-author')]
body: //div[@id='main']//div[@class='col right']
strip_id_or_class: boxes
strip_id_or_class: lazy
strip_id_or_class: comment_box
strip_id_or_class: fb_comments
find_string: <noscript>
replace_string: <div>
find_string: </noscript>
replace_string: </div>
prune: no
tidy: no
test_url: http://www.wn.de/Muenster/Kultur/1742956-Wilm-Weppelmann-verlaesst-die-Einsiedelei-Und-dann-ab-unter-die-Dusche
# feed
test_url: http://www.wn.de/rss/feed/wn_muenster

View File

@ -24,15 +24,17 @@ class Database {
switch (STORAGE) {
case 'sqlite':
// Check if /db is writeable
if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) {
if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) {
die('An error occured: "db" directory must be writeable for your web server user!');
}
$db_path = 'sqlite:' . STORAGE_SQLITE;
$this->handle = new PDO($db_path);
break;
case 'mysql':
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD);
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4';
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
));
break;
case 'postgres':
$db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;

View File

@ -18,6 +18,7 @@ class Language
'cs_CZ.utf8' => 'čeština',
'de_DE.utf8' => 'German',
'en_EN.utf8' => 'English',
'en_US.utf8' => 'English (US)',
'es_ES.utf8' => 'Español',
'fa_IR.utf8' => 'فارسی',
'fr_FR.utf8' => 'Français',
@ -110,4 +111,4 @@ class Language
Tools::emptyCache();
Tools::redirect('?view=config');
}
}
}

View File

@ -314,6 +314,8 @@ class Poche
switch ($view)
{
case 'about':
break;
case 'config':
$dev_infos = $this->_getPocheVersion('dev');
$dev = trim($dev_infos[0]);
@ -388,7 +390,7 @@ class Poche
$this->pagination->page_links('?view=' . $view . '?search=' . $search . '&sort=' . $_SESSION['sort'] . '&' ));
$tpl_vars['page_links'] = $page_links;
$tpl_vars['nb_results'] = $count;
$tpl_vars['search_term'] = $search;
$tpl_vars['searchterm'] = $search;
}
break;
case 'view':

View File

@ -119,7 +119,7 @@ class Routing
} elseif (isset($_GET['deluser'])) {
$this->wallabag->deleteUser($_POST['password4deletinguser']);
} elseif (isset($_GET['epub'])) {
$epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['id'], $_GET['value']);
$epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['value']);
$epub->run();
} elseif (isset($_GET['import'])) {
$import = $this->wallabag->import();

View File

@ -51,6 +51,7 @@ final class Tools
$serverport = (!isset($_SERVER["SERVER_PORT"])
|| $_SERVER["SERVER_PORT"] == '80'
|| $_SERVER["SERVER_PORT"] == HTTP_PORT
|| ($https && $_SERVER["SERVER_PORT"] == '443')
|| ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection
? '' : ':' . $_SERVER["SERVER_PORT"]);
@ -116,7 +117,7 @@ final class Tools
{
$views = array(
'install', 'import', 'export', 'config', 'tags',
'edit-tags', 'view', 'login', 'error'
'edit-tags', 'view', 'login', 'error', 'about'
);
return (in_array($view, $views) ? $view . '.twig' : 'home.twig');
@ -341,7 +342,10 @@ final class Tools
return $json;
};
$json = $scope("inc/3rdparty/makefulltextfeed.php", array("url" => $url));
// Silence $scope function to avoid
// issues with FTRSS when error_reporting is to high
// FTRSS generates PHP warnings which break output
$json = @$scope("inc/3rdparty/makefulltextfeed.php", array("url" => $url));
// Clearing and restoring context
foreach ($GLOBALS as $key => $value) {

View File

@ -24,6 +24,8 @@
#################################################################################
# Do not trespass unless you know what you are doing
#################################################################################
// Change this if http is running on nonstandard port - i.e is behind cache proxy
@define ('HTTP_PORT', 80);
// Change this if not using the standart port for SSL - i.e you server is behind sslh
@define ('SSL_PORT', 443);

View File

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT see COPYING file
*/
define ('POCHE', '1.8.0');
define ('POCHE', '1.8.1');
require 'check_essentials.php';
require 'check_setup.php';
require_once 'inc/poche/global.inc.php';
@ -19,4 +19,4 @@ Session::init();
// Let's rock !
$wallabag = new Poche();
$wallabag->run();
$wallabag->run();

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@ CREATE TABLE IF NOT EXISTS `config` (
`name` varchar(255) NOT NULL,
`value` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `entries` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS `entries` (
`content` blob NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS `users` (
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `users_config` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@ -31,13 +31,13 @@ CREATE TABLE IF NOT EXISTS `users_config` (
`name` varchar(255) NOT NULL,
`value` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `tags` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`value` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `tags_entries` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@ -46,4 +46,4 @@ CREATE TABLE IF NOT EXISTS `tags_entries` (
FOREIGN KEY(entry_id) REFERENCES entries(id) ON DELETE CASCADE,
FOREIGN KEY(tag_id) REFERENCES tags(id) ON DELETE CASCADE,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

View File

@ -4,26 +4,26 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-25 15:17+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: tcit <tcit@tcit.fr>\n"
"Last-Translator: tcit <tcit@openmailbox.org>\n"
"Language-Team: \n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.9\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-Basepath: .\n"
msgid "wallabag, a read it later open source system"
msgstr "wallabag, a read it later open source system"
msgid "login failed: user doesn't exist"
msgstr "login failed: user doesn't exist"
msgstr "Login failed: user doesn't exist"
msgid "return home"
msgstr "return home"
msgstr "Return Home"
msgid "config"
msgstr "config"
msgstr "Config"
msgid "Saving articles"
msgstr "Saving articles"
@ -32,10 +32,16 @@ msgid "There are several ways to save an article:"
msgstr "There are several ways to save an article:"
msgid "read the documentation"
msgstr "read the documentation"
msgstr "Read the documentation"
msgid "download the extension"
msgstr "download the extension"
msgstr "Download the extension"
msgid "Firefox Add-On"
msgstr "Firefox Add-On"
msgid "Chrome Extension"
msgstr "Chrome Extension"
msgid "via F-Droid"
msgstr "via F-Droid"
@ -47,7 +53,7 @@ msgid "via Google Play"
msgstr "via Google Play"
msgid "download the application"
msgstr "download the application"
msgstr "Download the application"
msgid "By filling this field"
msgstr "By filling this field"
@ -56,7 +62,7 @@ msgid "bag it!"
msgstr "bag it!"
msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
msgstr "Bookmarklet: drag & drop this link to your bookmarks bar"
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
msgid "Upgrading wallabag"
msgstr "Upgrading wallabag"
@ -102,17 +108,16 @@ msgid "Your token:"
msgstr "Your token:"
msgid "Your user id:"
msgstr "Your user id:"
msgstr "Your user ID:"
msgid ""
"You can regenerate your token: <a href='?feed&amp;action=generate'>generate!"
"</a>."
msgstr ""
"You can regenerate your token: <a href='?feed&amp;action=generate'>generate!"
"</a>."
"<a href='?feed&amp;action=generate'>Regenerate Token</a>"
msgid "Change your theme"
msgstr "Change your theme"
msgstr "Change Your Theme"
msgid "Theme:"
msgstr "Theme:"
@ -121,13 +126,13 @@ msgid "Update"
msgstr "Update"
msgid "Change your language"
msgstr "Change your language"
msgstr "Change Your Language"
msgid "Language:"
msgstr "Language:"
msgid "Change your password"
msgstr "Change your password"
msgstr "Change Your Password"
msgid "New password:"
msgstr "New password:"
@ -141,14 +146,26 @@ msgstr "Repeat your new password:"
msgid "Import"
msgstr "Import"
msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format."
msgstr "You can import your Pocket, Readability, Instapaper, wallabag or any fil in appropriate JSON or HTML format."
msgid ""
"Please execute the import script locally as it can take a very long time."
msgstr ""
msgid "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required."
msgstr "Please select export file on your computer and press &ldquo;Import&rdquo; button below. wallabag will parse your file, insert all URLs and start fetching of articles if required."
"Please execute the import script locally as it can take a very long time."
msgid "You can click here to fetch content for articles with no content."
msgstr "Fetch content for articles with no content"
msgid "More info in the official documentation:"
msgstr "More info in the official documentation:"
msgid "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
msgstr "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
msgid "Import from Pocket"
msgstr "Import from Pocket"
@ -177,17 +194,41 @@ msgstr "to download your database."
msgid "to export your wallabag data."
msgstr "to export your wallabag data."
msgid "Export JSON"
msgstr "Export JSON"
msgid "Cache"
msgstr "Cache"
msgid "to delete cache."
msgstr "to delete cache."
msgid "Delete Cache"
msgstr "Delete Cache"
msgid "You can enter multiple tags, separated by commas."
msgstr "You can enter multiple tags, separated by commas."
msgid "Add tags:"
msgstr "Add tags:"
msgid "no tags"
msgstr "no tags"
msgid "The tag has been applied successfully"
msgstr "The tag has been applied successfully"
msgid "interview"
msgstr "interview"
msgid "editorial"
msgstr "editorial"
msgid "video"
msgstr "video"
msgid "return to article"
msgstr "return to article"
msgstr "Return to article"
msgid "plop"
msgstr "plop"
@ -200,13 +241,13 @@ msgstr ""
"here</a>."
msgid "favoris"
msgstr "favoris"
msgstr "Favorites"
msgid "archive"
msgstr "archive"
msgstr "Archive"
msgid "unread"
msgstr "unread"
msgstr "Unread"
msgid "by date asc"
msgstr "by date asc"
@ -236,28 +277,28 @@ msgid "Toggle mark as read"
msgstr "Toggle mark as read"
msgid "toggle favorite"
msgstr "toggle favorite"
msgstr "Toggle favorite"
msgid "delete"
msgstr "delete"
msgstr "Delete"
msgid "original"
msgstr "original"
msgstr "Original"
msgid "estimated reading time:"
msgstr "estimated reading time:"
msgstr "Estimated reading time:"
msgid "mark all the entries as read"
msgstr "mark all the entries as read"
msgstr "Mark all the entries as read"
msgid "results"
msgstr "results"
msgstr "Results"
msgid "installation"
msgstr "installation"
msgstr "Installation"
msgid "install your wallabag"
msgstr "install your wallabag"
msgstr "Install your wallabag"
msgid ""
"wallabag is still not installed. Please fill the below form to install it. "
@ -278,13 +319,13 @@ msgid "Install"
msgstr "Install"
msgid "login to your wallabag"
msgstr "login to your wallabag"
msgstr "Login to your wallabag"
msgid "Login to wallabag"
msgstr "Login to wallabag"
msgid "you are in demo mode, some features may be disabled."
msgstr "you are in demo mode, some features may be disabled."
msgstr "You are in demo mode; some features may be disabled."
msgid "Username"
msgstr "Username"
@ -299,10 +340,10 @@ msgid "Sign in"
msgstr "Sign in"
msgid "favorites"
msgstr "favorites"
msgstr "Favorites"
msgid "estimated reading time :"
msgstr "estimated reading time :"
msgstr "Estimated reading time:"
msgid "Mark all the entries as read"
msgstr "Mark all the entries as read"
@ -344,61 +385,64 @@ msgid "tags:"
msgstr "tags:"
msgid "Edit tags"
msgstr "Edit tags"
msgstr "Edit Tags"
msgid "save link!"
msgstr "save link!"
msgstr "Save Link"
msgid "home"
msgstr "home"
msgstr "Home"
msgid "tags"
msgstr "tags"
msgstr "Tags"
msgid "logout"
msgstr "logout"
msgstr "Logout"
msgid "powered by"
msgstr "powered by"
msgstr "Powered by"
msgid "debug mode is on so cache is off."
msgstr "debug mode is on so cache is off."
msgstr "Debug mode is on, so cache is off."
msgid "your wallabag version:"
msgstr "your wallabag version:"
msgstr "Your wallabag version:"
msgid "storage:"
msgstr "storage:"
msgstr "Storage:"
msgid "save a link"
msgstr "save a link"
msgstr "Save a Link"
msgid "back to home"
msgstr "back to home"
msgstr "Back to Home"
msgid "toggle mark as read"
msgstr "toggle mark as read"
msgstr "Toggle mark as read"
msgid "tweet"
msgstr "tweet"
msgstr "Tweet"
msgid "email"
msgstr "email"
msgstr "Email"
msgid "this article appears wrong?"
msgstr "this article appears wrong?"
msgstr "This article appears wrong?"
msgid "No link available here!"
msgstr "No link available here!"
msgstr "No link available here"
msgid "Poching a link"
msgstr "Poching a link"
msgstr "bagging a link"
msgid "by filling this field"
msgstr "by filling this field"
msgid "bookmarklet: drag & drop this link to your bookmarks bar"
msgstr "bookmarklet: drag & drop this link to your bookmarks bar"
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
msgid "Drag &amp; drop this link to your bookmarks bar:"
msgstr "Drag &amp; drop this link to your bookmarks bar:"
msgid "your version"
msgstr "your version"
@ -407,32 +451,35 @@ msgid "latest stable version"
msgstr "latest stable version"
msgid "a more recent stable version is available."
msgstr "a more recent stable version is available."
msgstr "A more recent stable version is available."
msgid "you are up to date."
msgstr "you are up to date."
msgstr "You are up to date."
msgid "latest dev version"
msgstr "latest dev version"
msgid "a more recent development version is available."
msgstr "a more recent development version is available."
msgstr "A more recent development version is available."
msgid "You can clear cache to check the latest release."
msgstr "You can <a href=\"#cache\">clear the cache</a> to check for the latest release."
msgid "Please execute the import script locally, it can take a very long time."
msgstr ""
"Please execute the import script locally, it can take a very long time."
msgid "More infos in the official doc:"
msgstr "More infos in the official doc:"
msgstr "More information in the official doc:"
msgid "import from Pocket"
msgstr "import from Pocket"
msgstr "Import from Pocket"
msgid "import from Readability"
msgstr "import from Readability"
msgstr "Import from Readability"
msgid "import from Instapaper"
msgstr "import from Instapaper"
msgstr "Import from Instapaper"
msgid "Tags"
msgstr "Tags"
@ -441,74 +488,74 @@ msgid "Untitled"
msgstr "Untitled"
msgid "the link has been added successfully"
msgstr "the link has been added successfully"
msgstr "The link has been added successfully."
msgid "error during insertion : the link wasn't added"
msgstr "error during insertion : the link wasn't added"
msgstr "Error during insertion: the link wasn't added."
msgid "the link has been deleted successfully"
msgstr "the link has been deleted successfully"
msgstr "The link has been deleted successfully."
msgid "the link wasn't deleted"
msgstr "the link wasn't deleted"
msgstr "The link wasn't deleted."
msgid "Article not found!"
msgstr "Article not found!"
msgstr "Article not found."
msgid "previous"
msgstr "previous"
msgstr "Previous"
msgid "next"
msgstr "next"
msgstr "Next"
msgid "in demo mode, you can't update your password"
msgstr "in demo mode, you can't update your password"
msgstr "In demo mode, you can't update your password."
msgid "your password has been updated"
msgstr "your password has been updated"
msgstr "Your password has been updated."
msgid ""
"the two fields have to be filled & the password must be the same in the two "
"fields"
msgstr ""
"the two fields have to be filled & the password must be the same in the two "
"The two fields must be filled, and the password must be the same in both "
"fields"
msgid "still using the \""
msgstr "still using the \""
msgstr "Still using the \""
msgid "that theme does not seem to be installed"
msgstr "that theme does not seem to be installed"
msgstr "That theme does not seem to be installed."
msgid "you have changed your theme preferences"
msgstr "you have changed your theme preferences"
msgstr "You have changed your theme preferences."
msgid "that language does not seem to be installed"
msgstr "that language does not seem to be installed"
msgstr "That language does not seem to be installed."
msgid "you have changed your language preferences"
msgstr "you have changed your language preferences"
msgstr "You have changed your language preferences."
msgid "login failed: you have to fill all fields"
msgstr "login failed: you have to fill all fields"
msgstr "Login failed: you have to fill all fields."
msgid "welcome to your wallabag"
msgstr "welcome to your wallabag"
msgstr "Welcome to your wallabag."
msgid "login failed: bad login or password"
msgstr "login failed: bad login or password"
msgstr "Login failed: bad login or password."
msgid "import from instapaper completed"
msgstr "import from instapaper completed"
msgstr "Import from Instapaper completed."
msgid "import from pocket completed"
msgstr "import from pocket completed"
msgstr "Import from Pocket completed."
msgid "import from Readability completed. "
msgstr "import from Readability completed. "
msgstr "Import from Readability completed."
msgid "import from Poche completed. "
msgstr "import from Poche completed. "
msgstr "Import from Poche completed. "
msgid "Unknown import provider."
msgstr "Unknown import provider."
@ -520,7 +567,7 @@ msgid "Could not find required \""
msgstr "Could not find required \""
msgid "Uh, there is a problem while generating feeds."
msgstr "Uh, there is a problem while generating feeds."
msgstr "There is a problem generating feeds."
msgid "Cache deleted."
msgstr "Cache deleted."
@ -529,25 +576,25 @@ msgid "Oops, it seems you don't have PHP 5."
msgstr "Oops, it seems you don't have PHP 5."
msgid "Add user"
msgstr "Add user"
msgstr "Add User"
msgid "Add a new user :"
msgstr "Add a new user :"
msgstr "Add a new user:"
msgid "Login for new user"
msgstr "Login for new user"
msgstr "Login for new user:"
msgid "Password for new user"
msgstr "Password for new user"
msgstr "Password for new user:"
msgid "Email for new user (not required)"
msgstr "Email for new user (not required)"
msgstr "Email for new user (not required):"
msgid "Send"
msgstr "Send"
msgid "Delete account"
msgstr "Delete account"
msgstr "Delete Account"
msgid "You can delete your account by entering your password and validating."
msgstr "You can delete your account by entering your password and validating."
@ -556,7 +603,7 @@ msgid "Be careful, data will be erased forever (that is a very long time)."
msgstr "Be careful, data will be erased forever (that is a very long time)."
msgid "Type here your password"
msgstr "Type here your password"
msgstr "Enter your password"
msgid "You are the only user, you cannot delete your own account."
msgstr "You are the only user, you cannot delete your own account."
@ -571,6 +618,36 @@ msgstr ""
msgid "Enter your search here"
msgstr "Enter your search here"
msgid "Tag these results as"
msgstr "Tag these results as"
# ebook
msgid "Fancy an E-Book ?"
msgstr "Fancy an E-Book?"
msgid ""
"Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this "
"link</a> to get all your articles in one ebook (ePub 3 format)."
msgstr ""
"Click on <a href=\"./?epub&amp;method=all\" title=\"Generate EPUB\">this "
"link</a> to get all your articles in one ebook (EPUB 3 format)."
msgid ""
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
"articles, depending on your server configuration."
msgstr ""
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
"articles, depending on your server configuration."
msgid "Download the articles from this tag in an epub"
msgstr "Download the articles from this tag in an EPUB"
msgid "Download the articles from this search in an epub"
msgstr "Download the articles from this search in an EPUB"
msgid "Download the articles from this category in an epub"
msgstr "Download the articles from this category in an EPUB"
#~ msgid "poche it!"
#~ msgstr "poche it!"

Binary file not shown.

View File

@ -0,0 +1,666 @@
msgid ""
msgstr ""
"Project-Id-Version: wallabag\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-25 15:17+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: tcit <tcit@openmailbox.org>\n"
"Language-Team: \n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-Basepath: .\n"
msgid "wallabag, a read it later open source system"
msgstr "wallabag, a read it later open source system"
msgid "login failed: user doesn't exist"
msgstr "Login failed: user doesn't exist"
msgid "return home"
msgstr "Return Home"
msgid "config"
msgstr "Config"
msgid "Saving articles"
msgstr "Saving articles"
msgid "There are several ways to save an article:"
msgstr "There are several ways to save an article:"
msgid "read the documentation"
msgstr "Read the documentation"
msgid "download the extension"
msgstr "Download the extension"
msgid "Firefox Add-On"
msgstr "Firefox Add-On"
msgid "Chrome Extension"
msgstr "Chrome Extension"
msgid "via F-Droid"
msgstr "via F-Droid"
msgid " or "
msgstr " or "
msgid "via Google Play"
msgstr "via Google Play"
msgid "download the application"
msgstr "Download the application"
msgid "By filling this field"
msgstr "By filling this field"
msgid "bag it!"
msgstr "bag it!"
msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
msgid "Upgrading wallabag"
msgstr "Upgrading wallabag"
msgid "Installed version"
msgstr "Installed version"
msgid "Latest stable version"
msgstr "Latest stable version"
msgid "A more recent stable version is available."
msgstr "A more recent stable version is available."
msgid "You are up to date."
msgstr "You are up to date."
msgid "Latest dev version"
msgstr "Latest dev version"
msgid "A more recent development version is available."
msgstr "A more recent development version is available."
msgid "You can clear cache to check the latest release."
msgstr "You can <a href=\"#cache\">clear the cache</a> to check for the latest release."
msgid "Feeds"
msgstr "Feeds"
msgid ""
"Your feed token is currently empty and must first be generated to enable "
"feeds. Click <a href='?feed&amp;action=generate'>here to generate it</a>."
msgstr ""
"Your feed token is currently empty and must first be generated to enable "
"feeds. Click <a href='?feed&amp;action=generate'>here to generate it</a>."
msgid "Unread feed"
msgstr "Unread feed"
msgid "Favorites feed"
msgstr "Favorites feed"
msgid "Archive feed"
msgstr "Archive feed"
msgid "Your token:"
msgstr "Your token:"
msgid "Your user id:"
msgstr "Your user ID:"
msgid ""
"You can regenerate your token: <a href='?feed&amp;action=generate'>generate!"
"</a>."
msgstr ""
"<a href='?feed&amp;action=generate'>Regenerate Token</a>"
msgid "Change your theme"
msgstr "Change Your Theme"
msgid "Theme:"
msgstr "Theme:"
msgid "Update"
msgstr "Update"
msgid "Change your language"
msgstr "Change Your Language"
msgid "Language:"
msgstr "Language:"
msgid "Change your password"
msgstr "Change Your Password"
msgid "New password:"
msgstr "New password:"
msgid "Password"
msgstr "Password"
msgid "Repeat your new password:"
msgstr "Repeat your new password:"
msgid "Import"
msgstr "Import"
msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format."
msgstr "You can import your Pocket, Readability, Instapaper, wallabag or any file in appropriate JSON or HTML format."
msgid ""
"Please execute the import script locally as it can take a very long time."
msgstr ""
"Please execute the import script locally as it can take a very long time."
msgid "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required."
msgstr "Please select export file on your computer and press &ldquo;Import&rdquo; button below. wallabag will parse your file, insert all URLs and start fetching of articles if required."
msgid "You can click here to fetch content for articles with no content."
msgstr "Fetch content for articles with no content"
msgid "More info in the official documentation:"
msgstr "More info in the official documentation:"
msgid "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
msgstr "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
msgid "Import from Pocket"
msgstr "Import from Pocket"
#, php-format
msgid "(you must have a %s file on your server)"
msgstr "(you must have a %s file on your server)"
msgid "Import from Readability"
msgstr "Import from Readability"
msgid "Import from Instapaper"
msgstr "Import from Instapaper"
msgid "Import from wallabag"
msgstr "Import from wallabag"
msgid "Export your wallabag data"
msgstr "Export your wallabag data"
msgid "Click here"
msgstr "Click here"
msgid "to download your database."
msgstr "to download your database."
msgid "to export your wallabag data."
msgstr "to export your wallabag data."
msgid "Export JSON"
msgstr "Export JSON"
msgid "Cache"
msgstr "Cache"
msgid "to delete cache."
msgstr "to delete cache."
msgid "Delete Cache"
msgstr "Delete Cache"
msgid "You can enter multiple tags, separated by commas."
msgstr "You can enter multiple tags, separated by commas."
msgid "Add tags:"
msgstr "Add tags:"
msgid "no tags"
msgstr "no tags"
msgid "The tag has been applied successfully"
msgstr "The tag has been applied successfully"
msgid "interview"
msgstr "interview"
msgid "editorial"
msgstr "editorial"
msgid "video"
msgstr "video"
msgid "return to article"
msgstr "Return to article"
msgid "plop"
msgstr "plop"
msgid ""
"You can <a href='wallabag_compatibility_test.php'>check your configuration "
"here</a>."
msgstr ""
"You can <a href='wallabag_compatibility_test.php'>check your configuration "
"here</a>."
msgid "favoris"
msgstr "Favorites"
msgid "archive"
msgstr "Archive"
msgid "unread"
msgstr "Unread"
msgid "by date asc"
msgstr "by date asc"
msgid "by date"
msgstr "by date"
msgid "by date desc"
msgstr "by date desc"
msgid "by title asc"
msgstr "by title asc"
msgid "by title"
msgstr "by title"
msgid "by title desc"
msgstr "by title desc"
msgid "Tag"
msgstr "Tag"
msgid "No articles found."
msgstr "No articles found."
msgid "Toggle mark as read"
msgstr "Toggle mark as read"
msgid "toggle favorite"
msgstr "Toggle favorite"
msgid "delete"
msgstr "Delete"
msgid "original"
msgstr "Original"
msgid "estimated reading time:"
msgstr "Estimated reading time:"
msgid "mark all the entries as read"
msgstr "Mark all the entries as read"
msgid "results"
msgstr "Results"
msgid "installation"
msgstr "Installation"
msgid "install your wallabag"
msgstr "Install your wallabag"
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>."
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>."
msgid "Login"
msgstr "Login"
msgid "Repeat your password"
msgstr "Repeat your password"
msgid "Install"
msgstr "Install"
msgid "login to your wallabag"
msgstr "Login to your wallabag"
msgid "Login to wallabag"
msgstr "Login to wallabag"
msgid "you are in demo mode, some features may be disabled."
msgstr "You are in demo mode; some features may be disabled."
msgid "Username"
msgstr "Username"
msgid "Stay signed in"
msgstr "Stay signed in"
msgid "(Do not check on public computers)"
msgstr "(Do not check on public computers)"
msgid "Sign in"
msgstr "Sign in"
msgid "favorites"
msgstr "Favorites"
msgid "estimated reading time :"
msgstr "Estimated reading time:"
msgid "Mark all the entries as read"
msgstr "Mark all the entries as read"
msgid "Return home"
msgstr "Return home"
msgid "Back to top"
msgstr "Back to top"
msgid "Mark as read"
msgstr "Mark as read"
msgid "Favorite"
msgstr "Favorite"
msgid "Toggle favorite"
msgstr "Toggle favorite"
msgid "Delete"
msgstr "Delete"
msgid "Tweet"
msgstr "Tweet"
msgid "Email"
msgstr "Email"
msgid "shaarli"
msgstr "shaarli"
msgid "flattr"
msgstr "flattr"
msgid "Does this article appear wrong?"
msgstr "Does this article appear wrong?"
msgid "tags:"
msgstr "tags:"
msgid "Edit tags"
msgstr "Edit Tags"
msgid "save link!"
msgstr "Save Link"
msgid "home"
msgstr "Home"
msgid "tags"
msgstr "Tags"
msgid "logout"
msgstr "Logout"
msgid "powered by"
msgstr "Powered by"
msgid "debug mode is on so cache is off."
msgstr "Debug mode is on, so cache is off."
msgid "your wallabag version:"
msgstr "Your wallabag version:"
msgid "storage:"
msgstr "Storage:"
msgid "save a link"
msgstr "Save a Link"
msgid "back to home"
msgstr "Back to Home"
msgid "toggle mark as read"
msgstr "Toggle mark as read"
msgid "tweet"
msgstr "Tweet"
msgid "email"
msgstr "Email"
msgid "this article appears wrong?"
msgstr "This article appears wrong?"
msgid "No link available here!"
msgstr "No link available here"
msgid "Poching a link"
msgstr "bagging a link"
msgid "by filling this field"
msgstr "by filling this field"
msgid "bookmarklet: drag & drop this link to your bookmarks bar"
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
msgid "Drag &amp; drop this link to your bookmarks bar:"
msgstr "Drag &amp; drop this link to your bookmarks bar:"
msgid "your version"
msgstr "your version"
msgid "latest stable version"
msgstr "latest stable version"
msgid "a more recent stable version is available."
msgstr "A more recent stable version is available."
msgid "you are up to date."
msgstr "You are up to date."
msgid "latest dev version"
msgstr "latest dev version"
msgid "a more recent development version is available."
msgstr "A more recent development version is available."
msgid "Please execute the import script locally, it can take a very long time."
msgstr ""
"Please execute the import script locally, it can take a very long time."
msgid "More infos in the official doc:"
msgstr "More information in the official doc:"
msgid "import from Pocket"
msgstr "Import from Pocket"
msgid "import from Readability"
msgstr "Import from Readability"
msgid "import from Instapaper"
msgstr "Import from Instapaper"
msgid "Tags"
msgstr "Tags"
msgid "Untitled"
msgstr "Untitled"
msgid "the link has been added successfully"
msgstr "The link has been added successfully."
msgid "error during insertion : the link wasn't added"
msgstr "Error during insertion: the link wasn't added."
msgid "the link has been deleted successfully"
msgstr "The link has been deleted successfully."
msgid "the link wasn't deleted"
msgstr "The link wasn't deleted."
msgid "Article not found!"
msgstr "Article not found."
msgid "previous"
msgstr "Previous"
msgid "next"
msgstr "Next"
msgid "in demo mode, you can't update your password"
msgstr "In demo mode, you can't update your password."
msgid "your password has been updated"
msgstr "Your password has been updated."
msgid ""
"the two fields have to be filled & the password must be the same in the two "
"fields"
msgstr ""
"The two fields must be filled, and the password must be the same in both "
"fields"
msgid "still using the \""
msgstr "Still using the \""
msgid "that theme does not seem to be installed"
msgstr "That theme does not seem to be installed."
msgid "you have changed your theme preferences"
msgstr "You have changed your theme preferences."
msgid "that language does not seem to be installed"
msgstr "That language does not seem to be installed."
msgid "you have changed your language preferences"
msgstr "You have changed your language preferences."
msgid "login failed: you have to fill all fields"
msgstr "Login failed: you have to fill all fields."
msgid "welcome to your wallabag"
msgstr "Welcome to your wallabag."
msgid "login failed: bad login or password"
msgstr "Login failed: bad login or password."
msgid "import from instapaper completed"
msgstr "Import from Instapaper completed."
msgid "import from pocket completed"
msgstr "Import from Pocket completed."
msgid "import from Readability completed. "
msgstr "Import from Readability completed."
msgid "import from Poche completed. "
msgstr "Import from Poche completed. "
msgid "Unknown import provider."
msgstr "Unknown import provider."
msgid "Incomplete inc/poche/define.inc.php file, please define \""
msgstr "Incomplete inc/poche/define.inc.php file, please define \""
msgid "Could not find required \""
msgstr "Could not find required \""
msgid "Uh, there is a problem while generating feeds."
msgstr "There is a problem generating feeds."
msgid "Cache deleted."
msgstr "Cache deleted."
msgid "Oops, it seems you don't have PHP 5."
msgstr "Oops, it seems you don't have PHP 5."
msgid "Add user"
msgstr "Add User"
msgid "Add a new user :"
msgstr "Add a new user:"
msgid "Login for new user"
msgstr "Login for new user:"
msgid "Password for new user"
msgstr "Password for new user:"
msgid "Email for new user (not required)"
msgstr "Email for new user (not required):"
msgid "Send"
msgstr "Send"
msgid "Delete account"
msgstr "Delete Account"
msgid "You can delete your account by entering your password and validating."
msgstr "You can delete your account by entering your password and validating."
msgid "Be careful, data will be erased forever (that is a very long time)."
msgstr "Be careful, data will be erased forever (that is a very long time)."
msgid "Type here your password"
msgstr "Enter your password"
msgid "You are the only user, you cannot delete your own account."
msgstr "You cannot delete your account because you are the only user."
msgid ""
"To completely remove wallabag, delete the wallabag folder on your web server "
"(and eventual databases)."
msgstr ""
"To completely remove wallabag, delete the wallabag folder and database(s) from your web server."
msgid "Enter your search here"
msgstr "Enter your search here"
msgid "Tag these results as"
msgstr "Tag these results as"
# ebook
msgid "Fancy an E-Book ?"
msgstr "Fancy an E-Book?"
msgid ""
"Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this "
"link</a> to get all your articles in one ebook (ePub 3 format)."
msgstr ""
"Click on <a href=\"./?epub&amp;method=all\" title=\"Generate EPUB\">this "
"link</a> to get all your articles in one ebook (EPUB 3 format)."
msgid ""
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
"articles, depending on your server configuration."
msgstr ""
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
"articles, depending on your server configuration."
msgid "Download the articles from this tag in an epub"
msgstr "Download the articles from this tag in an EPUB"
msgid "Download the articles from this search in an epub"
msgstr "Download the articles from this search in an EPUB"
msgid "Download the articles from this category in an epub"
msgstr "Download the articles from this category in an EPUB"
#~ msgid "poche it!"
#~ msgstr "poche it!"
#~ msgid "Updating poche"
#~ msgstr "Updating poche"
#~ msgid "create an issue"
#~ msgstr "create an issue"
#~ msgid "or"
#~ msgstr "or"
#~ msgid "contact us by mail"
#~ msgstr "contact us by mail"
#~ msgid "your poche version:"
#~ msgstr "your poche version:"

View File

@ -4,7 +4,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-10 20:09+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: tcit <tcit@tcit.fr>\n"
"Last-Translator: tcit <tcit@openmailbox.org>\n"
"Language-Team: \n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.6.9\n"
"X-Generator: Poedit 1.5.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "wallabag, a read it later open source system"
@ -250,7 +250,7 @@ msgid ""
"your config file: IMPORT_LIMIT (how many articles are fetched at once) and "
"IMPORT_DELAY (delay between fetch of next batch of articles)."
msgstr ""
"Sélectionner le fichier à importer sur votre disque dur, et pressez la "
"Sélectionnez le fichier à importer sur votre disque dur, et pressez la "
"bouton « Importer » ci-dessous.<br />wallabag analysera votre fichier, "
"ajoutera toutes les URL trouvées et commencera à télécharger les contenus si "
"nécessaire.<br />Le processus de téléchargement est contrôlé par deux "
@ -372,6 +372,24 @@ msgstr "Cet article s'affiche mal ?"
msgid "tags:"
msgstr "tags :"
msgid "Add tags:"
msgstr "Ajouter des tags :"
msgid "no tags"
msgstr "pas de tags"
msgid "The tag has been applied successfully"
msgstr "Le tag a été appliqué avec succès"
msgid "interview"
msgstr "interview"
msgid "editorial"
msgstr "éditorial"
msgid "video"
msgstr "vidéo"
msgid "Edit tags"
msgstr "Modifier les tags"
@ -655,3 +673,33 @@ msgstr "Cache effacé."
msgid "Oops, it seems you don't have PHP 5."
msgstr "Oups, vous ne semblez pas avoir PHP 5."
msgid "Tag these results as"
msgstr "Appliquer à ces résultats le tag"
# ebook
msgid "Fancy an E-Book ?"
msgstr "Envie d'un E-Book ?"
msgid ""
"Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this "
"link</a> to get all your articles in one ebook (ePub 3 format)."
msgstr ""
"Cliquez sur <a href=\"./?epub&amp;method=all\" title=\"Générer ePub\">ce "
"lien</a> pour obtenir tous vos articles (format ePub 3)."
msgid ""
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
"articles, depending on your server configuration."
msgstr ""
"Ceci peut <b>prendre un moment</b> et même <b>échouer</b> si vous avez trop "
"d'articles, selon la configuration de votre serveur."
msgid "Download the articles from this tag in an epub"
msgstr "Télécharger les articles de ce tag dans un epub"
msgid "Download the articles from this search in an epub"
msgstr "Télécharger les articles de cette recherche dans un epub"
msgid "Download the articles from this category in an epub"
msgstr "Télécharger les articles de cette catégorie dans un epub"

View File

@ -11,6 +11,7 @@
{% include '_search-form.twig' %}
</li>
<li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li>
<li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li>
<li><a class="icon icon-power" href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li>
</ul>

View File

@ -1,7 +1,7 @@
<div id="bagit-form" class="messages info">
<div id="bagit-form" class="messages info popup-form">
<form method="get" action="index.php" target="_blank" id="bagit-form-form">
<h2><a href="javascript: void(null);" id="bagit-form-close">X</a>
{% trans "Save a link" %}</h2>
<h2>{% trans "Save a link" %}</h2>
<a href="javascript: void(null);" id="bagit-form-close" class="close-button--popup close-button">&times;</a>
<input type="hidden" name="autoclose" value="1" />
<input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" />
<span id="add-link-result"></span>

View File

@ -1,7 +1,9 @@
<div id="search-form" class="messages info">
<div id="search-form" class="messages info popup-form">
<form method="get" action="index.php">
<h2>{%trans "Search" %}</h2>
<a href="javascript: void(null);" id="search-form-close" class="close-button--popup close-button">&times;</a>
<input type="hidden" name="view" value="search"></input>
<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" />
<input id="submit-search" type="submit" value="{% trans "Search" %} !"></input>
<input required placeholder="{% trans "Enter your search here" %}" type="text" name="search" id="searchfield"><br>
<input id="submit-search" type="submit" value="{% trans "Search" %}"></input>
</form>
</div>
</div>

74
themes/baggy/about.twig Executable file
View File

@ -0,0 +1,74 @@
{% extends "layout.twig" %}
{% block title %}{% trans "About" %}{% endblock %}
{% block menu %}
{% include '_menu.twig' %}
{% endblock %}
{% block content %}
<h2>{% trans "About wallabag" %}</h2>
<dl>
<dt>{% trans "Project website" %}</dt>
<dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd>
<dt>{% trans "Main developer" %}</dt>
<dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd>
<dt>{% trans "Contributors:" %}</dt>
<dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd>
<dt>{% trans "Bug reports" %}</dt>
<dd><a href="http://support.wallabag.org">{% trans "On our support website" %}</a> {% trans "or" %} <a href="https://github.com/wallabag/wallabag/issues">{% trans "on Github" %}</a></dd>
<dt>{% trans "License" %}</dt>
<dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd>
<dt>{% trans "Version" %}</dt>
<dd>{{ constant('POCHE') }}</dd>
</dl>
<p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
<h2>{% trans "Helping wallabag" %}</h2>
<p>{% trans "wallabag is free and opensource. You can help us:" %}</p>
<dl>
<dt><a href="http://www.wallabag.org">{% trans "via Paypal" %}</a></dt>
<dt><a href="http://www.wallabag.org">{% trans "via Flattr" %}</a></dt>
</dl>
<h2>{% trans "Credits" %}</h2>
<dl>
<dt>PHP Readability</dt>
<dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd>
<dt>Full Text RSS</dt>
<dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd>
<dt>logo by Maylis Agniel</dt>
<dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd>
<dt>icons</dt>
<dd><a href="http://icomoon.io">http://icomoon.io</a></dd>
<dt>PHP Simple HTML DOM Parser</dt>
<dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd>
<dt>Session</dt>
<dd><a href="https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php">https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php</a></dd>
<dt>Twig</dt>
<dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd>
<dt>Flash messages</dt>
<dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd>
<dt>Pagination</dt>
<dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd>
<dt>PHPePub</dt>
<dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd>
</dl>
{% endblock %}

View File

@ -6,30 +6,29 @@
{% endblock %}
{% block content %}
<h2>{% trans "Saving articles" %}</h2>
<p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p>
<p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p>
<p>
<form method="get" action="index.php">
<label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br>
<input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
<input type="submit" value="{% trans "bag it!" %}" />
</form>
</p>
<h3>Browser Plugins</h3>
<ul>
<li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li>
<li>Chrome: <a href="http://doc.wallabag.org/doku.php?id=users:chrome_extension" title="download the chrome extension">{% trans "download the extension" %}</a></li>
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via Google Play" %}</a></li>
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" title="download the window phone application">{% trans "download the application" %}</a></li>
<li>
<form method="get" action="index.php">
<label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label>
<input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
<input type="submit" value="{% trans "bag it!" %}" />
</form>
</li>
<li>{% trans "Bookmarklet: drag & drop this link to your bookmarks bar" %} <a id="bookmarklet" ondragend="this.click();" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a></li>
<li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li>
<li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li>
</ul>
<h2>{% trans "Upgrading wallabag" %}</h2>
<h3>Mobile Apps</h3>
<ul>
<li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li>
<li>{% trans "Latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
</ul>
<p>{% trans "You can clear cache to check the latest release." %}</p>
<h3>{% trans "Bookmarklet" %}</h3>
<p>
{% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
</p>
<h2>{% trans "Feeds" %}</h2>
{% if token == '' %}
@ -40,9 +39,11 @@
<li><a href="?feed&amp;type=fav&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li>
<li><a href="?feed&amp;type=archive&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li>
</ul>
<p>{% trans "Your token:" %} <strong>{{token}}</strong></p>
<p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p>
<p>{% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}</p>
<p class="more-info">
{% trans "Your token:" %} <strong>{{token}}</strong><br>
{% trans "Your user id:" %} <strong>{{user_id}}</strong><br>
{% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}
</p>
{% endif %}
<h2>{% trans "Change your theme" %}</h2>
@ -83,6 +84,35 @@
<input type="hidden" name="token" value="{{ token }}">
</form>
<h2><a name="import"></a>{% trans "Import" %}</h2>
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
<p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p>
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
<fieldset class="w500p">
<div class="row">
<label class="col w150p" for="file">{% trans "File:" %}</label>
<input class="col" type="file" id="file" name="file" tabindex="4" required="required">
</div>
<div class="row mts txtcenter">
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
</div>
</fieldset>
</form>
<p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
<p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
<h2>{% trans "Export your wallabag data" %}</h2>
<p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br>
<span class="more-info">Data will be exported in a single JSON file.</span></p>
<h2>{% trans "Fancy an E-Book ?" %}</h2>
<p><a href="./?epub&amp;method=all" title="Generate ePub">Download E-Book</a><br>
<span class="more-info">{% trans "Articles will be exported as a single E-book file (EPUB 3 format)." %} {% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
<h2><a name="cache"></a>{% trans "Cache" %}</h2>
<p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br>
<span class="more-info">Deleting the cache may help with display or other problems.</span></p>
{% if http_auth == 0 %}
<h2>{% trans "Change your password" %}</h2>
<form method="post" action="?config" name="loginform">
@ -104,34 +134,7 @@
</form>
{% endif %}
<h2>{% trans "Import" %}</h2>
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
<p>{% trans "Please select export file on your computer and press \"Import\" button below.<br>Wallabag will parse your file, insert all URLs and start fetching of articles if required.<br>Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
<fieldset class="w500p">
<div class="row">
<label class="col w150p" for="file">{% trans "File:" %}</label>
<input class="col" type="file" id="file" name="file" tabindex="4" required="required">
</div>
<div class="row mts txtcenter">
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
</div>
</fieldset>
</form>
<p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
<h2>{% trans "Export your wallabag data" %}</h2>
<p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p>
<h2>{% trans "Fancy an E-Book ?" %}</h2>
<p>{% trans "Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this link</a> to get all your articles in one ebook (ePub 3 format)." %}
<br>{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</p>
<h2>{% trans "Cache" %}</h2>
<p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p>
<h2>{% trans 'Add user' %}</h2>
<p>{% trans 'Add a new user :' %}</p>
<form method="post" action="?newuser">
<fieldset class="w500p">
<div class="row">
@ -147,7 +150,7 @@
<input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
</div>
<div class="row mts txtcenter">
<button type="submit">{% trans "Send" %}</button>
<button type="submit">{% trans "Add user" %}</button>
</div>
</fieldset>
</form>
@ -161,9 +164,18 @@
<input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}">
</div>
<div class="row mts txtcenter">
<button type="submit">{% trans "Send" %}</button>
<button type="submit">{% trans "Delete account" %}</button>
</div>
</form>
{% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br />
{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
{% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p>
<p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
<h2>{% trans "Upgrading wallabag" %}</h2>
<ul>
<li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li>
<li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
</ul>
<p class="more-info">{% trans "You can clear cache to check the latest release." %}</p>
{% endblock %}

View File

@ -70,7 +70,7 @@ h2, h3, h4 {
text-transform: uppercase;
}
p, li {
p, li, label {
color: #666;
}
@ -104,10 +104,6 @@ form input[type="text"], select, form input[type="password"], form input[type="u
}
}
fieldset label {
min-width: 12.5em;
}
.inline .row {
display: inline-block;
margin-right: 0.5em;
@ -119,10 +115,14 @@ fieldset label {
fieldset label {
display: inline-block;
margin-right: 0.5em;
min-width: 12.5em;
color: #666;
}
label {
margin-right: 0.5em;
}
form .row {
margin-bottom: 0.5em;
}
@ -180,7 +180,7 @@ h2:after {
padding-top: 9.5em;
height: 100%;
box-shadow:inset -4px 0 20px rgba(0,0,0,0.6);
z-index: 10;
z-index: 15;
}
#main {
@ -191,7 +191,7 @@ h2:after {
padding-bottom: 1em;
}
#links a {
#links > li > a {
display: block;
padding: 0.5em 2em 0.5em 1em;
color: #FFF;
@ -207,7 +207,7 @@ h2:after {
transition: all 0.5s ease;
}
#links a:hover, #links a:focus {
#links > li > a:hover, #links > li > a:focus {
background: #999;
color: #000;
}
@ -281,12 +281,12 @@ h2:after {
#listmode a:hover {
opacity: 1;
}
.tablemode {
#listmode.tablemode {
background-image: url("../img/baggy/table.png");
background-repeat: no-repeat;
background-position: bottom;
}
.listmode {
#listmode.listmode {
background-image: url("../img/baggy/list.png");
background-repeat: no-repeat;
background-position: bottom;
@ -327,15 +327,11 @@ footer a {
margin-left: 0!important;
}
.listmode .entrie p {
display: none;
}
.list-entries + .results {
margin-bottom: 2em;
}
.estimatedTime a {
.estimatedTime .reading-time {
color: #999;
font-style: italic;
font-weight: normal;
@ -359,11 +355,15 @@ footer a {
position: relative;
overflow: hidden;
padding: 1.5em 1.5em 3em 1.5em;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
/* Removing CSS transitions because they make the switch from list view to
* table view jerky
*/
/* -webkit-transition: all 0.5s ease; */
/* -moz-transition: all 0.5s ease; */
/* -ms-transition: all 0.5s ease; */
/* -o-transition: all 0.5s ease; */
/* transition: all 0.5s ease; */
}
.entrie:before {
@ -418,6 +418,7 @@ footer a {
.entrie h2 {
text-transform: none;
margin-bottom: 0;
line-height: 1.2;
}
.entrie h2:after {
@ -540,7 +541,7 @@ footer a {
2.1 = "save a link" related styles
========================================================================== */
#bagit-form, #search-form {
.popup-form {
background: rgba(0,0,0,0.5);
position: absolute;
top: 0;
@ -549,37 +550,53 @@ footer a {
height: 100%;
width: 100%;
margin: 0;
margin-top: -30%;
margin-top: -30% !important; /* TODO: get rid of !important here; overridden by .messages selector */
padding: 2em;
display: none;
border-left: 1px #EEE solid;
}
#bagit-form form, #search-form form {
background: #FFF;
position: absolute;
top: 0;
left: 0;
z-index: 20;
border: 10px solid #000;
width: 400px;
height: 200px;
/* margin: -150px 0 0 -300px; */
padding: 2em;
.popup-form form {
background: #FFF;
position: absolute;
top: 0;
left: 0;
z-index: 20;
border: 10px solid #000;
width: 400px;
height: 200px;
padding: 2em;
}
#bagit-form-form .addurl {
margin-left: 0;
}
a#bagit-form-close, a#search-form-close {
.closeMessage,
.close-button {
background: #000;
color: #FFF;
padding: 0.2em 0.5em;
font-size: 1.2em;
line-height: 1.6;
width: 1.6em;
height: 1.6em;
text-align: center;
text-decoration: none;
display: inline-block;
float: right;
font-size: 0.6em;
}
a#bagit-form-close:hover, a#search-form-close:hover {
background: #999;
color: #000;
.closeMessage:hover,
.closeMessage:focus,
.close-button:hover,
.close-button:focus {
background: #999;
color: #000;
}
.close-button--popup {
display: inline-block;
position: absolute;
top: 0;
right: 0;
font-size: 1.4em;
}
.active-current {
@ -633,56 +650,6 @@ a.add-to-wallabag-link-after:after {
font-size: 0.9em;
}
/* ==========================================================================
2.2 = "search for articles" popup div related styles
========================================================================== */
#search-form {
background: rgba(0,0,0,0.5);
position: absolute;
top: 0;
left: 10em;
z-index: 20;
height: 100%;
width: 100%;
margin: 0;
margin-top: -30%;
padding: 2em;
display: none;
border-left: 1px #EEE solid;
}
#search-form form {
background: #FFF;
position: absolute;
top: 0;
left: 0;
z-index: 20;
border: 10px solid #000;
width: 400px;
height: 200px;
/* margin: -150px 0 0 -300px; */
padding: 2em;
}
a#search-form-close {
background: #000;
color: #FFF;
padding: 0.2em 0.5em;
text-decoration: none;
display: inline-block;
float: right;
font-size: 1.2em;
}
a#search-form-close:hover {
background: #999;
color: #000;
}
#submit-search{
margin-left: 4em;
margin-top:1em;
}
/* ==========================================================================
3 = Pictos
========================================================================== */
@ -777,6 +744,10 @@ margin-top:1em;
color: #FFF;
}
.icon-check.archive:before {
color: #FFF;
}
/* ==========================================================================
4 = Messages
========================================================================== */
@ -788,18 +759,6 @@ margin-top:1em;
.messages > * { display: inline-block;}
.closeMessage {
background: #000;
color: #FFF;
padding: 0.2em 0.5em;
text-decoration: none;
}
.closeMessage:hover, .closeMessage:focus {
background: #FFF;
color: #000;
}
.warning {
/* font-size: 3em;
color: #999;
@ -816,6 +775,16 @@ margin-top:1em;
width: 100%;
}
.more-info {
font-size: 0.85em;
line-height: 1.5;
color: #aaa;
}
.more-info a {
color: #aaa;
}
/* ==========================================================================
5 = Article
========================================================================== */
@ -841,6 +810,10 @@ blockquote {
margin: 0;
}
#article h1 {
text-align: left;
}
#article h2, #article h3, #article h4 {
text-transform: none;
}
@ -1029,6 +1002,9 @@ pre code {
height: auto;
padding-top: 3em;
}
#links.menu--open {
display: block;
}
footer {
position: static;
margin-right: 3em;
@ -1058,8 +1034,16 @@ pre code {
display: none;
}
#bagit-form, #search-form {
.popup-form, #bagit-form, #search-form {
left: 0;
width: 100%;
border-left: none;
}
.popup-form form,
#bagit-form form,
#search-form form {
width: 100%;
}
}

View File

@ -13,14 +13,14 @@
<h2>{{ entry.title|raw }}</21>
</div>
{% if tags is empty %}
<div class="notags">no tags</div>
<div class="notags">{% trans "no tags" %}</div>
{% endif %}
<ul>
{% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&amp;tag_id={{ tag.id }}&amp;id={{ entry_id }}">✘</a></li>{% endfor %}
</ul>
<form method="post" action="./?action=add_tag">
<input type="hidden" name="entry_id" value="{{ entry_id }}" />
<label for="value">Add tags: </label><input type="text" placeholder="interview, editorial, video" id="value" name="value" required="required" />
<label for="value">{% trans "Add tags:" %}</label><input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" />
<input type="submit" value="Tag" />
<p>{% trans "Start typing for auto complete." %}<br>
{% trans "You can enter multiple tags, separated by commas." %}</p>

View File

@ -38,12 +38,12 @@
{% endblock %}
<div id="list-entries" class="list-entries">
{% for entry in entries %}
<div id="entry-{{ entry.id|e }}" class="entrie"{% if listmode %} style="width:100%; margin-left:0;"{% endif %}>
<div id="entry-{{ entry.id|e }}" class="entrie">
<h2><a href="index.php?view=view&amp;id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
{% if entry.content| getReadingTime > 0 %}
<div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div>
<div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div>
{% else %}
<div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} <small class="inferieur"><</small> 1 min</span></div>
<div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} <small class="inferieur">&lt;</small> 1 min</span></div>
{% endif %}
<ul class="tools links">
<li><a title="{% trans "Toggle mark as read" %}" class="tool icon-check icon {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li>
@ -57,13 +57,14 @@
{% endfor %}
</div>
{{ block('pager') }}
{% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "Mark all the entries as read" %}" href="./?action=archive_all">{{ "Mark all the entries as read" }}</a>{% endif %}{% endif %}
{% if view == 'home' %}{% if nb_results > 1 %}<p><a title="{% trans "Mark all the entries as read" %}" href="./?action=archive_all">{% trans "Mark all the entries as read" %}</a></p>{% endif %}{% endif %}
{% 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 %}
{% if searchterm is defined %}<p><a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">
{% trans "Tag these results as" %} {{ searchterm }}</p></a>{% endif %}
{% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a>
{% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a>
{% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&amp;method=category&amp;value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %}
{% if tag %}<p><a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</p></a>
{% elseif search_term is defined %}<p><a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</p></a>
{% else %}<p><a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&amp;method=category&amp;value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a></p>{% endif %}
{% endif %}
{% endblock %}

View File

@ -8,7 +8,10 @@ $.fn.ready(function() {
========================================================================== */
$("#menu").click(function(){
$("#links").toggle();
$("#links").toggleClass('menu--open');
if ($('#content').hasClass('opacity03')) {
$('#content').removeClass('opacity03');
}
});
/* ==========================================================================

View File

@ -9,17 +9,17 @@
{% if constant('MODE_DEMO') == 1 %}<p>{% trans "you are in demo mode, some features may be disabled." %}</p>{% endif %}
<div class="row">
<label class="col w150p" for="login">{% trans "Username" %}</label>
<input class="col" type="text" id="login" name="login" placeholder="Login" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
<input class="col" type="text" id="login" name="login" placeholder="{% trans "Username" %}" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
</div>
<div class="row">
<label class="col w150p" for="password">{% trans "Password" %}</label>
<input class="col" type="password" id="password" name="password" placeholder="Password" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
<input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
</div>
<div class="row">
<label class="col w150p" for="longlastingsession">{% trans "Stay signed in" %}</label>
<div class="col">
<input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3">
<input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3" /> <label for="longlastingsession">{% trans "Stay signed in" %}</label><br />
<small class="inbl">{% trans "(Do not check on public computers)" %}</small>
</div>
</div>

View File

@ -1,5 +1,5 @@
{% extends "layout.twig" %}
{% block title %}tags{% endblock %}
{% block title %}Tags{% endblock %}
{% block menu %}
{% include '_menu.twig' %}
{% endblock %}
@ -10,4 +10,4 @@
</li>
{% endfor %}
</ul>
{% endblock %}
{% endblock %}

View File

@ -26,13 +26,13 @@
{% block pager %}
{% if nb_results > 1 %}
<div class="results">
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div>
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}</div>
{{ page_links | raw }}
</div>
{% elseif nb_results == 1 %}
{% if search_term is defined %}
{% if searchterm is defined %}
<div class="results">
<div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div>
<div class="nb-results">{% trans "Only one result found for " %} « {{ searchterm }} »</div>
</div>
{% endif %}
{% endif %}
@ -53,10 +53,12 @@
{{ block('pager') }}
{% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a>
{% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a>
{% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">{% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}
{% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a>
{% elseif searchterm is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ searchterm }}">{% trans "Download the articles from this search in an epub" %}</a>
{% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&amp;method=category&amp;value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %}
{% endif %}
{% endblock %}
{% endblock %}

View File

@ -6,6 +6,7 @@
<li><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a><span id="bagit-arrow"></span></li>
<li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li>
<li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li>
<li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li>
<li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li>
</ul>
{% include '_pocheit-form.twig' %}

View File

@ -1,6 +1,6 @@
{% if entries|length > 1 %}
<ul id="sort">
<li><a href="./?sort=ia&amp;view={{ view }}{% if search_term is defined %}&amp;search={{ search_term }}{% endif %}&amp;id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&amp;view={{ view }}{% if search_term is defined %}&amp;search={{ search_term }}{% endif %}&amp;id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li>
<li><a href="./?sort=ta&amp;view={{ view }}{% if search_term is defined %}&amp;search={{ search_term }}{% endif %}&amp;id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&amp;view={{ view }}{% if search_term is defined %}&amp;search={{ search_term }}{% endif %}&amp;id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li>
<li><a href="./?sort=ia&amp;view={{ view }}{% if searchterm is defined %}&amp;search={{ searchterm }}{% endif %}&amp;id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&amp;view={{ view }}{% if searchterm is defined %}&amp;search={{ searchterm }}{% endif %}&amp;id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li>
<li><a href="./?sort=ta&amp;view={{ view }}{% if searchterm is defined %}&amp;search={{ searchterm }}{% endif %}&amp;id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&amp;view={{ view }}{% if searchterm is defined %}&amp;search={{ searchterm }}{% endif %}&amp;id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li>
</ul>
{% endif %}

74
themes/default/about.twig Executable file
View File

@ -0,0 +1,74 @@
{% extends "layout.twig" %}
{% block title %}{% trans "About wallabag" %}{% endblock %}
{% block menu %}
{% include '_menu.twig' %}
{% endblock %}
{% block content %}
<h2>{% trans "About wallabag" %}</h2>
<dl>
<dt>{% trans "Project website" %}</dt>
<dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd>
<dt>{% trans "Main developer" %}</dt>
<dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd>
<dt>{% trans "Contributors:" %}</dt>
<dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd>
<dt>{% trans "Bug reports" %}</dt>
<dd><a href="http://support.wallabag.org">{% trans "On our support website" %}</a> {% trans "or" %} <a href="https://github.com/wallabag/wallabag/issues">{% trans "on Github" %}</a></dd>
<dt>{% trans "License" %}</dt>
<dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd>
<dt>{% trans "Version" %}</dt>
<dd>{{ constant('POCHE') }}</dd>
</dl>
<p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
<h2>{% trans "Helping wallabag" %}</h2>
<p>{% trans "wallabag is free and opensource. You can help us:" %}</p>
<dl>
<dt><a href="http://www.wallabag.org">{% trans "via Paypal" %}</a></dt>
<dt><a href="http://www.wallabag.org">{% trans "via Flattr" %}</a></dt>
</dl>
<h2>{% trans "Credits" %}</h2>
<dl>
<dt>PHP Readability</dt>
<dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd>
<dt>Full Text RSS</dt>
<dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd>
<dt>logo by Maylis Agniel</dt>
<dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd>
<dt>icons</dt>
<dd><a href="http://icomoon.io">http://icomoon.io</a></dd>
<dt>PHP Simple HTML DOM Parser</dt>
<dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd>
<dt>Session</dt>
<dd><a href="https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php">https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php</a></dd>
<dt>Twig</dt>
<dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd>
<dt>Flash messages</dt>
<dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd>
<dt>Pagination</dt>
<dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd>
<dt>PHPePub</dt>
<dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd>
</dl>
{% endblock %}

View File

@ -6,29 +6,29 @@
{% endblock %}
{% block content %}
<h2>{% trans "Saving articles" %}</h2>
<p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p>
<p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p>
<p>
<form method="get" action="index.php">
<label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br>
<input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
<input type="submit" value="{% trans "bag it!" %}" />
</form>
</p>
<h3>Browser Plugins</h3>
<ul>
<li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li>
<li>Chrome: <a href="http://doc.wallabag.org/doku.php?id=users:chrome_extension" title="download the chrome extension">{% trans "download the extension" %}</a></li>
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via Google Play" %}</a></li>
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" title="download the window phone application">{% trans "download the application" %}</a></li>
<li>
<form method="get" action="index.php">
<label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label>
<input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
<input type="submit" value="{% trans "bag it!" %}" />
</form>
</li>
<li>{% trans "Bookmarklet: drag & drop this link to your bookmarks bar" %} <a id="bookmarklet" ondragend="this.click();" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a></li>
<li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li>
<li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li>
</ul>
<h2>{% trans "Upgrading wallabag" %}</h2>
<h3>Mobile Apps</h3>
<ul>
<li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li>
<li>{% trans "Latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %}</li>
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %}</li>{% endif %}
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
</ul>
<h3>{% trans "Bookmarklet" %}</h3>
<p>
{% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
</p>
<h2>{% trans "Feeds" %}</h2>
{% if token == '' %}
@ -39,14 +39,16 @@
<li><a href="?feed&amp;type=fav&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li>
<li><a href="?feed&amp;type=archive&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li>
</ul>
<p>{% trans "Your token:" %} <strong>{{token}}</strong></p>
<p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p>
<p>{% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}</p>
<p class="more-info">
{% trans "Your token:" %} <strong>{{token}}</strong><br>
{% trans "Your user id:" %} <strong>{{user_id}}</strong><br>
{% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}
</p>
{% endif %}
<h2>{% trans "Change your theme" %}</h2>
<form method="post" action="?updatetheme" name="changethemeform">
<fieldset class="w500p">
<fieldset class="w500p inline">
<div class="row">
<label class="col w150p" for="theme">{% trans "Theme:" %}</label>
<select class="col" id="theme" name="theme">
@ -65,7 +67,7 @@
<h2>{% trans "Change your language" %}</h2>
<form method="post" action="?updatelanguage" name="changelanguageform">
<fieldset class="w500p">
<fieldset class="w500p inline">
<div class="row">
<label class="col w150p" for="language">{% trans "Language:" %}</label>
<select class="col" id="language" name="language">
@ -82,6 +84,35 @@
<input type="hidden" name="token" value="{{ token }}">
</form>
<h2><a name="import"></a>{% trans "Import" %}</h2>
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
<p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p>
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
<fieldset class="w500p">
<div class="row">
<label class="col w150p" for="file">{% trans "File:" %}</label>
<input class="col" type="file" id="file" name="file" tabindex="4" required="required">
</div>
<div class="row mts txtcenter">
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
</div>
</fieldset>
</form>
<p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
<p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
<h2>{% trans "Export your wallabag data" %}</h2>
<p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br>
<span class="more-info">Data will be exported in a single JSON file.</span></p>
<h2>{% trans "Fancy an E-Book ?" %}</h2>
<p><a href="./?epub&amp;method=all" title="Generate ePub">Download E-Book</a><br>
<span class="more-info">{% trans "Articles will be exported as a single E-book file (EPUB 3 format)." %} {% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
<h2><a name="cache"></a>{% trans "Cache" %}</h2>
<p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br>
<span class="more-info">Deleting the cache may help with display or other problems.</span></p>
{% if http_auth == 0 %}
<h2>{% trans "Change your password" %}</h2>
<form method="post" action="?config" name="loginform">
@ -102,55 +133,28 @@
<input type="hidden" name="token" value="{{ token }}">
</form>
{% endif %}
<h2>{% trans "Import" %}</h2>
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
<p>{% trans "Please select export file on your computer and press \"Import\" button below.<br>Wallabag will parse your file, insert all URLs and start fetching of articles if required.<br>Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
<fieldset class="w500p">
<div class="row">
<label class="col w150p" for="file">{% trans "File:" %}</label>
<input class="col" type="file" id="file" name="file" tabindex="4" required="required">
</div>
<div class="row mts txtcenter">
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
</div>
</fieldset>
</form>
<p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
<h2>{% trans "Export your wallabag data" %}</h2>
<p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p>
<h2>{% trans "Cache" %}</h2>
<p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p>
<h2>{% trans "Fancy an E-Book ?" %}</h2>
<p>{% trans "Click on <a href=\"./?epub&amp;method=all\" title=\"Generate ePub\">this link</a> to get all your articles in one ebook (ePub 3 format)." %}
<br>{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</p>
<h2>{% trans 'Add user' %}</h2>
<p>{% trans 'Add a new user :' %}</p>
<form method="post" action="?newuser">
<fieldset class="w500p">
<div class="row">
<label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label>
<input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}">
<input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required>
</div>
<div class="row">
<label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label>
<input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}">
<input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required>
</div>
<div class="row">
<label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label>
<input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
</div>
<div class="row mts txtcenter">
<button type="submit">{% trans "Send" %}</button>
<button type="submit">{% trans "Add user" %}</button>
</div>
</fieldset>
</form>
<h2>{% trans "Delete account" %}</h2>
{% if not only_user %}<form method="post" action="?deluser">
<p>{% trans "You can delete your account by entering your password and validating." %}<br /><b>{% trans "Be careful, data will be erased forever (that is a very long time)." %}</b></p>
@ -160,9 +164,18 @@
<input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}">
</div>
<div class="row mts txtcenter">
<button type="submit">{% trans "Send" %}</button>
<button type="submit">{% trans "Delete account" %}</button>
</div>
</form>
{% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br />
{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
{% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p>
<p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
<h2>{% trans "Upgrading wallabag" %}</h2>
<ul>
<li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li>
<li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
</ul>
<p class="more-info">{% trans "You can clear cache to check the latest release." %}</p>
{% endblock %}

View File

@ -8,11 +8,6 @@
border-radius: 4px;
}
/* Search form message needs a little more width, depending on translations */
#search-form {
width: 420px;
}
.messages a.closeMessage {
display: none;
float: right;

View File

@ -417,6 +417,15 @@ a.add-to-wallabag-link-after:after {
padding-left: 10px;
}
/* ==========================================================================
"Search" popup div related styles
========================================================================== */
/* Search form message needs a little more width, depending on translations */
#search-form {
width: 420px;
}
.opacity03 {
/*opacity: 0.3;*/
}
@ -435,4 +444,4 @@ pre code {
font-family: "Courier New", Courier, monospace;
border: 1px solid #ddd;
font-size: 0.96em;
}
}

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