diff options
author | Nicolas Lœuillet <nicolas@loeuillet.org> | 2014-11-15 20:48:49 +0100 |
---|---|---|
committer | Nicolas Lœuillet <nicolas@loeuillet.org> | 2014-11-15 20:48:49 +0100 |
commit | 153237671001225dea40957e33e67fe16e6124fc (patch) | |
tree | 4f5ec06050233f9cd5740904785edcbc65eb2cd9 | |
parent | 44d35257e805856b4913c63fcbed3c0acb64bae8 (diff) | |
parent | d3122db7b267b384cd70f368328a9ed024719135 (diff) | |
download | wallabag-153237671001225dea40957e33e67fe16e6124fc.tar.gz wallabag-153237671001225dea40957e33e67fe16e6124fc.tar.zst wallabag-153237671001225dea40957e33e67fe16e6124fc.zip |
Merge pull request #932 from wallabag/dev1.8.1
1.8.1
103 files changed, 2186 insertions, 501 deletions
@@ -1,7 +1,9 @@ | |||
1 | .DS_Store | ||
1 | assets/* | 2 | assets/* |
2 | cache/* | 3 | cache/* |
3 | vendor | 4 | vendor |
4 | composer.phar | 5 | composer.phar |
5 | db/poche.sqlite | 6 | db/poche.sqlite |
6 | inc/poche/config.inc.php | 7 | inc/poche/config.inc.php |
7 | inc/3rdparty/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer/ \ No newline at end of file | 8 | inc/3rdparty/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer/ |
9 | .vagrant \ No newline at end of file | ||
diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 00000000..221ad6db --- /dev/null +++ b/Vagrantfile | |||
@@ -0,0 +1,71 @@ | |||
1 | |||
2 | $script_sqlite = <<SCRIPT | ||
3 | apt-get update | ||
4 | apt-get install -y apache2 php5 php5-sqlite php5-xdebug | ||
5 | apt-get clean -y | ||
6 | echo "ServerName localhost" >> /etc/apache2/apache2.conf | ||
7 | service apache2 restart | ||
8 | rm -f /var/www/html/index.html | ||
9 | date > /etc/vagrant_provisioned_at | ||
10 | SCRIPT | ||
11 | |||
12 | $script_mysql = <<SCRIPT | ||
13 | export DEBIAN_FRONTEND=noninteractive | ||
14 | apt-get update | ||
15 | apt-get install -y apache2 php5 php5-mysql php5-xdebug mysql-server mysql-client | ||
16 | apt-get clean -y | ||
17 | echo "ServerName localhost" >> /etc/apache2/apache2.conf | ||
18 | service apache2 restart | ||
19 | service mysql restart | ||
20 | echo "create database wallabag;" | mysql -u root | ||
21 | rm -f /var/www/html/index.html | ||
22 | date > /etc/vagrant_provisioned_at | ||
23 | SCRIPT | ||
24 | |||
25 | $script_postgres = <<SCRIPT | ||
26 | export DEBIAN_FRONTEND=noninteractive | ||
27 | apt-get update | ||
28 | apt-get install -y apache2 php5 php5-pgsql php5-xdebug postgresql postgresql-contrib | ||
29 | apt-get clean -y | ||
30 | echo "ServerName localhost" >> /etc/apache2/apache2.conf | ||
31 | service apache2 restart | ||
32 | service postgresql restart | ||
33 | rm -f /var/www/html/index.html | ||
34 | date > /etc/vagrant_provisioned_at | ||
35 | SCRIPT | ||
36 | |||
37 | Vagrant.configure("2") do |config| | ||
38 | |||
39 | config.vm.define "sqlite" do |m| | ||
40 | m.vm.box = "ubuntu/trusty64" | ||
41 | m.vm.provision "shell", inline: $script_sqlite | ||
42 | m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data" | ||
43 | end | ||
44 | |||
45 | config.vm.define "mysql" do |m| | ||
46 | m.vm.box = "ubuntu/trusty64" | ||
47 | m.vm.provision "shell", inline: $script_mysql | ||
48 | m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data" | ||
49 | end | ||
50 | |||
51 | config.vm.define "postgres" do |m| | ||
52 | m.vm.box = "ubuntu/trusty64" | ||
53 | m.vm.provision "shell", inline: $script_postgres | ||
54 | m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data" | ||
55 | end | ||
56 | |||
57 | config.vm.define "debian7" do |m| | ||
58 | m.vm.box = "chef/debian-7.6" | ||
59 | m.vm.provision "shell", inline: $script_sqlite | ||
60 | m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data" | ||
61 | end | ||
62 | |||
63 | config.vm.define "debian6" do |m| | ||
64 | m.vm.box = "chef/debian-6.0.10" | ||
65 | m.vm.provision "shell", inline: $script_sqlite | ||
66 | m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data" | ||
67 | end | ||
68 | |||
69 | config.vm.network :forwarded_port, guest: 80, host: 8003 | ||
70 | #config.vm.network "public_network", :bridge => "en0: Wi-Fi (AirPort)" | ||
71 | end | ||
diff --git a/inc/3rdparty/class.messages.php b/inc/3rdparty/class.messages.php index 27c28f43..fbca0df0 100644 --- a/inc/3rdparty/class.messages.php +++ b/inc/3rdparty/class.messages.php | |||
@@ -44,7 +44,7 @@ class Messages { | |||
44 | var $msgId; | 44 | var $msgId; |
45 | var $msgTypes = array( 'help', 'info', 'warning', 'success', 'error' ); | 45 | var $msgTypes = array( 'help', 'info', 'warning', 'success', 'error' ); |
46 | var $msgClass = 'messages'; | 46 | var $msgClass = 'messages'; |
47 | var $msgWrapper = "<div class='%s %s'><a href='#' class='closeMessage'>X</a>\n%s</div>\n"; | 47 | var $msgWrapper = "<div class='%s %s'><a href='#' class='closeMessage'>×</a>\n%s</div>\n"; |
48 | var $msgBefore = '<p>'; | 48 | var $msgBefore = '<p>'; |
49 | var $msgAfter = "</p>\n"; | 49 | var $msgAfter = "</p>\n"; |
50 | 50 | ||
diff --git a/inc/3rdparty/site_config/standard/512pixels.net.txt b/inc/3rdparty/site_config/standard/512pixels.net.txt index e458980f..02a996f7 100755 --- a/inc/3rdparty/site_config/standard/512pixels.net.txt +++ b/inc/3rdparty/site_config/standard/512pixels.net.txt | |||
@@ -1,2 +1,2 @@ | |||
1 | title: substring-before(//title, '—') | 1 | title: //meta[@property='og:title']/@content |
2 | test_url: http://512pixels.net/more-on-linked-lists/ \ No newline at end of file | 2 | test_url: http://www.512pixels.net/blog/2014/10/the-move |
diff --git a/inc/3rdparty/site_config/standard/README.md b/inc/3rdparty/site_config/standard/README.md index 9040ba85..ab5b12d9 100755 --- a/inc/3rdparty/site_config/standard/README.md +++ b/inc/3rdparty/site_config/standard/README.md | |||
@@ -1,12 +1,14 @@ | |||
1 | Full-Text RSS site config files | 1 | Full-Text RSS site config files |
2 | ================ | 2 | ================ |
3 | 3 | ||
4 | [Full-Text RSS](http://fivefilters.org/content-only/), our article extraction tool, makes use of site-specific extraction rules to improve results. Each time a URL is processed, it checks to see if there are extraction rules for the site being processed. If there are no site patterns, it tries to detect the content block automatically. | 4 | [Full-Text RSS](http://fivefilters.org/content-only/), our article extraction tool, makes use of site-specific extraction rules to improve results. Each time a URL is processed, it checks to see if there are extraction rules for the site being processed. If there are no rules are found, it tries to detect the content block automatically. |
5 | 5 | ||
6 | This repository contains the site config files we use in Full-Text RSS. | 6 | This repository contains the site-specific extraction rules we rely on in Full-Text RSS. |
7 | 7 | ||
8 | ### Contributing changes | 8 | ### Contributing changes |
9 | 9 | ||
10 | 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. | ||
11 | |||
10 | We chose GitHub for this set of files because they offer one feature which we hope will make contributing changes easier: [file editing](https://github.com/blog/844-forking-with-the-edit-button) through the web interface. | 12 | We chose GitHub for this set of files because they offer one feature which we hope will make contributing changes easier: [file editing](https://github.com/blog/844-forking-with-the-edit-button) through the web interface. |
11 | 13 | ||
12 | You can now make changes to any of our site config files and request that your changes be pulled into the main set we maintain. This is what GitHub calls the Fork and Pull model: | 14 | 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 | |||
31 | 33 | ||
32 | > And, recognizing that your efforts could be useful to a wide range of other tools and services, I'll make the list of all of these site-specific configurations available to the public, free, with no strings attached. | 34 | > And, recognizing that your efforts could be useful to a wide range of other tools and services, I'll make the list of all of these site-specific configurations available to the public, free, with no strings attached. |
33 | 35 | ||
34 | Most of the extraction rules in our set are borrowed from Instapaper. You can see the list maintained by Instapaper at [instapaper.com/bodytext/](http://instapaper.com/bodytext/) (login required). | 36 | 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). |
35 | 37 | ||
36 | ### Testing site config files | 38 | ### Testing site config files |
37 | 39 | ||
diff --git a/inc/3rdparty/site_config/standard/adme.ru.txt b/inc/3rdparty/site_config/standard/adme.ru.txt new file mode 100644 index 00000000..b929685d --- /dev/null +++ b/inc/3rdparty/site_config/standard/adme.ru.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | # Generated by FiveFilters.org's web-based selection tool | ||
2 | # Place this file inside your site_config/custom/ folder | ||
3 | # Source: http://siteconfig.fivefilters.org/grab.php?url=http%3A%2F%2Fwww.adme.ru%2Ftvorchestvo-hudozhniki%2Fprostoj-kak-5-kopeek-hudozhnik-557405%2F | ||
4 | |||
5 | body: //article[contains(concat(' ',normalize-space(@class),' '),' article ')] | ||
6 | test_url: http://www.adme.ru/tvorchestvo-hudozhniki/prostoj-kak-5-kopeek-hudozhnik-557405/ | ||
diff --git a/inc/3rdparty/site_config/standard/alexduner.com.txt b/inc/3rdparty/site_config/standard/alexduner.com.txt index bd9de9d7..3897f9ec 100755 --- a/inc/3rdparty/site_config/standard/alexduner.com.txt +++ b/inc/3rdparty/site_config/standard/alexduner.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //section[@class='content'] | 1 | body: //section[@class='content'] |
2 | date: //span[1] | 2 | date: //span[1] |
3 | author: //h1[@id='sitetitle'] | 3 | author: //h1[@id='sitetitle'] |
4 | test_url: https://alexduner.com/blog/2013/1/something-i-learned-today \ No newline at end of file | 4 | test_url: http://alexduner.com/blog/something-i-learned-today |
diff --git a/inc/3rdparty/site_config/standard/anandtech.com.txt b/inc/3rdparty/site_config/standard/anandtech.com.txt index 7d804918..fc95c5d8 100755 --- a/inc/3rdparty/site_config/standard/anandtech.com.txt +++ b/inc/3rdparty/site_config/standard/anandtech.com.txt | |||
@@ -1,3 +1,5 @@ | |||
1 | body: //section[@class='main_cont']/img | //div[@class='articleContent'] | ||
2 | title: //div[@class='blog_top_left']//h2 | ||
1 | author: //a[@class='b'][1] | 3 | author: //a[@class='b'][1] |
2 | date: substring-after(substring-before(//div, 'Posted in'), ' on ') | 4 | date: substring-after(substring-before(//div, 'Posted in'), ' on ') |
3 | strip_image_src: /content/images/globals/ | 5 | strip_image_src: /content/images/globals/ |
@@ -8,4 +10,6 @@ prune: no | |||
8 | 10 | ||
9 | single_page_link: concat('http://www.anandtech.com/print/', substring-after(//meta[@property='og:url']/@content, '/show/')) | 11 | single_page_link: concat('http://www.anandtech.com/print/', substring-after(//meta[@property='og:url']/@content, '/show/')) |
10 | 12 | ||
11 | test_url: http://www.anandtech.com/show/5812/eurocom-monster-10-clevos-little-monster/ \ No newline at end of file | 13 | test_url: http://www.anandtech.com/show/8370/gigabyte-am1m-s2h-review |
14 | test_url: http://www.anandtech.com/show/8402/sandisk-releases-ultra-ii-ssd-the-second-tlc-nand-ssd-in-the-market | ||
15 | test_url: http://www.anandtech.com/show/8400/arms-cortex-m-even-smaller-and-lower-power-cpu-cores | ||
diff --git a/inc/3rdparty/site_config/standard/apotheke-adhoc.de.txt b/inc/3rdparty/site_config/standard/apotheke-adhoc.de.txt new file mode 100755 index 00000000..3a702e7b --- /dev/null +++ b/inc/3rdparty/site_config/standard/apotheke-adhoc.de.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | # Author: zinnober | ||
2 | |||
3 | prune: no | ||
4 | |||
5 | title: substring-before(//div[@id='content']/h1, ',') | ||
6 | |||
7 | single_page_link: //a[@title='Seite drucken'] | ||
8 | |||
9 | body: //div[@id='detail-body'] | ||
10 | |||
11 | replace_string(<span class="description">): <em> | ||
12 | replace_string(<p class="leadtext"><small>): <p class="leadtext"> | ||
13 | |||
14 | # Fix headlines | ||
15 | replace_string(Patrick Hollstein): | ||
16 | replace_string(APOTHEKE ADHOC): | ||
17 | replace_string(dpa): | ||
18 | replace_string(Katharina Lübke): | ||
19 | replace_string(Julia Pradel): | ||
20 | replace_string(Franziska Gerhardt): | ||
21 | |||
22 | test_url: http://www.apotheke-adhoc.de/nachrichten/politik/nachricht-detail-politik/deutscher-apothekertag-antraege-gegen-lieferengpaesse-2/ | ||
23 | |||
diff --git a/inc/3rdparty/site_config/standard/arstechnica.com.txt b/inc/3rdparty/site_config/standard/arstechnica.com.txt index 767f6800..eb92aa2c 100755 --- a/inc/3rdparty/site_config/standard/arstechnica.com.txt +++ b/inc/3rdparty/site_config/standard/arstechnica.com.txt | |||
@@ -13,5 +13,7 @@ title: //div[@id='story']//h2[@class='title'] | |||
13 | strip: //div[@class='pager'] | 13 | strip: //div[@class='pager'] |
14 | next_page_link: //nav//a[span/@class='next']/@href | 14 | next_page_link: //nav//a[span/@class='next']/@href |
15 | 15 | ||
16 | native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')] | ||
17 | |||
16 | test_url: http://arstechnica.com/tech-policy/news/2012/02/gigabit-internet-for-80-the-unlikely-success-of-californias-sonicnet.ars | 18 | test_url: http://arstechnica.com/tech-policy/news/2012/02/gigabit-internet-for-80-the-unlikely-success-of-californias-sonicnet.ars |
17 | test_url: http://arstechnica.com/apple/2005/04/macosx-10-4/ | 19 | test_url: http://arstechnica.com/apple/2005/04/macosx-10-4/ |
diff --git a/inc/3rdparty/site_config/standard/autocar.co.uk.txt b/inc/3rdparty/site_config/standard/autocar.co.uk.txt new file mode 100755 index 00000000..9f4fe18b --- /dev/null +++ b/inc/3rdparty/site_config/standard/autocar.co.uk.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | title: //div[@class='col-center']/h1 | ||
2 | author: //div[@class='personality']/a | ||
3 | date: //div[@class='personality-date'] | ||
4 | body: //div[@class='content-top ']//div[@class='content'][1] | //div[contains(@class,'article-body')] | //div[contains(@class,'main-article')] | ||
5 | |||
6 | next_page_link: //div[@id='review-link']/a | ||
7 | |||
8 | strip: //div[@class='author-block'] | ||
9 | strip: //p//iframe[contains(@src,'signup')]/preceding::p[1] | ||
10 | |||
11 | test_url: http://www.autocar.co.uk/car-review/volkswagen/golf | ||
12 | test_url: http://www.autocar.co.uk/car-news/pebble-beach/saleen-unveils-performance-electric-vehicle-based-tesla-model-s | ||
13 | test_url: http://www.autocar.co.uk/car-review/rolls-royce/first-drives/rolls-royce-ghost-series-ii-first-drive-review | ||
diff --git a/inc/3rdparty/site_config/standard/bbc.co.uk.txt b/inc/3rdparty/site_config/standard/bbc.co.uk.txt index ef1f491a..bad77654 100755 --- a/inc/3rdparty/site_config/standard/bbc.co.uk.txt +++ b/inc/3rdparty/site_config/standard/bbc.co.uk.txt | |||
@@ -13,7 +13,7 @@ body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1'] | |||
13 | #strip: //div[@class="story-feature narrow"] | 13 | #strip: //div[@class="story-feature narrow"] |
14 | #strip: //div[@class="story-feature wide"] | 14 | #strip: //div[@class="story-feature wide"] |
15 | #strip: //div[@class="story-feature dslideshow-enclosure"] | 15 | #strip: //div[@class="story-feature dslideshow-enclosure"] |
16 | strip: //div[contains(@class, "story-feature")] | 16 | strip: //div[contains(@class, "story-feature") and not(contains(@class, 'full-width'))] |
17 | strip: //span[@class="story-date"] | 17 | strip: //span[@class="story-date"] |
18 | #strip: //div[@class="caption body-narrow-width"] | 18 | #strip: //div[@class="caption body-narrow-width"] |
19 | strip: //div[@class="warning"]//p | 19 | strip: //div[@class="warning"]//p |
@@ -30,13 +30,26 @@ strip: //div[contains(@class, 'comment-introduction')] | |||
30 | strip: //div[contains(@class, 'share-tools')] | 30 | strip: //div[contains(@class, 'share-tools')] |
31 | strip: //div[@id='also-related-links'] | 31 | strip: //div[@id='also-related-links'] |
32 | 32 | ||
33 | strip_id_or_class: share-help | ||
34 | strip_id_or_class: comments_module | ||
35 | |||
33 | replace_string(<noscript>): <div> | 36 | replace_string(<noscript>): <div> |
34 | replace_string(</noscript>): </div> | 37 | replace_string(</noscript>): </div> |
35 | 38 | ||
39 | tidy: no | ||
36 | prune: no | 40 | prune: no |
37 | 41 | ||
38 | dissolve: //h2 | 42 | dissolve: //h2 |
43 | |||
39 | test_url: http://www.bbc.co.uk/sport/0/football/23224017 | 44 | test_url: http://www.bbc.co.uk/sport/0/football/23224017 |
45 | test_contains: Swansea City have completed the club-record signing | ||
46 | |||
40 | test_url: http://www.bbc.co.uk/news/business-15060862 | 47 | test_url: http://www.bbc.co.uk/news/business-15060862 |
48 | test_contains: Europe's leaders are meeting again to try to solve | ||
49 | |||
50 | # news feed | ||
51 | test_url: http://feeds.bbci.co.uk/news/rss.xml | ||
52 | # sports feed | ||
53 | test_url: http://feeds.bbci.co.uk/sport/0/football/rss.xml?edition=int | ||
41 | # video entry | 54 | # video entry |
42 | test_url: http://www.bbc.co.uk/news/world-asia-22056933 \ No newline at end of file | 55 | test_url: http://www.bbc.co.uk/news/world-asia-22056933 |
diff --git a/inc/3rdparty/site_config/standard/bbc.com.txt b/inc/3rdparty/site_config/standard/bbc.com.txt new file mode 100755 index 00000000..c04a683e --- /dev/null +++ b/inc/3rdparty/site_config/standard/bbc.com.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | body: //div[@class="story-body"] | ||
2 | # for video entries | ||
3 | body: //div[contains(@class, "videoInStory") or @id="meta-information"] | ||
4 | title: //h1[@class="story-header"] | ||
5 | date: //span[@class="story-date"]/span[@class='date'] | ||
6 | # for sport site | ||
7 | date: //meta[@name='DCTERMS.created']/@content | ||
8 | author: //div[@id='headline']//span[@class='byline-name'] | ||
9 | |||
10 | # recipes, e.g. http://www.bbc.co.uk/food/recipes/mymincepies_71055 | ||
11 | body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1'] | ||
12 | |||
13 | #strip: //div[@class="story-feature narrow"] | ||
14 | #strip: //div[@class="story-feature wide"] | ||
15 | #strip: //div[@class="story-feature dslideshow-enclosure"] | ||
16 | strip: //div[contains(@class, "story-feature") and not(contains(@class, 'full-width'))] | ||
17 | strip: //span[@class="story-date"] | ||
18 | #strip: //div[@class="caption body-narrow-width"] | ||
19 | strip: //div[@class="warning"]//p | ||
20 | strip: //div[@id='page-bookmark-links-head'] | ||
21 | strip: //object | ||
22 | strip: //div[contains(@class, "bbccom_advert_placeholder")] | ||
23 | strip: //div[contains(@class, "embedded-hyper")] | ||
24 | strip: //div[contains(@class, 'market-data')] | ||
25 | strip: //a[contains(@class, 'hidden')] | ||
26 | strip: //div[contains(@class, 'hypertabs')] | ||
27 | strip: //div[contains(@class, 'related')] | ||
28 | strip: //form[@id='comment-form'] | ||
29 | strip: //div[contains(@class, 'comment-introduction')] | ||
30 | strip: //div[contains(@class, 'share-tools')] | ||
31 | strip: //div[@id='also-related-links'] | ||
32 | |||
33 | strip_id_or_class: share-help | ||
34 | strip_id_or_class: comments_module | ||
35 | |||
36 | replace_string(<noscript>): <div> | ||
37 | replace_string(</noscript>): </div> | ||
38 | |||
39 | native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')] | ||
40 | |||
41 | tidy: no | ||
42 | prune: no | ||
43 | |||
44 | dissolve: //h2 | ||
45 | |||
46 | test_url: http://www.bbc.com/sport/0/football/28918021 | ||
47 | test_contains: Cameroonian footballer Albert Ebosse has died | ||
48 | |||
49 | test_url: http://www.bbc.com/sport/0/football/23224017 | ||
50 | |||
51 | test_url: http://www.bbc.com/news/business-15060862 | ||
52 | test_contains: Europe's leaders are meeting again to try | ||
53 | |||
54 | |||
55 | # news feed | ||
56 | test_url: http://feeds.bbci.co.uk/news/rss.xml | ||
57 | # sports feed | ||
58 | test_url: http://feeds.bbci.co.uk/sport/0/football/rss.xml?edition=int | ||
59 | # video entry | ||
60 | test_url: http://www.bbc.com/news/world-asia-22056933 | ||
diff --git a/inc/3rdparty/site_config/standard/bit-tech.net.txt b/inc/3rdparty/site_config/standard/bit-tech.net.txt new file mode 100755 index 00000000..c6f5b204 --- /dev/null +++ b/inc/3rdparty/site_config/standard/bit-tech.net.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | body: //div[@id='column_1'] | ||
2 | next_page_link: //div[@class='next']/a[not(contains(@href, '/comments') or contains(@href, '/news/'))] | ||
3 | prune: no | ||
4 | |||
5 | author: substring-after(//p[@class='byline'], 'by ') | ||
6 | date: substring-before(substring-after(//p[@class='byline'], 'on '), ' by') | ||
7 | |||
8 | strip: //h1 | ||
9 | strip_id_or_class: socialLinks | ||
10 | strip_id_or_class: byline | ||
11 | strip_id_or_class: pageSelector | ||
12 | strip_id_or_class: articleTabs | ||
13 | strip_id_or_class: pageNav | ||
14 | strip_id_or_class: share | ||
15 | strip_id_or_class: commentsContainer | ||
16 | strip_id_or_class: below_article_related | ||
17 | |||
18 | test_url: http://www.bit-tech.net/hardware/storage/2014/08/13/ocz-arc-100-240gb-review/1 | ||
19 | test_url: http://www.bit-tech.net/news/bits/2014/08/15/google-trojan/1 | ||
diff --git a/inc/3rdparty/site_config/standard/bleacherreport.com.txt b/inc/3rdparty/site_config/standard/bleacherreport.com.txt new file mode 100755 index 00000000..9205e44e --- /dev/null +++ b/inc/3rdparty/site_config/standard/bleacherreport.com.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | body: //div[contains(@class, 'article_pages')] | ||
2 | |||
3 | strip_id_or_class: article_page-header | ||
4 | strip_id_or_class: paginator | ||
5 | strip_id_or_class: article_info | ||
6 | |||
7 | find_string: src="data:image | ||
8 | replace_string: ignore-src="data:image | ||
9 | find_string: data-defer-src=" | ||
10 | replace_string: src=" | ||
11 | |||
12 | prune: no | ||
13 | |||
14 | test_url: http://bleacherreport.com/articles/feed | ||
15 | test_url: http://bleacherreport.com/articles/2137787-christian-ponders-newborn-daughter-was-named-after-fsu-legend-bobby-bowden | ||
16 | test_url: http://bleacherreport.com/articles/2137596-college-football-week-1-picks-unlv-runnin-rebels-vs-arizona-wildcats/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/blogs.faz.net.txt b/inc/3rdparty/site_config/standard/blogs.faz.net.txt new file mode 100755 index 00000000..4f2626f1 --- /dev/null +++ b/inc/3rdparty/site_config/standard/blogs.faz.net.txt | |||
@@ -0,0 +1,45 @@ | |||
1 | # Author: zinnober | ||
2 | |||
3 | tidy: no | ||
4 | prune: no | ||
5 | |||
6 | # Set author | ||
7 | author: //a[@rel='author'] | ||
8 | |||
9 | # Set date | ||
10 | date: //span[@class='Datum'] | ||
11 | |||
12 | # Content is here | ||
13 | body: //div[@class='Artikel'] | ||
14 | |||
15 | # Tidy up before article | ||
16 | strip: //div[@id='FAZHeaderNeu'] | ||
17 | strip: //h2[@itemprop='headline'] | ||
18 | strip: //span[@class='Datum'] | ||
19 | strip: //span[@class='Autor'] | ||
20 | strip_id_or_class: ArticlePagerTop | ||
21 | strip: //div[@class='FAZArtikelEinleitung']/h2 | ||
22 | |||
23 | # General cleanup | ||
24 | strip: //div[@class='clear'] | ||
25 | strip: //span[@class='Bildnachweis'] | ||
26 | strip: //iframe | ||
27 | strip_id_or_class: Community | ||
28 | strip: ' · ' | ||
29 | |||
30 | # Remove tracking and ads | ||
31 | strip_image_src: /l.gif? | ||
32 | strip: //img[@width='1'] | ||
33 | strip_id_or_class: invisible | ||
34 | strip_id_or_class: Anzeige | ||
35 | strip_id_or_class: billboard | ||
36 | |||
37 | # Remove clutter after article | ||
38 | strip_id_or_class: Tagline | ||
39 | strip_id_or_class: ArtikelAbbinder | ||
40 | strip_id_or_class: FAZArtikelKommentare | ||
41 | strip_id_or_class: ArtikelKommentieren | ||
42 | strip_id_or_class: FAZContentRight | ||
43 | |||
44 | # Try it yourself | ||
45 | test_url: http://blogs.faz.net/wost/2014/08/17/viel-fuck-und-wenig-guter-sex-1239/ | ||
diff --git a/inc/3rdparty/site_config/standard/brasil.elpais.com.txt b/inc/3rdparty/site_config/standard/brasil.elpais.com.txt index 0b8feb6a..6a22dcb7 100755 --- a/inc/3rdparty/site_config/standard/brasil.elpais.com.txt +++ b/inc/3rdparty/site_config/standard/brasil.elpais.com.txt | |||
@@ -19,5 +19,8 @@ strip: //p[@class='nota_pie'] | |||
19 | strip: //div[starts-with(@id, 'sumario') and contains(., 'más información')] | 19 | strip: //div[starts-with(@id, 'sumario') and contains(., 'más información')] |
20 | strip: //div[@id='coment' or @id='foros_not'] | 20 | strip: //div[@id='coment' or @id='foros_not'] |
21 | 21 | ||
22 | test_url: http://elpais.com/elpais/2012/02/06/gente/1328526783_491687.html | 22 | test_url: http://brasil.elpais.com/brasil/2014/10/15/politica/1413334841_878730.html |
23 | test_url: http://www.elpais.com/articulo/cultura/mano/retrato/materia/elpepicul/20120207elpepicul_2/Tes | 23 | test_contains: O PT quer intensificar a presença do ex-presidente |
24 | |||
25 | test_url: http://brasil.elpais.com/brasil/2014/10/13/internacional/1413225730_450761.html | ||
26 | test_contains: Todos na localidade onde ele nasceu ainda falavam da façanha | ||
diff --git a/inc/3rdparty/site_config/standard/businessweek.com.txt b/inc/3rdparty/site_config/standard/businessweek.com.txt index 03085593..f546b708 100755 --- a/inc/3rdparty/site_config/standard/businessweek.com.txt +++ b/inc/3rdparty/site_config/standard/businessweek.com.txt | |||
@@ -1,30 +1,17 @@ | |||
1 | # story has several pages, should be detected | 1 | # include the lead graphic in the body, if available |
2 | body: //div[@id='storyBody'] | 2 | body: //div[contains(concat(' ', normalize-space(@id), ' '), ' lead_graphic ')] | //div[contains(concat(' ', normalize-space(@itemprop), ' '), ' articleBody ')] |
3 | body: //div[@id='article_body'] | 3 | title: //h1[contains(concat(' ', normalize-space(@itemprop), ' '), ' headline ')] |
4 | body: //div[@id='story_body'] | 4 | date: //time[contains(concat(' ', normalize-space(@itemprop), ' '), ' datePublished ')] |
5 | 5 | ||
6 | title://h1[@id='article_headline'] | 6 | strip_id_or_class: photo_credit |
7 | 7 | strip_id_or_class: photo_caption | |
8 | # article author | 8 | strip_id_or_class: inline_gallery |
9 | author: //p[@class='author']/a | 9 | # pull quote, often inside a blockquote element |
10 | # story author(s) | 10 | strip_id_or_class: pq |
11 | author: substring-after(//p[@class='byline'], 'By ') | 11 | strip_id_or_class: credit |
12 | 12 | strip_id_or_class: figcaption | |
13 | # article date | 13 | strip_id_or_class: related_item |
14 | date: //span[@class='published_date'] | ||
15 | # story date | ||
16 | date: //span[@class='date'] | ||
17 | |||
18 | date: substring-after(//div[contains(@class,'attributor')],'on') | ||
19 | strip_id_or_class: inset | ||
20 | strip: //p/span[@class='photoCredit'] | ||
21 | strip: //h1 | ||
22 | |||
23 | strip_id_or_class: page_count | ||
24 | strip_id_or_class: tools | ||
25 | strip_id_or_class: pagination | ||
26 | |||
27 | single_page_link: //li[@id='stPrint']/a | ||
28 | 14 | ||
29 | test_url: http://www.businessweek.com/magazine/buyback-insurance-a-good-deal-for-retailers-07282011.html | 15 | test_url: http://www.businessweek.com/magazine/buyback-insurance-a-good-deal-for-retailers-07282011.html |
30 | test_url: http://www.businessweek.com/articles/2012-06-06/american-pain-the-largest-u-dot-s-dot-pill-mills-rise-and-fall \ No newline at end of file | 16 | test_url: http://www.businessweek.com/articles/2012-06-06/american-pain-the-largest-u-dot-s-dot-pill-mills-rise-and-fall |
17 | test_url: http://www.businessweek.com/articles/2014-07-09/american-apparel-dov-charneys-sleazy-struggle-for-control | ||
diff --git a/inc/3rdparty/site_config/standard/buzzfeed.com.txt b/inc/3rdparty/site_config/standard/buzzfeed.com.txt index 97dddaee..ea88ea47 100755 --- a/inc/3rdparty/site_config/standard/buzzfeed.com.txt +++ b/inc/3rdparty/site_config/standard/buzzfeed.com.txt | |||
@@ -10,6 +10,15 @@ date: //time[@data-print='date'] | |||
10 | body: //div[@data-print='body'] | 10 | body: //div[@data-print='body'] |
11 | body: //section[@data-print='body'] | 11 | body: //section[@data-print='body'] |
12 | 12 | ||
13 | find_string: rel:bf_image_src= | ||
14 | replace_string: src= | ||
15 | find_string: src="data: | ||
16 | replace_string: disabled_src="data: | ||
17 | |||
18 | native_ad_clue: //meta[@property="article:section" and @content="Advertiser"] | ||
19 | |||
13 | # For various things... | 20 | # For various things... |
14 | strip: *[@data-print="ignore"] | 21 | strip: *[@data-print="ignore"] |
15 | test_url: http://www.buzzfeed.com/hgrant/35-reasons-why-dogs-hate-the-holidays \ No newline at end of file | 22 | test_url: http://www.buzzfeed.com/hgrant/35-reasons-why-dogs-hate-the-holidays |
23 | # Native ad | ||
24 | test_url: http://www.buzzfeed.com/bravo/ways-to-up-your-online-dating-game \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/canonrumors.com.txt b/inc/3rdparty/site_config/standard/canonrumors.com.txt new file mode 100755 index 00000000..c22cf4f1 --- /dev/null +++ b/inc/3rdparty/site_config/standard/canonrumors.com.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | # Author: zinnober | ||
2 | |||
3 | tidy: no | ||
4 | prune: no | ||
5 | |||
6 | # Set title | ||
7 | title: //h2 | ||
8 | |||
9 | date: //li[@class='time'] | ||
10 | |||
11 | # Set author | ||
12 | author: //a[contains(@rel, 'author')] | ||
13 | |||
14 | # Content is here | ||
15 | body: //div[@id='content'] | ||
16 | |||
17 | # Tidy up before article | ||
18 | strip: //div[@class='meta'] | ||
19 | |||
20 | # Tidy up after article | ||
21 | strip_id_or_class: nr_related_placeholder | ||
22 | strip_id_or_class: twitter-share-button | ||
23 | strip_id_or_class: afterpost | ||
24 | strip_id_or_class: tags | ||
25 | |||
26 | # Try it yourself | ||
27 | test_url: http://www.canonrumors.com/2014/09/chuck-westfall-talks-canon-eos-7d-mark-ii/ | ||
28 | test_url: http://www.canonrumors.com/2014/09/canon-cinema-eos-captures-space-in-4k-for-new-imax-3d-film/ | ||
diff --git a/inc/3rdparty/site_config/standard/chomsky.info.txt b/inc/3rdparty/site_config/standard/chomsky.info.txt index 31440538..2645f119 100755 --- a/inc/3rdparty/site_config/standard/chomsky.info.txt +++ b/inc/3rdparty/site_config/standard/chomsky.info.txt | |||
@@ -2,4 +2,5 @@ title: //div[@class='title'] | |||
2 | author: //div[@class='author'] | 2 | author: //div[@class='author'] |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: http://www.chomsky.info/onchomsky/2002----.htm \ No newline at end of file | 5 | test_url: http://www.chomsky.info/onchomsky/2002----.htm |
6 | test_contains: The propaganda model argues | ||
diff --git a/inc/3rdparty/site_config/standard/cn.reuters.com.txt b/inc/3rdparty/site_config/standard/cn.reuters.com.txt index b3878662..28f10472 100755 --- a/inc/3rdparty/site_config/standard/cn.reuters.com.txt +++ b/inc/3rdparty/site_config/standard/cn.reuters.com.txt | |||
@@ -1,5 +1,9 @@ | |||
1 | title: //div[@id='maincontent']//h1 | 1 | title: //div[@id='maincontent']//h1 |
2 | body: //div[@id='resizeableText'] | 2 | body: //div[@id='resizeableText'] |
3 | 3 | ||
4 | single_page_link: concat(//link[@rel='canonical']/@href, '?sp=true') | ||
5 | |||
4 | test_url: http://cn.reuters.com/article/CNAnalysesNews/idCNKBS0FF0NM20140710 | 6 | test_url: http://cn.reuters.com/article/CNAnalysesNews/idCNKBS0FF0NM20140710 |
5 | test_url: http://cn.reuters.feedsportal.com/CNAnalysesNews \ No newline at end of file | 7 | test_url: http://cn.reuters.feedsportal.com/CNAnalysesNews |
8 | # multipage link | ||
9 | test_url: http://cn.reuters.com/article/idCNKBS0FF0UL20140710 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/code.fivefilters.org.txt b/inc/3rdparty/site_config/standard/code.fivefilters.org.txt index 269fb547..f8a88cae 100755 --- a/inc/3rdparty/site_config/standard/code.fivefilters.org.txt +++ b/inc/3rdparty/site_config/standard/code.fivefilters.org.txt | |||
@@ -1 +1,3 @@ | |||
1 | body: //div[@id='content'] | 1 | body: //div[@id='readme'] |
2 | |||
3 | test_url: http://code.fivefilters.org/full-text-rss | ||
diff --git a/inc/3rdparty/site_config/standard/csmonitor.com.txt b/inc/3rdparty/site_config/standard/csmonitor.com.txt index b482e34e..70ab9885 100755 --- a/inc/3rdparty/site_config/standard/csmonitor.com.txt +++ b/inc/3rdparty/site_config/standard/csmonitor.com.txt | |||
@@ -15,4 +15,4 @@ strip_id_or_class: promotion-tag | |||
15 | tidy: no | 15 | tidy: no |
16 | prune: no | 16 | prune: no |
17 | 17 | ||
18 | test_url: www.csmonitor.com/World/Middle-East/2011/1108/Imminent-Iran-nuclear-threat-A-timeline-of-warnings-since-1979/Earliest-warnings-1979-84 \ No newline at end of file | 18 | test_url: http://www.csmonitor.com/World/Middle-East/2011/1108/Imminent-Iran-nuclear-threat-A-timeline-of-warnings-since-1979/Earliest-warnings-1979-84 |
diff --git a/inc/3rdparty/site_config/standard/da.feedsportal.com.txt b/inc/3rdparty/site_config/standard/da.feedsportal.com.txt index 381446e5..2bd66be8 100755 --- a/inc/3rdparty/site_config/standard/da.feedsportal.com.txt +++ b/inc/3rdparty/site_config/standard/da.feedsportal.com.txt | |||
@@ -2,4 +2,4 @@ single_page_link: //a | |||
2 | tidy: no | 2 | tidy: no |
3 | prune: no | 3 | prune: no |
4 | 4 | ||
5 | test_url: da.feedsportal.com/c/585/f/413794/s/17037b5a/l/0L0Stelegraaf0Bnl0Cbinnenland0C10A2757860C0I0IKlacht0Itegen0Idr0B0IFrank0Iniet0I0Eontvankelijk0I0I0Bhtml0Dcid0Frss/ia1.htm \ No newline at end of file | 5 | test_url: http://da.feedsportal.com/c/585/f/413794/s/17037b5a/l/0L0Stelegraaf0Bnl0Cbinnenland0C10A2757860C0I0IKlacht0Itegen0Idr0B0IFrank0Iniet0I0Eontvankelijk0I0I0Bhtml0Dcid0Frss/ia1.htm |
diff --git a/inc/3rdparty/site_config/standard/designsponge.com.txt b/inc/3rdparty/site_config/standard/designsponge.com.txt new file mode 100755 index 00000000..2cd2f1f6 --- /dev/null +++ b/inc/3rdparty/site_config/standard/designsponge.com.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | # Author: zinnober | ||
2 | |||
3 | tidy: no | ||
4 | prune: no | ||
5 | |||
6 | # Set title | ||
7 | title: //header/h1 | ||
8 | |||
9 | # Set author | ||
10 | author: //a[rel='author'] | ||
11 | |||
12 | # Content is here | ||
13 | body: //article | ||
14 | |||
15 | # Tidy up before article | ||
16 | strip: //header | ||
17 | |||
18 | # Tidy up article | ||
19 | strip: //div[contains(@id, 'gallery-')] | ||
20 | replace_string(<a rel="attachment): <p rel="attachment | ||
21 | |||
22 | |||
23 | # Tidy up after article | ||
24 | strip: //div[@class='sm'] | ||
25 | strip_id_or_class: related | ||
26 | strip_id_or_class: comments | ||
27 | strip: //footer | ||
28 | |||
29 | # Try it yourself | ||
30 | test_url: http://www.designsponge.com/2010/06/seattle-design-guide.html | ||
31 | test_url: http://www.designsponge.com/2012/04/sneak-peek-liz-cook.html | ||
diff --git a/inc/3rdparty/site_config/standard/desitvforum.net.txt b/inc/3rdparty/site_config/standard/desitvforum.net.txt index efa85f76..c77007b7 100755 --- a/inc/3rdparty/site_config/standard/desitvforum.net.txt +++ b/inc/3rdparty/site_config/standard/desitvforum.net.txt | |||
@@ -2,4 +2,6 @@ body: (//blockquote[contains(@class, 'postcontent')])[1] | |||
2 | body: (//div[starts-with(@id, 'post_message')])[1] | 2 | body: (//div[starts-with(@id, 'post_message')])[1] |
3 | 3 | ||
4 | prune: no | 4 | prune: no |
5 | tidy: no \ No newline at end of file | 5 | tidy: no |
6 | |||
7 | test_url: http://www.desitvforum.net/forum/watch-online/431739-creature-3d-2014-watch-online-download-dvd-rip.html | ||
diff --git a/inc/3rdparty/site_config/standard/deutsche-apotheker-zeitung.de.txt b/inc/3rdparty/site_config/standard/deutsche-apotheker-zeitung.de.txt new file mode 100755 index 00000000..36709cab --- /dev/null +++ b/inc/3rdparty/site_config/standard/deutsche-apotheker-zeitung.de.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | # Author: zinnober | ||
2 | |||
3 | prune: yes | ||
4 | tidy: yes | ||
5 | |||
6 | title: //h1 | ||
7 | date: //p[@class='news_datum'] | ||
8 | author: //span[@class='author'] | ||
9 | |||
10 | body: //div[@class='tagesnews-content'] | ||
11 | |||
12 | # General clenaup | ||
13 | strip_id_or_class: dachzeile | ||
14 | strip: //h3 | ||
15 | strip: //p[@class='bodytext']//a | ||
16 | strip_id_or_class: autor_datum | ||
17 | strip_id_or_class: comments | ||
18 | strip_id_or_class: banner- | ||
19 | |||
20 | strip: //p[contains(., 'Lesen Sie')] | ||
21 | strip: //p[contains(., '– in DAZ')] | ||
22 | |||
23 | # Fix image captions | ||
24 | replace_string(<p class="image_caption">): <p><small><em> | ||
25 | replace_string(</dd>): </em></small></dd> | ||
26 | |||
27 | test_url: http://www.deutsche-apotheker-zeitung.de/pharmazie/news/2014/09/03/weniger-nebenwirkungen-aber-kein-zusatznutzen/13715.html | ||
28 | test_url: http://www.deutsche-apotheker-zeitung.de/recht/news/2014/09/02/urteile-zum-cannabis-eigenanbau-bfarm-geht-in-berufung/13716.html | ||
29 | |||
diff --git a/inc/3rdparty/site_config/standard/dictionary.reference.com.txt b/inc/3rdparty/site_config/standard/dictionary.reference.com.txt index f8b79c80..b8243d0c 100755 --- a/inc/3rdparty/site_config/standard/dictionary.reference.com.txt +++ b/inc/3rdparty/site_config/standard/dictionary.reference.com.txt | |||
@@ -1,8 +1,6 @@ | |||
1 | title: //h1[@id='query_h1'] | 1 | body: //div[contains(@class, 'source-data')] |
2 | body: //div[contains(@class, 'lunatext results_content')] | 2 | strip: //button |
3 | strip_id_or_class: spl_unshd | ||
4 | #replace_string(<div class="dicTl">): <div class="dicTl">------------------<br /> | ||
5 | 3 | ||
6 | prune: no | 4 | prune: no |
7 | 5 | ||
8 | test_url: http://www.wired.com/cloudline/2011/10/meet-arms-cortex-a15-the-future-of-the-ipad-and-possibly-the-macbook-air/ \ No newline at end of file | 6 | test_url: http://dictionary.reference.com/browse/propaganda |
diff --git a/inc/3rdparty/site_config/standard/dropbox.com.txt b/inc/3rdparty/site_config/standard/dropbox.com.txt index 92ae31b2..3b51569f 100755 --- a/inc/3rdparty/site_config/standard/dropbox.com.txt +++ b/inc/3rdparty/site_config/standard/dropbox.com.txt | |||
@@ -1 +1,3 @@ | |||
1 | single_page_link: //a[@id='download_button_link'] \ No newline at end of file | 1 | single_page_link: //a[@id='download_button_link'] |
2 | |||
3 | test_url: https://www.dropbox.com/s/qmocfrco2t0d28o/Fluffbeast.docx | ||
diff --git a/inc/3rdparty/site_config/standard/echo-online.de.txt b/inc/3rdparty/site_config/standard/echo-online.de.txt new file mode 100755 index 00000000..e53de23e --- /dev/null +++ b/inc/3rdparty/site_config/standard/echo-online.de.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | # Author: Marvin Dickhaus <github@marvindickhaus.de> | ||
2 | # 2014-10-08 | ||
3 | |||
4 | #Tidy just messes up the DOM | ||
5 | tidy: no | ||
6 | |||
7 | title: //h1 | ||
8 | body: //h2 | //div[@id='artikelteaser'] | //div[@id='artikeltext'] | ||
9 | |||
10 | #Strip | ||
11 | strip_image_src: artikel_a_merken.gif | ||
12 | strip: //div[@class='zusatzinfo'] | ||
13 | |||
14 | #Author: substring is used to remove the " Von " prefix. | ||
15 | author: substring(//li[@class='artikelautor'], 5) | ||
16 | |||
17 | date: //li[@class='artikeldatum'] | ||
18 | |||
19 | #The first two URLs will at some point no longer show | ||
20 | #the full article. There is a time-based paywall | ||
21 | #installed. Using the feed should present valid output | ||
22 | test_url: http://www.echo-online.de/art1231,5503063 | ||
23 | test_url: http://www.echo-online.de/art1168,5502598 | ||
24 | test_url: http://www.echo-online.de/rss/darmstadt.xml | ||
diff --git a/inc/3rdparty/site_config/standard/economist.com.txt b/inc/3rdparty/site_config/standard/economist.com.txt index 16c9ed64..8db5fdd6 100755 --- a/inc/3rdparty/site_config/standard/economist.com.txt +++ b/inc/3rdparty/site_config/standard/economist.com.txt | |||
@@ -1,8 +1,13 @@ | |||
1 | body: //div[@class='main-content'] | 1 | body: //div[@class='main-content'] |
2 | body: //article[contains(@class, 'resp-node')] | ||
2 | date: //time[@class='date-created'] | 3 | date: //time[@class='date-created'] |
3 | strip: //aside | 4 | strip: //aside |
4 | prune: no | 5 | prune: no |
5 | 6 | ||
6 | autodetect_next_page: no | 7 | autodetect_next_page: no |
7 | 8 | ||
8 | test_url: http://www.economist.com/node/21528429 \ No newline at end of file | 9 | test_url: http://www.economist.com/node/21528429 |
10 | |||
11 | test_url: http://www.economist.com/news/essays/21623373-which-something-old-and-powerful-encountered-vault | ||
12 | test_contains: the calfskin pages are smooth | ||
13 | test_contains: Books will evolve online and off | ||
diff --git a/inc/3rdparty/site_config/standard/eurogamer.net.txt b/inc/3rdparty/site_config/standard/eurogamer.net.txt index 8a351667..8931becb 100755 --- a/inc/3rdparty/site_config/standard/eurogamer.net.txt +++ b/inc/3rdparty/site_config/standard/eurogamer.net.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | body: //div[ @class='content' ] | //div[ @class='blog-entry' ] | 1 | body: //p[@class='strapline'] | //div[@class='cover-image'] | //article[@class='hd'] |
2 | strip: //div[@class='social top'] | ||
3 | strip: //p[@class='byline'] | ||
2 | 4 | ||
3 | strip: //h2/abbr | //div[ @class='lowleader' ] | //*[ @class='discussion' ] | //img[ @class='play-button' ] | //div[ @class='boxout' ] | //h2/a | //h2 | //h2/div | //p[ @class='timestamp' ] | //a[ @class='eurogamer-author' ] | //p[ @class='aPager' ] | //h1 | //div[ @id='lowleader' ] | //a[ @class='next' ] | //div[contains(concat(' ', normalize-space(@class), ' '), ' pullquote ')] | 5 | date: //span[@itemprop='datePublished'] |
6 | author: //a[@itemprop='author']/text() | ||
4 | 7 | ||
5 | date://p[ @class='timestamp' ] | 8 | test_url: http://www.eurogamer.net/articles/2014-08-20-bungie-ordered-to-return-shares-to-composer-marty-odonnell |
6 | 9 | test_url: http://www.eurogamer.net/articles/2014-08-20-invisible-inc-does-espionage-justice | |
7 | author://a[ @class='eurogamer-author' ] | ||
8 | test_url: http://www.eurogamer.net/articles/digitalfoundry-vs-unreal-engine-4 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/facebook.com.txt b/inc/3rdparty/site_config/standard/facebook.com.txt index 6a492767..26d4f905 100755 --- a/inc/3rdparty/site_config/standard/facebook.com.txt +++ b/inc/3rdparty/site_config/standard/facebook.com.txt | |||
@@ -1,5 +1,12 @@ | |||
1 | body: //div[@id='imagestage'] | 1 | body: //div[@id='imagestage'] |
2 | body: //div[contains(@class, 'userContentWrapper')] | ||
3 | |||
4 | strip_id_or_class: commentable | ||
5 | |||
2 | prune: no | 6 | prune: no |
3 | tidy: no | 7 | tidy: no |
4 | 8 | ||
5 | test_url: https://www.facebook.com/feeds/page.php?id=338077742912613&format=rss20 \ No newline at end of file | 9 | # single_page_link: replace(substring-after(//noscript//meta[@http-equiv="refresh"]/@content, 'URL='), "&", "&") |
10 | |||
11 | test_url: https://www.facebook.com/permalink.php?story_fbid=10154584776550183&id=294468630182 | ||
12 | test_contains: holding an extraordinary session in Brussels this month | ||
diff --git a/inc/3rdparty/site_config/standard/faz.net.txt b/inc/3rdparty/site_config/standard/faz.net.txt index 47048a1b..47048a1b 100644..100755 --- a/inc/3rdparty/site_config/standard/faz.net.txt +++ b/inc/3rdparty/site_config/standard/faz.net.txt | |||
diff --git a/inc/3rdparty/site_config/standard/finance.yahoo.com.txt b/inc/3rdparty/site_config/standard/finance.yahoo.com.txt index 248522cb..0c967db0 100755 --- a/inc/3rdparty/site_config/standard/finance.yahoo.com.txt +++ b/inc/3rdparty/site_config/standard/finance.yahoo.com.txt | |||
@@ -5,8 +5,8 @@ strip: //div[contains(@class, 'related-companies')] | |||
5 | strip: //div[@id='y-article-related'] | 5 | strip: //div[@id='y-article-related'] |
6 | strip: //div[@id='ypf-article-related'] | 6 | strip: //div[@id='ypf-article-related'] |
7 | prune: no | 7 | prune: no |
8 | tidy: no | ||
8 | 9 | ||
9 | single_page_link: //div[@class='ft']//a[contains(@href, 'page=all')] | 10 | single_page_link: //div[@class='ft']//a[contains(@href, 'page=all')] |
10 | 11 | ||
11 | test_url: http://sg.finance.yahoo.com/news/Motorola-takes-wraps-249-rsg-3508842732.html?x=0&.v=1 | 12 | test_url: http://finance.yahoo.com/news/canadian-orebodies-gives-notice-exercise-130000032.html \ No newline at end of file |
12 | test_url: http://finance.yahoo.com/news/super-young-retirement-savers.html \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/fivechapters.com.txt b/inc/3rdparty/site_config/standard/fivechapters.com.txt index d9c5e42e..9614d2f6 100755 --- a/inc/3rdparty/site_config/standard/fivechapters.com.txt +++ b/inc/3rdparty/site_config/standard/fivechapters.com.txt | |||
@@ -1,2 +1,2 @@ | |||
1 | body: //div[@class='entry'] | 1 | body: //div[@class='entry'] |
2 | test_url: http://www.fivechapters.com/2010/paris-part-one/ \ No newline at end of file | 2 | test_url: http://www.fivechapters.com/2014/the-saddest-writer-in-america-part-two/ |
diff --git a/inc/3rdparty/site_config/standard/fivefilters.org.txt b/inc/3rdparty/site_config/standard/fivefilters.org.txt index dc1db432..f37f02b9 100755 --- a/inc/3rdparty/site_config/standard/fivefilters.org.txt +++ b/inc/3rdparty/site_config/standard/fivefilters.org.txt | |||
@@ -1 +1,4 @@ | |||
1 | prune: no \ No newline at end of file | 1 | body: //section[contains(@class, 'container')] |
2 | prune: no | ||
3 | |||
4 | test_url: http://fivefilters.org/kindle-it/ | ||
diff --git a/inc/3rdparty/site_config/standard/foreignpolicy.com.txt b/inc/3rdparty/site_config/standard/foreignpolicy.com.txt index 4e84b989..853a5b7b 100755 --- a/inc/3rdparty/site_config/standard/foreignpolicy.com.txt +++ b/inc/3rdparty/site_config/standard/foreignpolicy.com.txt | |||
@@ -1,15 +1,19 @@ | |||
1 | title: //div[@class='translateHead']//h1 | //div[@id='art-mast']//h1 | 1 | title: //div[@class='translateHead']//h1 | //div[@id='art-mast']//h1 |
2 | author: substring-after(//span[@id='by-line'], 'BY ') | 2 | author: substring-after(//span[@id='by-line'], 'BY ') |
3 | date: //span[@id='pub-date'] | 3 | date: //span[@id='pub-date'] |
4 | body: //div[@id='art-mast']/h2 | //div[@class='translateBody'] | //div[@id='art-body'] | 4 | body: (//article//img[contains(@class, 'main_photo')])[1] | (//article//div[contains(@class, 'full_post_content')])[1] |
5 | #body: //div[@id='art-mast']/h2 | //div[@class='translateBody'] | //div[@id='art-body'] | ||
5 | #Strip inside article content | 6 | #Strip inside article content |
6 | strip: //div[@id='share-box'] | 7 | strip: //div[@id='share-box'] |
7 | strip: //div[@id='special-box'] | 8 | strip: //div[@id='special-box |
9 | |||
10 | strip_id_or_class: side_panel | ||
8 | 11 | ||
9 | prune: no | 12 | prune: no |
10 | 13 | ||
11 | single_page_link: //span[@id='controls']/a[contains(@href, 'print=yes')] | 14 | single_page_link: //span[@id='controls']/a[contains(@href, 'print=yes')] |
12 | single_page_link: //a[text()='SINGLE PAGE'] | 15 | single_page_link: //a[text()='SINGLE PAGE'] |
13 | 16 | ||
17 | test_url: http://www.foreignpolicy.com/articles/2014/07/22/the_end_game_in_gaza_netanyahu_hamas | ||
14 | test_url: http://www.foreignpolicy.com/articles/2011/08/01/a_murderers_manifesto_and_me | 18 | test_url: http://www.foreignpolicy.com/articles/2011/08/01/a_murderers_manifesto_and_me |
15 | test_url: http://www.foreignpolicy.com/articles/2012/02/29/five_years_in_damascus \ No newline at end of file | 19 | test_url: http://www.foreignpolicy.com/articles/2012/02/29/five_years_in_damascus \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/golem.de.txt b/inc/3rdparty/site_config/standard/golem.de.txt index 6afdebe8..c64860c0 100755 --- a/inc/3rdparty/site_config/standard/golem.de.txt +++ b/inc/3rdparty/site_config/standard/golem.de.txt | |||
@@ -1,25 +1,34 @@ | |||
1 | # Jens Kohl, jens.kohl@... | 1 | # Author: zinnober |
2 | # - Added publication date | 2 | # Rewrite of original template which fetched the printer-version without pictures |
3 | # - Striped pagination block | ||
4 | # - Added single page link | ||
5 | # - Added xpath-querys for the printer friendly version | ||
6 | 3 | ||
7 | title: //h1 | 4 | tidy: no |
8 | body: //div[@class='formatted'] | ||
9 | prune: no | 5 | prune: no |
10 | 6 | ||
11 | date: substring-after(//li[2][@class="text1"], 'Datum:') | 7 | # Set full title |
12 | strip: //ol[@class="list-chapters"] | 8 | title: //h1 |
13 | strip_comments: yes | 9 | |
14 | 10 | date: //time | |
15 | # next: commands for printer friendly pages | 11 | |
16 | single_page_link: //a[contains(@href, 'print.php?a=')]/@href | 12 | # Content is here |
17 | title: //body/h3 | 13 | body: //article |
18 | strip_image_src: staticrl/images/logo.jpg | 14 | |
19 | strip_image_src: http://cpx.golem.de/cpx.php?class=7 | 15 | # Fetch full multipage articles |
20 | strip: //body/h3 | 16 | next_page_link: //a[@id='atoc_next'] |
21 | strip: //body/b[1] | 17 | |
22 | strip: //body/b[2] | 18 | # Remove tracking and ads |
23 | strip: //body/b[3] | 19 | strip_id_or_class: iqadtile4 |
24 | strip: //div[1] | 20 | |
25 | test_url: http://www.golem.de/1112/88696.html \ No newline at end of file | 21 | # General Cleanup |
22 | strip_id_or_class: list-jtoc | ||
23 | strip_id_or_class: table-jtoc | ||
24 | strip_id_or_class: implied | ||
25 | strip_id_or_class: social- | ||
26 | strip_id_or_class: comments | ||
27 | strip_id_or_class: footer | ||
28 | |||
29 | # Tidy up galleries (could still be improved, though) | ||
30 | strip: //img[@src=''] | ||
31 | |||
32 | # Try yourself | ||
33 | test_url: http://www.golem.de/news/intel-core-i7-5960x-im-test-die-pc-revolution-beginnt-mit-octacore-und-ddr4-1408-108893.html | ||
34 | test_url: http://www.golem.de/news/test-infamous-first-light-neonbunter-actionspass-1408-108914.html | ||
diff --git a/inc/3rdparty/site_config/standard/heise.de.txt b/inc/3rdparty/site_config/standard/heise.de.txt index c51af561..9433104b 100755 --- a/inc/3rdparty/site_config/standard/heise.de.txt +++ b/inc/3rdparty/site_config/standard/heise.de.txt | |||
@@ -1,7 +1,42 @@ | |||
1 | single_page_link: //p[@class='news_option']/a | 1 | # Author: zinnober |
2 | # Template should work well with either desktop or mobile version (m.heise.de) | ||
2 | 3 | ||
4 | prune: no | ||
5 | |||
6 | title: //article/h1 | //h1 | ||
3 | date: //p[@class='news_datum'] | 7 | date: //p[@class='news_datum'] |
4 | title: //h1 | 8 | author: //h4[@class='author'] |
5 | body: //div[@class='meldung_wrapper'] | 9 | |
10 | body: //article | //div[@class='meldung_wrapper'] | ||
11 | |||
12 | # General cleanup | ||
13 | strip: //time | ||
14 | strip: //h4[@class='author'] | ||
15 | strip: //p[@class='news_datum'] | ||
16 | strip: //p[@class='artikel_datum'] | ||
17 | strip: //a[contains(@href, 'mailto')] | ||
18 | strip_id_or_class: comments | ||
19 | strip_id_or_class: ISI_IGNORE | ||
20 | strip_id_or_class: clear | ||
21 | |||
22 | strip_id_or_class: linkurl_grossbild | ||
23 | strip_id_or_class: image-num | ||
24 | strip_id_or_class: heisebox_right | ||
25 | strip_id_or_class: dossier | ||
26 | |||
27 | # Strip Ads | ||
28 | strip_id_or_class: ad_ | ||
29 | |||
30 | # Some optimizations | ||
31 | replace_string(<h5>): <h2> | ||
32 | replace_string(</h5>): </h2> | ||
33 | replace_string(<span class="bild_rechts"): <p | ||
34 | replace_string(<div class="heisebox">): <blockquote> | ||
35 | |||
36 | |||
37 | next_page_link: //a[@class='next'] | ||
38 | next_page_link: //a[@title='vor'] | ||
6 | 39 | ||
7 | test_url: http://www.heise.de/newsticker/meldung/Europa-soll-Grundrechteschutz-im-Netz-staerken-1392664.html \ No newline at end of file | 40 | test_url: http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-15-2196231.html |
41 | test_url: http://m.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-15-2196231.html | ||
42 | test_url: http://www.heise.de/newsticker/meldung/Ueberwachungstechnik-Die-globale-Handy-Standortueberwachung-2301494.html | ||
diff --git a/inc/3rdparty/site_config/standard/hosted.ap.org.txt b/inc/3rdparty/site_config/standard/hosted.ap.org.txt index dfd81937..a660f23b 100755 --- a/inc/3rdparty/site_config/standard/hosted.ap.org.txt +++ b/inc/3rdparty/site_config/standard/hosted.ap.org.txt | |||
@@ -2,4 +2,4 @@ body: //table[@class='ap-smallphoto-table'] | //div[@class='body']//*[@class='en | |||
2 | tidy: no | 2 | tidy: no |
3 | strip_image_src: analytics.apnewsregistry | 3 | strip_image_src: analytics.apnewsregistry |
4 | 4 | ||
5 | test_url: http://hosted.ap.org/dynamic/stories/U/US_SPENDING_SHOWDOWN?SITE=FLPET&SECTION=HOME&TEMPLATE=DEFAULT&CTIME=2011-04-06-07-46-50 \ No newline at end of file | 5 | test_url: http://hosted.ap.org/dynamic/stories/E/EU_TURKEY_KURDS?SITE=KSNEW&SECTION=HOME&TEMPLATE=DEFAULT&CTIME=2014-10-14-10-50-25 |
diff --git a/inc/3rdparty/site_config/standard/itunes.apple.com.txt b/inc/3rdparty/site_config/standard/itunes.apple.com.txt new file mode 100755 index 00000000..ffd95561 --- /dev/null +++ b/inc/3rdparty/site_config/standard/itunes.apple.com.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | body: //div[@id='left-stack' or contains(@class, 'center-stack')] | ||
2 | |||
3 | find_string: class="artwork" src=" | ||
4 | replace_string: class="artwork" src-disabled=" | ||
5 | find_string: src-swap-high-dpi=" | ||
6 | replace_string: src=" | ||
7 | |||
8 | strip_id_or_class: rating | ||
9 | strip_id_or_class: listeners-also-bought | ||
10 | |||
11 | prune: no | ||
12 | |||
13 | test_url: https://itunes.apple.com/us/rss/topaudiobooks/limit=10/xml | ||
14 | test_url: https://itunes.apple.com/us/audiobook/the-giver-unabridged/id356345850 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/kachiblog.com.txt b/inc/3rdparty/site_config/standard/kachiblog.com.txt index 35baf8df..57ab0de1 100755 --- a/inc/3rdparty/site_config/standard/kachiblog.com.txt +++ b/inc/3rdparty/site_config/standard/kachiblog.com.txt | |||
@@ -4,4 +4,4 @@ body: //div[@itemprop='articleBody'] | |||
4 | tidy: no | 4 | tidy: no |
5 | 5 | ||
6 | test_url: http://www.kachiblog.com/2013/05/samsung-galaxy-s4-vs-samsung-galaxy.html | 6 | test_url: http://www.kachiblog.com/2013/05/samsung-galaxy-s4-vs-samsung-galaxy.html |
7 | test_url: http://www.kachiblog.com/feeds/posts/default \ No newline at end of file | 7 | test_url: http://www.kachiblog.com/feed |
diff --git a/inc/3rdparty/site_config/standard/lifehacker.co.uk.txt b/inc/3rdparty/site_config/standard/lifehacker.co.uk.txt new file mode 100755 index 00000000..c540f7f3 --- /dev/null +++ b/inc/3rdparty/site_config/standard/lifehacker.co.uk.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | title: //div[@itemprop='headline'] | ||
2 | body: //noscript/img | //div[@itemprop='text'] | ||
3 | author: //div[@class='meta meta--post']//a[@class='is-author'] | ||
4 | date: //div[@class='meta meta--post']//time/@datetime | ||
5 | |||
6 | test_url: http://www.lifehacker.co.uk/2014/08/22/dealhacker-10-google-chromecast-super-cheap-batteries-much | ||
7 | test_url: http://www.lifehacker.co.uk/2014/08/18/andrognito-hides-files-youd-like-keep-away-prying-eyes | ||
diff --git a/inc/3rdparty/site_config/standard/mainpost.de.txt b/inc/3rdparty/site_config/standard/mainpost.de.txt index 2136de3f..2f6382f1 100755 --- a/inc/3rdparty/site_config/standard/mainpost.de.txt +++ b/inc/3rdparty/site_config/standard/mainpost.de.txt | |||
@@ -25,4 +25,4 @@ strip_id_or_class: 'rightimage' | |||
25 | #Comments | 25 | #Comments |
26 | strip: //table | 26 | strip: //table |
27 | strip: //p/following-sibling::*[0] | 27 | strip: //p/following-sibling::*[0] |
28 | test_url: http://www.mainpost.de/ueberregional/meinung/Dioxin-Skandal-bringt-Agrarministerin-in-Bedraengnis;art9517,5920211 \ No newline at end of file | 28 | test_url: http://www.mainpost.de/regional/wuerzburg/Autobahnschuetze-Staatsanwalt-fordert-zwoelf-Jahre;art492151,8386332 |
diff --git a/inc/3rdparty/site_config/standard/medialens.org.txt b/inc/3rdparty/site_config/standard/medialens.org.txt index 4c333aa1..c26bac55 100755 --- a/inc/3rdparty/site_config/standard/medialens.org.txt +++ b/inc/3rdparty/site_config/standard/medialens.org.txt | |||
@@ -1,4 +1,5 @@ | |||
1 | strip_id_or_class: article-tools | 1 | strip_id_or_class: article-tools |
2 | strip_id_or_class: pagenav | 2 | strip_id_or_class: pagenav |
3 | prune: no | 3 | prune: no |
4 | test_url: http://www.medialens.org/index.php/alerts/alert-archive/2012/713-the-illusion-of-democracy.html \ No newline at end of file | 4 | test_url: http://www.medialens.org/index.php/alerts/alert-archive/2012/713-the-illusion-of-democracy.html |
5 | test_contains: In an era of permanent war, economic meltdown | ||
diff --git a/inc/3rdparty/site_config/standard/medium.com.txt b/inc/3rdparty/site_config/standard/medium.com.txt index acf7cc90..9e9c6895 100755 --- a/inc/3rdparty/site_config/standard/medium.com.txt +++ b/inc/3rdparty/site_config/standard/medium.com.txt | |||
@@ -1,7 +1,12 @@ | |||
1 | body: //div[contains(@class, 'post-content-inner')] | 1 | body: //div[contains(@class, 'postContent-inner')] |
2 | strip_id_or_class: follow-ups | 2 | strip_id_or_class: supplementalPostContent |
3 | strip_id_or_class: footer | ||
4 | 3 | ||
5 | prune: no | 4 | prune: no |
6 | 5 | ||
7 | test_url: https://medium.com/p/6844c0d7893b \ No newline at end of file | 6 | test_url: https://medium.com/@savolai/kaytettavyyden-haasteet-keskustelukulttuurista-2-3-6844c0d7893b |
7 | test_contains: Jos käytettävyysongelmat ovat kerran niin tyypillisiä | ||
8 | test_contains: Keskustelukulttuuriongelmasta (subjective vs. objective bugs) | ||
9 | |||
10 | test_url: https://medium.com/health-the-future/thirty-things-ive-learned-482765ee3503 | ||
11 | test_contains: Remember you will die | ||
12 | test_contains: You have to have some faith. | ||
diff --git a/inc/3rdparty/site_config/standard/menshealth.com.sg.txt b/inc/3rdparty/site_config/standard/menshealth.com.sg.txt new file mode 100755 index 00000000..6a669253 --- /dev/null +++ b/inc/3rdparty/site_config/standard/menshealth.com.sg.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | strip: //div[contains(@style, 'float:right') and contains(., 'advertisement')] | ||
2 | body: //div[@style="float:left;width:740px;"] | ||
3 | |||
4 | tidy: no | ||
5 | |||
6 | test_url: http://www.menshealth.com.sg/fitness/mh-picks-under-armour-clutchfit-nitro-mid-cleats | ||
7 | test_contains: These cleats are made for one thing | ||
8 | |||
9 | test_url: http://www.menshealth.com.sg/fitness/top-10-fat-burning-bodyweight-moves-you-can-do-10-minutes | ||
10 | test_contains: let this workout fool you | ||
11 | |||
12 | test_url: http://www.menshealth.com.sg/fitness/feed \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/northumberlandview.ca.txt b/inc/3rdparty/site_config/standard/northumberlandview.ca.txt index 88429a78..f698d98e 100755 --- a/inc/3rdparty/site_config/standard/northumberlandview.ca.txt +++ b/inc/3rdparty/site_config/standard/northumberlandview.ca.txt | |||
@@ -8,4 +8,4 @@ strip_id_or_class: news_morearticlesincat | |||
8 | strip_id_or_class: ezc_comments | 8 | strip_id_or_class: ezc_comments |
9 | strip_comments: yes | 9 | strip_comments: yes |
10 | 10 | ||
11 | test_url: http://www.northumberlandview.ca/index.php?module=news&func=display&sid=5972 \ No newline at end of file | 11 | test_url: http://www.northumberlandview.ca/index.php?module=news&type=user&func=display&sid=31127 |
diff --git a/inc/3rdparty/site_config/standard/nytimes.com.txt b/inc/3rdparty/site_config/standard/nytimes.com.txt index 23c9ad11..54735ec7 100755 --- a/inc/3rdparty/site_config/standard/nytimes.com.txt +++ b/inc/3rdparty/site_config/standard/nytimes.com.txt | |||
@@ -42,8 +42,12 @@ strip://h6[@class = 'kicker'] | |||
42 | author:substring-after(//h6[@class='byline'],'By ') | 42 | author:substring-after(//h6[@class='byline'],'By ') |
43 | 43 | ||
44 | test_url: http://www.nytimes.com/2011/07/24/books/review/an-academic-authors-unintentional-masterpiece.html | 44 | test_url: http://www.nytimes.com/2011/07/24/books/review/an-academic-authors-unintentional-masterpiece.html |
45 | test_contains: In this column I want to look at a not uncommon way of writing | ||
46 | |||
45 | test_url: http://www.nytimes.com/2012/06/10/arts/television/the-newsroom-aaron-sorkins-return-to-tv.html | 47 | test_url: http://www.nytimes.com/2012/06/10/arts/television/the-newsroom-aaron-sorkins-return-to-tv.html |
48 | test_contains: IF you’ve seen enough of Aaron Sorkin’s theater | ||
49 | |||
46 | test_url: http://www.nytimes.com/2013/03/25/world/middleeast/israeli-military-responds-after-patrols-come-under-fire-from-syria.html | 50 | test_url: http://www.nytimes.com/2013/03/25/world/middleeast/israeli-military-responds-after-patrols-come-under-fire-from-syria.html |
47 | test_url: http://www.nytimes.com/2013/08/15/nyregion/when-the-new-york-city-subway-ran-without-rails.html | 51 | test_url: http://www.nytimes.com/2013/08/15/nyregion/when-the-new-york-city-subway-ran-without-rails.html |
48 | test_url: http://www.nytimes.com/2004/02/29/weekinreview/correspondence-class-consciousness-china-s-wealthy-live-creed-hobbes-darwin-meet.html | 52 | test_url: http://www.nytimes.com/2004/02/29/weekinreview/correspondence-class-consciousness-china-s-wealthy-live-creed-hobbes-darwin-meet.html |
49 | test_url: http://www.nytimes.com/2014/06/19/opinion/gail-collins-romney-and-the-2016-contenders-huddle.html \ No newline at end of file | 53 | test_url: http://www.nytimes.com/2014/06/19/opinion/gail-collins-romney-and-the-2016-contenders-huddle.html |
diff --git a/inc/3rdparty/site_config/standard/real.gr.txt b/inc/3rdparty/site_config/standard/real.gr.txt index 1a33610d..ce0a3c43 100755 --- a/inc/3rdparty/site_config/standard/real.gr.txt +++ b/inc/3rdparty/site_config/standard/real.gr.txt | |||
@@ -1,3 +1,5 @@ | |||
1 | body: //div[@id='_ctl12__ctl0_Article'] | 1 | body: //div[contains(@class, 'article-photo-wrapper')] |
2 | prune: no | 2 | prune: no |
3 | autodetect_on_failure: no \ No newline at end of file | 3 | |
4 | test_url: http://www.real.gr/DefaultArthro.aspx?page=arthro&id=360962&catID=1 | ||
5 | test_contains: Επισήμως το αποψινό υπουργικό | ||
diff --git a/inc/3rdparty/site_config/standard/reddit.com.txt b/inc/3rdparty/site_config/standard/reddit.com.txt index 8871f564..ba342c7c 100755 --- a/inc/3rdparty/site_config/standard/reddit.com.txt +++ b/inc/3rdparty/site_config/standard/reddit.com.txt | |||
@@ -7,7 +7,7 @@ author: //p[@class="tagline"]/a | |||
7 | # this doesn't work for some reason...? | 7 | # this doesn't work for some reason...? |
8 | date: //p[@class="tagline"]//@datetime | 8 | date: //p[@class="tagline"]//@datetime |
9 | 9 | ||
10 | body: //div[@class="expando"]//div[@class="usertext-body"] | 10 | body: (//div[contains(@class, 'noncollapsed')]//div[contains(@class, 'usertext-body')])[1] |
11 | 11 | ||
12 | strip_id_or_class: tagline | 12 | strip_id_or_class: tagline |
13 | strip_id_or_class: unvotable-message | 13 | strip_id_or_class: unvotable-message |
@@ -17,4 +17,5 @@ strip_id_or_class: buttons | |||
17 | single_page_link: //p[@class="title"]/a[contains(@href, 'http://')] | 17 | single_page_link: //p[@class="title"]/a[contains(@href, 'http://')] |
18 | 18 | ||
19 | test_url: http://www.reddit.com/r/truegaming/comments/wfe7r/i_wrote_about_the_problems_i_honestly_feel_that/ | 19 | test_url: http://www.reddit.com/r/truegaming/comments/wfe7r/i_wrote_about_the_problems_i_honestly_feel_that/ |
20 | test_url: http://www.reddit.com/r/worldnews/comments/1as37r/twelve_north_korean_soldiers_attempting_to_defect/ \ No newline at end of file | 20 | test_url: http://www.reddit.com/r/worldnews/comments/1as37r/twelve_north_korean_soldiers_attempting_to_defect/ |
21 | test_url: http://www.reddit.com/r/WritingPrompts/comments/2786lw/wp_in_a_world_where_puns_are_illegal_one_man/chybk8e \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/searchengineland.com.txt b/inc/3rdparty/site_config/standard/searchengineland.com.txt index fb6a1074..9ccc5898 100755 --- a/inc/3rdparty/site_config/standard/searchengineland.com.txt +++ b/inc/3rdparty/site_config/standard/searchengineland.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | body: //div[@class="storyBox"] | 1 | body: //div[contains(concat(' ',normalize-space(@class),' '),' article ') and (contains(concat(' ',normalize-space(@class),' '),' clear '))] |
2 | title: //div[@class="storyBox"]/h1 | 2 | title: //div[@class="storyBox"]/h1 |
3 | author: //a[@rel="author"] | 3 | author: //a[@rel="author"] |
4 | date: substring-before(//span[@class="dateline"], 'by') | 4 | date: substring-before(//span[@class="dateline"], 'by') |
diff --git a/inc/3rdparty/site_config/standard/sourcebooks.com.txt b/inc/3rdparty/site_config/standard/sourcebooks.com.txt index b52169da..86e3df5e 100755 --- a/inc/3rdparty/site_config/standard/sourcebooks.com.txt +++ b/inc/3rdparty/site_config/standard/sourcebooks.com.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | #grab the actual content div | 1 | #grab the actual content div |
2 | body: //div[@class='rt-article'] | 2 | body: //div[@class='rt-article'] |
3 | 3 | ||
4 | test_url: http://www.sourcebooks.com/next/sourcebooks-next-our-blog/1601-another-piece-of-the-e-puzzle-or-when-good-ebook-promotions-go-bad.html \ No newline at end of file | 4 | test_url: http://www.sourcebooks.com/blog/happy-27th-birthday-sourcebooks.html |
diff --git a/inc/3rdparty/site_config/standard/tabletmag.com.txt b/inc/3rdparty/site_config/standard/tabletmag.com.txt new file mode 100755 index 00000000..58b1f5bb --- /dev/null +++ b/inc/3rdparty/site_config/standard/tabletmag.com.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | body: //div[contains(@class, 'story-text')] | ||
2 | |||
3 | strip_id_or_class: related | ||
4 | |||
5 | test_url: http://www.tabletmag.com/jewish-news-and-politics/181181/mossberg-parallel-states?all=1 \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/tagesspiegel.de.txt b/inc/3rdparty/site_config/standard/tagesspiegel.de.txt new file mode 100755 index 00000000..57e7d3df --- /dev/null +++ b/inc/3rdparty/site_config/standard/tagesspiegel.de.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | # Author: zinnober | ||
2 | # Should work with "normal" articles as well as with image galleries | ||
3 | |||
4 | prune: no | ||
5 | |||
6 | # Title | ||
7 | title: //h1/span[@class='hcf-headline'] | ||
8 | |||
9 | # Set author | ||
10 | author: //a[@rel='author'] | ||
11 | |||
12 | # Set date | ||
13 | date: //span[@class='date hcf-atlas'] | ||
14 | |||
15 | # Fetch full multipage articles | ||
16 | next_page_link: //a[contains(@class, 'hcf-forward')] | ||
17 | |||
18 | # Content is here | ||
19 | body: //article | ||
20 | body: //div[contains(@class, 'hcf-screen')] | ||
21 | |||
22 | # Remove tracking and ads | ||
23 | strip_id_or_class: hcf-ad | ||
24 | strip_id_or_class: hcf-autoload-ad | ||
25 | strip_id_or_class: hcf-content-ad | ||
26 | |||
27 | # Tidy up before article | ||
28 | strip: //article/h1 | ||
29 | strip_id_or_class: hcf-atlas | ||
30 | strip_id_or_class: hcf-author | ||
31 | strip_id_or_class: date hcf-atlas | ||
32 | strip_id_or_class: date hcf-atlas | ||
33 | |||
34 | # General cleanup | ||
35 | strip: //div[contains(@class, 'hcf-screen')]//h1 | ||
36 | strip: //div[@class='hcf-subpage-titles']//ul | ||
37 | strip_id_or_class: hcf-doctype-media | ||
38 | strip_id_or_class: hcf-inline-gallery | ||
39 | strip_id_or_class: hcf-doctype-video | ||
40 | strip_id_or_class: hcf-links | ||
41 | strip_id_or_class: hcf-mini-navi | ||
42 | strip_id_or_class: hcf-media-control | ||
43 | strip_id_or_class: hcf-hidden | ||
44 | replace_string(<span class="hcf-update">Update</span>): <strong>Update: </strong> | ||
45 | |||
46 | # Fix pictures and captions | ||
47 | replace_string(<a class="hcf-doctype-gallery): <p class="hcf-doctype-gallery | ||
48 | replace_string(<a class="hcf-doctype-enlarge): <p class="hcf-doctype-enlarge | ||
49 | replace_string(<figcaption class="hcf-caption">): <br><small><em> | ||
50 | replace_string(</figcaption>): </em></small> | ||
51 | |||
52 | # Fix image galleries | ||
53 | replace_string(<a class=" ajaxify): <p class="ajaxify | ||
54 | replace_string(<div class="hcf-caption"><div><p>): <small><em> | ||
55 | |||
56 | # Try it yourself | ||
57 | test_url: http://www.tagesspiegel.de/berlin/bezirke/wedding/wedding-jetzt/auf-der-suche-nach-einem-stadtteil-wilder-weiter-wedding/8757156.html | ||
58 | test_url: http://www.tagesspiegel.de/berlin/olympia-in-berlin-der-flughafen-tegel-soll-das-olympische-dorf-werden/10645036.html | ||
59 | test_url: http://www.tagesspiegel.de/mediacenter/fotostrecken/berlin/bildergalerie-kreuzberger-der-woche/9305534.html | ||
60 | |||
diff --git a/inc/3rdparty/site_config/standard/techmeme.com.txt b/inc/3rdparty/site_config/standard/techmeme.com.txt index 0b4bfbd6..26eb37b0 100755 --- a/inc/3rdparty/site_config/standard/techmeme.com.txt +++ b/inc/3rdparty/site_config/standard/techmeme.com.txt | |||
@@ -1,3 +1,3 @@ | |||
1 | single_page_link_in_feed: //b/a | 1 | single_page_link_in_feed: //b/a |
2 | 2 | ||
3 | test_url_feed: http://www.techmeme.com/feed.xml \ No newline at end of file | 3 | test_url: http://www.techmeme.com/feed.xml |
diff --git a/inc/3rdparty/site_config/standard/theatlantic.com.txt b/inc/3rdparty/site_config/standard/theatlantic.com.txt index aa41b153..3fc5611b 100755 --- a/inc/3rdparty/site_config/standard/theatlantic.com.txt +++ b/inc/3rdparty/site_config/standard/theatlantic.com.txt | |||
@@ -15,6 +15,8 @@ strip: //div[@class='earthbox'] | |||
15 | 15 | ||
16 | single_page_link: //article//a[contains(@class, 'print')] | 16 | single_page_link: //article//a[contains(@class, 'print')] |
17 | 17 | ||
18 | native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')] | ||
19 | |||
18 | test_url: http://www.theatlantic.com/technology/archive/2011/04/want-to-see-how-crazy-a-bot-run-market-can-be/237773/ | 20 | test_url: http://www.theatlantic.com/technology/archive/2011/04/want-to-see-how-crazy-a-bot-run-market-can-be/237773/ |
19 | test_url: http://www.theatlantic.com/magazine/archive/2007/11/the-autumn-of-the-multitaskers/6342/ | 21 | test_url: http://www.theatlantic.com/magazine/archive/2007/11/the-autumn-of-the-multitaskers/6342/ |
20 | test_url: http://www.theatlantic.com/entertainment/archive/2012/04/30-rock-live-a-funny-reminder-of-why-sitcoms-arent-shot-live-anymore/256447/ \ No newline at end of file | 22 | test_url: http://www.theatlantic.com/entertainment/archive/2012/04/30-rock-live-a-funny-reminder-of-why-sitcoms-arent-shot-live-anymore/256447/ \ No newline at end of file |
diff --git a/inc/3rdparty/site_config/standard/theglobeandmail.com.txt b/inc/3rdparty/site_config/standard/theglobeandmail.com.txt index 750f8473..2473cad2 100755 --- a/inc/3rdparty/site_config/standard/theglobeandmail.com.txt +++ b/inc/3rdparty/site_config/standard/theglobeandmail.com.txt | |||
@@ -1,5 +1,10 @@ | |||
1 | body: //div[contains(@class, 'entry-content')]//div[contains(@class, 'column-2')] | ||
1 | single_page_link: //div[contains(@class, 'pagination')]//a[contains(@title, 'ingle page')] | 2 | single_page_link: //div[contains(@class, 'pagination')]//a[contains(@title, 'ingle page')] |
3 | strip_id_or_class: entry-related | ||
4 | strip_id_or_class: entry-sidebar | ||
5 | strip_id_or_class: entry-pagination | ||
2 | tidy: no | 6 | tidy: no |
3 | prune: no | 7 | prune: no |
4 | 8 | ||
5 | test_url: http://www.theglobeandmail.com/report-on-business/rob-magazine/how-a-novice-miner-survived-a-summer-in-the-klondike/article2345350/ \ No newline at end of file | 9 | test_url: http://www.theglobeandmail.com/report-on-business/rob-magazine/how-a-novice-miner-survived-a-summer-in-the-klondike/article2345350/ |
10 | 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/ \ No newline at end of file | ||
diff --git a/inc/3rdparty/site_config/standard/theguardian.com.txt b/inc/3rdparty/site_config/standard/theguardian.com.txt index c803e4e4..88e2ecf4 100755 --- a/inc/3rdparty/site_config/standard/theguardian.com.txt +++ b/inc/3rdparty/site_config/standard/theguardian.com.txt | |||
@@ -6,8 +6,19 @@ strip: //div[contains(@class, 'kindleWidget')] | |||
6 | #strip: //a[not(text())] | 6 | #strip: //a[not(text())] |
7 | strip_id_or_class: pocket-btn | 7 | strip_id_or_class: pocket-btn |
8 | author: //li[@class='byline'] | 8 | author: //li[@class='byline'] |
9 | native_ad_clue: //meta[@property="article:tag" and contains(@content, "Partner zone")] | ||
10 | native_ad_clue: //meta[@property="video:tag" and contains(@content, "Partner zone")] | ||
9 | prune: no | 11 | prune: no |
10 | tidy: no | 12 | tidy: no |
13 | |||
11 | test_url: http://www.theguardian.com/world/2013/oct/04/nsa-gchq-attack-tor-network-encryption | 14 | test_url: http://www.theguardian.com/world/2013/oct/04/nsa-gchq-attack-tor-network-encryption |
15 | test_contains: The National Security Agency has made repeated attempts to develop | ||
16 | test_contains: The agency did not directly address those questions, instead providing a statement. | ||
17 | |||
12 | test_url: http://www.theguardian.com/world/2013/oct/03/edward-snowden-files-john-lanchester | 18 | test_url: http://www.theguardian.com/world/2013/oct/03/edward-snowden-files-john-lanchester |
13 | test_url: http://www.theguardian.com/commentisfree/2014/jun/15/britishness-search-identity-my-part-in-camerons-odyssey \ No newline at end of file | 19 | test_contains: In August, the editor of the Guardian rang me up and asked if I would spend a week in New York |
20 | 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 | ||
21 | |||
22 | test_url: http://www.theguardian.com/commentisfree/2014/jun/15/britishness-search-identity-my-part-in-camerons-odyssey | ||
23 | # Native ad | ||
24 | test_url: http://www.theguardian.com/sustainable-business/2014/jul/18/ben-jerry-turn-ice-cream-into-energy | ||
diff --git a/inc/3rdparty/site_config/standard/theverge.com.txt b/inc/3rdparty/site_config/standard/theverge.com.txt index 1e1ce58f..78f8654a 100755 --- a/inc/3rdparty/site_config/standard/theverge.com.txt +++ b/inc/3rdparty/site_config/standard/theverge.com.txt | |||
@@ -15,6 +15,11 @@ strip: //nav | |||
15 | strip: //img[contains(@class, 'vox-lazy-load')] | 15 | strip: //img[contains(@class, 'vox-lazy-load')] |
16 | # deal with bad parsing | 16 | # deal with bad parsing |
17 | strip: //div[contains(@class, 'story-image')]//div[contains(., 'function(')] | 17 | strip: //div[contains(@class, 'story-image')]//div[contains(., 'function(')] |
18 | strip: //div[contains(@class, 'm-linkset')] | ||
19 | strip: //div[contains(@class, 'm-entry__sidebar')] | ||
20 | strip: //ul[contains(@class, 'm-article__sources')] | ||
21 | strip: //div[contains(@class, 'chorus-emc__content')] | ||
22 | |||
18 | 23 | ||
19 | strip_id_or_class: gallery | 24 | strip_id_or_class: gallery |
20 | strip_id_or_class: article-meta | 25 | strip_id_or_class: article-meta |
@@ -45,4 +50,4 @@ test_url: http://www.theverge.com/2012/2/29/2821763/lytro-review | |||
45 | test_url: http://www.theverge.com/2011/11/3/2534861/nokia-lumia-800-review | 50 | test_url: http://www.theverge.com/2011/11/3/2534861/nokia-lumia-800-review |
46 | test_url: http://www.theverge.com/2013/2/24/4026114/barnes-noble-shifting-focus-away-from-nook-hardware | 51 | test_url: http://www.theverge.com/2013/2/24/4026114/barnes-noble-shifting-focus-away-from-nook-hardware |
47 | test_url: http://www.theverge.com/2014/6/19/5824072/top-shelf-living-the-dream | 52 | test_url: http://www.theverge.com/2014/6/19/5824072/top-shelf-living-the-dream |
48 | test_url: http://www.theverge.com/rss/frontpage \ No newline at end of file | 53 | test_url: http://www.theverge.com/rss/frontpage |
diff --git a/inc/3rdparty/site_config/standard/thisiscolossal.com.txt b/inc/3rdparty/site_config/standard/thisiscolossal.com.txt new file mode 100755 index 00000000..ab16ce18 --- /dev/null +++ b/inc/3rdparty/site_config/standard/thisiscolossal.com.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | # Author: zinnober | ||
2 | |||
3 | tidy: no | ||
4 | prune: no | ||
5 | |||
6 | # Set author | ||
7 | author: //a[contains(@rel, 'author')] | ||
8 | |||
9 | # Content is here | ||
10 | body: //article | ||
11 | |||
12 | # Tidy up before article | ||
13 | strip: //header | ||
14 | |||
15 | # Get rid of doubled images | ||
16 | strip: //img[contains(@class, '-hidden')] | ||
17 | |||
18 | # Tidy up after article | ||
19 | strip_id_or_class: social-list | ||
20 | strip_id_or_class: meta-info | ||
21 | strip: //footer | ||
22 | |||
23 | # Try it yourself | ||
24 | test_url: http://www.thisiscolossal.com/2014/09/chicago-in-the-fog-by-michael-salisbury/ | ||
25 | test_url: http://www.thisiscolossal.com/2014/09/bird-portraits-ruffling-with-personality-by-leila-jeffreys/ | ||
diff --git a/inc/3rdparty/site_config/standard/towerofthehand.com.txt b/inc/3rdparty/site_config/standard/towerofthehand.com.txt new file mode 100755 index 00000000..a4d87d12 --- /dev/null +++ b/inc/3rdparty/site_config/standard/towerofthehand.com.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | title: //div[@id='headline'] | ||
2 | body: //div[@class='entry_text'] | ||
3 | author: //div[text() = 'Author:']/following-sibling::div/a | ||
4 | date: //div[text() = 'Published:']/following-sibling::div | ||
5 | single_page_link: //a[@href='noscript.html'] | ||
6 | prune: no | ||
7 | |||
8 | test_url: http://towerofthehand.com/blog/2014/08/08-pitch-this-got-spinoff/index.html | ||
9 | test_url: http://towerofthehand.com/blog/2014/07/31-definitions-and-embodiments/index.html | ||
10 | test_url: http://towerofthehand.com/blog/2014/07/03-hero-with-thousand-faces/index.html | ||
diff --git a/inc/3rdparty/site_config/standard/twitter.com.txt b/inc/3rdparty/site_config/standard/twitter.com.txt index 520ebd85..0e5b7487 100755 --- a/inc/3rdparty/site_config/standard/twitter.com.txt +++ b/inc/3rdparty/site_config/standard/twitter.com.txt | |||
@@ -6,4 +6,5 @@ date: //span[contains(@class, 'js-short-timestamp')]/@data-time | |||
6 | prune: no | 6 | prune: no |
7 | tidy: no | 7 | tidy: no |
8 | 8 | ||
9 | test_url: https://twitter.com/medialens/status/216883678582804480 \ No newline at end of file | 9 | test_url: https://twitter.com/medialens/status/216883678582804480 |
10 | test_contains: is all but alone in challenging the tsunami of UK | ||
diff --git a/inc/3rdparty/site_config/standard/vanityfair.com.txt b/inc/3rdparty/site_config/standard/vanityfair.com.txt index efa38224..f52339cf 100755 --- a/inc/3rdparty/site_config/standard/vanityfair.com.txt +++ b/inc/3rdparty/site_config/standard/vanityfair.com.txt | |||
@@ -2,6 +2,7 @@ title: //meta[@property="og:title"]/@content | |||
2 | author: //div[contains(@class, 'byline')]//span[contains(@class, 'name')] | 2 | author: //div[contains(@class, 'byline')]//span[contains(@class, 'name')] |
3 | date: //div[contains(@class, 'cn_date_time')] | 3 | date: //div[contains(@class, 'cn_date_time')] |
4 | body: //div[contains(@class, 'pageContainers')] | 4 | body: //div[contains(@class, 'pageContainers')] |
5 | body: //div[@id='main'] | ||
5 | body: //article[@id='items-container'] | 6 | body: //article[@id='items-container'] |
6 | #body: //h2[@class='sub-header'] | //div[contains(@class, 'contributor-type') or @class='display-date' or @class='content-container'] | 7 | #body: //h2[@class='sub-header'] | //div[contains(@class, 'contributor-type') or @class='display-date' or @class='content-container'] |
7 | 8 | ||
@@ -26,5 +27,7 @@ strip: //li[@class='blogNavPrev'] | |||
26 | single_page_link: //a[@title='Print this page'] | 27 | single_page_link: //a[@title='Print this page'] |
27 | 28 | ||
28 | test_url: http://www.vanityfair.com/politics/features/2011/05/egypt-revolutionaries-201105 | 29 | test_url: http://www.vanityfair.com/politics/features/2011/05/egypt-revolutionaries-201105 |
30 | test_contains: nothing can take away from the miracle of Tahrir Square | ||
31 | |||
29 | test_url: http://www.vanityfair.com/politics/features/2008/08/hitchens200808 | 32 | test_url: http://www.vanityfair.com/politics/features/2008/08/hitchens200808 |
30 | test_url: http://www.vanityfair.com/style/2012/01/prisoners-of-style-201201 \ No newline at end of file | 33 | test_url: http://www.vanityfair.com/style/2012/01/prisoners-of-style-201201 |
diff --git a/inc/3rdparty/site_config/standard/wn.de.txt b/inc/3rdparty/site_config/standard/wn.de.txt new file mode 100755 index 00000000..ef18c8a5 --- /dev/null +++ b/inc/3rdparty/site_config/standard/wn.de.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | author: //div[@id='main']//div[@class='col right']//div[contains(@class, 'attribute-author')] | ||
2 | body: //div[@id='main']//div[@class='col right'] | ||
3 | strip_id_or_class: boxes | ||
4 | strip_id_or_class: lazy | ||
5 | strip_id_or_class: comment_box | ||
6 | strip_id_or_class: fb_comments | ||
7 | |||
8 | find_string: <noscript> | ||
9 | replace_string: <div> | ||
10 | find_string: </noscript> | ||
11 | replace_string: </div> | ||
12 | |||
13 | prune: no | ||
14 | tidy: no | ||
15 | |||
16 | test_url: http://www.wn.de/Muenster/Kultur/1742956-Wilm-Weppelmann-verlaesst-die-Einsiedelei-Und-dann-ab-unter-die-Dusche | ||
17 | # feed | ||
18 | test_url: http://www.wn.de/rss/feed/wn_muenster \ No newline at end of file | ||
diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php index b5dd2120..f6ba4708 100755 --- a/inc/poche/Database.class.php +++ b/inc/poche/Database.class.php | |||
@@ -24,15 +24,17 @@ class Database { | |||
24 | switch (STORAGE) { | 24 | switch (STORAGE) { |
25 | case 'sqlite': | 25 | case 'sqlite': |
26 | // Check if /db is writeable | 26 | // Check if /db is writeable |
27 | if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) { | 27 | if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) { |
28 | die('An error occured: "db" directory must be writeable for your web server user!'); | 28 | die('An error occured: "db" directory must be writeable for your web server user!'); |
29 | } | 29 | } |
30 | $db_path = 'sqlite:' . STORAGE_SQLITE; | 30 | $db_path = 'sqlite:' . STORAGE_SQLITE; |
31 | $this->handle = new PDO($db_path); | 31 | $this->handle = new PDO($db_path); |
32 | break; | 32 | break; |
33 | case 'mysql': | 33 | case 'mysql': |
34 | $db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB; | 34 | $db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4'; |
35 | $this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD); | 35 | $this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array( |
36 | PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', | ||
37 | )); | ||
36 | break; | 38 | break; |
37 | case 'postgres': | 39 | case 'postgres': |
38 | $db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB; | 40 | $db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB; |
diff --git a/inc/poche/Language.class.php b/inc/poche/Language.class.php index 8d3912f5..420f2fb9 100644 --- a/inc/poche/Language.class.php +++ b/inc/poche/Language.class.php | |||
@@ -18,6 +18,7 @@ class Language | |||
18 | 'cs_CZ.utf8' => 'čeština', | 18 | 'cs_CZ.utf8' => 'čeština', |
19 | 'de_DE.utf8' => 'German', | 19 | 'de_DE.utf8' => 'German', |
20 | 'en_EN.utf8' => 'English', | 20 | 'en_EN.utf8' => 'English', |
21 | 'en_US.utf8' => 'English (US)', | ||
21 | 'es_ES.utf8' => 'Español', | 22 | 'es_ES.utf8' => 'Español', |
22 | 'fa_IR.utf8' => 'فارسی', | 23 | 'fa_IR.utf8' => 'فارسی', |
23 | 'fr_FR.utf8' => 'Français', | 24 | 'fr_FR.utf8' => 'Français', |
@@ -110,4 +111,4 @@ class Language | |||
110 | Tools::emptyCache(); | 111 | Tools::emptyCache(); |
111 | Tools::redirect('?view=config'); | 112 | Tools::redirect('?view=config'); |
112 | } | 113 | } |
113 | } \ No newline at end of file | 114 | } |
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 8cebafa3..16235474 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php | |||
@@ -314,6 +314,8 @@ class Poche | |||
314 | 314 | ||
315 | switch ($view) | 315 | switch ($view) |
316 | { | 316 | { |
317 | case 'about': | ||
318 | break; | ||
317 | case 'config': | 319 | case 'config': |
318 | $dev_infos = $this->_getPocheVersion('dev'); | 320 | $dev_infos = $this->_getPocheVersion('dev'); |
319 | $dev = trim($dev_infos[0]); | 321 | $dev = trim($dev_infos[0]); |
@@ -388,7 +390,7 @@ class Poche | |||
388 | $this->pagination->page_links('?view=' . $view . '?search=' . $search . '&sort=' . $_SESSION['sort'] . '&' )); | 390 | $this->pagination->page_links('?view=' . $view . '?search=' . $search . '&sort=' . $_SESSION['sort'] . '&' )); |
389 | $tpl_vars['page_links'] = $page_links; | 391 | $tpl_vars['page_links'] = $page_links; |
390 | $tpl_vars['nb_results'] = $count; | 392 | $tpl_vars['nb_results'] = $count; |
391 | $tpl_vars['search_term'] = $search; | 393 | $tpl_vars['searchterm'] = $search; |
392 | } | 394 | } |
393 | break; | 395 | break; |
394 | case 'view': | 396 | case 'view': |
diff --git a/inc/poche/Routing.class.php b/inc/poche/Routing.class.php index 0b373058..6ae93d21 100755 --- a/inc/poche/Routing.class.php +++ b/inc/poche/Routing.class.php | |||
@@ -119,7 +119,7 @@ class Routing | |||
119 | } elseif (isset($_GET['deluser'])) { | 119 | } elseif (isset($_GET['deluser'])) { |
120 | $this->wallabag->deleteUser($_POST['password4deletinguser']); | 120 | $this->wallabag->deleteUser($_POST['password4deletinguser']); |
121 | } elseif (isset($_GET['epub'])) { | 121 | } elseif (isset($_GET['epub'])) { |
122 | $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['id'], $_GET['value']); | 122 | $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['value']); |
123 | $epub->run(); | 123 | $epub->run(); |
124 | } elseif (isset($_GET['import'])) { | 124 | } elseif (isset($_GET['import'])) { |
125 | $import = $this->wallabag->import(); | 125 | $import = $this->wallabag->import(); |
diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php index 93ec3fc6..f803e3b5 100755 --- a/inc/poche/Tools.class.php +++ b/inc/poche/Tools.class.php | |||
@@ -51,6 +51,7 @@ final class Tools | |||
51 | 51 | ||
52 | $serverport = (!isset($_SERVER["SERVER_PORT"]) | 52 | $serverport = (!isset($_SERVER["SERVER_PORT"]) |
53 | || $_SERVER["SERVER_PORT"] == '80' | 53 | || $_SERVER["SERVER_PORT"] == '80' |
54 | || $_SERVER["SERVER_PORT"] == HTTP_PORT | ||
54 | || ($https && $_SERVER["SERVER_PORT"] == '443') | 55 | || ($https && $_SERVER["SERVER_PORT"] == '443') |
55 | || ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection | 56 | || ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection |
56 | ? '' : ':' . $_SERVER["SERVER_PORT"]); | 57 | ? '' : ':' . $_SERVER["SERVER_PORT"]); |
@@ -116,7 +117,7 @@ final class Tools | |||
116 | { | 117 | { |
117 | $views = array( | 118 | $views = array( |
118 | 'install', 'import', 'export', 'config', 'tags', | 119 | 'install', 'import', 'export', 'config', 'tags', |
119 | 'edit-tags', 'view', 'login', 'error' | 120 | 'edit-tags', 'view', 'login', 'error', 'about' |
120 | ); | 121 | ); |
121 | 122 | ||
122 | return (in_array($view, $views) ? $view . '.twig' : 'home.twig'); | 123 | return (in_array($view, $views) ? $view . '.twig' : 'home.twig'); |
diff --git a/inc/poche/config.inc.default.php b/inc/poche/config.inc.default.php index 2a458544..f666f468 100755 --- a/inc/poche/config.inc.default.php +++ b/inc/poche/config.inc.default.php | |||
@@ -24,6 +24,8 @@ | |||
24 | ################################################################################# | 24 | ################################################################################# |
25 | # Do not trespass unless you know what you are doing | 25 | # Do not trespass unless you know what you are doing |
26 | ################################################################################# | 26 | ################################################################################# |
27 | // Change this if http is running on nonstandard port - i.e is behind cache proxy | ||
28 | @define ('HTTP_PORT', 80); | ||
27 | 29 | ||
28 | // Change this if not using the standart port for SSL - i.e you server is behind sslh | 30 | // Change this if not using the standart port for SSL - i.e you server is behind sslh |
29 | @define ('SSL_PORT', 443); | 31 | @define ('SSL_PORT', 443); |
diff --git a/install/index.php b/install/index.php index 89dfc017..fee063bb 100755 --- a/install/index.php +++ b/install/index.php | |||
@@ -102,12 +102,14 @@ else if (isset($_POST['install'])) { | |||
102 | $content = file_get_contents('inc/poche/config.inc.php'); | 102 | $content = file_get_contents('inc/poche/config.inc.php'); |
103 | 103 | ||
104 | if ($_POST['db_engine'] == 'mysql') { | 104 | if ($_POST['db_engine'] == 'mysql') { |
105 | $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database']; | 105 | $db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'] . ';charset=utf8mb4'; |
106 | $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['mysql_server']."');", $content); | 106 | $content = str_replace("define ('STORAGE_SERVER', 'localhost');", "define ('STORAGE_SERVER', '".$_POST['mysql_server']."');", $content); |
107 | $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['mysql_database']."');", $content); | 107 | $content = str_replace("define ('STORAGE_DB', 'poche');", "define ('STORAGE_DB', '".$_POST['mysql_database']."');", $content); |
108 | $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['mysql_user']."');", $content); | 108 | $content = str_replace("define ('STORAGE_USER', 'poche');", "define ('STORAGE_USER', '".$_POST['mysql_user']."');", $content); |
109 | $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); | 109 | $content = str_replace("define ('STORAGE_PASSWORD', 'poche');", "define ('STORAGE_PASSWORD', '".$_POST['mysql_password']."');", $content); |
110 | $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password']); | 110 | $handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array( |
111 | PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', | ||
112 | )); | ||
111 | 113 | ||
112 | $moreQueries[] = "INSERT INTO `entries` (`id`, `title`, `url`, `is_read`, `is_fav`, `content`, `user_id`) VALUES | 114 | $moreQueries[] = "INSERT INTO `entries` (`id`, `title`, `url`, `is_read`, `is_fav`, `content`, `user_id`) VALUES |
113 | (1, 'Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', 0, 0, 0x0a3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a, 1), | 115 | (1, 'Framabag, un nouveau service libre et gratuit', 'http://www.framablog.org/index.php/post/2014/02/05/Framabag-service-libre-gratuit-interview-developpeur', 0, 0, 0x0a3c68323e556e6520696e74657276696577206465204e69636f6c61732c20736f6e2064c3a976656c6f70706575722e3c2f68323e0a3c703e3c656d3e496c206e6520766f757320612073c3bb72656d656e742070617320c3a96368617070c3a920717565206e6f74726520636f6e736f6d6d6174696f6e20646520636f6e74656e75732064752057656220657374207465727269626c656d656e74206368726f6e6f706861676520657420706172746963756c69c3a872656d656e7420667275737472616e746520746f757420c3a0206c6120666f6973c2a03a206e6f6e207365756c656d656e74206e6f757320706173736f6e732062656175636f7570202874726f70c2a03f292064652074656d707320656e206c69676e6520c3a0206578706c6f726572206c6573206d696e6573206175726966c3a8726573206465206c6120746f696c652c20792064c3a974656374616e742070c3a970697465732065742066696c6f6e732c206d616973206e6f757320736f6d6d657320737572746f757420636f6e7374616d6d656e7420656e206d616e7175652e204dc3aa6d65207369206e6f7573206e6520736f6d6d6573207061732064616e73206c65207a617070696e67206672c3a96ec3a9746971756520736920666163696c656d656e742064c3a96e6f6e63c3a920706172206c657320646f637465732070737963686f6c6f677565732071756920706f6e74696669656e7420737572206c65732064616e67657273206475206e756dc3a9726971756520706f7572206c6573206a65756e65732063657276656c6c65732c20696c206e6f7573207669656e7420736f7576656e74206c6520676fc3bb7420616d6572206465206ce28099696e6163686576c3a9c2a03a20706173206c652074656d707320646520746f7574206c69726520283c6120687265663d22687474703a2f2f66722e77696b74696f6e6172792e6f72672f77696b692f544c4452223e544c3b44523c2f613e2065737420646576656e75206c6520636c696e2064e28099c593696c206d692d6669677565206d692d72616973696e2064e28099756e652067c3a96ec3a9726174696f6e206465206c65637465757273207072657373c3a973292c207061732074726f70206c652074656d70732064652072c3a9666cc3a963686972206e6f6e20706c75732068c3a96c61732c20706173206c652074656d707320646520737569767265206c6120726962616d62656c6c65206465206c69656e73206173736f6369c3a97320c3a020756e2061727469636c65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e506f7572206e6f757320646f6e6e657220626f6e6e6520636f6e736369656e63652c206e6f75732072616e67656f6e73207363727570756c657573656d656e7420756e206d61727175652d7061676520646520706c75732064616e7320756e20736f75732d646f73736965722071756920656e20636f6d706f7274652064c3a96ac3a0203235362c206e6f7573206e6f746f6e7320756e20c3a96cc3a96d656e7420646520706c75732064616e73206c6120746f756a6f757273207269646963756c656d656e74206c6f6e67756520746f75646f756c697374652c2062726566206e6f75732072656d6574746f6e7320c3a020706c757320746172642c2063e280996573742dc3a02d64697265206c6520706c757320736f7576656e742061757820696e74726f757661626c65732063616c656e6465732067726563717565732c206c6520736f696e206465206c69726520767261696d656e7420756e2061727469636c65206a7567c3a920696e74c3a972657373616e742c20646520726567617264657220756e6520766964c3a96f207369676e616cc3a96520706172206c65732072c3a97a6f73736f63696f732c206465206c69726520756e20636861706974726520656e746965722064e28099756e206f75767261676520646973706f6e69626c6520656e206c69676e65e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e416c6f7273206269656e2073c3bb722c20c3a02064c3a966617574206465206e6f757320646f6e6e657220746f7574206c652074656d70732071756920736572616974206ec3a963657373616972652c2064657320736f6c7574696f6e73206578697374656e7420706f7572206e6f7573207065726d657474726520646520c2abc2a06c69726520706c75732074617264c2a0c2bb20656e20736175766567617264616e74206c65207072c3a9636965757820706f6c6c656e206465206e6f7320627574696e61676573206465207369746520656e20736974652c2065742064e28099656e20666169726520756c74c3a97269657572656d656e7420766f747265206d69656cc2a03b2063e280996573742062656c20657420626f6e206d616973206c65732072756368657320736f6e7420756e207065752064697374616e7465732c20c3a7612073e28099617070656c6c65206c6520636c6f756420286e6f7320616d69732074656368696573206de280996f6e74206269656e206578706c697175c3a9206d616973206ae280996169207365756c656d656e7420636f6d70726973207175652064657320747275637320c3a0206d6f6920736f6e742073757220646573206d616368696e6573206c6f696e7461696e65732c20c3a761206e65206d652072617373757265207061732074726f702920657420656c6c657320736f6e7420736f7576656e742070726f707269c3a97461697265732c206e65206c61697373616e7420656e7472657220717565206c6573203c733e7574696c69736174657572733c2f733e20636f6e736f6d6d61746575727320706179616e74732065742071756920636f6e73656e74656e7420c3a0206c6575727320636f6e646974696f6e732e2053616e7320636f6d70746572207175652064652067726f7320626f7572646f6e73207669656e6e656e742070726f666974657220706c7573206f75206d6f696e73206469736372c3a874656d656e7420646520746f757465732063657320747261636573206465206e6f75732d6dc3aa6d657320717569207065726d657474656e74206465206d6f6ec3a97469736572206e6f7472652070726f66696cc2a03a207369206a6520636f6c6c65637465207375722063657320736572766963657320286e65206c6573206e6f6d6d6f6e73207061732c206a757374656d656e742920756e652073c3a97269652064e2809961727469636c657320737572206ce280996964c3a965206465204e6174757265206368657a2044696465726f742c206a6520726563657672616920646976657273657320736f6c6c696369746174696f6e7320706f757220646576656e697220636c69656e74206465206c6120626f757469717565204e61747572652026616d703b2044c3a9636f75766572746520647520626f756c65766172642044696465726f742e2045742073692064e280996176656e74757265206c65732070726f6772616d6d6573206465206c61204e5341206d6f756c696e656e7420737572206c6520736572766963652c206a6520736572616920706575742dc3aa74726520756e206a6f75722064616e7320756e65206c6973746520646573206d696c6974616e7473206e61747572697374657320696e64c3a973697261626c657320737572206c657320766f6c73206465206c612050616e416d20286a65206e65207361697320706c75732074726f70207369206a6520706c616973616e7465206cc3a02c2066696e616c656d656e74e280a6293c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6120626f6e6e65206964c3a965c2a03a20c2abc2a0736520636f6e7374697475657220756e2072c3a9736572766f697220646520646f63756d656e74732073c3a96c656374696f6e6ec3a97320c3a020706172636f7572697220706c75732074617264c2a0c2bb20617070656c61697420646f6e6320756e6520617574726520626f6e6e65206964c3a9652c2063656c6c652064e2809961766f6972206c6520636f6e7472c3b46c652064652063652072c3a9736572766f69722c206465206e6f74726520636f6c6c656374696f6e20706572736f6e6e656c6c652e2043e28099657374204e69636f6c6173204cc59375696c6c65742c2063692d646573736f757320696e74657276696577c3a92c207175692073e28099792065737420636f6c6cc3a9206176656320756e652062656c6c65206170706c69636174696f6e20617070656cc3a96520657568e280a6206f75692c20617070656cc3a9652057616c6c616261672e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61736f667420736f757469656e742064e28099617574616e7420706c757320736f6e20696e6974696174697665207175e280993c6120687265663d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f696e6465782e7068702f706f73742f323031342f30312f33312f4765656b74696f6e6e6572642d57616c6c61626167223e6f6e206c7569206120636865726368c3a920646573206d6973c3a872657320706f757220756e6520686973746f697265206465206e6f6d3c2f613e206574207175e28099696c2065737420706f737369626c652064e28099696e7374616c6c657220736f692d6dc3aa6d6520756e6520636f7069652064652057616c6c616261672073757220736f6e2070726f70726520736974652e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4c6520706574697420706c7573206465204672616d61736f66742c2072c3a97365617520746f756a6f7572732064c3a973697265757820646520766f75732070726f706f7365722064657320616c7465726e617469766573206c6962c3a972617472696365732c2063e2809965737420646520766f75732070726f706f736572202873757220696e736372697074696f6e207072c3a9616c61626c652920756e20616363c3a873206175204672616d616261672c2061757472656d656e742064697420766f7472652057616c6c616261672073757220756e2073657276657572204672616d612a2061766563206e6f74726520676172616e74696520646520636f6e666964656e7469616c6974c3a92e20436f6d6d6520706f7572206c65204672616d616e6577732c206e6f757320766f7573206163637565696c6c6f6e7320766f6c6f6e74696572732064616e73206c61206c696d697465206465206e6f732063617061636974c3a9732c20656e20766f757320696e766974616e7420c3a020766f7573206c616e6365722064616e7320766f747265206175746f2d68c3a962657267656d656e742064652057616c6c616261672e3c6272202f3e4365742061727469636c65206573742074726f70206c6f6e67c2a03f204d657474657a2d6c652064616e73203c6120687265663d22687474703a2f2f7777772e6672616d616261672e6f72672f696e6465782e706870223e766f747265204672616d616261673c2f613e20657420686f702e3c6272202f3e3c2f656d3e3c2f703e0a3c703e3c656d3e4672616d61626c6f67c2a03a2053616c7574204e69636f6c6173e280a62054752070657578207465207072c3a973656e74657220627269c3a876656d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e53616c7574c2a0212044c3a976656c6f70706575722050485020646570756973207175656c7175657320616e6ec3a96573206d61696e74656e616e742028313020616e73292c206ae28099616920766f756c75206d652072656d657474726520c3a0206e697665617520746563686e697175656d656e74207061726c616e742028646570756973203320616e732c206ae28099616920706173206d616c206cc3a26368c3a9206c6520636c6176696572292e20506f7572206d6573206265736f696e7320706572736f732c206ae28099616920646f6e63206372c3a9c3a920756e2070657469742070726f6a657420706f75722072656d706c6163657220756e6520736f6c7574696f6e2070726f707269c3a97461697265206578697374616e74652e2053616e7320617563756e65207072c3a974656e74696f6e2c206ae2809961692068c3a962657267c3a92063652070726f6a6574207375722047697468756220657420636f6d6d652063e28099657374206c61207365756c6520736f6c7574696f6e203c656d3e6f70656e20736f757263653c2f656d3e20646520636520747970652c206c65206e6f6d62726520646520706572736f6e6e657320696e74c3a972657373c3a965732061206175676d656e74c3a920e280a63c2f703e0a3c703e3c656d3e4c6573207574696c6973617465757273206465207365727669636573204672616d61736f6674206e65206c6520736176656e742070617320666f7263c3a96d656e742c206d6169732074752061732064c3a96ac3a020706173206d616c207061727469636970c3a920c3a0206c61204672616d6147616c617869652c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e456e2065666665742e204ae28099616920636f6d6d656e63c3a920756e20706c7567696e20706f7572204672616d616e6577732c203c6120687265663d2268747470733a2f2f6769746875622e636f6d2f6e69636f736f6d622f74747273732d70757267652d6163636f756e7473223e74747273732d70757267652d6163636f756e74733c2f613e2c20717569207065726d6574206465206e6574746f796572206c61206261736520646520646f6e6ec3a9657320646520636f6d7074657320706c7573207574696c6973c3a9732e204d616973206365203c656d3e706c7567696e3c2f656d3e2061206265736f696e2064e28099c3aa747265207465726d696ec3a920c3a0203130302520706f757220c3aa74726520696e74c3a96772c3a9206175207365696e206465204672616d616e6577732028657420646f6e632064652054696e792054696e7920525353292c207369207175656c7175e28099756e20736f756861697465206de2809961696465722c20696c206ee2809979206120617563756e20736f7563692e3c6272202f3e4ae28099616920617573736920666169742031206f7520322061707061726974696f6e732064616e73206465732074726164756374696f6e7320706f7572204672616d61626c6f672e205269656e2064e2809965787472616f7264696e616972652c206a65206e652073756973207061732062696c696e6775652c20c3a761206d65207065726d6574206465206de28099656e747261c3ae6e65722e3c2f703e0a3c703e3c656d3e5061726c6f6e73206465207375697465206465206365207175692066c3a2636865c2a03a20746f6e206170706c69636174696f6e2057616c6c616261672c20656c6c652073e28099617070656c6c6169742070617320e2809c506f636865e2809d2c206176616e74c2a03f205475206e6f7573207261636f6e746573206ce28099686973746f697265c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e45756820656e20656666657420e280a62044c3a96ac3a02c20706f757271756f69203c656d3e706f6368653c2f656d3ec2a03f20506172636520717565206ce28099756e206465732074726f697320c2abc2a074c3a96e6f7273c2a0c2bb20737572206c65206d61726368c3a92073e28099617070656c6c65203c656d3e506f636b65743c2f656d3e2e20436f6d6d65206d6f6e206170706c69206ee28099c3a9746169742064657374696ec3a965207175e28099c3a0206d6f6e20757361676520706572736f6e6e656c2061752064c3a9706172742c206a65206e65206d6520737569732070617320746f72747572c3a9206269656e206c6f6e6774656d70732e3c2f703e0a3c703e43657420c3a974c3a92c206f6e2061206661696c6c69206368616e676572206465206e6f6d2c207175616e6420696c2079206120657520646520706c757320656e20706c75732064e280997574696c69736174657572732e2045742070756973206f6e2073e28099657374206469742071756520706f6368652c2063e28099c3a97461697420706173206d616c2c20c3a76120736f6e6e616974206269656e206672616ec3a761697320657420707569732061766563206c6573207175656c717565732064697a61696e65732064e280997574696c69736174657572732c206f6e206e652067c3aa6e657261697420706572736f6e6e652e3c2f703e0a3c703e43e280996573742073616e7320636f6d707465722061766563206c657320736f6369c3a974c3a97320616dc3a972696361696e6573206574206c6575722066c3a2636865757365206d616e696520646520766f756c6f697220656e766f796572206c657572732061766f6361747320c3a020746f757420626f7574206465206368616d702e204c65203233206a616e766965722c206ae280996169207265c3a77520756e20656d61696c206465206c61207061727420647520636162696e65742064e2809961766f6361747320646520506f636b6574206d652064656d616e64616e74206465206368616e676572206c65206e6f6d2c206c65206c6f676f2c206465206e6520706c7573207574696c69736572206c65207465726d6520e2809c726561642d69742d6c61746572e2809d2028c2abc2a06c6973657a206c6520706c75732074617264c2a0c2bb29206574206465206e6520706c757320646972652071756520506f636b6574206ee280996573742070617320677261747569742028746f7574206573742070617274692064e280993c6120687265663d2268747470733a2f2f747769747465722e636f6d2f77616c6c616261676170702f7374617475732f343233373836333635393434323235373932223e756e2074776565743c2f613e206fc3b9206a65207175616c6966696520506f636b657420646520c2abc2a06e6f6e2066726565c2a0c2bb20c3a0207361766f6972206e6f6e206c69627265292e20427265662c206dc3aa6d65207369206a652073656d626c6169732064616e73206d6f6e2064726f69742c206ae280996169207175616e64206dc3aa6d652070726973206c612064c3a9636973696f6e206465206368616e676572206465206e6f6d2065742057616c6c6162616720657374206ec3a92c20737569746520617578203c6120687265663d22687474703a2f2f6672616d61646174652e6f72672f73747564732e7068703f736f6e646167653d6c6c6370366f6a70796339706b6c6861223e64697a61696e65732064652070726f706f736974696f6e73206465206e6f6d207265c3a77565733c2f613e2e2043e2809965737420756e206dc3a96c616e676520656e747265206c652077616c6c61627920286465206c612066616d696c6c6520646573206b616e676f75726f75732c207175692073746f636b656e742064616e73206c65757220706f63686520636520717569206c65757220657374206368657229206574203c656d3e6261673c2f656d3e20286c6573207465726d657320736163202f207361636f636865202f2062657361636520736f6e7420c3a96e6f726dc3a96d656e7420726576656e7573292e204d616973206d61696e74656e616e742c206f6e207661206465206ce280996176616e742c20706c75732064652074656d707320c3a020706572647265206176656320c3a7612c206f6e2061206475207061696e20737572206c6120706c616e6368652e3c6272202f3e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f77616c6c6162795f626162792e6a70672220616c743d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f6368652220636c6173733d22633122207469746c653d2277616c6c61627920617665632062c3a962c3a92064616e7320736120706f63686522202f3e206372c3a96469742070686f746f203c6120687265663d22687474703a2f2f7777772e666c69636b722e636f6d2f70686f746f732f3236373832383634404e30302f353032373230323233342f696e2f70686f746f6c6973742d3845654a35412d6831544c36762d4e454c38312d636e4e6b536f2d39594d3174762d374b636736622d387a70416f612d61315a4c4d4e2d39594d3339722d3768355341442d38456548664c2d3845654677752d647456776e4d2d38756f4d45312d4a457a58652d47713471792d3932564a50522d43786531762d38483344324a2d61315a464e732d395937324b362d38456547784c2d354c353346782d354e6b454e732d3555384354592d354e6b7373682d6e6b6176462d3943726777502d3773644341612d647566324b682d685a65707a792d685a645531652d685a656f66462d685a656b44672d685a656741592d685a654d5a6e2d6a61486741662d3850383744322d354e677152762d6154343851422d685a645634592d685a654336342d45526770732d3556594747642d3556594a42312d354e6b72466b2d364a786837682d3768395075512d4552664d782d6831553169682d683155534278223e57696c6c69616d2057617262793c2f613e20717569206175746f72697365206578706c69636974656d656e7420746f7574652072c3a97574696c69736174696f6e2e3c2f703e0a3c703e3c656d3e426f6e2c20616c6f7273206578706c697175652d6d6f6920636520717565206a65207661697320706f75766f69722066616972652061766563204672616d61626167e280a63c6272202f3e3c2f656d3e3c2f703e0a3c703e416c6f7273204672616d616261672c20c3a761207465207065726d6574206465207465206372c3a9657220756e20636f6d7074652067726174756974656d656e74206574206c696272656d656e7420706f757220706f75766f6972207574696c697365722057616c6c616261672e205365756c6520746f6e206164726573736520656d61696c20657374206ec3a963657373616972652c206f6e207365206368617267652064e28099696e7374616c6c6572206574206465206d657474726520c3a0206a6f75722057616c6c6162616720706f757220746f692e20547520706575782064e2809961696c6c657572732070726f6669746572203c6120687265663d22687474703a2f2f7777772e6672616d61736f66742e6e65742f23746f705067436c6f7564223e64e280996175747265732073657276696365732070726f706f73c3a97320706172204672616d61736f6674206963693c2f613e2e3c2f703e0a3c703ec380206365206a6f75722c20696c207920612038333420636f6d70746573206372c3a9c3a97320737572204672616d616261672e3c2f703e0a3c703e3c656d3e566f7573206176657a20767261696d656e7420636f6ec3a7752063652073657276696365206166696e207175e280996f6e20707569737365206ce280997574696c69736572206176656320756e206d6178696d756d2064e280996f7574696c732c206e6f6ec2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4175746f7572206465206ce280996170706c69636174696f6e207765622c20696c206578697374652064c3a96ac3a020646573206170706c69636174696f6e7320706f757220736d61727470686f6e65732028416e64726f69642065742057696e646f77732050686f6e65292c2064657320657874656e73696f6e732046697265666f7820657420476f6f676c65204368726f6d652e3c2f703e0a3c703e436f6d6d652057616c6c6162616720706f7373c3a864652064657320666c7578205253532c2063e2809965737420666163696c65206465206c697265206c65732061727469636c657320736175766567617264c3a97320737572207361206c697365757365202873692063656c6c652d6369207065726d6574206465206c6972652064657320666c757820525353292e2043616c696272652028c2abc2a06c6f67696369656c206465206c6563747572652c2064652067657374696f6e206465206269626c696f7468c3a87175657320657420646520636f6e76657273696f6e206465206669636869657273206e756dc3a972697175657320646520747970652065626f6f6b206f75206c6976726520c3a96c656374726f6e69717565c2a0c2bb2c6e6f757320646974207562756e74752d66722e6f72672920696e74c3a867726520646570756973207175656c717565732073656d61696e6573206d61696e74656e616e74206c6120706f73736962696c6974c3a92064652072c3a9637570c3a9726572206c65732061727469636c6573206e6f6e206c75732c20707261746971756520706f757220666169726520756e20666963686965722065507562c2a0213c2f703e0a3c703e44e28099617574726573206170706c69636174696f6e7320776562207065726d657474656e74206ce28099696e74c3a967726174696f6e20617665632057616c6c61626167202846726573685253532c204c6565642065742054696e792054696e792052535320706f7572206c657320616772c3a96761746575727320646520666c7578292e204ce2809941504920717569207365726120646973706f6e69626c652064616e73206c612070726f636861696e652076657273696f6e2064652057616c6c61626167207065726d657474726120656e636f726520706c75732064e28099696e74657261637469766974c3a92e3c2f703e0a3c703e3c656d3e5920612d742d696c20756e206d6f6465206465206c65637475726520686f7273206c69676e65206f75206573742d6365207175652063e28099657374207072c3a9767520706f7572206c65732070726f636861696e65732076657273696f6e73c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e496c2079206120756e2070736575646f206d6f646520686f7273206c69676e652c20646973706f6e69626c652061766563206ce280996170706c69636174696f6e20416e64726f69642e204f6e20706575742072c3a9637570c3a9726572202876696120756e20666c75782052535329206c65732061727469636c6573206e6f6e206c757320717565206ce280996f6e206120736175766567617264c3a9732e20556e6520666f69732064c3a9636f6e6e656374c3a92c206f6e207065757420636f6e74696e75657220c3a0206c6972652073757220736f6e20736d61727470686f6e65206f75207361207461626c65747465206c65732061727469636c65732e2050617220636f6e7472652c20696c206d616e7175652064657320666f6e6374696f6e6e616c6974c3a973c2a03a207175616e64207475206d61727175657320756e2061727469636c6520636f6d6d65206c752c206365206ee28099657374207061732073796e6368726f6e6973c3a92061766563206c612076657273696f6e207765622064652057616c6c616261672e204ae28099657370c3a8726520717565206a652073756973207072657371756520636c6169722064616e73206d6573206578706c69636174696f6e732e3c2f703e0a3c703e506f7572206c612076322c20717569206573742064c3a96ac3a020656e20636f7572732064652064c3a976656c6f7070656d656e742c206fc3b9206a652073756973206269656e20616964c3a9207061722056696e63656e74204a6f757373652c206f6e2061757261206c6120706f73736962696c6974c3a92064e2809961766f697220756e2076726169206d6f646520686f7273206c69676e652e3c2f703e0a3c703e3c656d3e416c6f7273207369206f6e2076657574206169646572202f2070617274696369706572202f20747269666f75696c6c6572206c6520636f6465202f20766f757320656e766f79657220646573207265746f7572732c206f6e206661697420636f6d6d656e74c2a03f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4f6e207065757420616964657220646520706c75736965757273206661c3a76f6e73c2a03a3c2f703e0a3c756c3e3c6c693e7574696c697365722077616c6c61626167206574206e6f75732072656d6f6e746572206c65732070726f626cc3a86d65732072656e636f6e7472c3a973c2a03b3c2f6c693e0a3c6c693e706172746963697065722061752064c3a976656c6f7070656d656e74206465206ce280996170706c69636174696f6e2068747470733a2f2f6769746875622e636f6d2f77616c6c616261672f77616c6c616261672053692053696c6578202f2053796d666f6e7932202f2048544d4c35202f206574632e207465207061726c656e742c206ee2809968c3a97369746520706173c2a0213c2f6c693e0a3c6c693e636f6d6d6520746f75742070726f6a65742c206c652067726f7320706f696e74206e6f697220657374206c65206d616e71756520646520646f63756d656e746174696f6e2e203c6120687265663d22687474703a2f2f646f632e77616c6c616261672e6f7267223e456c6c652065737420646973706f206963693c2f613e206d61697320696c206d616e71756520706c65696e2064652063686f73657320657420746f7574206ee280996573742070617320c3a0206a6f7572c2a03b3c2f6c693e0a3c6c693e7061726c65722064652057616c6c61626167206175746f757220646520766f7573c2a03b3c2f6c693e0a3c6c693e696c20657869737465203c6120687265663d2268747470733a2f2f666c617474722e636f6d2f7468696e672f313236353438302f706f6368652d612d726561642d69742d6c617465722d6f70656e2d736f757263652d73797374656d223e756e20636f6d70746520466c617474723c2f613e2e3c2f6c693e0a3c2f756c3e3c703e3c656d3e4c65206d6f74206465206c612066696ee280a63f3c6272202f3e3c2f656d3e3c2f703e0a3c703e4d6572636920c3a0204672616d61736f66742064e280996163637565696c6c697220657420646520736f7574656e69722057616c6c61626167c2a0213c2f703e0a3c703e4c6120726f7574652065737420656e636f7265206269656e206c6f6e67756520706f7572206e6520706c7573207574696c6973657220646520736f6c7574696f6e732070726f707269c3a97461697265732c206d616973206f6e2064657672616974207920617272697665722c206e6f6ec2a03f3c2f703e0a3c703e3c696d67207372633d22687474703a2f2f7777772e6672616d61626c6f672e6f72672f7075626c69632f5f696d672f6672616d61626c6f672f706c65696e4c6573506f636865732e706e672220616c743d226672616d61736f667420706c65696e206c657320706f636865732220636c6173733d22633122207469746c653d226672616d61736f667420706c65696e206c657320706f6368657322202f3e3c6272202f3e3c6120687265663d22687474703a2f2f6672616d616c61622e6f72672f676b6e642d63726561746f722f223e6861636b657a2047c3a967c3a9c2a0213c2f613e3c2f703e0a, 1), |
@@ -288,7 +290,7 @@ php composer.phar install</code></pre></li> | |||
288 | <li><label for="mysql_server">Server</label> <input type="text" placeholder="localhost" id="mysql_server" name="mysql_server" /></li> | 290 | <li><label for="mysql_server">Server</label> <input type="text" placeholder="localhost" id="mysql_server" name="mysql_server" /></li> |
289 | <li><label for="mysql_database">Database</label> <input type="text" placeholder="wallabag" id="mysql_database" name="mysql_database" /></li> | 291 | <li><label for="mysql_database">Database</label> <input type="text" placeholder="wallabag" id="mysql_database" name="mysql_database" /></li> |
290 | <li><label for="mysql_user">User</label> <input type="text" placeholder="user" id="mysql_user" name="mysql_user" /></li> | 292 | <li><label for="mysql_user">User</label> <input type="text" placeholder="user" id="mysql_user" name="mysql_user" /></li> |
291 | <li><label for="mysql_password">Password</label> <input type="text" placeholder="p4ssw0rd" id="mysql_password" name="mysql_password" /></li> | 293 | <li><label for="mysql_password">Password</label> <input type="password" placeholder="p4ssw0rd" id="mysql_password" name="mysql_password" /></li> |
292 | </ul> | 294 | </ul> |
293 | </li> | 295 | </li> |
294 | <li> | 296 | <li> |
@@ -297,7 +299,7 @@ php composer.phar install</code></pre></li> | |||
297 | <li><label for="pg_server">Server</label> <input type="text" placeholder="localhost" id="pg_server" name="pg_server" /></li> | 299 | <li><label for="pg_server">Server</label> <input type="text" placeholder="localhost" id="pg_server" name="pg_server" /></li> |
298 | <li><label for="pg_database">Database</label> <input type="text" placeholder="wallabag" id="pg_database" name="pg_database" /></li> | 300 | <li><label for="pg_database">Database</label> <input type="text" placeholder="wallabag" id="pg_database" name="pg_database" /></li> |
299 | <li><label for="pg_user">User</label> <input type="text" placeholder="user" id="pg_user" name="pg_user" /></li> | 301 | <li><label for="pg_user">User</label> <input type="text" placeholder="user" id="pg_user" name="pg_user" /></li> |
300 | <li><label for="pg_password">Password</label> <input type="text" placeholder="p4ssw0rd" id="pg_password" name="pg_password" /></li> | 302 | <li><label for="pg_password">Password</label> <input type="password" placeholder="p4ssw0rd" id="pg_password" name="pg_password" /></li> |
301 | </ul> | 303 | </ul> |
302 | </li> | 304 | </li> |
303 | </ul> | 305 | </ul> |
diff --git a/install/mysql.sql b/install/mysql.sql index de5640e4..1b65cd35 100644 --- a/install/mysql.sql +++ b/install/mysql.sql | |||
@@ -3,7 +3,7 @@ CREATE TABLE IF NOT EXISTS `config` ( | |||
3 | `name` varchar(255) NOT NULL, | 3 | `name` varchar(255) NOT NULL, |
4 | `value` varchar(255) NOT NULL, | 4 | `value` varchar(255) NOT NULL, |
5 | PRIMARY KEY (`id`) | 5 | PRIMARY KEY (`id`) |
6 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | 6 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
7 | 7 | ||
8 | CREATE TABLE IF NOT EXISTS `entries` ( | 8 | CREATE TABLE IF NOT EXISTS `entries` ( |
9 | `id` int(11) NOT NULL AUTO_INCREMENT, | 9 | `id` int(11) NOT NULL AUTO_INCREMENT, |
@@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS `entries` ( | |||
14 | `content` blob NOT NULL, | 14 | `content` blob NOT NULL, |
15 | `user_id` int(11) NOT NULL, | 15 | `user_id` int(11) NOT NULL, |
16 | PRIMARY KEY (`id`) | 16 | PRIMARY KEY (`id`) |
17 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | 17 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
18 | 18 | ||
19 | CREATE TABLE IF NOT EXISTS `users` ( | 19 | CREATE TABLE IF NOT EXISTS `users` ( |
20 | `id` int(11) NOT NULL AUTO_INCREMENT, | 20 | `id` int(11) NOT NULL AUTO_INCREMENT, |
@@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS `users` ( | |||
23 | `name` varchar(255) NOT NULL, | 23 | `name` varchar(255) NOT NULL, |
24 | `email` varchar(255) NOT NULL, | 24 | `email` varchar(255) NOT NULL, |
25 | PRIMARY KEY (`id`) | 25 | PRIMARY KEY (`id`) |
26 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | 26 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
27 | 27 | ||
28 | CREATE TABLE IF NOT EXISTS `users_config` ( | 28 | CREATE TABLE IF NOT EXISTS `users_config` ( |
29 | `id` int(11) NOT NULL AUTO_INCREMENT, | 29 | `id` int(11) NOT NULL AUTO_INCREMENT, |
@@ -31,13 +31,13 @@ CREATE TABLE IF NOT EXISTS `users_config` ( | |||
31 | `name` varchar(255) NOT NULL, | 31 | `name` varchar(255) NOT NULL, |
32 | `value` varchar(255) NOT NULL, | 32 | `value` varchar(255) NOT NULL, |
33 | PRIMARY KEY (`id`) | 33 | PRIMARY KEY (`id`) |
34 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | 34 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
35 | 35 | ||
36 | CREATE TABLE IF NOT EXISTS `tags` ( | 36 | CREATE TABLE IF NOT EXISTS `tags` ( |
37 | `id` int(11) NOT NULL AUTO_INCREMENT, | 37 | `id` int(11) NOT NULL AUTO_INCREMENT, |
38 | `value` varchar(255) NOT NULL, | 38 | `value` varchar(255) NOT NULL, |
39 | PRIMARY KEY (`id`) | 39 | PRIMARY KEY (`id`) |
40 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | 40 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
41 | 41 | ||
42 | CREATE TABLE IF NOT EXISTS `tags_entries` ( | 42 | CREATE TABLE IF NOT EXISTS `tags_entries` ( |
43 | `id` int(11) NOT NULL AUTO_INCREMENT, | 43 | `id` int(11) NOT NULL AUTO_INCREMENT, |
@@ -46,4 +46,4 @@ CREATE TABLE IF NOT EXISTS `tags_entries` ( | |||
46 | FOREIGN KEY(entry_id) REFERENCES entries(id) ON DELETE CASCADE, | 46 | FOREIGN KEY(entry_id) REFERENCES entries(id) ON DELETE CASCADE, |
47 | FOREIGN KEY(tag_id) REFERENCES tags(id) ON DELETE CASCADE, | 47 | FOREIGN KEY(tag_id) REFERENCES tags(id) ON DELETE CASCADE, |
48 | PRIMARY KEY (`id`) | 48 | PRIMARY KEY (`id`) |
49 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | 49 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
diff --git a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo index a3c98497..12fef6c8 100644 --- a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo +++ b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.mo | |||
Binary files differ | |||
diff --git a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po index c589866c..98c6a3e8 100644 --- a/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po +++ b/locale/en_EN.utf8/LC_MESSAGES/en_EN.utf8.po | |||
@@ -4,26 +4,26 @@ msgstr "" | |||
4 | "Report-Msgid-Bugs-To: \n" | 4 | "Report-Msgid-Bugs-To: \n" |
5 | "POT-Creation-Date: 2014-02-25 15:17+0300\n" | 5 | "POT-Creation-Date: 2014-02-25 15:17+0300\n" |
6 | "PO-Revision-Date: \n" | 6 | "PO-Revision-Date: \n" |
7 | "Last-Translator: tcit <tcit@tcit.fr>\n" | 7 | "Last-Translator: tcit <tcit@openmailbox.org>\n" |
8 | "Language-Team: \n" | 8 | "Language-Team: \n" |
9 | "Language: en\n" | 9 | "Language: en\n" |
10 | "MIME-Version: 1.0\n" | 10 | "MIME-Version: 1.0\n" |
11 | "Content-Type: text/plain; charset=UTF-8\n" | 11 | "Content-Type: text/plain; charset=UTF-8\n" |
12 | "Content-Transfer-Encoding: 8bit\n" | 12 | "Content-Transfer-Encoding: 8bit\n" |
13 | "X-Generator: Poedit 1.6.9\n" | 13 | "X-Generator: Poedit 1.5.4\n" |
14 | "X-Poedit-Basepath: .\n" | 14 | "X-Poedit-Basepath: .\n" |
15 | 15 | ||
16 | msgid "wallabag, a read it later open source system" | 16 | msgid "wallabag, a read it later open source system" |
17 | msgstr "wallabag, a read it later open source system" | 17 | msgstr "wallabag, a read it later open source system" |
18 | 18 | ||
19 | msgid "login failed: user doesn't exist" | 19 | msgid "login failed: user doesn't exist" |
20 | msgstr "login failed: user doesn't exist" | 20 | msgstr "Login failed: user doesn't exist" |
21 | 21 | ||
22 | msgid "return home" | 22 | msgid "return home" |
23 | msgstr "return home" | 23 | msgstr "Return Home" |
24 | 24 | ||
25 | msgid "config" | 25 | msgid "config" |
26 | msgstr "config" | 26 | msgstr "Config" |
27 | 27 | ||
28 | msgid "Saving articles" | 28 | msgid "Saving articles" |
29 | msgstr "Saving articles" | 29 | msgstr "Saving articles" |
@@ -32,10 +32,16 @@ msgid "There are several ways to save an article:" | |||
32 | msgstr "There are several ways to save an article:" | 32 | msgstr "There are several ways to save an article:" |
33 | 33 | ||
34 | msgid "read the documentation" | 34 | msgid "read the documentation" |
35 | msgstr "read the documentation" | 35 | msgstr "Read the documentation" |
36 | 36 | ||
37 | msgid "download the extension" | 37 | msgid "download the extension" |
38 | msgstr "download the extension" | 38 | msgstr "Download the extension" |
39 | |||
40 | msgid "Firefox Add-On" | ||
41 | msgstr "Firefox Add-On" | ||
42 | |||
43 | msgid "Chrome Extension" | ||
44 | msgstr "Chrome Extension" | ||
39 | 45 | ||
40 | msgid "via F-Droid" | 46 | msgid "via F-Droid" |
41 | msgstr "via F-Droid" | 47 | msgstr "via F-Droid" |
@@ -47,7 +53,7 @@ msgid "via Google Play" | |||
47 | msgstr "via Google Play" | 53 | msgstr "via Google Play" |
48 | 54 | ||
49 | msgid "download the application" | 55 | msgid "download the application" |
50 | msgstr "download the application" | 56 | msgstr "Download the application" |
51 | 57 | ||
52 | msgid "By filling this field" | 58 | msgid "By filling this field" |
53 | msgstr "By filling this field" | 59 | msgstr "By filling this field" |
@@ -56,7 +62,7 @@ msgid "bag it!" | |||
56 | msgstr "bag it!" | 62 | msgstr "bag it!" |
57 | 63 | ||
58 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | 64 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" |
59 | msgstr "Bookmarklet: drag & drop this link to your bookmarks bar" | 65 | msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" |
60 | 66 | ||
61 | msgid "Upgrading wallabag" | 67 | msgid "Upgrading wallabag" |
62 | msgstr "Upgrading wallabag" | 68 | msgstr "Upgrading wallabag" |
@@ -102,17 +108,16 @@ msgid "Your token:" | |||
102 | msgstr "Your token:" | 108 | msgstr "Your token:" |
103 | 109 | ||
104 | msgid "Your user id:" | 110 | msgid "Your user id:" |
105 | msgstr "Your user id:" | 111 | msgstr "Your user ID:" |
106 | 112 | ||
107 | msgid "" | 113 | msgid "" |
108 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | 114 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" |
109 | "</a>." | 115 | "</a>." |
110 | msgstr "" | 116 | msgstr "" |
111 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | 117 | "<a href='?feed&action=generate'>Regenerate Token</a>" |
112 | "</a>." | ||
113 | 118 | ||
114 | msgid "Change your theme" | 119 | msgid "Change your theme" |
115 | msgstr "Change your theme" | 120 | msgstr "Change Your Theme" |
116 | 121 | ||
117 | msgid "Theme:" | 122 | msgid "Theme:" |
118 | msgstr "Theme:" | 123 | msgstr "Theme:" |
@@ -121,13 +126,13 @@ msgid "Update" | |||
121 | msgstr "Update" | 126 | msgstr "Update" |
122 | 127 | ||
123 | msgid "Change your language" | 128 | msgid "Change your language" |
124 | msgstr "Change your language" | 129 | msgstr "Change Your Language" |
125 | 130 | ||
126 | msgid "Language:" | 131 | msgid "Language:" |
127 | msgstr "Language:" | 132 | msgstr "Language:" |
128 | 133 | ||
129 | msgid "Change your password" | 134 | msgid "Change your password" |
130 | msgstr "Change your password" | 135 | msgstr "Change Your Password" |
131 | 136 | ||
132 | msgid "New password:" | 137 | msgid "New password:" |
133 | msgstr "New password:" | 138 | msgstr "New password:" |
@@ -141,14 +146,26 @@ msgstr "Repeat your new password:" | |||
141 | msgid "Import" | 146 | msgid "Import" |
142 | msgstr "Import" | 147 | msgstr "Import" |
143 | 148 | ||
149 | msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." | ||
150 | msgstr "You can import your Pocket, Readability, Instapaper, wallabag or any fil in appropriate JSON or HTML format." | ||
151 | |||
144 | msgid "" | 152 | msgid "" |
145 | "Please execute the import script locally as it can take a very long time." | 153 | "Please execute the import script locally as it can take a very long time." |
146 | msgstr "" | 154 | msgstr "" |
155 | |||
156 | 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." | ||
157 | msgstr "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." | ||
147 | "Please execute the import script locally as it can take a very long time." | 158 | "Please execute the import script locally as it can take a very long time." |
148 | 159 | ||
160 | msgid "You can click here to fetch content for articles with no content." | ||
161 | msgstr "Fetch content for articles with no content" | ||
162 | |||
149 | msgid "More info in the official documentation:" | 163 | msgid "More info in the official documentation:" |
150 | msgstr "More info in the official documentation:" | 164 | msgstr "More info in the official documentation:" |
151 | 165 | ||
166 | msgid "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
167 | msgstr "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
168 | |||
152 | msgid "Import from Pocket" | 169 | msgid "Import from Pocket" |
153 | msgstr "Import from Pocket" | 170 | msgstr "Import from Pocket" |
154 | 171 | ||
@@ -177,17 +194,41 @@ msgstr "to download your database." | |||
177 | msgid "to export your wallabag data." | 194 | msgid "to export your wallabag data." |
178 | msgstr "to export your wallabag data." | 195 | msgstr "to export your wallabag data." |
179 | 196 | ||
197 | msgid "Export JSON" | ||
198 | msgstr "Export JSON" | ||
199 | |||
180 | msgid "Cache" | 200 | msgid "Cache" |
181 | msgstr "Cache" | 201 | msgstr "Cache" |
182 | 202 | ||
183 | msgid "to delete cache." | 203 | msgid "to delete cache." |
184 | msgstr "to delete cache." | 204 | msgstr "to delete cache." |
185 | 205 | ||
206 | msgid "Delete Cache" | ||
207 | msgstr "Delete Cache" | ||
208 | |||
186 | msgid "You can enter multiple tags, separated by commas." | 209 | msgid "You can enter multiple tags, separated by commas." |
187 | msgstr "You can enter multiple tags, separated by commas." | 210 | msgstr "You can enter multiple tags, separated by commas." |
188 | 211 | ||
212 | msgid "Add tags:" | ||
213 | msgstr "Add tags:" | ||
214 | |||
215 | msgid "no tags" | ||
216 | msgstr "no tags" | ||
217 | |||
218 | msgid "The tag has been applied successfully" | ||
219 | msgstr "The tag has been applied successfully" | ||
220 | |||
221 | msgid "interview" | ||
222 | msgstr "interview" | ||
223 | |||
224 | msgid "editorial" | ||
225 | msgstr "editorial" | ||
226 | |||
227 | msgid "video" | ||
228 | msgstr "video" | ||
229 | |||
189 | msgid "return to article" | 230 | msgid "return to article" |
190 | msgstr "return to article" | 231 | msgstr "Return to article" |
191 | 232 | ||
192 | msgid "plop" | 233 | msgid "plop" |
193 | msgstr "plop" | 234 | msgstr "plop" |
@@ -200,13 +241,13 @@ msgstr "" | |||
200 | "here</a>." | 241 | "here</a>." |
201 | 242 | ||
202 | msgid "favoris" | 243 | msgid "favoris" |
203 | msgstr "favoris" | 244 | msgstr "Favorites" |
204 | 245 | ||
205 | msgid "archive" | 246 | msgid "archive" |
206 | msgstr "archive" | 247 | msgstr "Archive" |
207 | 248 | ||
208 | msgid "unread" | 249 | msgid "unread" |
209 | msgstr "unread" | 250 | msgstr "Unread" |
210 | 251 | ||
211 | msgid "by date asc" | 252 | msgid "by date asc" |
212 | msgstr "by date asc" | 253 | msgstr "by date asc" |
@@ -236,28 +277,28 @@ msgid "Toggle mark as read" | |||
236 | msgstr "Toggle mark as read" | 277 | msgstr "Toggle mark as read" |
237 | 278 | ||
238 | msgid "toggle favorite" | 279 | msgid "toggle favorite" |
239 | msgstr "toggle favorite" | 280 | msgstr "Toggle favorite" |
240 | 281 | ||
241 | msgid "delete" | 282 | msgid "delete" |
242 | msgstr "delete" | 283 | msgstr "Delete" |
243 | 284 | ||
244 | msgid "original" | 285 | msgid "original" |
245 | msgstr "original" | 286 | msgstr "Original" |
246 | 287 | ||
247 | msgid "estimated reading time:" | 288 | msgid "estimated reading time:" |
248 | msgstr "estimated reading time:" | 289 | msgstr "Estimated reading time:" |
249 | 290 | ||
250 | msgid "mark all the entries as read" | 291 | msgid "mark all the entries as read" |
251 | msgstr "mark all the entries as read" | 292 | msgstr "Mark all the entries as read" |
252 | 293 | ||
253 | msgid "results" | 294 | msgid "results" |
254 | msgstr "results" | 295 | msgstr "Results" |
255 | 296 | ||
256 | msgid "installation" | 297 | msgid "installation" |
257 | msgstr "installation" | 298 | msgstr "Installation" |
258 | 299 | ||
259 | msgid "install your wallabag" | 300 | msgid "install your wallabag" |
260 | msgstr "install your wallabag" | 301 | msgstr "Install your wallabag" |
261 | 302 | ||
262 | msgid "" | 303 | msgid "" |
263 | "wallabag is still not installed. Please fill the below form to install it. " | 304 | "wallabag is still not installed. Please fill the below form to install it. " |
@@ -278,13 +319,13 @@ msgid "Install" | |||
278 | msgstr "Install" | 319 | msgstr "Install" |
279 | 320 | ||
280 | msgid "login to your wallabag" | 321 | msgid "login to your wallabag" |
281 | msgstr "login to your wallabag" | 322 | msgstr "Login to your wallabag" |
282 | 323 | ||
283 | msgid "Login to wallabag" | 324 | msgid "Login to wallabag" |
284 | msgstr "Login to wallabag" | 325 | msgstr "Login to wallabag" |
285 | 326 | ||
286 | msgid "you are in demo mode, some features may be disabled." | 327 | msgid "you are in demo mode, some features may be disabled." |
287 | msgstr "you are in demo mode, some features may be disabled." | 328 | msgstr "You are in demo mode; some features may be disabled." |
288 | 329 | ||
289 | msgid "Username" | 330 | msgid "Username" |
290 | msgstr "Username" | 331 | msgstr "Username" |
@@ -299,10 +340,10 @@ msgid "Sign in" | |||
299 | msgstr "Sign in" | 340 | msgstr "Sign in" |
300 | 341 | ||
301 | msgid "favorites" | 342 | msgid "favorites" |
302 | msgstr "favorites" | 343 | msgstr "Favorites" |
303 | 344 | ||
304 | msgid "estimated reading time :" | 345 | msgid "estimated reading time :" |
305 | msgstr "estimated reading time :" | 346 | msgstr "Estimated reading time:" |
306 | 347 | ||
307 | msgid "Mark all the entries as read" | 348 | msgid "Mark all the entries as read" |
308 | msgstr "Mark all the entries as read" | 349 | msgstr "Mark all the entries as read" |
@@ -344,61 +385,64 @@ msgid "tags:" | |||
344 | msgstr "tags:" | 385 | msgstr "tags:" |
345 | 386 | ||
346 | msgid "Edit tags" | 387 | msgid "Edit tags" |
347 | msgstr "Edit tags" | 388 | msgstr "Edit Tags" |
348 | 389 | ||
349 | msgid "save link!" | 390 | msgid "save link!" |
350 | msgstr "save link!" | 391 | msgstr "Save Link" |
351 | 392 | ||
352 | msgid "home" | 393 | msgid "home" |
353 | msgstr "home" | 394 | msgstr "Home" |
354 | 395 | ||
355 | msgid "tags" | 396 | msgid "tags" |
356 | msgstr "tags" | 397 | msgstr "Tags" |
357 | 398 | ||
358 | msgid "logout" | 399 | msgid "logout" |
359 | msgstr "logout" | 400 | msgstr "Logout" |
360 | 401 | ||
361 | msgid "powered by" | 402 | msgid "powered by" |
362 | msgstr "powered by" | 403 | msgstr "Powered by" |
363 | 404 | ||
364 | msgid "debug mode is on so cache is off." | 405 | msgid "debug mode is on so cache is off." |
365 | msgstr "debug mode is on so cache is off." | 406 | msgstr "Debug mode is on, so cache is off." |
366 | 407 | ||
367 | msgid "your wallabag version:" | 408 | msgid "your wallabag version:" |
368 | msgstr "your wallabag version:" | 409 | msgstr "Your wallabag version:" |
369 | 410 | ||
370 | msgid "storage:" | 411 | msgid "storage:" |
371 | msgstr "storage:" | 412 | msgstr "Storage:" |
372 | 413 | ||
373 | msgid "save a link" | 414 | msgid "save a link" |
374 | msgstr "save a link" | 415 | msgstr "Save a Link" |
375 | 416 | ||
376 | msgid "back to home" | 417 | msgid "back to home" |
377 | msgstr "back to home" | 418 | msgstr "Back to Home" |
378 | 419 | ||
379 | msgid "toggle mark as read" | 420 | msgid "toggle mark as read" |
380 | msgstr "toggle mark as read" | 421 | msgstr "Toggle mark as read" |
381 | 422 | ||
382 | msgid "tweet" | 423 | msgid "tweet" |
383 | msgstr "tweet" | 424 | msgstr "Tweet" |
384 | 425 | ||
385 | msgid "email" | 426 | msgid "email" |
386 | msgstr "email" | 427 | msgstr "Email" |
387 | 428 | ||
388 | msgid "this article appears wrong?" | 429 | msgid "this article appears wrong?" |
389 | msgstr "this article appears wrong?" | 430 | msgstr "This article appears wrong?" |
390 | 431 | ||
391 | msgid "No link available here!" | 432 | msgid "No link available here!" |
392 | msgstr "No link available here!" | 433 | msgstr "No link available here" |
393 | 434 | ||
394 | msgid "Poching a link" | 435 | msgid "Poching a link" |
395 | msgstr "Poching a link" | 436 | msgstr "bagging a link" |
396 | 437 | ||
397 | msgid "by filling this field" | 438 | msgid "by filling this field" |
398 | msgstr "by filling this field" | 439 | msgstr "by filling this field" |
399 | 440 | ||
400 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | 441 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" |
401 | msgstr "bookmarklet: drag & drop this link to your bookmarks bar" | 442 | msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" |
443 | |||
444 | msgid "Drag & drop this link to your bookmarks bar:" | ||
445 | msgstr "Drag & drop this link to your bookmarks bar:" | ||
402 | 446 | ||
403 | msgid "your version" | 447 | msgid "your version" |
404 | msgstr "your version" | 448 | msgstr "your version" |
@@ -407,32 +451,35 @@ msgid "latest stable version" | |||
407 | msgstr "latest stable version" | 451 | msgstr "latest stable version" |
408 | 452 | ||
409 | msgid "a more recent stable version is available." | 453 | msgid "a more recent stable version is available." |
410 | msgstr "a more recent stable version is available." | 454 | msgstr "A more recent stable version is available." |
411 | 455 | ||
412 | msgid "you are up to date." | 456 | msgid "you are up to date." |
413 | msgstr "you are up to date." | 457 | msgstr "You are up to date." |
414 | 458 | ||
415 | msgid "latest dev version" | 459 | msgid "latest dev version" |
416 | msgstr "latest dev version" | 460 | msgstr "latest dev version" |
417 | 461 | ||
418 | msgid "a more recent development version is available." | 462 | msgid "a more recent development version is available." |
419 | msgstr "a more recent development version is available." | 463 | msgstr "A more recent development version is available." |
464 | |||
465 | msgid "You can clear cache to check the latest release." | ||
466 | msgstr "You can <a href=\"#cache\">clear the cache</a> to check for the latest release." | ||
420 | 467 | ||
421 | msgid "Please execute the import script locally, it can take a very long time." | 468 | msgid "Please execute the import script locally, it can take a very long time." |
422 | msgstr "" | 469 | msgstr "" |
423 | "Please execute the import script locally, it can take a very long time." | 470 | "Please execute the import script locally, it can take a very long time." |
424 | 471 | ||
425 | msgid "More infos in the official doc:" | 472 | msgid "More infos in the official doc:" |
426 | msgstr "More infos in the official doc:" | 473 | msgstr "More information in the official doc:" |
427 | 474 | ||
428 | msgid "import from Pocket" | 475 | msgid "import from Pocket" |
429 | msgstr "import from Pocket" | 476 | msgstr "Import from Pocket" |
430 | 477 | ||
431 | msgid "import from Readability" | 478 | msgid "import from Readability" |
432 | msgstr "import from Readability" | 479 | msgstr "Import from Readability" |
433 | 480 | ||
434 | msgid "import from Instapaper" | 481 | msgid "import from Instapaper" |
435 | msgstr "import from Instapaper" | 482 | msgstr "Import from Instapaper" |
436 | 483 | ||
437 | msgid "Tags" | 484 | msgid "Tags" |
438 | msgstr "Tags" | 485 | msgstr "Tags" |
@@ -441,74 +488,74 @@ msgid "Untitled" | |||
441 | msgstr "Untitled" | 488 | msgstr "Untitled" |
442 | 489 | ||
443 | msgid "the link has been added successfully" | 490 | msgid "the link has been added successfully" |
444 | msgstr "the link has been added successfully" | 491 | msgstr "The link has been added successfully." |
445 | 492 | ||
446 | msgid "error during insertion : the link wasn't added" | 493 | msgid "error during insertion : the link wasn't added" |
447 | msgstr "error during insertion : the link wasn't added" | 494 | msgstr "Error during insertion: the link wasn't added." |
448 | 495 | ||
449 | msgid "the link has been deleted successfully" | 496 | msgid "the link has been deleted successfully" |
450 | msgstr "the link has been deleted successfully" | 497 | msgstr "The link has been deleted successfully." |
451 | 498 | ||
452 | msgid "the link wasn't deleted" | 499 | msgid "the link wasn't deleted" |
453 | msgstr "the link wasn't deleted" | 500 | msgstr "The link wasn't deleted." |
454 | 501 | ||
455 | msgid "Article not found!" | 502 | msgid "Article not found!" |
456 | msgstr "Article not found!" | 503 | msgstr "Article not found." |
457 | 504 | ||
458 | msgid "previous" | 505 | msgid "previous" |
459 | msgstr "previous" | 506 | msgstr "Previous" |
460 | 507 | ||
461 | msgid "next" | 508 | msgid "next" |
462 | msgstr "next" | 509 | msgstr "Next" |
463 | 510 | ||
464 | msgid "in demo mode, you can't update your password" | 511 | msgid "in demo mode, you can't update your password" |
465 | msgstr "in demo mode, you can't update your password" | 512 | msgstr "In demo mode, you can't update your password." |
466 | 513 | ||
467 | msgid "your password has been updated" | 514 | msgid "your password has been updated" |
468 | msgstr "your password has been updated" | 515 | msgstr "Your password has been updated." |
469 | 516 | ||
470 | msgid "" | 517 | msgid "" |
471 | "the two fields have to be filled & the password must be the same in the two " | 518 | "the two fields have to be filled & the password must be the same in the two " |
472 | "fields" | 519 | "fields" |
473 | msgstr "" | 520 | msgstr "" |
474 | "the two fields have to be filled & the password must be the same in the two " | 521 | "The two fields must be filled, and the password must be the same in both " |
475 | "fields" | 522 | "fields" |
476 | 523 | ||
477 | msgid "still using the \"" | 524 | msgid "still using the \"" |
478 | msgstr "still using the \"" | 525 | msgstr "Still using the \"" |
479 | 526 | ||
480 | msgid "that theme does not seem to be installed" | 527 | msgid "that theme does not seem to be installed" |
481 | msgstr "that theme does not seem to be installed" | 528 | msgstr "That theme does not seem to be installed." |
482 | 529 | ||
483 | msgid "you have changed your theme preferences" | 530 | msgid "you have changed your theme preferences" |
484 | msgstr "you have changed your theme preferences" | 531 | msgstr "You have changed your theme preferences." |
485 | 532 | ||
486 | msgid "that language does not seem to be installed" | 533 | msgid "that language does not seem to be installed" |
487 | msgstr "that language does not seem to be installed" | 534 | msgstr "That language does not seem to be installed." |
488 | 535 | ||
489 | msgid "you have changed your language preferences" | 536 | msgid "you have changed your language preferences" |
490 | msgstr "you have changed your language preferences" | 537 | msgstr "You have changed your language preferences." |
491 | 538 | ||
492 | msgid "login failed: you have to fill all fields" | 539 | msgid "login failed: you have to fill all fields" |
493 | msgstr "login failed: you have to fill all fields" | 540 | msgstr "Login failed: you have to fill all fields." |
494 | 541 | ||
495 | msgid "welcome to your wallabag" | 542 | msgid "welcome to your wallabag" |
496 | msgstr "welcome to your wallabag" | 543 | msgstr "Welcome to your wallabag." |
497 | 544 | ||
498 | msgid "login failed: bad login or password" | 545 | msgid "login failed: bad login or password" |
499 | msgstr "login failed: bad login or password" | 546 | msgstr "Login failed: bad login or password." |
500 | 547 | ||
501 | msgid "import from instapaper completed" | 548 | msgid "import from instapaper completed" |
502 | msgstr "import from instapaper completed" | 549 | msgstr "Import from Instapaper completed." |
503 | 550 | ||
504 | msgid "import from pocket completed" | 551 | msgid "import from pocket completed" |
505 | msgstr "import from pocket completed" | 552 | msgstr "Import from Pocket completed." |
506 | 553 | ||
507 | msgid "import from Readability completed. " | 554 | msgid "import from Readability completed. " |
508 | msgstr "import from Readability completed. " | 555 | msgstr "Import from Readability completed." |
509 | 556 | ||
510 | msgid "import from Poche completed. " | 557 | msgid "import from Poche completed. " |
511 | msgstr "import from Poche completed. " | 558 | msgstr "Import from Poche completed. " |
512 | 559 | ||
513 | msgid "Unknown import provider." | 560 | msgid "Unknown import provider." |
514 | msgstr "Unknown import provider." | 561 | msgstr "Unknown import provider." |
@@ -520,7 +567,7 @@ msgid "Could not find required \"" | |||
520 | msgstr "Could not find required \"" | 567 | msgstr "Could not find required \"" |
521 | 568 | ||
522 | msgid "Uh, there is a problem while generating feeds." | 569 | msgid "Uh, there is a problem while generating feeds." |
523 | msgstr "Uh, there is a problem while generating feeds." | 570 | msgstr "There is a problem generating feeds." |
524 | 571 | ||
525 | msgid "Cache deleted." | 572 | msgid "Cache deleted." |
526 | msgstr "Cache deleted." | 573 | msgstr "Cache deleted." |
@@ -529,25 +576,25 @@ msgid "Oops, it seems you don't have PHP 5." | |||
529 | msgstr "Oops, it seems you don't have PHP 5." | 576 | msgstr "Oops, it seems you don't have PHP 5." |
530 | 577 | ||
531 | msgid "Add user" | 578 | msgid "Add user" |
532 | msgstr "Add user" | 579 | msgstr "Add User" |
533 | 580 | ||
534 | msgid "Add a new user :" | 581 | msgid "Add a new user :" |
535 | msgstr "Add a new user :" | 582 | msgstr "Add a new user:" |
536 | 583 | ||
537 | msgid "Login for new user" | 584 | msgid "Login for new user" |
538 | msgstr "Login for new user" | 585 | msgstr "Login for new user:" |
539 | 586 | ||
540 | msgid "Password for new user" | 587 | msgid "Password for new user" |
541 | msgstr "Password for new user" | 588 | msgstr "Password for new user:" |
542 | 589 | ||
543 | msgid "Email for new user (not required)" | 590 | msgid "Email for new user (not required)" |
544 | msgstr "Email for new user (not required)" | 591 | msgstr "Email for new user (not required):" |
545 | 592 | ||
546 | msgid "Send" | 593 | msgid "Send" |
547 | msgstr "Send" | 594 | msgstr "Send" |
548 | 595 | ||
549 | msgid "Delete account" | 596 | msgid "Delete account" |
550 | msgstr "Delete account" | 597 | msgstr "Delete Account" |
551 | 598 | ||
552 | msgid "You can delete your account by entering your password and validating." | 599 | msgid "You can delete your account by entering your password and validating." |
553 | msgstr "You can delete your account by entering your password and validating." | 600 | 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)." | |||
556 | msgstr "Be careful, data will be erased forever (that is a very long time)." | 603 | msgstr "Be careful, data will be erased forever (that is a very long time)." |
557 | 604 | ||
558 | msgid "Type here your password" | 605 | msgid "Type here your password" |
559 | msgstr "Type here your password" | 606 | msgstr "Enter your password" |
560 | 607 | ||
561 | msgid "You are the only user, you cannot delete your own account." | 608 | msgid "You are the only user, you cannot delete your own account." |
562 | msgstr "You are the only user, you cannot delete your own account." | 609 | msgstr "You are the only user, you cannot delete your own account." |
@@ -571,6 +618,36 @@ msgstr "" | |||
571 | msgid "Enter your search here" | 618 | msgid "Enter your search here" |
572 | msgstr "Enter your search here" | 619 | msgstr "Enter your search here" |
573 | 620 | ||
621 | msgid "Tag these results as" | ||
622 | msgstr "Tag these results as" | ||
623 | |||
624 | # ebook | ||
625 | msgid "Fancy an E-Book ?" | ||
626 | msgstr "Fancy an E-Book?" | ||
627 | |||
628 | msgid "" | ||
629 | "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this " | ||
630 | "link</a> to get all your articles in one ebook (ePub 3 format)." | ||
631 | msgstr "" | ||
632 | "Click on <a href=\"./?epub&method=all\" title=\"Generate EPUB\">this " | ||
633 | "link</a> to get all your articles in one ebook (EPUB 3 format)." | ||
634 | |||
635 | msgid "" | ||
636 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
637 | "articles, depending on your server configuration." | ||
638 | msgstr "" | ||
639 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
640 | "articles, depending on your server configuration." | ||
641 | |||
642 | msgid "Download the articles from this tag in an epub" | ||
643 | msgstr "Download the articles from this tag in an EPUB" | ||
644 | |||
645 | msgid "Download the articles from this search in an epub" | ||
646 | msgstr "Download the articles from this search in an EPUB" | ||
647 | |||
648 | msgid "Download the articles from this category in an epub" | ||
649 | msgstr "Download the articles from this category in an EPUB" | ||
650 | |||
574 | #~ msgid "poche it!" | 651 | #~ msgid "poche it!" |
575 | #~ msgstr "poche it!" | 652 | #~ msgstr "poche it!" |
576 | 653 | ||
diff --git a/locale/en_US.utf8/LC_MESSAGES/en_US.utf8.mo b/locale/en_US.utf8/LC_MESSAGES/en_US.utf8.mo new file mode 100644 index 00000000..a09b4f37 --- /dev/null +++ b/locale/en_US.utf8/LC_MESSAGES/en_US.utf8.mo | |||
Binary files differ | |||
diff --git a/locale/en_US.utf8/LC_MESSAGES/en_US.utf8.po b/locale/en_US.utf8/LC_MESSAGES/en_US.utf8.po new file mode 100644 index 00000000..25c3aa26 --- /dev/null +++ b/locale/en_US.utf8/LC_MESSAGES/en_US.utf8.po | |||
@@ -0,0 +1,666 @@ | |||
1 | msgid "" | ||
2 | msgstr "" | ||
3 | "Project-Id-Version: wallabag\n" | ||
4 | "Report-Msgid-Bugs-To: \n" | ||
5 | "POT-Creation-Date: 2014-02-25 15:17+0300\n" | ||
6 | "PO-Revision-Date: \n" | ||
7 | "Last-Translator: tcit <tcit@openmailbox.org>\n" | ||
8 | "Language-Team: \n" | ||
9 | "Language: en_US\n" | ||
10 | "MIME-Version: 1.0\n" | ||
11 | "Content-Type: text/plain; charset=UTF-8\n" | ||
12 | "Content-Transfer-Encoding: 8bit\n" | ||
13 | "X-Generator: Poedit 1.5.4\n" | ||
14 | "X-Poedit-Basepath: .\n" | ||
15 | |||
16 | msgid "wallabag, a read it later open source system" | ||
17 | msgstr "wallabag, a read it later open source system" | ||
18 | |||
19 | msgid "login failed: user doesn't exist" | ||
20 | msgstr "Login failed: user doesn't exist" | ||
21 | |||
22 | msgid "return home" | ||
23 | msgstr "Return Home" | ||
24 | |||
25 | msgid "config" | ||
26 | msgstr "Config" | ||
27 | |||
28 | msgid "Saving articles" | ||
29 | msgstr "Saving articles" | ||
30 | |||
31 | msgid "There are several ways to save an article:" | ||
32 | msgstr "There are several ways to save an article:" | ||
33 | |||
34 | msgid "read the documentation" | ||
35 | msgstr "Read the documentation" | ||
36 | |||
37 | msgid "download the extension" | ||
38 | msgstr "Download the extension" | ||
39 | |||
40 | msgid "Firefox Add-On" | ||
41 | msgstr "Firefox Add-On" | ||
42 | |||
43 | msgid "Chrome Extension" | ||
44 | msgstr "Chrome Extension" | ||
45 | |||
46 | msgid "via F-Droid" | ||
47 | msgstr "via F-Droid" | ||
48 | |||
49 | msgid " or " | ||
50 | msgstr " or " | ||
51 | |||
52 | msgid "via Google Play" | ||
53 | msgstr "via Google Play" | ||
54 | |||
55 | msgid "download the application" | ||
56 | msgstr "Download the application" | ||
57 | |||
58 | msgid "By filling this field" | ||
59 | msgstr "By filling this field" | ||
60 | |||
61 | msgid "bag it!" | ||
62 | msgstr "bag it!" | ||
63 | |||
64 | msgid "Bookmarklet: drag & drop this link to your bookmarks bar" | ||
65 | msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" | ||
66 | |||
67 | msgid "Upgrading wallabag" | ||
68 | msgstr "Upgrading wallabag" | ||
69 | |||
70 | msgid "Installed version" | ||
71 | msgstr "Installed version" | ||
72 | |||
73 | msgid "Latest stable version" | ||
74 | msgstr "Latest stable version" | ||
75 | |||
76 | msgid "A more recent stable version is available." | ||
77 | msgstr "A more recent stable version is available." | ||
78 | |||
79 | msgid "You are up to date." | ||
80 | msgstr "You are up to date." | ||
81 | |||
82 | msgid "Latest dev version" | ||
83 | msgstr "Latest dev version" | ||
84 | |||
85 | msgid "A more recent development version is available." | ||
86 | msgstr "A more recent development version is available." | ||
87 | |||
88 | msgid "You can clear cache to check the latest release." | ||
89 | msgstr "You can <a href=\"#cache\">clear the cache</a> to check for the latest release." | ||
90 | |||
91 | msgid "Feeds" | ||
92 | msgstr "Feeds" | ||
93 | |||
94 | msgid "" | ||
95 | "Your feed token is currently empty and must first be generated to enable " | ||
96 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
97 | msgstr "" | ||
98 | "Your feed token is currently empty and must first be generated to enable " | ||
99 | "feeds. Click <a href='?feed&action=generate'>here to generate it</a>." | ||
100 | |||
101 | msgid "Unread feed" | ||
102 | msgstr "Unread feed" | ||
103 | |||
104 | msgid "Favorites feed" | ||
105 | msgstr "Favorites feed" | ||
106 | |||
107 | msgid "Archive feed" | ||
108 | msgstr "Archive feed" | ||
109 | |||
110 | msgid "Your token:" | ||
111 | msgstr "Your token:" | ||
112 | |||
113 | msgid "Your user id:" | ||
114 | msgstr "Your user ID:" | ||
115 | |||
116 | msgid "" | ||
117 | "You can regenerate your token: <a href='?feed&action=generate'>generate!" | ||
118 | "</a>." | ||
119 | msgstr "" | ||
120 | "<a href='?feed&action=generate'>Regenerate Token</a>" | ||
121 | |||
122 | msgid "Change your theme" | ||
123 | msgstr "Change Your Theme" | ||
124 | |||
125 | msgid "Theme:" | ||
126 | msgstr "Theme:" | ||
127 | |||
128 | msgid "Update" | ||
129 | msgstr "Update" | ||
130 | |||
131 | msgid "Change your language" | ||
132 | msgstr "Change Your Language" | ||
133 | |||
134 | msgid "Language:" | ||
135 | msgstr "Language:" | ||
136 | |||
137 | msgid "Change your password" | ||
138 | msgstr "Change Your Password" | ||
139 | |||
140 | msgid "New password:" | ||
141 | msgstr "New password:" | ||
142 | |||
143 | msgid "Password" | ||
144 | msgstr "Password" | ||
145 | |||
146 | msgid "Repeat your new password:" | ||
147 | msgstr "Repeat your new password:" | ||
148 | |||
149 | msgid "Import" | ||
150 | msgstr "Import" | ||
151 | |||
152 | msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." | ||
153 | msgstr "You can import your Pocket, Readability, Instapaper, wallabag or any file in appropriate JSON or HTML format." | ||
154 | |||
155 | msgid "" | ||
156 | "Please execute the import script locally as it can take a very long time." | ||
157 | msgstr "" | ||
158 | "Please execute the import script locally as it can take a very long time." | ||
159 | |||
160 | 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." | ||
161 | msgstr "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." | ||
162 | |||
163 | msgid "You can click here to fetch content for articles with no content." | ||
164 | msgstr "Fetch content for articles with no content" | ||
165 | |||
166 | msgid "More info in the official documentation:" | ||
167 | msgstr "More info in the official documentation:" | ||
168 | |||
169 | msgid "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
170 | msgstr "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" | ||
171 | |||
172 | msgid "Import from Pocket" | ||
173 | msgstr "Import from Pocket" | ||
174 | |||
175 | #, php-format | ||
176 | msgid "(you must have a %s file on your server)" | ||
177 | msgstr "(you must have a %s file on your server)" | ||
178 | |||
179 | msgid "Import from Readability" | ||
180 | msgstr "Import from Readability" | ||
181 | |||
182 | msgid "Import from Instapaper" | ||
183 | msgstr "Import from Instapaper" | ||
184 | |||
185 | msgid "Import from wallabag" | ||
186 | msgstr "Import from wallabag" | ||
187 | |||
188 | msgid "Export your wallabag data" | ||
189 | msgstr "Export your wallabag data" | ||
190 | |||
191 | msgid "Click here" | ||
192 | msgstr "Click here" | ||
193 | |||
194 | msgid "to download your database." | ||
195 | msgstr "to download your database." | ||
196 | |||
197 | msgid "to export your wallabag data." | ||
198 | msgstr "to export your wallabag data." | ||
199 | |||
200 | msgid "Export JSON" | ||
201 | msgstr "Export JSON" | ||
202 | |||
203 | msgid "Cache" | ||
204 | msgstr "Cache" | ||
205 | |||
206 | msgid "to delete cache." | ||
207 | msgstr "to delete cache." | ||
208 | |||
209 | msgid "Delete Cache" | ||
210 | msgstr "Delete Cache" | ||
211 | |||
212 | msgid "You can enter multiple tags, separated by commas." | ||
213 | msgstr "You can enter multiple tags, separated by commas." | ||
214 | |||
215 | msgid "Add tags:" | ||
216 | msgstr "Add tags:" | ||
217 | |||
218 | msgid "no tags" | ||
219 | msgstr "no tags" | ||
220 | |||
221 | msgid "The tag has been applied successfully" | ||
222 | msgstr "The tag has been applied successfully" | ||
223 | |||
224 | msgid "interview" | ||
225 | msgstr "interview" | ||
226 | |||
227 | msgid "editorial" | ||
228 | msgstr "editorial" | ||
229 | |||
230 | msgid "video" | ||
231 | msgstr "video" | ||
232 | |||
233 | msgid "return to article" | ||
234 | msgstr "Return to article" | ||
235 | |||
236 | msgid "plop" | ||
237 | msgstr "plop" | ||
238 | |||
239 | msgid "" | ||
240 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
241 | "here</a>." | ||
242 | msgstr "" | ||
243 | "You can <a href='wallabag_compatibility_test.php'>check your configuration " | ||
244 | "here</a>." | ||
245 | |||
246 | msgid "favoris" | ||
247 | msgstr "Favorites" | ||
248 | |||
249 | msgid "archive" | ||
250 | msgstr "Archive" | ||
251 | |||
252 | msgid "unread" | ||
253 | msgstr "Unread" | ||
254 | |||
255 | msgid "by date asc" | ||
256 | msgstr "by date asc" | ||
257 | |||
258 | msgid "by date" | ||
259 | msgstr "by date" | ||
260 | |||
261 | msgid "by date desc" | ||
262 | msgstr "by date desc" | ||
263 | |||
264 | msgid "by title asc" | ||
265 | msgstr "by title asc" | ||
266 | |||
267 | msgid "by title" | ||
268 | msgstr "by title" | ||
269 | |||
270 | msgid "by title desc" | ||
271 | msgstr "by title desc" | ||
272 | |||
273 | msgid "Tag" | ||
274 | msgstr "Tag" | ||
275 | |||
276 | msgid "No articles found." | ||
277 | msgstr "No articles found." | ||
278 | |||
279 | msgid "Toggle mark as read" | ||
280 | msgstr "Toggle mark as read" | ||
281 | |||
282 | msgid "toggle favorite" | ||
283 | msgstr "Toggle favorite" | ||
284 | |||
285 | msgid "delete" | ||
286 | msgstr "Delete" | ||
287 | |||
288 | msgid "original" | ||
289 | msgstr "Original" | ||
290 | |||
291 | msgid "estimated reading time:" | ||
292 | msgstr "Estimated reading time:" | ||
293 | |||
294 | msgid "mark all the entries as read" | ||
295 | msgstr "Mark all the entries as read" | ||
296 | |||
297 | msgid "results" | ||
298 | msgstr "Results" | ||
299 | |||
300 | msgid "installation" | ||
301 | msgstr "Installation" | ||
302 | |||
303 | msgid "install your wallabag" | ||
304 | msgstr "Install your wallabag" | ||
305 | |||
306 | msgid "" | ||
307 | "wallabag is still not installed. Please fill the below form to install it. " | ||
308 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
309 | "on wallabag website</a>." | ||
310 | msgstr "" | ||
311 | "wallabag is still not installed. Please fill the below form to install it. " | ||
312 | "Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation " | ||
313 | "on wallabag website</a>." | ||
314 | |||
315 | msgid "Login" | ||
316 | msgstr "Login" | ||
317 | |||
318 | msgid "Repeat your password" | ||
319 | msgstr "Repeat your password" | ||
320 | |||
321 | msgid "Install" | ||
322 | msgstr "Install" | ||
323 | |||
324 | msgid "login to your wallabag" | ||
325 | msgstr "Login to your wallabag" | ||
326 | |||
327 | msgid "Login to wallabag" | ||
328 | msgstr "Login to wallabag" | ||
329 | |||
330 | msgid "you are in demo mode, some features may be disabled." | ||
331 | msgstr "You are in demo mode; some features may be disabled." | ||
332 | |||
333 | msgid "Username" | ||
334 | msgstr "Username" | ||
335 | |||
336 | msgid "Stay signed in" | ||
337 | msgstr "Stay signed in" | ||
338 | |||
339 | msgid "(Do not check on public computers)" | ||
340 | msgstr "(Do not check on public computers)" | ||
341 | |||
342 | msgid "Sign in" | ||
343 | msgstr "Sign in" | ||
344 | |||
345 | msgid "favorites" | ||
346 | msgstr "Favorites" | ||
347 | |||
348 | msgid "estimated reading time :" | ||
349 | msgstr "Estimated reading time:" | ||
350 | |||
351 | msgid "Mark all the entries as read" | ||
352 | msgstr "Mark all the entries as read" | ||
353 | |||
354 | msgid "Return home" | ||
355 | msgstr "Return home" | ||
356 | |||
357 | msgid "Back to top" | ||
358 | msgstr "Back to top" | ||
359 | |||
360 | msgid "Mark as read" | ||
361 | msgstr "Mark as read" | ||
362 | |||
363 | msgid "Favorite" | ||
364 | msgstr "Favorite" | ||
365 | |||
366 | msgid "Toggle favorite" | ||
367 | msgstr "Toggle favorite" | ||
368 | |||
369 | msgid "Delete" | ||
370 | msgstr "Delete" | ||
371 | |||
372 | msgid "Tweet" | ||
373 | msgstr "Tweet" | ||
374 | |||
375 | msgid "Email" | ||
376 | msgstr "Email" | ||
377 | |||
378 | msgid "shaarli" | ||
379 | msgstr "shaarli" | ||
380 | |||
381 | msgid "flattr" | ||
382 | msgstr "flattr" | ||
383 | |||
384 | msgid "Does this article appear wrong?" | ||
385 | msgstr "Does this article appear wrong?" | ||
386 | |||
387 | msgid "tags:" | ||
388 | msgstr "tags:" | ||
389 | |||
390 | msgid "Edit tags" | ||
391 | msgstr "Edit Tags" | ||
392 | |||
393 | msgid "save link!" | ||
394 | msgstr "Save Link" | ||
395 | |||
396 | msgid "home" | ||
397 | msgstr "Home" | ||
398 | |||
399 | msgid "tags" | ||
400 | msgstr "Tags" | ||
401 | |||
402 | msgid "logout" | ||
403 | msgstr "Logout" | ||
404 | |||
405 | msgid "powered by" | ||
406 | msgstr "Powered by" | ||
407 | |||
408 | msgid "debug mode is on so cache is off." | ||
409 | msgstr "Debug mode is on, so cache is off." | ||
410 | |||
411 | msgid "your wallabag version:" | ||
412 | msgstr "Your wallabag version:" | ||
413 | |||
414 | msgid "storage:" | ||
415 | msgstr "Storage:" | ||
416 | |||
417 | msgid "save a link" | ||
418 | msgstr "Save a Link" | ||
419 | |||
420 | msgid "back to home" | ||
421 | msgstr "Back to Home" | ||
422 | |||
423 | msgid "toggle mark as read" | ||
424 | msgstr "Toggle mark as read" | ||
425 | |||
426 | msgid "tweet" | ||
427 | msgstr "Tweet" | ||
428 | |||
429 | msgid "email" | ||
430 | msgstr "Email" | ||
431 | |||
432 | msgid "this article appears wrong?" | ||
433 | msgstr "This article appears wrong?" | ||
434 | |||
435 | msgid "No link available here!" | ||
436 | msgstr "No link available here" | ||
437 | |||
438 | msgid "Poching a link" | ||
439 | msgstr "bagging a link" | ||
440 | |||
441 | msgid "by filling this field" | ||
442 | msgstr "by filling this field" | ||
443 | |||
444 | msgid "bookmarklet: drag & drop this link to your bookmarks bar" | ||
445 | msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar" | ||
446 | |||
447 | msgid "Drag & drop this link to your bookmarks bar:" | ||
448 | msgstr "Drag & drop this link to your bookmarks bar:" | ||
449 | |||
450 | msgid "your version" | ||
451 | msgstr "your version" | ||
452 | |||
453 | msgid "latest stable version" | ||
454 | msgstr "latest stable version" | ||
455 | |||
456 | msgid "a more recent stable version is available." | ||
457 | msgstr "A more recent stable version is available." | ||
458 | |||
459 | msgid "you are up to date." | ||
460 | msgstr "You are up to date." | ||
461 | |||
462 | msgid "latest dev version" | ||
463 | msgstr "latest dev version" | ||
464 | |||
465 | msgid "a more recent development version is available." | ||
466 | msgstr "A more recent development version is available." | ||
467 | |||
468 | msgid "Please execute the import script locally, it can take a very long time." | ||
469 | msgstr "" | ||
470 | "Please execute the import script locally, it can take a very long time." | ||
471 | |||
472 | msgid "More infos in the official doc:" | ||
473 | msgstr "More information in the official doc:" | ||
474 | |||
475 | msgid "import from Pocket" | ||
476 | msgstr "Import from Pocket" | ||
477 | |||
478 | msgid "import from Readability" | ||
479 | msgstr "Import from Readability" | ||
480 | |||
481 | msgid "import from Instapaper" | ||
482 | msgstr "Import from Instapaper" | ||
483 | |||
484 | msgid "Tags" | ||
485 | msgstr "Tags" | ||
486 | |||
487 | msgid "Untitled" | ||
488 | msgstr "Untitled" | ||
489 | |||
490 | msgid "the link has been added successfully" | ||
491 | msgstr "The link has been added successfully." | ||
492 | |||
493 | msgid "error during insertion : the link wasn't added" | ||
494 | msgstr "Error during insertion: the link wasn't added." | ||
495 | |||
496 | msgid "the link has been deleted successfully" | ||
497 | msgstr "The link has been deleted successfully." | ||
498 | |||
499 | msgid "the link wasn't deleted" | ||
500 | msgstr "The link wasn't deleted." | ||
501 | |||
502 | msgid "Article not found!" | ||
503 | msgstr "Article not found." | ||
504 | |||
505 | msgid "previous" | ||
506 | msgstr "Previous" | ||
507 | |||
508 | msgid "next" | ||
509 | msgstr "Next" | ||
510 | |||
511 | msgid "in demo mode, you can't update your password" | ||
512 | msgstr "In demo mode, you can't update your password." | ||
513 | |||
514 | msgid "your password has been updated" | ||
515 | msgstr "Your password has been updated." | ||
516 | |||
517 | msgid "" | ||
518 | "the two fields have to be filled & the password must be the same in the two " | ||
519 | "fields" | ||
520 | msgstr "" | ||
521 | "The two fields must be filled, and the password must be the same in both " | ||
522 | "fields" | ||
523 | |||
524 | msgid "still using the \"" | ||
525 | msgstr "Still using the \"" | ||
526 | |||
527 | msgid "that theme does not seem to be installed" | ||
528 | msgstr "That theme does not seem to be installed." | ||
529 | |||
530 | msgid "you have changed your theme preferences" | ||
531 | msgstr "You have changed your theme preferences." | ||
532 | |||
533 | msgid "that language does not seem to be installed" | ||
534 | msgstr "That language does not seem to be installed." | ||
535 | |||
536 | msgid "you have changed your language preferences" | ||
537 | msgstr "You have changed your language preferences." | ||
538 | |||
539 | msgid "login failed: you have to fill all fields" | ||
540 | msgstr "Login failed: you have to fill all fields." | ||
541 | |||
542 | msgid "welcome to your wallabag" | ||
543 | msgstr "Welcome to your wallabag." | ||
544 | |||
545 | msgid "login failed: bad login or password" | ||
546 | msgstr "Login failed: bad login or password." | ||
547 | |||
548 | msgid "import from instapaper completed" | ||
549 | msgstr "Import from Instapaper completed." | ||
550 | |||
551 | msgid "import from pocket completed" | ||
552 | msgstr "Import from Pocket completed." | ||
553 | |||
554 | msgid "import from Readability completed. " | ||
555 | msgstr "Import from Readability completed." | ||
556 | |||
557 | msgid "import from Poche completed. " | ||
558 | msgstr "Import from Poche completed. " | ||
559 | |||
560 | msgid "Unknown import provider." | ||
561 | msgstr "Unknown import provider." | ||
562 | |||
563 | msgid "Incomplete inc/poche/define.inc.php file, please define \"" | ||
564 | msgstr "Incomplete inc/poche/define.inc.php file, please define \"" | ||
565 | |||
566 | msgid "Could not find required \"" | ||
567 | msgstr "Could not find required \"" | ||
568 | |||
569 | msgid "Uh, there is a problem while generating feeds." | ||
570 | msgstr "There is a problem generating feeds." | ||
571 | |||
572 | msgid "Cache deleted." | ||
573 | msgstr "Cache deleted." | ||
574 | |||
575 | msgid "Oops, it seems you don't have PHP 5." | ||
576 | msgstr "Oops, it seems you don't have PHP 5." | ||
577 | |||
578 | msgid "Add user" | ||
579 | msgstr "Add User" | ||
580 | |||
581 | msgid "Add a new user :" | ||
582 | msgstr "Add a new user:" | ||
583 | |||
584 | msgid "Login for new user" | ||
585 | msgstr "Login for new user:" | ||
586 | |||
587 | msgid "Password for new user" | ||
588 | msgstr "Password for new user:" | ||
589 | |||
590 | msgid "Email for new user (not required)" | ||
591 | msgstr "Email for new user (not required):" | ||
592 | |||
593 | msgid "Send" | ||
594 | msgstr "Send" | ||
595 | |||
596 | msgid "Delete account" | ||
597 | msgstr "Delete Account" | ||
598 | |||
599 | msgid "You can delete your account by entering your password and validating." | ||
600 | msgstr "You can delete your account by entering your password and validating." | ||
601 | |||
602 | msgid "Be careful, data will be erased forever (that is a very long time)." | ||
603 | msgstr "Be careful, data will be erased forever (that is a very long time)." | ||
604 | |||
605 | msgid "Type here your password" | ||
606 | msgstr "Enter your password" | ||
607 | |||
608 | msgid "You are the only user, you cannot delete your own account." | ||
609 | msgstr "You cannot delete your account because you are the only user." | ||
610 | |||
611 | msgid "" | ||
612 | "To completely remove wallabag, delete the wallabag folder on your web server " | ||
613 | "(and eventual databases)." | ||
614 | msgstr "" | ||
615 | "To completely remove wallabag, delete the wallabag folder and database(s) from your web server." | ||
616 | |||
617 | msgid "Enter your search here" | ||
618 | msgstr "Enter your search here" | ||
619 | |||
620 | msgid "Tag these results as" | ||
621 | msgstr "Tag these results as" | ||
622 | |||
623 | # ebook | ||
624 | msgid "Fancy an E-Book ?" | ||
625 | msgstr "Fancy an E-Book?" | ||
626 | |||
627 | msgid "" | ||
628 | "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this " | ||
629 | "link</a> to get all your articles in one ebook (ePub 3 format)." | ||
630 | msgstr "" | ||
631 | "Click on <a href=\"./?epub&method=all\" title=\"Generate EPUB\">this " | ||
632 | "link</a> to get all your articles in one ebook (EPUB 3 format)." | ||
633 | |||
634 | msgid "" | ||
635 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
636 | "articles, depending on your server configuration." | ||
637 | msgstr "" | ||
638 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
639 | "articles, depending on your server configuration." | ||
640 | |||
641 | msgid "Download the articles from this tag in an epub" | ||
642 | msgstr "Download the articles from this tag in an EPUB" | ||
643 | |||
644 | msgid "Download the articles from this search in an epub" | ||
645 | msgstr "Download the articles from this search in an EPUB" | ||
646 | |||
647 | msgid "Download the articles from this category in an epub" | ||
648 | msgstr "Download the articles from this category in an EPUB" | ||
649 | |||
650 | #~ msgid "poche it!" | ||
651 | #~ msgstr "poche it!" | ||
652 | |||
653 | #~ msgid "Updating poche" | ||
654 | #~ msgstr "Updating poche" | ||
655 | |||
656 | #~ msgid "create an issue" | ||
657 | #~ msgstr "create an issue" | ||
658 | |||
659 | #~ msgid "or" | ||
660 | #~ msgstr "or" | ||
661 | |||
662 | #~ msgid "contact us by mail" | ||
663 | #~ msgstr "contact us by mail" | ||
664 | |||
665 | #~ msgid "your poche version:" | ||
666 | #~ msgstr "your poche version:" | ||
diff --git a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo index f4a28e72..da087516 100644 --- a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo +++ b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo | |||
Binary files differ | |||
diff --git a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po index 0912b872..3d031967 100644 --- a/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po +++ b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po | |||
@@ -4,7 +4,7 @@ msgstr "" | |||
4 | "Report-Msgid-Bugs-To: \n" | 4 | "Report-Msgid-Bugs-To: \n" |
5 | "POT-Creation-Date: 2014-05-10 20:09+0100\n" | 5 | "POT-Creation-Date: 2014-05-10 20:09+0100\n" |
6 | "PO-Revision-Date: \n" | 6 | "PO-Revision-Date: \n" |
7 | "Last-Translator: tcit <tcit@tcit.fr>\n" | 7 | "Last-Translator: tcit <tcit@openmailbox.org>\n" |
8 | "Language-Team: \n" | 8 | "Language-Team: \n" |
9 | "Language: fr_FR\n" | 9 | "Language: fr_FR\n" |
10 | "MIME-Version: 1.0\n" | 10 | "MIME-Version: 1.0\n" |
@@ -12,7 +12,7 @@ msgstr "" | |||
12 | "Content-Transfer-Encoding: 8bit\n" | 12 | "Content-Transfer-Encoding: 8bit\n" |
13 | "X-Poedit-KeywordsList: _;gettext;gettext_noop\n" | 13 | "X-Poedit-KeywordsList: _;gettext;gettext_noop\n" |
14 | "X-Poedit-SourceCharset: UTF-8\n" | 14 | "X-Poedit-SourceCharset: UTF-8\n" |
15 | "X-Generator: Poedit 1.6.9\n" | 15 | "X-Generator: Poedit 1.5.4\n" |
16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" | 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" |
17 | 17 | ||
18 | msgid "wallabag, a read it later open source system" | 18 | msgid "wallabag, a read it later open source system" |
@@ -372,6 +372,24 @@ msgstr "Cet article s'affiche mal ?" | |||
372 | msgid "tags:" | 372 | msgid "tags:" |
373 | msgstr "tags :" | 373 | msgstr "tags :" |
374 | 374 | ||
375 | msgid "Add tags:" | ||
376 | msgstr "Ajouter des tags :" | ||
377 | |||
378 | msgid "no tags" | ||
379 | msgstr "pas de tags" | ||
380 | |||
381 | msgid "The tag has been applied successfully" | ||
382 | msgstr "Le tag a été appliqué avec succès" | ||
383 | |||
384 | msgid "interview" | ||
385 | msgstr "interview" | ||
386 | |||
387 | msgid "editorial" | ||
388 | msgstr "éditorial" | ||
389 | |||
390 | msgid "video" | ||
391 | msgstr "vidéo" | ||
392 | |||
375 | msgid "Edit tags" | 393 | msgid "Edit tags" |
376 | msgstr "Modifier les tags" | 394 | msgstr "Modifier les tags" |
377 | 395 | ||
@@ -655,3 +673,33 @@ msgstr "Cache effacé." | |||
655 | 673 | ||
656 | msgid "Oops, it seems you don't have PHP 5." | 674 | msgid "Oops, it seems you don't have PHP 5." |
657 | msgstr "Oups, vous ne semblez pas avoir PHP 5." | 675 | msgstr "Oups, vous ne semblez pas avoir PHP 5." |
676 | |||
677 | msgid "Tag these results as" | ||
678 | msgstr "Appliquer à ces résultats le tag" | ||
679 | |||
680 | # ebook | ||
681 | msgid "Fancy an E-Book ?" | ||
682 | msgstr "Envie d'un E-Book ?" | ||
683 | |||
684 | msgid "" | ||
685 | "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this " | ||
686 | "link</a> to get all your articles in one ebook (ePub 3 format)." | ||
687 | msgstr "" | ||
688 | "Cliquez sur <a href=\"./?epub&method=all\" title=\"Générer ePub\">ce " | ||
689 | "lien</a> pour obtenir tous vos articles (format ePub 3)." | ||
690 | |||
691 | msgid "" | ||
692 | "This can <b>take a while</b> and can <b>even fail</b> if you have too many " | ||
693 | "articles, depending on your server configuration." | ||
694 | msgstr "" | ||
695 | "Ceci peut <b>prendre un moment</b> et même <b>échouer</b> si vous avez trop " | ||
696 | "d'articles, selon la configuration de votre serveur." | ||
697 | |||
698 | msgid "Download the articles from this tag in an epub" | ||
699 | msgstr "Télécharger les articles de ce tag dans un epub" | ||
700 | |||
701 | msgid "Download the articles from this search in an epub" | ||
702 | msgstr "Télécharger les articles de cette recherche dans un epub" | ||
703 | |||
704 | msgid "Download the articles from this category in an epub" | ||
705 | msgstr "Télécharger les articles de cette catégorie dans un epub" | ||
diff --git a/themes/baggy/_menu.twig b/themes/baggy/_menu.twig index 59b6a46b..8b80f65d 100644 --- a/themes/baggy/_menu.twig +++ b/themes/baggy/_menu.twig | |||
@@ -11,6 +11,7 @@ | |||
11 | {% include '_search-form.twig' %} | 11 | {% include '_search-form.twig' %} |
12 | </li> | 12 | </li> |
13 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> | 13 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> |
14 | <li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li> | ||
14 | <li><a class="icon icon-power" href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> | 15 | <li><a class="icon icon-power" href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> |
15 | </ul> | 16 | </ul> |
16 | 17 | ||
diff --git a/themes/baggy/_pocheit-form.twig b/themes/baggy/_pocheit-form.twig index 57a928c0..bf2ae903 100755 --- a/themes/baggy/_pocheit-form.twig +++ b/themes/baggy/_pocheit-form.twig | |||
@@ -1,7 +1,7 @@ | |||
1 | <div id="bagit-form" class="messages info"> | 1 | <div id="bagit-form" class="messages info popup-form"> |
2 | <form method="get" action="index.php" target="_blank" id="bagit-form-form"> | 2 | <form method="get" action="index.php" target="_blank" id="bagit-form-form"> |
3 | <h2><a href="javascript: void(null);" id="bagit-form-close">X</a> | 3 | <h2>{% trans "Save a link" %}</h2> |
4 | {% trans "Save a link" %}</h2> | 4 | <a href="javascript: void(null);" id="bagit-form-close" class="close-button--popup close-button">×</a> |
5 | <input type="hidden" name="autoclose" value="1" /> | 5 | <input type="hidden" name="autoclose" value="1" /> |
6 | <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> | 6 | <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> |
7 | <span id="add-link-result"></span> | 7 | <span id="add-link-result"></span> |
diff --git a/themes/baggy/_search-form.twig b/themes/baggy/_search-form.twig index 7b2c7082..73f7951f 100644 --- a/themes/baggy/_search-form.twig +++ b/themes/baggy/_search-form.twig | |||
@@ -1,7 +1,9 @@ | |||
1 | <div id="search-form" class="messages info"> | 1 | <div id="search-form" class="messages info popup-form"> |
2 | <form method="get" action="index.php"> | 2 | <form method="get" action="index.php"> |
3 | <h2>{%trans "Search" %}</h2> | ||
4 | <a href="javascript: void(null);" id="search-form-close" class="close-button--popup close-button">×</a> | ||
3 | <input type="hidden" name="view" value="search"></input> | 5 | <input type="hidden" name="view" value="search"></input> |
4 | <label><a href="javascript: void(null);" id="search-form-close">X</a>{% trans "Search" %}</label> : <input required placeholder="{% trans "Enter your search here" %}" type="text" name="search" id="searchfield" /> | 6 | <input required placeholder="{% trans "Enter your search here" %}" type="text" name="search" id="searchfield"><br> |
5 | <input id="submit-search" type="submit" value="{% trans "Search" %} !"></input> | 7 | <input id="submit-search" type="submit" value="{% trans "Search" %}"></input> |
6 | </form> | 8 | </form> |
7 | </div> \ No newline at end of file | 9 | </div> |
diff --git a/themes/baggy/about.twig b/themes/baggy/about.twig new file mode 100755 index 00000000..7e19a900 --- /dev/null +++ b/themes/baggy/about.twig | |||
@@ -0,0 +1,74 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "About" %}{% endblock %} | ||
4 | {% block menu %} | ||
5 | {% include '_menu.twig' %} | ||
6 | {% endblock %} | ||
7 | {% block content %} | ||
8 | <h2>{% trans "About wallabag" %}</h2> | ||
9 | |||
10 | <dl> | ||
11 | <dt>{% trans "Project website" %}</dt> | ||
12 | <dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd> | ||
13 | |||
14 | <dt>{% trans "Main developer" %}</dt> | ||
15 | <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd> | ||
16 | |||
17 | <dt>{% trans "Contributors:" %}</dt> | ||
18 | <dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd> | ||
19 | |||
20 | <dt>{% trans "Bug reports" %}</dt> | ||
21 | <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> | ||
22 | |||
23 | <dt>{% trans "License" %}</dt> | ||
24 | <dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd> | ||
25 | |||
26 | <dt>{% trans "Version" %}</dt> | ||
27 | <dd>{{ constant('POCHE') }}</dd> | ||
28 | </dl> | ||
29 | |||
30 | <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> | ||
31 | |||
32 | <h2>{% trans "Helping wallabag" %}</h2> | ||
33 | |||
34 | <p>{% trans "wallabag is free and opensource. You can help us:" %}</p> | ||
35 | |||
36 | <dl> | ||
37 | <dt><a href="http://www.wallabag.org">{% trans "via Paypal" %}</a></dt> | ||
38 | |||
39 | <dt><a href="http://www.wallabag.org">{% trans "via Flattr" %}</a></dt> | ||
40 | </dl> | ||
41 | |||
42 | <h2>{% trans "Credits" %}</h2> | ||
43 | <dl> | ||
44 | <dt>PHP Readability</dt> | ||
45 | <dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd> | ||
46 | |||
47 | <dt>Full Text RSS</dt> | ||
48 | <dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd> | ||
49 | |||
50 | <dt>logo by Maylis Agniel</dt> | ||
51 | <dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd> | ||
52 | |||
53 | <dt>icons</dt> | ||
54 | <dd><a href="http://icomoon.io">http://icomoon.io</a></dd> | ||
55 | |||
56 | <dt>PHP Simple HTML DOM Parser</dt> | ||
57 | <dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd> | ||
58 | |||
59 | <dt>Session</dt> | ||
60 | <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> | ||
61 | |||
62 | <dt>Twig</dt> | ||
63 | <dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd> | ||
64 | |||
65 | <dt>Flash messages</dt> | ||
66 | <dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd> | ||
67 | |||
68 | <dt>Pagination</dt> | ||
69 | <dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd> | ||
70 | |||
71 | <dt>PHPePub</dt> | ||
72 | <dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd> | ||
73 | </dl> | ||
74 | {% endblock %} | ||
diff --git a/themes/baggy/config.twig b/themes/baggy/config.twig index 3523cd08..2b967cd4 100755 --- a/themes/baggy/config.twig +++ b/themes/baggy/config.twig | |||
@@ -6,30 +6,29 @@ | |||
6 | {% endblock %} | 6 | {% endblock %} |
7 | {% block content %} | 7 | {% block content %} |
8 | <h2>{% trans "Saving articles" %}</h2> | 8 | <h2>{% trans "Saving articles" %}</h2> |
9 | <p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p> | 9 | <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> |
10 | <p> | ||
11 | <form method="get" action="index.php"> | ||
12 | <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br> | ||
13 | <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" /> | ||
14 | <input type="submit" value="{% trans "bag it!" %}" /> | ||
15 | </form> | ||
16 | </p> | ||
17 | <h3>Browser Plugins</h3> | ||
10 | <ul> | 18 | <ul> |
11 | <li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li> | 19 | <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li> |
12 | <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> | 20 | <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li> |
13 | <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> | ||
14 | <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li> | ||
15 | <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> | ||
16 | <li> | ||
17 | <form method="get" action="index.php"> | ||
18 | <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label> | ||
19 | <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" /> | ||
20 | <input type="submit" value="{% trans "bag it!" %}" /> | ||
21 | </form> | ||
22 | </li> | ||
23 | <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> | ||
24 | </ul> | 21 | </ul> |
25 | 22 | <h3>Mobile Apps</h3> | |
26 | <h2>{% trans "Upgrading wallabag" %}</h2> | ||
27 | <ul> | 23 | <ul> |
28 | <li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li> | 24 | <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> |
29 | <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> | 25 | <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li> |
30 | {% 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> | 26 | <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> |
31 | </ul> | 27 | </ul> |
32 | <p>{% trans "You can clear cache to check the latest release." %}</p> | 28 | <h3>{% trans "Bookmarklet" %}</h3> |
29 | <p> | ||
30 | {% trans "Drag & 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> | ||
31 | </p> | ||
33 | 32 | ||
34 | <h2>{% trans "Feeds" %}</h2> | 33 | <h2>{% trans "Feeds" %}</h2> |
35 | {% if token == '' %} | 34 | {% if token == '' %} |
@@ -40,9 +39,11 @@ | |||
40 | <li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li> | 39 | <li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li> |
41 | <li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li> | 40 | <li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li> |
42 | </ul> | 41 | </ul> |
43 | <p>{% trans "Your token:" %} <strong>{{token}}</strong></p> | 42 | <p class="more-info"> |
44 | <p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p> | 43 | {% trans "Your token:" %} <strong>{{token}}</strong><br> |
45 | <p>{% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %}</p> | 44 | {% trans "Your user id:" %} <strong>{{user_id}}</strong><br> |
45 | {% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %} | ||
46 | </p> | ||
46 | {% endif %} | 47 | {% endif %} |
47 | 48 | ||
48 | <h2>{% trans "Change your theme" %}</h2> | 49 | <h2>{% trans "Change your theme" %}</h2> |
@@ -83,6 +84,35 @@ | |||
83 | <input type="hidden" name="token" value="{{ token }}"> | 84 | <input type="hidden" name="token" value="{{ token }}"> |
84 | </form> | 85 | </form> |
85 | 86 | ||
87 | <h2><a name="import"></a>{% trans "Import" %}</h2> | ||
88 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> | ||
89 | <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> | ||
90 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> | ||
91 | <fieldset class="w500p"> | ||
92 | <div class="row"> | ||
93 | <label class="col w150p" for="file">{% trans "File:" %}</label> | ||
94 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> | ||
95 | </div> | ||
96 | <div class="row mts txtcenter"> | ||
97 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | ||
98 | </div> | ||
99 | </fieldset> | ||
100 | </form> | ||
101 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | ||
102 | <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> | ||
103 | |||
104 | <h2>{% trans "Export your wallabag data" %}</h2> | ||
105 | <p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br> | ||
106 | <span class="more-info">Data will be exported in a single JSON file.</span></p> | ||
107 | |||
108 | <h2>{% trans "Fancy an E-Book ?" %}</h2> | ||
109 | <p><a href="./?epub&method=all" title="Generate ePub">Download E-Book</a><br> | ||
110 | <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> | ||
111 | |||
112 | <h2><a name="cache"></a>{% trans "Cache" %}</h2> | ||
113 | <p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br> | ||
114 | <span class="more-info">Deleting the cache may help with display or other problems.</span></p> | ||
115 | |||
86 | {% if http_auth == 0 %} | 116 | {% if http_auth == 0 %} |
87 | <h2>{% trans "Change your password" %}</h2> | 117 | <h2>{% trans "Change your password" %}</h2> |
88 | <form method="post" action="?config" name="loginform"> | 118 | <form method="post" action="?config" name="loginform"> |
@@ -104,34 +134,7 @@ | |||
104 | </form> | 134 | </form> |
105 | {% endif %} | 135 | {% endif %} |
106 | 136 | ||
107 | <h2>{% trans "Import" %}</h2> | ||
108 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> | ||
109 | <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> | ||
110 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> | ||
111 | <fieldset class="w500p"> | ||
112 | <div class="row"> | ||
113 | <label class="col w150p" for="file">{% trans "File:" %}</label> | ||
114 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> | ||
115 | </div> | ||
116 | <div class="row mts txtcenter"> | ||
117 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | ||
118 | </div> | ||
119 | </fieldset> | ||
120 | </form> | ||
121 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | ||
122 | |||
123 | <h2>{% trans "Export your wallabag data" %}</h2> | ||
124 | <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p> | ||
125 | |||
126 | <h2>{% trans "Fancy an E-Book ?" %}</h2> | ||
127 | <p>{% trans "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this link</a> to get all your articles in one ebook (ePub 3 format)." %} | ||
128 | <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> | ||
129 | |||
130 | <h2>{% trans "Cache" %}</h2> | ||
131 | <p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p> | ||
132 | |||
133 | <h2>{% trans 'Add user' %}</h2> | 137 | <h2>{% trans 'Add user' %}</h2> |
134 | <p>{% trans 'Add a new user :' %}</p> | ||
135 | <form method="post" action="?newuser"> | 138 | <form method="post" action="?newuser"> |
136 | <fieldset class="w500p"> | 139 | <fieldset class="w500p"> |
137 | <div class="row"> | 140 | <div class="row"> |
@@ -147,7 +150,7 @@ | |||
147 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> | 150 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> |
148 | </div> | 151 | </div> |
149 | <div class="row mts txtcenter"> | 152 | <div class="row mts txtcenter"> |
150 | <button type="submit">{% trans "Send" %}</button> | 153 | <button type="submit">{% trans "Add user" %}</button> |
151 | </div> | 154 | </div> |
152 | </fieldset> | 155 | </fieldset> |
153 | </form> | 156 | </form> |
@@ -161,9 +164,18 @@ | |||
161 | <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}"> | 164 | <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}"> |
162 | </div> | 165 | </div> |
163 | <div class="row mts txtcenter"> | 166 | <div class="row mts txtcenter"> |
164 | <button type="submit">{% trans "Send" %}</button> | 167 | <button type="submit">{% trans "Delete account" %}</button> |
165 | </div> | 168 | </div> |
166 | </form> | 169 | </form> |
167 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> | 170 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p> |
168 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} | 171 | <p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} |
172 | |||
173 | <h2>{% trans "Upgrading wallabag" %}</h2> | ||
174 | <ul> | ||
175 | <li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li> | ||
176 | <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> | ||
177 | {% 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> | ||
178 | </ul> | ||
179 | <p class="more-info">{% trans "You can clear cache to check the latest release." %}</p> | ||
180 | |||
169 | {% endblock %} | 181 | {% endblock %} |
diff --git a/themes/baggy/css/main.css b/themes/baggy/css/main.css index b775a291..028c8b4e 100755 --- a/themes/baggy/css/main.css +++ b/themes/baggy/css/main.css | |||
@@ -70,7 +70,7 @@ h2, h3, h4 { | |||
70 | text-transform: uppercase; | 70 | text-transform: uppercase; |
71 | } | 71 | } |
72 | 72 | ||
73 | p, li { | 73 | p, li, label { |
74 | color: #666; | 74 | color: #666; |
75 | } | 75 | } |
76 | 76 | ||
@@ -104,10 +104,6 @@ form input[type="text"], select, form input[type="password"], form input[type="u | |||
104 | } | 104 | } |
105 | } | 105 | } |
106 | 106 | ||
107 | fieldset label { | ||
108 | min-width: 12.5em; | ||
109 | } | ||
110 | |||
111 | .inline .row { | 107 | .inline .row { |
112 | display: inline-block; | 108 | display: inline-block; |
113 | margin-right: 0.5em; | 109 | margin-right: 0.5em; |
@@ -119,10 +115,14 @@ fieldset label { | |||
119 | 115 | ||
120 | fieldset label { | 116 | fieldset label { |
121 | display: inline-block; | 117 | display: inline-block; |
122 | margin-right: 0.5em; | 118 | min-width: 12.5em; |
123 | color: #666; | 119 | color: #666; |
124 | } | 120 | } |
125 | 121 | ||
122 | label { | ||
123 | margin-right: 0.5em; | ||
124 | } | ||
125 | |||
126 | form .row { | 126 | form .row { |
127 | margin-bottom: 0.5em; | 127 | margin-bottom: 0.5em; |
128 | } | 128 | } |
@@ -180,7 +180,7 @@ h2:after { | |||
180 | padding-top: 9.5em; | 180 | padding-top: 9.5em; |
181 | height: 100%; | 181 | height: 100%; |
182 | box-shadow:inset -4px 0 20px rgba(0,0,0,0.6); | 182 | box-shadow:inset -4px 0 20px rgba(0,0,0,0.6); |
183 | z-index: 10; | 183 | z-index: 15; |
184 | } | 184 | } |
185 | 185 | ||
186 | #main { | 186 | #main { |
@@ -191,7 +191,7 @@ h2:after { | |||
191 | padding-bottom: 1em; | 191 | padding-bottom: 1em; |
192 | } | 192 | } |
193 | 193 | ||
194 | #links a { | 194 | #links > li > a { |
195 | display: block; | 195 | display: block; |
196 | padding: 0.5em 2em 0.5em 1em; | 196 | padding: 0.5em 2em 0.5em 1em; |
197 | color: #FFF; | 197 | color: #FFF; |
@@ -207,7 +207,7 @@ h2:after { | |||
207 | transition: all 0.5s ease; | 207 | transition: all 0.5s ease; |
208 | } | 208 | } |
209 | 209 | ||
210 | #links a:hover, #links a:focus { | 210 | #links > li > a:hover, #links > li > a:focus { |
211 | background: #999; | 211 | background: #999; |
212 | color: #000; | 212 | color: #000; |
213 | } | 213 | } |
@@ -281,12 +281,12 @@ h2:after { | |||
281 | #listmode a:hover { | 281 | #listmode a:hover { |
282 | opacity: 1; | 282 | opacity: 1; |
283 | } | 283 | } |
284 | .tablemode { | 284 | #listmode.tablemode { |
285 | background-image: url("../img/baggy/table.png"); | 285 | background-image: url("../img/baggy/table.png"); |
286 | background-repeat: no-repeat; | 286 | background-repeat: no-repeat; |
287 | background-position: bottom; | 287 | background-position: bottom; |
288 | } | 288 | } |
289 | .listmode { | 289 | #listmode.listmode { |
290 | background-image: url("../img/baggy/list.png"); | 290 | background-image: url("../img/baggy/list.png"); |
291 | background-repeat: no-repeat; | 291 | background-repeat: no-repeat; |
292 | background-position: bottom; | 292 | background-position: bottom; |
@@ -327,15 +327,11 @@ footer a { | |||
327 | margin-left: 0!important; | 327 | margin-left: 0!important; |
328 | } | 328 | } |
329 | 329 | ||
330 | .listmode .entrie p { | ||
331 | display: none; | ||
332 | } | ||
333 | |||
334 | .list-entries + .results { | 330 | .list-entries + .results { |
335 | margin-bottom: 2em; | 331 | margin-bottom: 2em; |
336 | } | 332 | } |
337 | 333 | ||
338 | .estimatedTime a { | 334 | .estimatedTime .reading-time { |
339 | color: #999; | 335 | color: #999; |
340 | font-style: italic; | 336 | font-style: italic; |
341 | font-weight: normal; | 337 | font-weight: normal; |
@@ -359,11 +355,15 @@ footer a { | |||
359 | position: relative; | 355 | position: relative; |
360 | overflow: hidden; | 356 | overflow: hidden; |
361 | padding: 1.5em 1.5em 3em 1.5em; | 357 | padding: 1.5em 1.5em 3em 1.5em; |
362 | -webkit-transition: all 0.5s ease; | 358 | |
363 | -moz-transition: all 0.5s ease; | 359 | /* Removing CSS transitions because they make the switch from list view to |
364 | -ms-transition: all 0.5s ease; | 360 | * table view jerky |
365 | -o-transition: all 0.5s ease; | 361 | */ |
366 | transition: all 0.5s ease; | 362 | /* -webkit-transition: all 0.5s ease; */ |
363 | /* -moz-transition: all 0.5s ease; */ | ||
364 | /* -ms-transition: all 0.5s ease; */ | ||
365 | /* -o-transition: all 0.5s ease; */ | ||
366 | /* transition: all 0.5s ease; */ | ||
367 | } | 367 | } |
368 | 368 | ||
369 | .entrie:before { | 369 | .entrie:before { |
@@ -418,6 +418,7 @@ footer a { | |||
418 | .entrie h2 { | 418 | .entrie h2 { |
419 | text-transform: none; | 419 | text-transform: none; |
420 | margin-bottom: 0; | 420 | margin-bottom: 0; |
421 | line-height: 1.2; | ||
421 | } | 422 | } |
422 | 423 | ||
423 | .entrie h2:after { | 424 | .entrie h2:after { |
@@ -540,7 +541,7 @@ footer a { | |||
540 | 2.1 = "save a link" related styles | 541 | 2.1 = "save a link" related styles |
541 | ========================================================================== */ | 542 | ========================================================================== */ |
542 | 543 | ||
543 | #bagit-form, #search-form { | 544 | .popup-form { |
544 | background: rgba(0,0,0,0.5); | 545 | background: rgba(0,0,0,0.5); |
545 | position: absolute; | 546 | position: absolute; |
546 | top: 0; | 547 | top: 0; |
@@ -549,37 +550,53 @@ footer a { | |||
549 | height: 100%; | 550 | height: 100%; |
550 | width: 100%; | 551 | width: 100%; |
551 | margin: 0; | 552 | margin: 0; |
552 | margin-top: -30%; | 553 | margin-top: -30% !important; /* TODO: get rid of !important here; overridden by .messages selector */ |
553 | padding: 2em; | 554 | padding: 2em; |
554 | display: none; | 555 | display: none; |
555 | border-left: 1px #EEE solid; | 556 | border-left: 1px #EEE solid; |
556 | } | 557 | } |
557 | 558 | ||
558 | #bagit-form form, #search-form form { | 559 | .popup-form form { |
559 | background: #FFF; | 560 | background: #FFF; |
560 | position: absolute; | 561 | position: absolute; |
561 | top: 0; | 562 | top: 0; |
562 | left: 0; | 563 | left: 0; |
563 | z-index: 20; | 564 | z-index: 20; |
564 | border: 10px solid #000; | 565 | border: 10px solid #000; |
565 | width: 400px; | 566 | width: 400px; |
566 | height: 200px; | 567 | height: 200px; |
567 | /* margin: -150px 0 0 -300px; */ | 568 | padding: 2em; |
568 | padding: 2em; | 569 | } |
570 | |||
571 | #bagit-form-form .addurl { | ||
572 | margin-left: 0; | ||
569 | } | 573 | } |
570 | 574 | ||
571 | a#bagit-form-close, a#search-form-close { | 575 | .closeMessage, |
576 | .close-button { | ||
572 | background: #000; | 577 | background: #000; |
573 | color: #FFF; | 578 | color: #FFF; |
574 | padding: 0.2em 0.5em; | 579 | font-size: 1.2em; |
580 | line-height: 1.6; | ||
581 | width: 1.6em; | ||
582 | height: 1.6em; | ||
583 | text-align: center; | ||
575 | text-decoration: none; | 584 | text-decoration: none; |
576 | display: inline-block; | ||
577 | float: right; | ||
578 | font-size: 0.6em; | ||
579 | } | 585 | } |
580 | a#bagit-form-close:hover, a#search-form-close:hover { | 586 | .closeMessage:hover, |
581 | background: #999; | 587 | .closeMessage:focus, |
582 | color: #000; | 588 | .close-button:hover, |
589 | .close-button:focus { | ||
590 | background: #999; | ||
591 | color: #000; | ||
592 | } | ||
593 | |||
594 | .close-button--popup { | ||
595 | display: inline-block; | ||
596 | position: absolute; | ||
597 | top: 0; | ||
598 | right: 0; | ||
599 | font-size: 1.4em; | ||
583 | } | 600 | } |
584 | 601 | ||
585 | .active-current { | 602 | .active-current { |
@@ -634,56 +651,6 @@ a.add-to-wallabag-link-after:after { | |||
634 | } | 651 | } |
635 | 652 | ||
636 | /* ========================================================================== | 653 | /* ========================================================================== |
637 | 2.2 = "search for articles" popup div related styles | ||
638 | ========================================================================== */ | ||
639 | #search-form { | ||
640 | background: rgba(0,0,0,0.5); | ||
641 | position: absolute; | ||
642 | top: 0; | ||
643 | left: 10em; | ||
644 | z-index: 20; | ||
645 | height: 100%; | ||
646 | width: 100%; | ||
647 | margin: 0; | ||
648 | margin-top: -30%; | ||
649 | padding: 2em; | ||
650 | display: none; | ||
651 | border-left: 1px #EEE solid; | ||
652 | } | ||
653 | |||
654 | #search-form form { | ||
655 | background: #FFF; | ||
656 | position: absolute; | ||
657 | top: 0; | ||
658 | left: 0; | ||
659 | z-index: 20; | ||
660 | border: 10px solid #000; | ||
661 | width: 400px; | ||
662 | height: 200px; | ||
663 | /* margin: -150px 0 0 -300px; */ | ||
664 | padding: 2em; | ||
665 | } | ||
666 | |||
667 | a#search-form-close { | ||
668 | background: #000; | ||
669 | color: #FFF; | ||
670 | padding: 0.2em 0.5em; | ||
671 | text-decoration: none; | ||
672 | display: inline-block; | ||
673 | float: right; | ||
674 | font-size: 1.2em; | ||
675 | } | ||
676 | a#search-form-close:hover { | ||
677 | background: #999; | ||
678 | color: #000; | ||
679 | } | ||
680 | |||
681 | #submit-search{ | ||
682 | margin-left: 4em; | ||
683 | margin-top:1em; | ||
684 | } | ||
685 | |||
686 | /* ========================================================================== | ||
687 | 3 = Pictos | 654 | 3 = Pictos |
688 | ========================================================================== */ | 655 | ========================================================================== */ |
689 | 656 | ||
@@ -777,6 +744,10 @@ margin-top:1em; | |||
777 | color: #FFF; | 744 | color: #FFF; |
778 | } | 745 | } |
779 | 746 | ||
747 | .icon-check.archive:before { | ||
748 | color: #FFF; | ||
749 | } | ||
750 | |||
780 | /* ========================================================================== | 751 | /* ========================================================================== |
781 | 4 = Messages | 752 | 4 = Messages |
782 | ========================================================================== */ | 753 | ========================================================================== */ |
@@ -788,18 +759,6 @@ margin-top:1em; | |||
788 | 759 | ||
789 | .messages > * { display: inline-block;} | 760 | .messages > * { display: inline-block;} |
790 | 761 | ||
791 | .closeMessage { | ||
792 | background: #000; | ||
793 | color: #FFF; | ||
794 | padding: 0.2em 0.5em; | ||
795 | text-decoration: none; | ||
796 | } | ||
797 | |||
798 | .closeMessage:hover, .closeMessage:focus { | ||
799 | background: #FFF; | ||
800 | color: #000; | ||
801 | } | ||
802 | |||
803 | .warning { | 762 | .warning { |
804 | /* font-size: 3em; | 763 | /* font-size: 3em; |
805 | color: #999; | 764 | color: #999; |
@@ -816,6 +775,16 @@ margin-top:1em; | |||
816 | width: 100%; | 775 | width: 100%; |
817 | } | 776 | } |
818 | 777 | ||
778 | .more-info { | ||
779 | font-size: 0.85em; | ||
780 | line-height: 1.5; | ||
781 | color: #aaa; | ||
782 | } | ||
783 | |||
784 | .more-info a { | ||
785 | color: #aaa; | ||
786 | } | ||
787 | |||
819 | /* ========================================================================== | 788 | /* ========================================================================== |
820 | 5 = Article | 789 | 5 = Article |
821 | ========================================================================== */ | 790 | ========================================================================== */ |
@@ -841,6 +810,10 @@ blockquote { | |||
841 | margin: 0; | 810 | margin: 0; |
842 | } | 811 | } |
843 | 812 | ||
813 | #article h1 { | ||
814 | text-align: left; | ||
815 | } | ||
816 | |||
844 | #article h2, #article h3, #article h4 { | 817 | #article h2, #article h3, #article h4 { |
845 | text-transform: none; | 818 | text-transform: none; |
846 | } | 819 | } |
@@ -1029,6 +1002,9 @@ pre code { | |||
1029 | height: auto; | 1002 | height: auto; |
1030 | padding-top: 3em; | 1003 | padding-top: 3em; |
1031 | } | 1004 | } |
1005 | #links.menu--open { | ||
1006 | display: block; | ||
1007 | } | ||
1032 | footer { | 1008 | footer { |
1033 | position: static; | 1009 | position: static; |
1034 | margin-right: 3em; | 1010 | margin-right: 3em; |
@@ -1058,8 +1034,16 @@ pre code { | |||
1058 | display: none; | 1034 | display: none; |
1059 | } | 1035 | } |
1060 | 1036 | ||
1061 | #bagit-form, #search-form { | 1037 | .popup-form, #bagit-form, #search-form { |
1062 | left: 0; | 1038 | left: 0; |
1039 | width: 100%; | ||
1040 | border-left: none; | ||
1041 | } | ||
1042 | |||
1043 | .popup-form form, | ||
1044 | #bagit-form form, | ||
1045 | #search-form form { | ||
1046 | width: 100%; | ||
1063 | } | 1047 | } |
1064 | } | 1048 | } |
1065 | 1049 | ||
diff --git a/themes/baggy/edit-tags.twig b/themes/baggy/edit-tags.twig index 2113e964..d7c15033 100755 --- a/themes/baggy/edit-tags.twig +++ b/themes/baggy/edit-tags.twig | |||
@@ -13,14 +13,14 @@ | |||
13 | <h2>{{ entry.title|raw }}</21> | 13 | <h2>{{ entry.title|raw }}</21> |
14 | </div> | 14 | </div> |
15 | {% if tags is empty %} | 15 | {% if tags is empty %} |
16 | <div class="notags">no tags</div> | 16 | <div class="notags">{% trans "no tags" %}</div> |
17 | {% endif %} | 17 | {% endif %} |
18 | <ul> | 18 | <ul> |
19 | {% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %} | 19 | {% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %} |
20 | </ul> | 20 | </ul> |
21 | <form method="post" action="./?action=add_tag"> | 21 | <form method="post" action="./?action=add_tag"> |
22 | <input type="hidden" name="entry_id" value="{{ entry_id }}" /> | 22 | <input type="hidden" name="entry_id" value="{{ entry_id }}" /> |
23 | <label for="value">Add tags: </label><input type="text" placeholder="interview, editorial, video" id="value" name="value" required="required" /> | 23 | <label for="value">{% trans "Add tags:" %}</label><input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" /> |
24 | <input type="submit" value="Tag" /> | 24 | <input type="submit" value="Tag" /> |
25 | <p>{% trans "Start typing for auto complete." %}<br> | 25 | <p>{% trans "Start typing for auto complete." %}<br> |
26 | {% trans "You can enter multiple tags, separated by commas." %}</p> | 26 | {% trans "You can enter multiple tags, separated by commas." %}</p> |
diff --git a/themes/baggy/home.twig b/themes/baggy/home.twig index e788b588..dec848f2 100755 --- a/themes/baggy/home.twig +++ b/themes/baggy/home.twig | |||
@@ -38,12 +38,12 @@ | |||
38 | {% endblock %} | 38 | {% endblock %} |
39 | <div id="list-entries" class="list-entries"> | 39 | <div id="list-entries" class="list-entries"> |
40 | {% for entry in entries %} | 40 | {% for entry in entries %} |
41 | <div id="entry-{{ entry.id|e }}" class="entrie"{% if listmode %} style="width:100%; margin-left:0;"{% endif %}> | 41 | <div id="entry-{{ entry.id|e }}" class="entrie"> |
42 | <h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2> | 42 | <h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2> |
43 | {% if entry.content| getReadingTime > 0 %} | 43 | {% if entry.content| getReadingTime > 0 %} |
44 | <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> | 44 | <div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div> |
45 | {% else %} | 45 | {% else %} |
46 | <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> | 46 | <div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} <small class="inferieur"><</small> 1 min</span></div> |
47 | {% endif %} | 47 | {% endif %} |
48 | <ul class="tools links"> | 48 | <ul class="tools links"> |
49 | <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&id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li> | 49 | <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&id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li> |
@@ -57,13 +57,14 @@ | |||
57 | {% endfor %} | 57 | {% endfor %} |
58 | </div> | 58 | </div> |
59 | {{ block('pager') }} | 59 | {{ block('pager') }} |
60 | {% 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 %} | 60 | {% 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 %} |
61 | 61 | ||
62 | {% if search_term is defined %}<a title="{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}" href="./?action=add_tag&search={{ search_term }}">{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}</a>{% endif %} | 62 | {% if searchterm is defined %}<p><a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}"> |
63 | {% trans "Tag these results as" %} {{ searchterm }}</p></a>{% endif %} | ||
63 | 64 | ||
64 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | 65 | {% if tag %}<p><a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</p></a> |
65 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> | 66 | {% elseif search_term is defined %}<p><a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</p></a> |
66 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} | 67 | {% else %}<p><a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a></p>{% endif %} |
67 | 68 | ||
68 | {% endif %} | 69 | {% endif %} |
69 | {% endblock %} | 70 | {% endblock %} |
diff --git a/themes/baggy/js/init.js b/themes/baggy/js/init.js index 00470fbf..74cbae68 100755 --- a/themes/baggy/js/init.js +++ b/themes/baggy/js/init.js | |||
@@ -8,7 +8,10 @@ $.fn.ready(function() { | |||
8 | ========================================================================== */ | 8 | ========================================================================== */ |
9 | 9 | ||
10 | $("#menu").click(function(){ | 10 | $("#menu").click(function(){ |
11 | $("#links").toggle(); | 11 | $("#links").toggleClass('menu--open'); |
12 | if ($('#content').hasClass('opacity03')) { | ||
13 | $('#content').removeClass('opacity03'); | ||
14 | } | ||
12 | }); | 15 | }); |
13 | 16 | ||
14 | /* ========================================================================== | 17 | /* ========================================================================== |
diff --git a/themes/baggy/login.twig b/themes/baggy/login.twig index 645db376..58290e9c 100644 --- a/themes/baggy/login.twig +++ b/themes/baggy/login.twig | |||
@@ -9,17 +9,17 @@ | |||
9 | {% if constant('MODE_DEMO') == 1 %}<p>{% trans "you are in demo mode, some features may be disabled." %}</p>{% endif %} | 9 | {% if constant('MODE_DEMO') == 1 %}<p>{% trans "you are in demo mode, some features may be disabled." %}</p>{% endif %} |
10 | <div class="row"> | 10 | <div class="row"> |
11 | <label class="col w150p" for="login">{% trans "Username" %}</label> | 11 | <label class="col w150p" for="login">{% trans "Username" %}</label> |
12 | <input class="col" type="text" id="login" name="login" placeholder="Login" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} /> | 12 | <input class="col" type="text" id="login" name="login" placeholder="{% trans "Username" %}" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} /> |
13 | </div> | 13 | </div> |
14 | 14 | ||
15 | <div class="row"> | 15 | <div class="row"> |
16 | <label class="col w150p" for="password">{% trans "Password" %}</label> | 16 | <label class="col w150p" for="password">{% trans "Password" %}</label> |
17 | <input class="col" type="password" id="password" name="password" placeholder="Password" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} /> | 17 | <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} /> |
18 | </div> | 18 | </div> |
19 | <div class="row"> | 19 | <div class="row"> |
20 | <label class="col w150p" for="longlastingsession">{% trans "Stay signed in" %}</label> | 20 | |
21 | <div class="col"> | 21 | <div class="col"> |
22 | <input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3"> | 22 | <input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3" /> <label for="longlastingsession">{% trans "Stay signed in" %}</label><br /> |
23 | <small class="inbl">{% trans "(Do not check on public computers)" %}</small> | 23 | <small class="inbl">{% trans "(Do not check on public computers)" %}</small> |
24 | </div> | 24 | </div> |
25 | </div> | 25 | </div> |
diff --git a/themes/baggy/tags.twig b/themes/baggy/tags.twig index 9bb93a45..65930eb2 100755 --- a/themes/baggy/tags.twig +++ b/themes/baggy/tags.twig | |||
@@ -1,5 +1,5 @@ | |||
1 | {% extends "layout.twig" %} | 1 | {% extends "layout.twig" %} |
2 | {% block title %}tags{% endblock %} | 2 | {% block title %}Tags{% endblock %} |
3 | {% block menu %} | 3 | {% block menu %} |
4 | {% include '_menu.twig' %} | 4 | {% include '_menu.twig' %} |
5 | {% endblock %} | 5 | {% endblock %} |
@@ -10,4 +10,4 @@ | |||
10 | </li> | 10 | </li> |
11 | {% endfor %} | 11 | {% endfor %} |
12 | </ul> | 12 | </ul> |
13 | {% endblock %} \ No newline at end of file | 13 | {% endblock %} |
diff --git a/themes/courgette/home.twig b/themes/courgette/home.twig index 811298eb..ff27db43 100755 --- a/themes/courgette/home.twig +++ b/themes/courgette/home.twig | |||
@@ -26,13 +26,13 @@ | |||
26 | {% block pager %} | 26 | {% block pager %} |
27 | {% if nb_results > 1 %} | 27 | {% if nb_results > 1 %} |
28 | <div class="results"> | 28 | <div class="results"> |
29 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div> | 29 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}</div> |
30 | {{ page_links | raw }} | 30 | {{ page_links | raw }} |
31 | </div> | 31 | </div> |
32 | {% elseif nb_results == 1 %} | 32 | {% elseif nb_results == 1 %} |
33 | {% if search_term is defined %} | 33 | {% if searchterm is defined %} |
34 | <div class="results"> | 34 | <div class="results"> |
35 | <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div> | 35 | <div class="nb-results">{% trans "Only one result found for " %} « {{ searchterm }} »</div> |
36 | </div> | 36 | </div> |
37 | {% endif %} | 37 | {% endif %} |
38 | {% endif %} | 38 | {% endif %} |
@@ -53,10 +53,12 @@ | |||
53 | 53 | ||
54 | {{ block('pager') }} | 54 | {{ block('pager') }} |
55 | 55 | ||
56 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | 56 | {% 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 %} |
57 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> | 57 | |
58 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | ||
59 | {% elseif searchterm is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ searchterm }}">{% trans "Download the articles from this search in an epub" %}</a> | ||
58 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} | 60 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} |
59 | 61 | ||
60 | {% endif %} | 62 | {% endif %} |
61 | 63 | ||
62 | {% endblock %} \ No newline at end of file | 64 | {% endblock %} |
diff --git a/themes/default/_menu.twig b/themes/default/_menu.twig index 9b9a6062..eedf84f1 100644 --- a/themes/default/_menu.twig +++ b/themes/default/_menu.twig | |||
@@ -6,6 +6,7 @@ | |||
6 | <li><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a><span id="bagit-arrow"></span></li> | 6 | <li><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a><span id="bagit-arrow"></span></li> |
7 | <li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li> | 7 | <li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li> |
8 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> | 8 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> |
9 | <li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li> | ||
9 | <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> | 10 | <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> |
10 | </ul> | 11 | </ul> |
11 | {% include '_pocheit-form.twig' %} | 12 | {% include '_pocheit-form.twig' %} |
diff --git a/themes/default/_sorting.twig b/themes/default/_sorting.twig index ce3d38bc..3ce9b949 100755 --- a/themes/default/_sorting.twig +++ b/themes/default/_sorting.twig | |||
@@ -1,6 +1,6 @@ | |||
1 | {% if entries|length > 1 %} | 1 | {% if entries|length > 1 %} |
2 | <ul id="sort"> | 2 | <ul id="sort"> |
3 | <li><a href="./?sort=ia&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&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&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li> | 3 | <li><a href="./?sort=ia&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&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&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li> |
4 | <li><a href="./?sort=ta&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&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&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li> | 4 | <li><a href="./?sort=ta&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&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&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li> |
5 | </ul> | 5 | </ul> |
6 | {% endif %} | 6 | {% endif %} |
diff --git a/themes/default/about.twig b/themes/default/about.twig new file mode 100755 index 00000000..5ca3217c --- /dev/null +++ b/themes/default/about.twig | |||
@@ -0,0 +1,74 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "About wallabag" %}{% endblock %} | ||
4 | {% block menu %} | ||
5 | {% include '_menu.twig' %} | ||
6 | {% endblock %} | ||
7 | {% block content %} | ||
8 | <h2>{% trans "About wallabag" %}</h2> | ||
9 | |||
10 | <dl> | ||
11 | <dt>{% trans "Project website" %}</dt> | ||
12 | <dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd> | ||
13 | |||
14 | <dt>{% trans "Main developer" %}</dt> | ||
15 | <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd> | ||
16 | |||
17 | <dt>{% trans "Contributors:" %}</dt> | ||
18 | <dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd> | ||
19 | |||
20 | <dt>{% trans "Bug reports" %}</dt> | ||
21 | <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> | ||
22 | |||
23 | <dt>{% trans "License" %}</dt> | ||
24 | <dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd> | ||
25 | |||
26 | <dt>{% trans "Version" %}</dt> | ||
27 | <dd>{{ constant('POCHE') }}</dd> | ||
28 | </dl> | ||
29 | |||
30 | <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> | ||
31 | |||
32 | <h2>{% trans "Helping wallabag" %}</h2> | ||
33 | |||
34 | <p>{% trans "wallabag is free and opensource. You can help us:" %}</p> | ||
35 | |||
36 | <dl> | ||
37 | <dt><a href="http://www.wallabag.org">{% trans "via Paypal" %}</a></dt> | ||
38 | |||
39 | <dt><a href="http://www.wallabag.org">{% trans "via Flattr" %}</a></dt> | ||
40 | </dl> | ||
41 | |||
42 | <h2>{% trans "Credits" %}</h2> | ||
43 | <dl> | ||
44 | <dt>PHP Readability</dt> | ||
45 | <dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd> | ||
46 | |||
47 | <dt>Full Text RSS</dt> | ||
48 | <dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd> | ||
49 | |||
50 | <dt>logo by Maylis Agniel</dt> | ||
51 | <dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd> | ||
52 | |||
53 | <dt>icons</dt> | ||
54 | <dd><a href="http://icomoon.io">http://icomoon.io</a></dd> | ||
55 | |||
56 | <dt>PHP Simple HTML DOM Parser</dt> | ||
57 | <dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd> | ||
58 | |||
59 | <dt>Session</dt> | ||
60 | <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> | ||
61 | |||
62 | <dt>Twig</dt> | ||
63 | <dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd> | ||
64 | |||
65 | <dt>Flash messages</dt> | ||
66 | <dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd> | ||
67 | |||
68 | <dt>Pagination</dt> | ||
69 | <dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd> | ||
70 | |||
71 | <dt>PHPePub</dt> | ||
72 | <dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd> | ||
73 | </dl> | ||
74 | {% endblock %} | ||
diff --git a/themes/default/config.twig b/themes/default/config.twig index 36b66e88..082e179f 100755 --- a/themes/default/config.twig +++ b/themes/default/config.twig | |||
@@ -6,29 +6,29 @@ | |||
6 | {% endblock %} | 6 | {% endblock %} |
7 | {% block content %} | 7 | {% block content %} |
8 | <h2>{% trans "Saving articles" %}</h2> | 8 | <h2>{% trans "Saving articles" %}</h2> |
9 | <p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p> | 9 | <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> |
10 | <p> | ||
11 | <form method="get" action="index.php"> | ||
12 | <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br> | ||
13 | <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" /> | ||
14 | <input type="submit" value="{% trans "bag it!" %}" /> | ||
15 | </form> | ||
16 | </p> | ||
17 | <h3>Browser Plugins</h3> | ||
10 | <ul> | 18 | <ul> |
11 | <li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li> | 19 | <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li> |
12 | <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> | 20 | <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li> |
13 | <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> | ||
14 | <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li> | ||
15 | <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> | ||
16 | <li> | ||
17 | <form method="get" action="index.php"> | ||
18 | <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label> | ||
19 | <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" /> | ||
20 | <input type="submit" value="{% trans "bag it!" %}" /> | ||
21 | </form> | ||
22 | </li> | ||
23 | <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> | ||
24 | </ul> | 21 | </ul> |
25 | 22 | <h3>Mobile Apps</h3> | |
26 | <h2>{% trans "Upgrading wallabag" %}</h2> | ||
27 | <ul> | 23 | <ul> |
28 | <li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li> | 24 | <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> |
29 | <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> | 25 | <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li> |
30 | {% 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 %} | 26 | <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> |
31 | </ul> | 27 | </ul> |
28 | <h3>{% trans "Bookmarklet" %}</h3> | ||
29 | <p> | ||
30 | {% trans "Drag & 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> | ||
31 | </p> | ||
32 | 32 | ||
33 | <h2>{% trans "Feeds" %}</h2> | 33 | <h2>{% trans "Feeds" %}</h2> |
34 | {% if token == '' %} | 34 | {% if token == '' %} |
@@ -39,14 +39,16 @@ | |||
39 | <li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li> | 39 | <li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li> |
40 | <li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li> | 40 | <li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li> |
41 | </ul> | 41 | </ul> |
42 | <p>{% trans "Your token:" %} <strong>{{token}}</strong></p> | 42 | <p class="more-info"> |
43 | <p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p> | 43 | {% trans "Your token:" %} <strong>{{token}}</strong><br> |
44 | <p>{% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %}</p> | 44 | {% trans "Your user id:" %} <strong>{{user_id}}</strong><br> |
45 | {% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %} | ||
46 | </p> | ||
45 | {% endif %} | 47 | {% endif %} |
46 | 48 | ||
47 | <h2>{% trans "Change your theme" %}</h2> | 49 | <h2>{% trans "Change your theme" %}</h2> |
48 | <form method="post" action="?updatetheme" name="changethemeform"> | 50 | <form method="post" action="?updatetheme" name="changethemeform"> |
49 | <fieldset class="w500p"> | 51 | <fieldset class="w500p inline"> |
50 | <div class="row"> | 52 | <div class="row"> |
51 | <label class="col w150p" for="theme">{% trans "Theme:" %}</label> | 53 | <label class="col w150p" for="theme">{% trans "Theme:" %}</label> |
52 | <select class="col" id="theme" name="theme"> | 54 | <select class="col" id="theme" name="theme"> |
@@ -65,7 +67,7 @@ | |||
65 | 67 | ||
66 | <h2>{% trans "Change your language" %}</h2> | 68 | <h2>{% trans "Change your language" %}</h2> |
67 | <form method="post" action="?updatelanguage" name="changelanguageform"> | 69 | <form method="post" action="?updatelanguage" name="changelanguageform"> |
68 | <fieldset class="w500p"> | 70 | <fieldset class="w500p inline"> |
69 | <div class="row"> | 71 | <div class="row"> |
70 | <label class="col w150p" for="language">{% trans "Language:" %}</label> | 72 | <label class="col w150p" for="language">{% trans "Language:" %}</label> |
71 | <select class="col" id="language" name="language"> | 73 | <select class="col" id="language" name="language"> |
@@ -82,6 +84,35 @@ | |||
82 | <input type="hidden" name="token" value="{{ token }}"> | 84 | <input type="hidden" name="token" value="{{ token }}"> |
83 | </form> | 85 | </form> |
84 | 86 | ||
87 | <h2><a name="import"></a>{% trans "Import" %}</h2> | ||
88 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> | ||
89 | <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> | ||
90 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> | ||
91 | <fieldset class="w500p"> | ||
92 | <div class="row"> | ||
93 | <label class="col w150p" for="file">{% trans "File:" %}</label> | ||
94 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> | ||
95 | </div> | ||
96 | <div class="row mts txtcenter"> | ||
97 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | ||
98 | </div> | ||
99 | </fieldset> | ||
100 | </form> | ||
101 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | ||
102 | <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> | ||
103 | |||
104 | <h2>{% trans "Export your wallabag data" %}</h2> | ||
105 | <p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br> | ||
106 | <span class="more-info">Data will be exported in a single JSON file.</span></p> | ||
107 | |||
108 | <h2>{% trans "Fancy an E-Book ?" %}</h2> | ||
109 | <p><a href="./?epub&method=all" title="Generate ePub">Download E-Book</a><br> | ||
110 | <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> | ||
111 | |||
112 | <h2><a name="cache"></a>{% trans "Cache" %}</h2> | ||
113 | <p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br> | ||
114 | <span class="more-info">Deleting the cache may help with display or other problems.</span></p> | ||
115 | |||
85 | {% if http_auth == 0 %} | 116 | {% if http_auth == 0 %} |
86 | <h2>{% trans "Change your password" %}</h2> | 117 | <h2>{% trans "Change your password" %}</h2> |
87 | <form method="post" action="?config" name="loginform"> | 118 | <form method="post" action="?config" name="loginform"> |
@@ -102,55 +133,28 @@ | |||
102 | <input type="hidden" name="token" value="{{ token }}"> | 133 | <input type="hidden" name="token" value="{{ token }}"> |
103 | </form> | 134 | </form> |
104 | {% endif %} | 135 | {% endif %} |
105 | |||
106 | <h2>{% trans "Import" %}</h2> | ||
107 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> | ||
108 | <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> | ||
109 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> | ||
110 | <fieldset class="w500p"> | ||
111 | <div class="row"> | ||
112 | <label class="col w150p" for="file">{% trans "File:" %}</label> | ||
113 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> | ||
114 | </div> | ||
115 | <div class="row mts txtcenter"> | ||
116 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | ||
117 | </div> | ||
118 | </fieldset> | ||
119 | </form> | ||
120 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | ||
121 | |||
122 | <h2>{% trans "Export your wallabag data" %}</h2> | ||
123 | <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p> | ||
124 | |||
125 | <h2>{% trans "Cache" %}</h2> | ||
126 | <p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p> | ||
127 | |||
128 | <h2>{% trans "Fancy an E-Book ?" %}</h2> | ||
129 | <p>{% trans "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this link</a> to get all your articles in one ebook (ePub 3 format)." %} | ||
130 | <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> | ||
131 | 136 | ||
132 | <h2>{% trans 'Add user' %}</h2> | 137 | <h2>{% trans 'Add user' %}</h2> |
133 | <p>{% trans 'Add a new user :' %}</p> | ||
134 | <form method="post" action="?newuser"> | 138 | <form method="post" action="?newuser"> |
135 | <fieldset class="w500p"> | 139 | <fieldset class="w500p"> |
136 | <div class="row"> | 140 | <div class="row"> |
137 | <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label> | 141 | <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label> |
138 | <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}"> | 142 | <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required> |
139 | </div> | 143 | </div> |
140 | <div class="row"> | 144 | <div class="row"> |
141 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> | 145 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> |
142 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}"> | 146 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required> |
143 | </div> | 147 | </div> |
144 | <div class="row"> | 148 | <div class="row"> |
145 | <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label> | 149 | <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label> |
146 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> | 150 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> |
147 | </div> | 151 | </div> |
148 | <div class="row mts txtcenter"> | 152 | <div class="row mts txtcenter"> |
149 | <button type="submit">{% trans "Send" %}</button> | 153 | <button type="submit">{% trans "Add user" %}</button> |
150 | </div> | 154 | </div> |
151 | </fieldset> | 155 | </fieldset> |
152 | </form> | 156 | </form> |
153 | 157 | ||
154 | <h2>{% trans "Delete account" %}</h2> | 158 | <h2>{% trans "Delete account" %}</h2> |
155 | {% if not only_user %}<form method="post" action="?deluser"> | 159 | {% if not only_user %}<form method="post" action="?deluser"> |
156 | <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 | <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 @@ | |||
160 | <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}"> | 164 | <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}"> |
161 | </div> | 165 | </div> |
162 | <div class="row mts txtcenter"> | 166 | <div class="row mts txtcenter"> |
163 | <button type="submit">{% trans "Send" %}</button> | 167 | <button type="submit">{% trans "Delete account" %}</button> |
164 | </div> | 168 | </div> |
165 | </form> | 169 | </form> |
166 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> | 170 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p> |
167 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} | 171 | <p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} |
172 | |||
173 | <h2>{% trans "Upgrading wallabag" %}</h2> | ||
174 | <ul> | ||
175 | <li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li> | ||
176 | <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> | ||
177 | {% 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> | ||
178 | </ul> | ||
179 | <p class="more-info">{% trans "You can clear cache to check the latest release." %}</p> | ||
180 | |||
168 | {% endblock %} | 181 | {% endblock %} |
diff --git a/themes/default/css/messages.css b/themes/default/css/messages.css index 3ad4e34e..46b54795 100644 --- a/themes/default/css/messages.css +++ b/themes/default/css/messages.css | |||
@@ -8,11 +8,6 @@ | |||
8 | border-radius: 4px; | 8 | border-radius: 4px; |
9 | } | 9 | } |
10 | 10 | ||
11 | /* Search form message needs a little more width, depending on translations */ | ||
12 | #search-form { | ||
13 | width: 420px; | ||
14 | } | ||
15 | |||
16 | .messages a.closeMessage { | 11 | .messages a.closeMessage { |
17 | display: none; | 12 | display: none; |
18 | float: right; | 13 | float: right; |
diff --git a/themes/default/css/style.css b/themes/default/css/style.css index e254d481..b25373d6 100755 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css | |||
@@ -417,6 +417,15 @@ a.add-to-wallabag-link-after:after { | |||
417 | padding-left: 10px; | 417 | padding-left: 10px; |
418 | } | 418 | } |
419 | 419 | ||
420 | /* ========================================================================== | ||
421 | "Search" popup div related styles | ||
422 | ========================================================================== */ | ||
423 | |||
424 | /* Search form message needs a little more width, depending on translations */ | ||
425 | #search-form { | ||
426 | width: 420px; | ||
427 | } | ||
428 | |||
420 | .opacity03 { | 429 | .opacity03 { |
421 | /*opacity: 0.3;*/ | 430 | /*opacity: 0.3;*/ |
422 | } | 431 | } |
@@ -435,4 +444,4 @@ pre code { | |||
435 | font-family: "Courier New", Courier, monospace; | 444 | font-family: "Courier New", Courier, monospace; |
436 | border: 1px solid #ddd; | 445 | border: 1px solid #ddd; |
437 | font-size: 0.96em; | 446 | font-size: 0.96em; |
438 | } \ No newline at end of file | 447 | } |
diff --git a/themes/default/edit-tags.twig b/themes/default/edit-tags.twig index bd498d26..89c746ec 100755 --- a/themes/default/edit-tags.twig +++ b/themes/default/edit-tags.twig | |||
@@ -16,15 +16,15 @@ | |||
16 | </div> | 16 | </div> |
17 | 17 | ||
18 | {% if tags is empty %} | 18 | {% if tags is empty %} |
19 | no tags | 19 | {% trans "no tags" %} |
20 | {% endif %} | 20 | {% endif %} |
21 | <ul> | 21 | <ul> |
22 | {% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %} | 22 | {% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %} |
23 | </ul> | 23 | </ul> |
24 | <form method="post" action="./?action=add_tag" id="editTags"> | 24 | <form method="post" action="./?action=add_tag" id="editTags"> |
25 | <input type="hidden" name="entry_id" value="{{ entry_id }}" /> | 25 | <input type="hidden" name="entry_id" value="{{ entry_id }}" /> |
26 | <label for="value">Add tags: </label> | 26 | <label for="value">{% trans "Add tags:" %}</label> |
27 | <input type="text" placeholder="interview, editorial, video" id="value" name="value" required="required" /> | 27 | <input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" /> |
28 | <input type="submit" value="Tag" /> | 28 | <input type="submit" value="Tag" /> |
29 | <p>{% trans "Start typing for auto complete." %}<br> | 29 | <p>{% trans "Start typing for auto complete." %}<br> |
30 | {% trans "You can enter multiple tags, separated by commas." %}</p> | 30 | {% trans "You can enter multiple tags, separated by commas." %}</p> |
diff --git a/themes/default/home.twig b/themes/default/home.twig index 093c2dc5..6bc549e6 100755 --- a/themes/default/home.twig +++ b/themes/default/home.twig | |||
@@ -31,13 +31,13 @@ | |||
31 | {% block pager %} | 31 | {% block pager %} |
32 | {% if nb_results > 1 %} | 32 | {% if nb_results > 1 %} |
33 | <div class="results"> | 33 | <div class="results"> |
34 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div> | 34 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}</div> |
35 | {{ page_links | raw }} | 35 | {{ page_links | raw }} |
36 | </div> | 36 | </div> |
37 | {% elseif nb_results == 1 %} | 37 | {% elseif nb_results == 1 %} |
38 | {% if search_term is defined %} | 38 | {% if searchterm is defined %} |
39 | <div class="results"> | 39 | <div class="results"> |
40 | <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div> | 40 | <div class="nb-results">{% trans "Only one result found for " %} « {{ searchterm }} »</div> |
41 | </div> | 41 | </div> |
42 | {% endif %} | 42 | {% endif %} |
43 | {% endif %} | 43 | {% endif %} |
@@ -60,8 +60,11 @@ | |||
60 | 60 | ||
61 | {% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "mark all the entries as read" %}" href="./?action=archive_all">{% trans "mark all the entries as read" %}</a>{% endif %}{% endif %} | 61 | {% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "mark all the entries as read" %}" href="./?action=archive_all">{% trans "mark all the entries as read" %}</a>{% endif %}{% endif %} |
62 | 62 | ||
63 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | 63 | {% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}"> |
64 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> | 64 | {% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %} |
65 | |||
66 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | ||
67 | {% elseif searchterm is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ searchterm }}">{% trans "Download the articles from this search in an epub" %}</a> | ||
65 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} | 68 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} |
66 | 69 | ||
67 | {% endif %} | 70 | {% endif %} |
diff --git a/themes/default/js/popupForm.js b/themes/default/js/popupForm.js index a32e6e70..d233e600 100644 --- a/themes/default/js/popupForm.js +++ b/themes/default/js/popupForm.js | |||
@@ -1,21 +1,72 @@ | |||
1 | $(document).ready(function() { | 1 | $(document).ready(function() { |
2 | 2 | ||
3 | $("#search-form").hide(); | 3 | $("#search-form").hide(); |
4 | $("#bagit-form").hide(); | ||
4 | 5 | ||
5 | function closeSearch() { | 6 | //--------------------------------------------------------------------------- |
7 | // Toggle the "Search" popup in the sidebar | ||
8 | //--------------------------------------------------------------------------- | ||
9 | function toggleSearch() { | ||
6 | $("#search-form").toggle(); | 10 | $("#search-form").toggle(); |
7 | $("#search").toggleClass("current"); | 11 | $("#search").toggleClass("current"); |
12 | $("#search").toggleClass("active-current"); | ||
8 | $("#search-arrow").toggleClass("arrow-down"); | 13 | $("#search-arrow").toggleClass("arrow-down"); |
14 | if ($("#search").hasClass("current")) { | ||
15 | $("#content").addClass("opacity03"); | ||
16 | } else { | ||
17 | $("#content").removeClass("opacity03"); | ||
18 | } | ||
19 | } | ||
20 | |||
21 | //--------------------------------------------------------------------------- | ||
22 | // Toggle the "Save a Link" popup in the sidebar | ||
23 | //--------------------------------------------------------------------------- | ||
24 | function toggleBagit() { | ||
25 | $("#bagit-form").toggle(); | ||
26 | $("#bagit").toggleClass("current"); | ||
27 | $("#bagit").toggleClass("active-current"); | ||
28 | $("#bagit-arrow").toggleClass("arrow-down"); | ||
29 | if ($("#bagit").hasClass("current")) { | ||
30 | $("#content").addClass("opacity03"); | ||
31 | } else { | ||
32 | $("#content").removeClass("opacity03"); | ||
33 | } | ||
34 | } | ||
35 | |||
36 | //--------------------------------------------------------------------------- | ||
37 | // Close all #links popups in the sidebar | ||
38 | //--------------------------------------------------------------------------- | ||
39 | function closePopups() { | ||
40 | $("#links .messages").hide(); | ||
41 | $("#links > li > a").removeClass("active-current"); | ||
42 | $("#links > li > a").removeClass("current"); | ||
43 | $("[id$=-arrow]").removeClass("arrow-down"); | ||
44 | $("#content").removeClass("opacity03"); | ||
9 | } | 45 | } |
10 | 46 | ||
11 | $("#search").click(function(){ | 47 | $("#search").click(function(){ |
12 | closeSearch(); | 48 | closePopups(); |
13 | $('#searchfield').focus(); | 49 | toggleSearch(); |
50 | $("#searchfield").focus(); | ||
51 | }); | ||
52 | |||
53 | $("#bagit").click(function(){ | ||
54 | closePopups(); | ||
55 | toggleBagit(); | ||
56 | $("#plainurl").focus(); | ||
14 | }); | 57 | }); |
15 | 58 | ||
16 | $("#search-form-close").click(function(){ | 59 | $("#search-form-close").click(function(){ |
17 | closeSearch(); | 60 | toggleSearch(); |
61 | }); | ||
62 | |||
63 | $("#bagit-form-close").click(function(){ | ||
64 | toggleBagit(); | ||
18 | }); | 65 | }); |
19 | 66 | ||
67 | // $("#").click(function(){ | ||
68 | // toggleSearch(); | ||
69 | // }); | ||
70 | |||
20 | 71 | ||
21 | }); \ No newline at end of file | 72 | }); |
diff --git a/themes/default/js/saveLink.js b/themes/default/js/saveLink.js index 6dbce97e..a7acd84c 100755 --- a/themes/default/js/saveLink.js +++ b/themes/default/js/saveLink.js | |||
@@ -13,7 +13,7 @@ $.fn.ready(function() { | |||
13 | 13 | ||
14 | $bagit.toggleClass("active-current"); | 14 | $bagit.toggleClass("active-current"); |
15 | 15 | ||
16 | //only if bagiti link is not presented on page | 16 | //only if bag-it link is not presented on page |
17 | if ( $bagit.length === 0 ) { | 17 | if ( $bagit.length === 0 ) { |
18 | if ( event !== 'undefined' && event ) { | 18 | if ( event !== 'undefined' && event ) { |
19 | $bagitForm.css( {position:"absolute", top:event.pageY, left:event.pageX-200}); | 19 | $bagitForm.css( {position:"absolute", top:event.pageY, left:event.pageX-200}); |
@@ -23,6 +23,11 @@ $.fn.ready(function() { | |||
23 | } | 23 | } |
24 | } | 24 | } |
25 | 25 | ||
26 | if ($("#search-form").length != 0) { | ||
27 | $("#search").removeClass("current"); | ||
28 | $("#search-arrow").removeClass("arrow-down"); | ||
29 | $("#search-form").hide(); | ||
30 | } | ||
26 | $bagitForm.toggle(); | 31 | $bagitForm.toggle(); |
27 | $('#content').toggleClass("opacity03"); | 32 | $('#content').toggleClass("opacity03"); |
28 | if (url !== 'undefined' && url) { | 33 | if (url !== 'undefined' && url) { |
@@ -31,18 +36,21 @@ $.fn.ready(function() { | |||
31 | $('#plainurl').focus(); | 36 | $('#plainurl').focus(); |
32 | } | 37 | } |
33 | 38 | ||
34 | 39 | //--------------------------------------------------------------------------- | |
35 | $bagit.click(function(){ | 40 | // These two functions are now taken care of in popupForm.js |
36 | $bagit.toggleClass("current"); | 41 | //--------------------------------------------------------------------------- |
37 | $("#bagit-arrow").toggleClass("arrow-down"); | 42 | |
38 | toggleSaveLinkForm(); | 43 | // $bagit.click(function(){ |
39 | }); | 44 | // $bagit.toggleClass("current"); |
40 | 45 | // $("#bagit-arrow").toggleClass("arrow-down"); | |
41 | $("#bagit-form-close").click(function(){ | 46 | // toggleSaveLinkForm(); |
42 | $bagit.removeClass("current"); | 47 | // }); |
43 | $("#bagit-arrow").removeClass("arrow-down"); | 48 | |
44 | toggleSaveLinkForm(); | 49 | // $("#bagit-form-close").click(function(){ |
45 | }); | 50 | // $bagit.removeClass("current"); |
51 | // $("#bagit-arrow").removeClass("arrow-down"); | ||
52 | // toggleSaveLinkForm(); | ||
53 | // }); | ||
46 | 54 | ||
47 | 55 | ||
48 | //send "bag it link" form request via ajax | 56 | //send "bag it link" form request via ajax |