mirror of
https://github.com/wallabag/wallabag.git
synced 2025-01-22 22:58:08 +00:00
commit
1532376710
103 changed files with 2183 additions and 498 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -1,7 +1,9 @@
|
|||
.DS_Store
|
||||
assets/*
|
||||
cache/*
|
||||
vendor
|
||||
composer.phar
|
||||
db/poche.sqlite
|
||||
inc/poche/config.inc.php
|
||||
inc/3rdparty/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer/
|
||||
inc/3rdparty/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer/
|
||||
.vagrant
|
71
Vagrantfile
vendored
Normal file
71
Vagrantfile
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
|
||||
$script_sqlite = <<SCRIPT
|
||||
apt-get update
|
||||
apt-get install -y apache2 php5 php5-sqlite php5-xdebug
|
||||
apt-get clean -y
|
||||
echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||
service apache2 restart
|
||||
rm -f /var/www/html/index.html
|
||||
date > /etc/vagrant_provisioned_at
|
||||
SCRIPT
|
||||
|
||||
$script_mysql = <<SCRIPT
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update
|
||||
apt-get install -y apache2 php5 php5-mysql php5-xdebug mysql-server mysql-client
|
||||
apt-get clean -y
|
||||
echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||
service apache2 restart
|
||||
service mysql restart
|
||||
echo "create database wallabag;" | mysql -u root
|
||||
rm -f /var/www/html/index.html
|
||||
date > /etc/vagrant_provisioned_at
|
||||
SCRIPT
|
||||
|
||||
$script_postgres = <<SCRIPT
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update
|
||||
apt-get install -y apache2 php5 php5-pgsql php5-xdebug postgresql postgresql-contrib
|
||||
apt-get clean -y
|
||||
echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||
service apache2 restart
|
||||
service postgresql restart
|
||||
rm -f /var/www/html/index.html
|
||||
date > /etc/vagrant_provisioned_at
|
||||
SCRIPT
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
|
||||
config.vm.define "sqlite" do |m|
|
||||
m.vm.box = "ubuntu/trusty64"
|
||||
m.vm.provision "shell", inline: $script_sqlite
|
||||
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
|
||||
end
|
||||
|
||||
config.vm.define "mysql" do |m|
|
||||
m.vm.box = "ubuntu/trusty64"
|
||||
m.vm.provision "shell", inline: $script_mysql
|
||||
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
|
||||
end
|
||||
|
||||
config.vm.define "postgres" do |m|
|
||||
m.vm.box = "ubuntu/trusty64"
|
||||
m.vm.provision "shell", inline: $script_postgres
|
||||
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
|
||||
end
|
||||
|
||||
config.vm.define "debian7" do |m|
|
||||
m.vm.box = "chef/debian-7.6"
|
||||
m.vm.provision "shell", inline: $script_sqlite
|
||||
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
|
||||
end
|
||||
|
||||
config.vm.define "debian6" do |m|
|
||||
m.vm.box = "chef/debian-6.0.10"
|
||||
m.vm.provision "shell", inline: $script_sqlite
|
||||
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
|
||||
end
|
||||
|
||||
config.vm.network :forwarded_port, guest: 80, host: 8003
|
||||
#config.vm.network "public_network", :bridge => "en0: Wi-Fi (AirPort)"
|
||||
end
|
2
inc/3rdparty/class.messages.php
vendored
2
inc/3rdparty/class.messages.php
vendored
|
@ -44,7 +44,7 @@ class Messages {
|
|||
var $msgId;
|
||||
var $msgTypes = array( 'help', 'info', 'warning', 'success', 'error' );
|
||||
var $msgClass = 'messages';
|
||||
var $msgWrapper = "<div class='%s %s'><a href='#' class='closeMessage'>X</a>\n%s</div>\n";
|
||||
var $msgWrapper = "<div class='%s %s'><a href='#' class='closeMessage'>×</a>\n%s</div>\n";
|
||||
var $msgBefore = '<p>';
|
||||
var $msgAfter = "</p>\n";
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
title: substring-before(//title, '—')
|
||||
test_url: http://512pixels.net/more-on-linked-lists/
|
||||
title: //meta[@property='og:title']/@content
|
||||
test_url: http://www.512pixels.net/blog/2014/10/the-move
|
||||
|
|
8
inc/3rdparty/site_config/standard/README.md
vendored
8
inc/3rdparty/site_config/standard/README.md
vendored
|
@ -1,12 +1,14 @@
|
|||
Full-Text RSS site config files
|
||||
================
|
||||
|
||||
[Full-Text RSS](http://fivefilters.org/content-only/), our article extraction tool, makes use of site-specific extraction rules to improve results. Each time a URL is processed, it checks to see if there are extraction rules for the site being processed. If there are no site patterns, it tries to detect the content block automatically.
|
||||
[Full-Text RSS](http://fivefilters.org/content-only/), our article extraction tool, makes use of site-specific extraction rules to improve results. Each time a URL is processed, it checks to see if there are extraction rules for the site being processed. If there are no rules are found, it tries to detect the content block automatically.
|
||||
|
||||
This repository contains the site config files we use in Full-Text RSS.
|
||||
This repository contains the site-specific extraction rules we rely on in Full-Text RSS.
|
||||
|
||||
### Contributing changes
|
||||
|
||||
We run automated tests on these files to detect issues. If you'd like to help keep these up to date, please look at the [test results](http://siteconfig.fivefilters.org/test/) and see which files you'd like to contribute fixes for.
|
||||
|
||||
We chose GitHub for this set of files because they offer one feature which we hope will make contributing changes easier: [file editing](https://github.com/blog/844-forking-with-the-edit-button) through the web interface.
|
||||
|
||||
You can now make changes to any of our site config files and request that your changes be pulled into the main set we maintain. This is what GitHub calls the Fork and Pull model:
|
||||
|
@ -31,7 +33,7 @@ Marco, Instapaper's creator, graciously opened up the database of contributions
|
|||
|
||||
> And, recognizing that your efforts could be useful to a wide range of other tools and services, I'll make the list of all of these site-specific configurations available to the public, free, with no strings attached.
|
||||
|
||||
Most of the extraction rules in our set are borrowed from Instapaper. You can see the list maintained by Instapaper at [instapaper.com/bodytext/](http://instapaper.com/bodytext/) (login required).
|
||||
Most of the extraction rules in our set are borrowed from Instapaper. You can see the list maintained by Instapaper at [instapaper.com/bodytext/](http://instapaper.com/bodytext/) (no longer available since Instapaper was sold).
|
||||
|
||||
### Testing site config files
|
||||
|
||||
|
|
6
inc/3rdparty/site_config/standard/adme.ru.txt
vendored
Normal file
6
inc/3rdparty/site_config/standard/adme.ru.txt
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Generated by FiveFilters.org's web-based selection tool
|
||||
# Place this file inside your site_config/custom/ folder
|
||||
# Source: http://siteconfig.fivefilters.org/grab.php?url=http%3A%2F%2Fwww.adme.ru%2Ftvorchestvo-hudozhniki%2Fprostoj-kak-5-kopeek-hudozhnik-557405%2F
|
||||
|
||||
body: //article[contains(concat(' ',normalize-space(@class),' '),' article ')]
|
||||
test_url: http://www.adme.ru/tvorchestvo-hudozhniki/prostoj-kak-5-kopeek-hudozhnik-557405/
|
|
@ -1,4 +1,4 @@
|
|||
body: //section[@class='content']
|
||||
date: //span[1]
|
||||
author: //h1[@id='sitetitle']
|
||||
test_url: https://alexduner.com/blog/2013/1/something-i-learned-today
|
||||
test_url: http://alexduner.com/blog/something-i-learned-today
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
body: //section[@class='main_cont']/img | //div[@class='articleContent']
|
||||
title: //div[@class='blog_top_left']//h2
|
||||
author: //a[@class='b'][1]
|
||||
date: substring-after(substring-before(//div, 'Posted in'), ' on ')
|
||||
strip_image_src: /content/images/globals/
|
||||
|
@ -8,4 +10,6 @@ prune: no
|
|||
|
||||
single_page_link: concat('http://www.anandtech.com/print/', substring-after(//meta[@property='og:url']/@content, '/show/'))
|
||||
|
||||
test_url: http://www.anandtech.com/show/5812/eurocom-monster-10-clevos-little-monster/
|
||||
test_url: http://www.anandtech.com/show/8370/gigabyte-am1m-s2h-review
|
||||
test_url: http://www.anandtech.com/show/8402/sandisk-releases-ultra-ii-ssd-the-second-tlc-nand-ssd-in-the-market
|
||||
test_url: http://www.anandtech.com/show/8400/arms-cortex-m-even-smaller-and-lower-power-cpu-cores
|
||||
|
|
23
inc/3rdparty/site_config/standard/apotheke-adhoc.de.txt
vendored
Executable file
23
inc/3rdparty/site_config/standard/apotheke-adhoc.de.txt
vendored
Executable file
|
@ -0,0 +1,23 @@
|
|||
# Author: zinnober
|
||||
|
||||
prune: no
|
||||
|
||||
title: substring-before(//div[@id='content']/h1, ',')
|
||||
|
||||
single_page_link: //a[@title='Seite drucken']
|
||||
|
||||
body: //div[@id='detail-body']
|
||||
|
||||
replace_string(<span class="description">): <em>
|
||||
replace_string(<p class="leadtext"><small>): <p class="leadtext">
|
||||
|
||||
# Fix headlines
|
||||
replace_string(Patrick Hollstein):
|
||||
replace_string(APOTHEKE ADHOC):
|
||||
replace_string(dpa):
|
||||
replace_string(Katharina Lübke):
|
||||
replace_string(Julia Pradel):
|
||||
replace_string(Franziska Gerhardt):
|
||||
|
||||
test_url: http://www.apotheke-adhoc.de/nachrichten/politik/nachricht-detail-politik/deutscher-apothekertag-antraege-gegen-lieferengpaesse-2/
|
||||
|
|
@ -13,5 +13,7 @@ title: //div[@id='story']//h2[@class='title']
|
|||
strip: //div[@class='pager']
|
||||
next_page_link: //nav//a[span/@class='next']/@href
|
||||
|
||||
native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')]
|
||||
|
||||
test_url: http://arstechnica.com/tech-policy/news/2012/02/gigabit-internet-for-80-the-unlikely-success-of-californias-sonicnet.ars
|
||||
test_url: http://arstechnica.com/apple/2005/04/macosx-10-4/
|
||||
|
|
13
inc/3rdparty/site_config/standard/autocar.co.uk.txt
vendored
Executable file
13
inc/3rdparty/site_config/standard/autocar.co.uk.txt
vendored
Executable file
|
@ -0,0 +1,13 @@
|
|||
title: //div[@class='col-center']/h1
|
||||
author: //div[@class='personality']/a
|
||||
date: //div[@class='personality-date']
|
||||
body: //div[@class='content-top ']//div[@class='content'][1] | //div[contains(@class,'article-body')] | //div[contains(@class,'main-article')]
|
||||
|
||||
next_page_link: //div[@id='review-link']/a
|
||||
|
||||
strip: //div[@class='author-block']
|
||||
strip: //p//iframe[contains(@src,'signup')]/preceding::p[1]
|
||||
|
||||
test_url: http://www.autocar.co.uk/car-review/volkswagen/golf
|
||||
test_url: http://www.autocar.co.uk/car-news/pebble-beach/saleen-unveils-performance-electric-vehicle-based-tesla-model-s
|
||||
test_url: http://www.autocar.co.uk/car-review/rolls-royce/first-drives/rolls-royce-ghost-series-ii-first-drive-review
|
17
inc/3rdparty/site_config/standard/bbc.co.uk.txt
vendored
17
inc/3rdparty/site_config/standard/bbc.co.uk.txt
vendored
|
@ -13,7 +13,7 @@ body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1']
|
|||
#strip: //div[@class="story-feature narrow"]
|
||||
#strip: //div[@class="story-feature wide"]
|
||||
#strip: //div[@class="story-feature dslideshow-enclosure"]
|
||||
strip: //div[contains(@class, "story-feature")]
|
||||
strip: //div[contains(@class, "story-feature") and not(contains(@class, 'full-width'))]
|
||||
strip: //span[@class="story-date"]
|
||||
#strip: //div[@class="caption body-narrow-width"]
|
||||
strip: //div[@class="warning"]//p
|
||||
|
@ -30,13 +30,26 @@ strip: //div[contains(@class, 'comment-introduction')]
|
|||
strip: //div[contains(@class, 'share-tools')]
|
||||
strip: //div[@id='also-related-links']
|
||||
|
||||
strip_id_or_class: share-help
|
||||
strip_id_or_class: comments_module
|
||||
|
||||
replace_string(<noscript>): <div>
|
||||
replace_string(</noscript>): </div>
|
||||
|
||||
tidy: no
|
||||
prune: no
|
||||
|
||||
dissolve: //h2
|
||||
|
||||
test_url: http://www.bbc.co.uk/sport/0/football/23224017
|
||||
test_contains: Swansea City have completed the club-record signing
|
||||
|
||||
test_url: http://www.bbc.co.uk/news/business-15060862
|
||||
test_contains: Europe's leaders are meeting again to try to solve
|
||||
|
||||
# news feed
|
||||
test_url: http://feeds.bbci.co.uk/news/rss.xml
|
||||
# sports feed
|
||||
test_url: http://feeds.bbci.co.uk/sport/0/football/rss.xml?edition=int
|
||||
# video entry
|
||||
test_url: http://www.bbc.co.uk/news/world-asia-22056933
|
||||
test_url: http://www.bbc.co.uk/news/world-asia-22056933
|
||||
|
|
60
inc/3rdparty/site_config/standard/bbc.com.txt
vendored
Executable file
60
inc/3rdparty/site_config/standard/bbc.com.txt
vendored
Executable file
|
@ -0,0 +1,60 @@
|
|||
body: //div[@class="story-body"]
|
||||
# for video entries
|
||||
body: //div[contains(@class, "videoInStory") or @id="meta-information"]
|
||||
title: //h1[@class="story-header"]
|
||||
date: //span[@class="story-date"]/span[@class='date']
|
||||
# for sport site
|
||||
date: //meta[@name='DCTERMS.created']/@content
|
||||
author: //div[@id='headline']//span[@class='byline-name']
|
||||
|
||||
# recipes, e.g. http://www.bbc.co.uk/food/recipes/mymincepies_71055
|
||||
body: //div[contains(@class, 'hrecipe')]//div[@id='subcolumn-1']
|
||||
|
||||
#strip: //div[@class="story-feature narrow"]
|
||||
#strip: //div[@class="story-feature wide"]
|
||||
#strip: //div[@class="story-feature dslideshow-enclosure"]
|
||||
strip: //div[contains(@class, "story-feature") and not(contains(@class, 'full-width'))]
|
||||
strip: //span[@class="story-date"]
|
||||
#strip: //div[@class="caption body-narrow-width"]
|
||||
strip: //div[@class="warning"]//p
|
||||
strip: //div[@id='page-bookmark-links-head']
|
||||
strip: //object
|
||||
strip: //div[contains(@class, "bbccom_advert_placeholder")]
|
||||
strip: //div[contains(@class, "embedded-hyper")]
|
||||
strip: //div[contains(@class, 'market-data')]
|
||||
strip: //a[contains(@class, 'hidden')]
|
||||
strip: //div[contains(@class, 'hypertabs')]
|
||||
strip: //div[contains(@class, 'related')]
|
||||
strip: //form[@id='comment-form']
|
||||
strip: //div[contains(@class, 'comment-introduction')]
|
||||
strip: //div[contains(@class, 'share-tools')]
|
||||
strip: //div[@id='also-related-links']
|
||||
|
||||
strip_id_or_class: share-help
|
||||
strip_id_or_class: comments_module
|
||||
|
||||
replace_string(<noscript>): <div>
|
||||
replace_string(</noscript>): </div>
|
||||
|
||||
native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')]
|
||||
|
||||
tidy: no
|
||||
prune: no
|
||||
|
||||
dissolve: //h2
|
||||
|
||||
test_url: http://www.bbc.com/sport/0/football/28918021
|
||||
test_contains: Cameroonian footballer Albert Ebosse has died
|
||||
|
||||
test_url: http://www.bbc.com/sport/0/football/23224017
|
||||
|
||||
test_url: http://www.bbc.com/news/business-15060862
|
||||
test_contains: Europe's leaders are meeting again to try
|
||||
|
||||
|
||||
# news feed
|
||||
test_url: http://feeds.bbci.co.uk/news/rss.xml
|
||||
# sports feed
|
||||
test_url: http://feeds.bbci.co.uk/sport/0/football/rss.xml?edition=int
|
||||
# video entry
|
||||
test_url: http://www.bbc.com/news/world-asia-22056933
|
19
inc/3rdparty/site_config/standard/bit-tech.net.txt
vendored
Executable file
19
inc/3rdparty/site_config/standard/bit-tech.net.txt
vendored
Executable file
|
@ -0,0 +1,19 @@
|
|||
body: //div[@id='column_1']
|
||||
next_page_link: //div[@class='next']/a[not(contains(@href, '/comments') or contains(@href, '/news/'))]
|
||||
prune: no
|
||||
|
||||
author: substring-after(//p[@class='byline'], 'by ')
|
||||
date: substring-before(substring-after(//p[@class='byline'], 'on '), ' by')
|
||||
|
||||
strip: //h1
|
||||
strip_id_or_class: socialLinks
|
||||
strip_id_or_class: byline
|
||||
strip_id_or_class: pageSelector
|
||||
strip_id_or_class: articleTabs
|
||||
strip_id_or_class: pageNav
|
||||
strip_id_or_class: share
|
||||
strip_id_or_class: commentsContainer
|
||||
strip_id_or_class: below_article_related
|
||||
|
||||
test_url: http://www.bit-tech.net/hardware/storage/2014/08/13/ocz-arc-100-240gb-review/1
|
||||
test_url: http://www.bit-tech.net/news/bits/2014/08/15/google-trojan/1
|
16
inc/3rdparty/site_config/standard/bleacherreport.com.txt
vendored
Executable file
16
inc/3rdparty/site_config/standard/bleacherreport.com.txt
vendored
Executable file
|
@ -0,0 +1,16 @@
|
|||
body: //div[contains(@class, 'article_pages')]
|
||||
|
||||
strip_id_or_class: article_page-header
|
||||
strip_id_or_class: paginator
|
||||
strip_id_or_class: article_info
|
||||
|
||||
find_string: src="data:image
|
||||
replace_string: ignore-src="data:image
|
||||
find_string: data-defer-src="
|
||||
replace_string: src="
|
||||
|
||||
prune: no
|
||||
|
||||
test_url: http://bleacherreport.com/articles/feed
|
||||
test_url: http://bleacherreport.com/articles/2137787-christian-ponders-newborn-daughter-was-named-after-fsu-legend-bobby-bowden
|
||||
test_url: http://bleacherreport.com/articles/2137596-college-football-week-1-picks-unlv-runnin-rebels-vs-arizona-wildcats/
|
45
inc/3rdparty/site_config/standard/blogs.faz.net.txt
vendored
Executable file
45
inc/3rdparty/site_config/standard/blogs.faz.net.txt
vendored
Executable file
|
@ -0,0 +1,45 @@
|
|||
# Author: zinnober
|
||||
|
||||
tidy: no
|
||||
prune: no
|
||||
|
||||
# Set author
|
||||
author: //a[@rel='author']
|
||||
|
||||
# Set date
|
||||
date: //span[@class='Datum']
|
||||
|
||||
# Content is here
|
||||
body: //div[@class='Artikel']
|
||||
|
||||
# Tidy up before article
|
||||
strip: //div[@id='FAZHeaderNeu']
|
||||
strip: //h2[@itemprop='headline']
|
||||
strip: //span[@class='Datum']
|
||||
strip: //span[@class='Autor']
|
||||
strip_id_or_class: ArticlePagerTop
|
||||
strip: //div[@class='FAZArtikelEinleitung']/h2
|
||||
|
||||
# General cleanup
|
||||
strip: //div[@class='clear']
|
||||
strip: //span[@class='Bildnachweis']
|
||||
strip: //iframe
|
||||
strip_id_or_class: Community
|
||||
strip: ' · '
|
||||
|
||||
# Remove tracking and ads
|
||||
strip_image_src: /l.gif?
|
||||
strip: //img[@width='1']
|
||||
strip_id_or_class: invisible
|
||||
strip_id_or_class: Anzeige
|
||||
strip_id_or_class: billboard
|
||||
|
||||
# Remove clutter after article
|
||||
strip_id_or_class: Tagline
|
||||
strip_id_or_class: ArtikelAbbinder
|
||||
strip_id_or_class: FAZArtikelKommentare
|
||||
strip_id_or_class: ArtikelKommentieren
|
||||
strip_id_or_class: FAZContentRight
|
||||
|
||||
# Try it yourself
|
||||
test_url: http://blogs.faz.net/wost/2014/08/17/viel-fuck-und-wenig-guter-sex-1239/
|
|
@ -19,5 +19,8 @@ strip: //p[@class='nota_pie']
|
|||
strip: //div[starts-with(@id, 'sumario') and contains(., 'más información')]
|
||||
strip: //div[@id='coment' or @id='foros_not']
|
||||
|
||||
test_url: http://elpais.com/elpais/2012/02/06/gente/1328526783_491687.html
|
||||
test_url: http://www.elpais.com/articulo/cultura/mano/retrato/materia/elpepicul/20120207elpepicul_2/Tes
|
||||
test_url: http://brasil.elpais.com/brasil/2014/10/15/politica/1413334841_878730.html
|
||||
test_contains: O PT quer intensificar a presença do ex-presidente
|
||||
|
||||
test_url: http://brasil.elpais.com/brasil/2014/10/13/internacional/1413225730_450761.html
|
||||
test_contains: Todos na localidade onde ele nasceu ainda falavam da façanha
|
||||
|
|
|
@ -1,30 +1,17 @@
|
|||
# story has several pages, should be detected
|
||||
body: //div[@id='storyBody']
|
||||
body: //div[@id='article_body']
|
||||
body: //div[@id='story_body']
|
||||
# include the lead graphic in the body, if available
|
||||
body: //div[contains(concat(' ', normalize-space(@id), ' '), ' lead_graphic ')] | //div[contains(concat(' ', normalize-space(@itemprop), ' '), ' articleBody ')]
|
||||
title: //h1[contains(concat(' ', normalize-space(@itemprop), ' '), ' headline ')]
|
||||
date: //time[contains(concat(' ', normalize-space(@itemprop), ' '), ' datePublished ')]
|
||||
|
||||
title://h1[@id='article_headline']
|
||||
|
||||
# article author
|
||||
author: //p[@class='author']/a
|
||||
# story author(s)
|
||||
author: substring-after(//p[@class='byline'], 'By ')
|
||||
|
||||
# article date
|
||||
date: //span[@class='published_date']
|
||||
# story date
|
||||
date: //span[@class='date']
|
||||
|
||||
date: substring-after(//div[contains(@class,'attributor')],'on')
|
||||
strip_id_or_class: inset
|
||||
strip: //p/span[@class='photoCredit']
|
||||
strip: //h1
|
||||
|
||||
strip_id_or_class: page_count
|
||||
strip_id_or_class: tools
|
||||
strip_id_or_class: pagination
|
||||
|
||||
single_page_link: //li[@id='stPrint']/a
|
||||
strip_id_or_class: photo_credit
|
||||
strip_id_or_class: photo_caption
|
||||
strip_id_or_class: inline_gallery
|
||||
# pull quote, often inside a blockquote element
|
||||
strip_id_or_class: pq
|
||||
strip_id_or_class: credit
|
||||
strip_id_or_class: figcaption
|
||||
strip_id_or_class: related_item
|
||||
|
||||
test_url: http://www.businessweek.com/magazine/buyback-insurance-a-good-deal-for-retailers-07282011.html
|
||||
test_url: http://www.businessweek.com/articles/2012-06-06/american-pain-the-largest-u-dot-s-dot-pill-mills-rise-and-fall
|
||||
test_url: http://www.businessweek.com/articles/2012-06-06/american-pain-the-largest-u-dot-s-dot-pill-mills-rise-and-fall
|
||||
test_url: http://www.businessweek.com/articles/2014-07-09/american-apparel-dov-charneys-sleazy-struggle-for-control
|
||||
|
|
|
@ -10,6 +10,15 @@ date: //time[@data-print='date']
|
|||
body: //div[@data-print='body']
|
||||
body: //section[@data-print='body']
|
||||
|
||||
find_string: rel:bf_image_src=
|
||||
replace_string: src=
|
||||
find_string: src="data:
|
||||
replace_string: disabled_src="data:
|
||||
|
||||
native_ad_clue: //meta[@property="article:section" and @content="Advertiser"]
|
||||
|
||||
# For various things...
|
||||
strip: *[@data-print="ignore"]
|
||||
test_url: http://www.buzzfeed.com/hgrant/35-reasons-why-dogs-hate-the-holidays
|
||||
test_url: http://www.buzzfeed.com/hgrant/35-reasons-why-dogs-hate-the-holidays
|
||||
# Native ad
|
||||
test_url: http://www.buzzfeed.com/bravo/ways-to-up-your-online-dating-game
|
28
inc/3rdparty/site_config/standard/canonrumors.com.txt
vendored
Executable file
28
inc/3rdparty/site_config/standard/canonrumors.com.txt
vendored
Executable file
|
@ -0,0 +1,28 @@
|
|||
# Author: zinnober
|
||||
|
||||
tidy: no
|
||||
prune: no
|
||||
|
||||
# Set title
|
||||
title: //h2
|
||||
|
||||
date: //li[@class='time']
|
||||
|
||||
# Set author
|
||||
author: //a[contains(@rel, 'author')]
|
||||
|
||||
# Content is here
|
||||
body: //div[@id='content']
|
||||
|
||||
# Tidy up before article
|
||||
strip: //div[@class='meta']
|
||||
|
||||
# Tidy up after article
|
||||
strip_id_or_class: nr_related_placeholder
|
||||
strip_id_or_class: twitter-share-button
|
||||
strip_id_or_class: afterpost
|
||||
strip_id_or_class: tags
|
||||
|
||||
# Try it yourself
|
||||
test_url: http://www.canonrumors.com/2014/09/chuck-westfall-talks-canon-eos-7d-mark-ii/
|
||||
test_url: http://www.canonrumors.com/2014/09/canon-cinema-eos-captures-space-in-4k-for-new-imax-3d-film/
|
|
@ -2,4 +2,5 @@ title: //div[@class='title']
|
|||
author: //div[@class='author']
|
||||
prune: no
|
||||
|
||||
test_url: http://www.chomsky.info/onchomsky/2002----.htm
|
||||
test_url: http://www.chomsky.info/onchomsky/2002----.htm
|
||||
test_contains: The propaganda model argues
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
title: //div[@id='maincontent']//h1
|
||||
body: //div[@id='resizeableText']
|
||||
|
||||
single_page_link: concat(//link[@rel='canonical']/@href, '?sp=true')
|
||||
|
||||
test_url: http://cn.reuters.com/article/CNAnalysesNews/idCNKBS0FF0NM20140710
|
||||
test_url: http://cn.reuters.feedsportal.com/CNAnalysesNews
|
||||
test_url: http://cn.reuters.feedsportal.com/CNAnalysesNews
|
||||
# multipage link
|
||||
test_url: http://cn.reuters.com/article/idCNKBS0FF0UL20140710
|
|
@ -1 +1,3 @@
|
|||
body: //div[@id='content']
|
||||
body: //div[@id='readme']
|
||||
|
||||
test_url: http://code.fivefilters.org/full-text-rss
|
||||
|
|
|
@ -15,4 +15,4 @@ strip_id_or_class: promotion-tag
|
|||
tidy: no
|
||||
prune: no
|
||||
|
||||
test_url: www.csmonitor.com/World/Middle-East/2011/1108/Imminent-Iran-nuclear-threat-A-timeline-of-warnings-since-1979/Earliest-warnings-1979-84
|
||||
test_url: http://www.csmonitor.com/World/Middle-East/2011/1108/Imminent-Iran-nuclear-threat-A-timeline-of-warnings-since-1979/Earliest-warnings-1979-84
|
||||
|
|
|
@ -2,4 +2,4 @@ single_page_link: //a
|
|||
tidy: no
|
||||
prune: no
|
||||
|
||||
test_url: da.feedsportal.com/c/585/f/413794/s/17037b5a/l/0L0Stelegraaf0Bnl0Cbinnenland0C10A2757860C0I0IKlacht0Itegen0Idr0B0IFrank0Iniet0I0Eontvankelijk0I0I0Bhtml0Dcid0Frss/ia1.htm
|
||||
test_url: http://da.feedsportal.com/c/585/f/413794/s/17037b5a/l/0L0Stelegraaf0Bnl0Cbinnenland0C10A2757860C0I0IKlacht0Itegen0Idr0B0IFrank0Iniet0I0Eontvankelijk0I0I0Bhtml0Dcid0Frss/ia1.htm
|
||||
|
|
31
inc/3rdparty/site_config/standard/designsponge.com.txt
vendored
Executable file
31
inc/3rdparty/site_config/standard/designsponge.com.txt
vendored
Executable file
|
@ -0,0 +1,31 @@
|
|||
# Author: zinnober
|
||||
|
||||
tidy: no
|
||||
prune: no
|
||||
|
||||
# Set title
|
||||
title: //header/h1
|
||||
|
||||
# Set author
|
||||
author: //a[rel='author']
|
||||
|
||||
# Content is here
|
||||
body: //article
|
||||
|
||||
# Tidy up before article
|
||||
strip: //header
|
||||
|
||||
# Tidy up article
|
||||
strip: //div[contains(@id, 'gallery-')]
|
||||
replace_string(<a rel="attachment): <p rel="attachment
|
||||
|
||||
|
||||
# Tidy up after article
|
||||
strip: //div[@class='sm']
|
||||
strip_id_or_class: related
|
||||
strip_id_or_class: comments
|
||||
strip: //footer
|
||||
|
||||
# Try it yourself
|
||||
test_url: http://www.designsponge.com/2010/06/seattle-design-guide.html
|
||||
test_url: http://www.designsponge.com/2012/04/sneak-peek-liz-cook.html
|
|
@ -2,4 +2,6 @@ body: (//blockquote[contains(@class, 'postcontent')])[1]
|
|||
body: (//div[starts-with(@id, 'post_message')])[1]
|
||||
|
||||
prune: no
|
||||
tidy: no
|
||||
tidy: no
|
||||
|
||||
test_url: http://www.desitvforum.net/forum/watch-online/431739-creature-3d-2014-watch-online-download-dvd-rip.html
|
||||
|
|
29
inc/3rdparty/site_config/standard/deutsche-apotheker-zeitung.de.txt
vendored
Executable file
29
inc/3rdparty/site_config/standard/deutsche-apotheker-zeitung.de.txt
vendored
Executable file
|
@ -0,0 +1,29 @@
|
|||
# Author: zinnober
|
||||
|
||||
prune: yes
|
||||
tidy: yes
|
||||
|
||||
title: //h1
|
||||
date: //p[@class='news_datum']
|
||||
author: //span[@class='author']
|
||||
|
||||
body: //div[@class='tagesnews-content']
|
||||
|
||||
# General clenaup
|
||||
strip_id_or_class: dachzeile
|
||||
strip: //h3
|
||||
strip: //p[@class='bodytext']//a
|
||||
strip_id_or_class: autor_datum
|
||||
strip_id_or_class: comments
|
||||
strip_id_or_class: banner-
|
||||
|
||||
strip: //p[contains(., 'Lesen Sie')]
|
||||
strip: //p[contains(., '– in DAZ')]
|
||||
|
||||
# Fix image captions
|
||||
replace_string(<p class="image_caption">): <p><small><em>
|
||||
replace_string(</dd>): </em></small></dd>
|
||||
|
||||
test_url: http://www.deutsche-apotheker-zeitung.de/pharmazie/news/2014/09/03/weniger-nebenwirkungen-aber-kein-zusatznutzen/13715.html
|
||||
test_url: http://www.deutsche-apotheker-zeitung.de/recht/news/2014/09/02/urteile-zum-cannabis-eigenanbau-bfarm-geht-in-berufung/13716.html
|
||||
|
|
@ -1,8 +1,6 @@
|
|||
title: //h1[@id='query_h1']
|
||||
body: //div[contains(@class, 'lunatext results_content')]
|
||||
strip_id_or_class: spl_unshd
|
||||
#replace_string(<div class="dicTl">): <div class="dicTl">------------------<br />
|
||||
body: //div[contains(@class, 'source-data')]
|
||||
strip: //button
|
||||
|
||||
prune: no
|
||||
|
||||
test_url: http://www.wired.com/cloudline/2011/10/meet-arms-cortex-a15-the-future-of-the-ipad-and-possibly-the-macbook-air/
|
||||
test_url: http://dictionary.reference.com/browse/propaganda
|
||||
|
|
|
@ -1 +1,3 @@
|
|||
single_page_link: //a[@id='download_button_link']
|
||||
single_page_link: //a[@id='download_button_link']
|
||||
|
||||
test_url: https://www.dropbox.com/s/qmocfrco2t0d28o/Fluffbeast.docx
|
||||
|
|
24
inc/3rdparty/site_config/standard/echo-online.de.txt
vendored
Executable file
24
inc/3rdparty/site_config/standard/echo-online.de.txt
vendored
Executable file
|
@ -0,0 +1,24 @@
|
|||
# Author: Marvin Dickhaus <github@marvindickhaus.de>
|
||||
# 2014-10-08
|
||||
|
||||
#Tidy just messes up the DOM
|
||||
tidy: no
|
||||
|
||||
title: //h1
|
||||
body: //h2 | //div[@id='artikelteaser'] | //div[@id='artikeltext']
|
||||
|
||||
#Strip
|
||||
strip_image_src: artikel_a_merken.gif
|
||||
strip: //div[@class='zusatzinfo']
|
||||
|
||||
#Author: substring is used to remove the " Von " prefix.
|
||||
author: substring(//li[@class='artikelautor'], 5)
|
||||
|
||||
date: //li[@class='artikeldatum']
|
||||
|
||||
#The first two URLs will at some point no longer show
|
||||
#the full article. There is a time-based paywall
|
||||
#installed. Using the feed should present valid output
|
||||
test_url: http://www.echo-online.de/art1231,5503063
|
||||
test_url: http://www.echo-online.de/art1168,5502598
|
||||
test_url: http://www.echo-online.de/rss/darmstadt.xml
|
|
@ -1,8 +1,13 @@
|
|||
body: //div[@class='main-content']
|
||||
body: //article[contains(@class, 'resp-node')]
|
||||
date: //time[@class='date-created']
|
||||
strip: //aside
|
||||
prune: no
|
||||
|
||||
autodetect_next_page: no
|
||||
|
||||
test_url: http://www.economist.com/node/21528429
|
||||
test_url: http://www.economist.com/node/21528429
|
||||
|
||||
test_url: http://www.economist.com/news/essays/21623373-which-something-old-and-powerful-encountered-vault
|
||||
test_contains: the calfskin pages are smooth
|
||||
test_contains: Books will evolve online and off
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
body: //div[ @class='content' ] | //div[ @class='blog-entry' ]
|
||||
body: //p[@class='strapline'] | //div[@class='cover-image'] | //article[@class='hd']
|
||||
strip: //div[@class='social top']
|
||||
strip: //p[@class='byline']
|
||||
|
||||
strip: //h2/abbr | //div[ @class='lowleader' ] | //*[ @class='discussion' ] | //img[ @class='play-button' ] | //div[ @class='boxout' ] | //h2/a | //h2 | //h2/div | //p[ @class='timestamp' ] | //a[ @class='eurogamer-author' ] | //p[ @class='aPager' ] | //h1 | //div[ @id='lowleader' ] | //a[ @class='next' ] | //div[contains(concat(' ', normalize-space(@class), ' '), ' pullquote ')]
|
||||
date: //span[@itemprop='datePublished']
|
||||
author: //a[@itemprop='author']/text()
|
||||
|
||||
date://p[ @class='timestamp' ]
|
||||
|
||||
author://a[ @class='eurogamer-author' ]
|
||||
test_url: http://www.eurogamer.net/articles/digitalfoundry-vs-unreal-engine-4
|
||||
test_url: http://www.eurogamer.net/articles/2014-08-20-bungie-ordered-to-return-shares-to-composer-marty-odonnell
|
||||
test_url: http://www.eurogamer.net/articles/2014-08-20-invisible-inc-does-espionage-justice
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
body: //div[@id='imagestage']
|
||||
body: //div[contains(@class, 'userContentWrapper')]
|
||||
|
||||
strip_id_or_class: commentable
|
||||
|
||||
prune: no
|
||||
tidy: no
|
||||
|
||||
test_url: https://www.facebook.com/feeds/page.php?id=338077742912613&format=rss20
|
||||
# single_page_link: replace(substring-after(//noscript//meta[@http-equiv="refresh"]/@content, 'URL='), "&", "&")
|
||||
|
||||
test_url: https://www.facebook.com/permalink.php?story_fbid=10154584776550183&id=294468630182
|
||||
test_contains: holding an extraordinary session in Brussels this month
|
||||
|
|
0
inc/3rdparty/site_config/standard/faz.net.txt
vendored
Normal file → Executable file
0
inc/3rdparty/site_config/standard/faz.net.txt
vendored
Normal file → Executable file
|
@ -5,8 +5,8 @@ strip: //div[contains(@class, 'related-companies')]
|
|||
strip: //div[@id='y-article-related']
|
||||
strip: //div[@id='ypf-article-related']
|
||||
prune: no
|
||||
tidy: no
|
||||
|
||||
single_page_link: //div[@class='ft']//a[contains(@href, 'page=all')]
|
||||
|
||||
test_url: http://sg.finance.yahoo.com/news/Motorola-takes-wraps-249-rsg-3508842732.html?x=0&.v=1
|
||||
test_url: http://finance.yahoo.com/news/super-young-retirement-savers.html
|
||||
test_url: http://finance.yahoo.com/news/canadian-orebodies-gives-notice-exercise-130000032.html
|
|
@ -1,2 +1,2 @@
|
|||
body: //div[@class='entry']
|
||||
test_url: http://www.fivechapters.com/2010/paris-part-one/
|
||||
test_url: http://www.fivechapters.com/2014/the-saddest-writer-in-america-part-two/
|
||||
|
|
|
@ -1 +1,4 @@
|
|||
prune: no
|
||||
body: //section[contains(@class, 'container')]
|
||||
prune: no
|
||||
|
||||
test_url: http://fivefilters.org/kindle-it/
|
||||
|
|
|
@ -1,15 +1,19 @@
|
|||
title: //div[@class='translateHead']//h1 | //div[@id='art-mast']//h1
|
||||
author: substring-after(//span[@id='by-line'], 'BY ')
|
||||
date: //span[@id='pub-date']
|
||||
body: //div[@id='art-mast']/h2 | //div[@class='translateBody'] | //div[@id='art-body']
|
||||
body: (//article//img[contains(@class, 'main_photo')])[1] | (//article//div[contains(@class, 'full_post_content')])[1]
|
||||
#body: //div[@id='art-mast']/h2 | //div[@class='translateBody'] | //div[@id='art-body']
|
||||
#Strip inside article content
|
||||
strip: //div[@id='share-box']
|
||||
strip: //div[@id='special-box']
|
||||
strip: //div[@id='special-box
|
||||
|
||||
strip_id_or_class: side_panel
|
||||
|
||||
prune: no
|
||||
|
||||
single_page_link: //span[@id='controls']/a[contains(@href, 'print=yes')]
|
||||
single_page_link: //a[text()='SINGLE PAGE']
|
||||
|
||||
test_url: http://www.foreignpolicy.com/articles/2014/07/22/the_end_game_in_gaza_netanyahu_hamas
|
||||
test_url: http://www.foreignpolicy.com/articles/2011/08/01/a_murderers_manifesto_and_me
|
||||
test_url: http://www.foreignpolicy.com/articles/2012/02/29/five_years_in_damascus
|
51
inc/3rdparty/site_config/standard/golem.de.txt
vendored
51
inc/3rdparty/site_config/standard/golem.de.txt
vendored
|
@ -1,25 +1,34 @@
|
|||
# Jens Kohl, jens.kohl@...
|
||||
# - Added publication date
|
||||
# - Striped pagination block
|
||||
# - Added single page link
|
||||
# - Added xpath-querys for the printer friendly version
|
||||
# Author: zinnober
|
||||
# Rewrite of original template which fetched the printer-version without pictures
|
||||
|
||||
title: //h1
|
||||
body: //div[@class='formatted']
|
||||
tidy: no
|
||||
prune: no
|
||||
|
||||
date: substring-after(//li[2][@class="text1"], 'Datum:')
|
||||
strip: //ol[@class="list-chapters"]
|
||||
strip_comments: yes
|
||||
# Set full title
|
||||
title: //h1
|
||||
|
||||
# next: commands for printer friendly pages
|
||||
single_page_link: //a[contains(@href, 'print.php?a=')]/@href
|
||||
title: //body/h3
|
||||
strip_image_src: staticrl/images/logo.jpg
|
||||
strip_image_src: http://cpx.golem.de/cpx.php?class=7
|
||||
strip: //body/h3
|
||||
strip: //body/b[1]
|
||||
strip: //body/b[2]
|
||||
strip: //body/b[3]
|
||||
strip: //div[1]
|
||||
test_url: http://www.golem.de/1112/88696.html
|
||||
date: //time
|
||||
|
||||
# Content is here
|
||||
body: //article
|
||||
|
||||
# Fetch full multipage articles
|
||||
next_page_link: //a[@id='atoc_next']
|
||||
|
||||
# Remove tracking and ads
|
||||
strip_id_or_class: iqadtile4
|
||||
|
||||
# General Cleanup
|
||||
strip_id_or_class: list-jtoc
|
||||
strip_id_or_class: table-jtoc
|
||||
strip_id_or_class: implied
|
||||
strip_id_or_class: social-
|
||||
strip_id_or_class: comments
|
||||
strip_id_or_class: footer
|
||||
|
||||
# Tidy up galleries (could still be improved, though)
|
||||
strip: //img[@src='']
|
||||
|
||||
# Try yourself
|
||||
test_url: http://www.golem.de/news/intel-core-i7-5960x-im-test-die-pc-revolution-beginnt-mit-octacore-und-ddr4-1408-108893.html
|
||||
test_url: http://www.golem.de/news/test-infamous-first-light-neonbunter-actionspass-1408-108914.html
|
||||
|
|
43
inc/3rdparty/site_config/standard/heise.de.txt
vendored
43
inc/3rdparty/site_config/standard/heise.de.txt
vendored
|
@ -1,7 +1,42 @@
|
|||
single_page_link: //p[@class='news_option']/a
|
||||
# Author: zinnober
|
||||
# Template should work well with either desktop or mobile version (m.heise.de)
|
||||
|
||||
prune: no
|
||||
|
||||
title: //article/h1 | //h1
|
||||
date: //p[@class='news_datum']
|
||||
title: //h1
|
||||
body: //div[@class='meldung_wrapper']
|
||||
author: //h4[@class='author']
|
||||
|
||||
test_url: http://www.heise.de/newsticker/meldung/Europa-soll-Grundrechteschutz-im-Netz-staerken-1392664.html
|
||||
body: //article | //div[@class='meldung_wrapper']
|
||||
|
||||
# General cleanup
|
||||
strip: //time
|
||||
strip: //h4[@class='author']
|
||||
strip: //p[@class='news_datum']
|
||||
strip: //p[@class='artikel_datum']
|
||||
strip: //a[contains(@href, 'mailto')]
|
||||
strip_id_or_class: comments
|
||||
strip_id_or_class: ISI_IGNORE
|
||||
strip_id_or_class: clear
|
||||
|
||||
strip_id_or_class: linkurl_grossbild
|
||||
strip_id_or_class: image-num
|
||||
strip_id_or_class: heisebox_right
|
||||
strip_id_or_class: dossier
|
||||
|
||||
# Strip Ads
|
||||
strip_id_or_class: ad_
|
||||
|
||||
# Some optimizations
|
||||
replace_string(<h5>): <h2>
|
||||
replace_string(</h5>): </h2>
|
||||
replace_string(<span class="bild_rechts"): <p
|
||||
replace_string(<div class="heisebox">): <blockquote>
|
||||
|
||||
|
||||
next_page_link: //a[@class='next']
|
||||
next_page_link: //a[@title='vor']
|
||||
|
||||
test_url: http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-15-2196231.html
|
||||
test_url: http://m.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-15-2196231.html
|
||||
test_url: http://www.heise.de/newsticker/meldung/Ueberwachungstechnik-Die-globale-Handy-Standortueberwachung-2301494.html
|
||||
|
|
|
@ -2,4 +2,4 @@ body: //table[@class='ap-smallphoto-table'] | //div[@class='body']//*[@class='en
|
|||
tidy: no
|
||||
strip_image_src: analytics.apnewsregistry
|
||||
|
||||
test_url: http://hosted.ap.org/dynamic/stories/U/US_SPENDING_SHOWDOWN?SITE=FLPET&SECTION=HOME&TEMPLATE=DEFAULT&CTIME=2011-04-06-07-46-50
|
||||
test_url: http://hosted.ap.org/dynamic/stories/E/EU_TURKEY_KURDS?SITE=KSNEW&SECTION=HOME&TEMPLATE=DEFAULT&CTIME=2014-10-14-10-50-25
|
||||
|
|
14
inc/3rdparty/site_config/standard/itunes.apple.com.txt
vendored
Executable file
14
inc/3rdparty/site_config/standard/itunes.apple.com.txt
vendored
Executable file
|
@ -0,0 +1,14 @@
|
|||
body: //div[@id='left-stack' or contains(@class, 'center-stack')]
|
||||
|
||||
find_string: class="artwork" src="
|
||||
replace_string: class="artwork" src-disabled="
|
||||
find_string: src-swap-high-dpi="
|
||||
replace_string: src="
|
||||
|
||||
strip_id_or_class: rating
|
||||
strip_id_or_class: listeners-also-bought
|
||||
|
||||
prune: no
|
||||
|
||||
test_url: https://itunes.apple.com/us/rss/topaudiobooks/limit=10/xml
|
||||
test_url: https://itunes.apple.com/us/audiobook/the-giver-unabridged/id356345850
|
|
@ -4,4 +4,4 @@ body: //div[@itemprop='articleBody']
|
|||
tidy: no
|
||||
|
||||
test_url: http://www.kachiblog.com/2013/05/samsung-galaxy-s4-vs-samsung-galaxy.html
|
||||
test_url: http://www.kachiblog.com/feeds/posts/default
|
||||
test_url: http://www.kachiblog.com/feed
|
||||
|
|
7
inc/3rdparty/site_config/standard/lifehacker.co.uk.txt
vendored
Executable file
7
inc/3rdparty/site_config/standard/lifehacker.co.uk.txt
vendored
Executable file
|
@ -0,0 +1,7 @@
|
|||
title: //div[@itemprop='headline']
|
||||
body: //noscript/img | //div[@itemprop='text']
|
||||
author: //div[@class='meta meta--post']//a[@class='is-author']
|
||||
date: //div[@class='meta meta--post']//time/@datetime
|
||||
|
||||
test_url: http://www.lifehacker.co.uk/2014/08/22/dealhacker-10-google-chromecast-super-cheap-batteries-much
|
||||
test_url: http://www.lifehacker.co.uk/2014/08/18/andrognito-hides-files-youd-like-keep-away-prying-eyes
|
|
@ -25,4 +25,4 @@ strip_id_or_class: 'rightimage'
|
|||
#Comments
|
||||
strip: //table
|
||||
strip: //p/following-sibling::*[0]
|
||||
test_url: http://www.mainpost.de/ueberregional/meinung/Dioxin-Skandal-bringt-Agrarministerin-in-Bedraengnis;art9517,5920211
|
||||
test_url: http://www.mainpost.de/regional/wuerzburg/Autobahnschuetze-Staatsanwalt-fordert-zwoelf-Jahre;art492151,8386332
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
strip_id_or_class: article-tools
|
||||
strip_id_or_class: pagenav
|
||||
prune: no
|
||||
test_url: http://www.medialens.org/index.php/alerts/alert-archive/2012/713-the-illusion-of-democracy.html
|
||||
test_url: http://www.medialens.org/index.php/alerts/alert-archive/2012/713-the-illusion-of-democracy.html
|
||||
test_contains: In an era of permanent war, economic meltdown
|
||||
|
|
13
inc/3rdparty/site_config/standard/medium.com.txt
vendored
13
inc/3rdparty/site_config/standard/medium.com.txt
vendored
|
@ -1,7 +1,12 @@
|
|||
body: //div[contains(@class, 'post-content-inner')]
|
||||
strip_id_or_class: follow-ups
|
||||
strip_id_or_class: footer
|
||||
body: //div[contains(@class, 'postContent-inner')]
|
||||
strip_id_or_class: supplementalPostContent
|
||||
|
||||
prune: no
|
||||
|
||||
test_url: https://medium.com/p/6844c0d7893b
|
||||
test_url: https://medium.com/@savolai/kaytettavyyden-haasteet-keskustelukulttuurista-2-3-6844c0d7893b
|
||||
test_contains: Jos käytettävyysongelmat ovat kerran niin tyypillisiä
|
||||
test_contains: Keskustelukulttuuriongelmasta (subjective vs. objective bugs)
|
||||
|
||||
test_url: https://medium.com/health-the-future/thirty-things-ive-learned-482765ee3503
|
||||
test_contains: Remember you will die
|
||||
test_contains: You have to have some faith.
|
||||
|
|
12
inc/3rdparty/site_config/standard/menshealth.com.sg.txt
vendored
Executable file
12
inc/3rdparty/site_config/standard/menshealth.com.sg.txt
vendored
Executable file
|
@ -0,0 +1,12 @@
|
|||
strip: //div[contains(@style, 'float:right') and contains(., 'advertisement')]
|
||||
body: //div[@style="float:left;width:740px;"]
|
||||
|
||||
tidy: no
|
||||
|
||||
test_url: http://www.menshealth.com.sg/fitness/mh-picks-under-armour-clutchfit-nitro-mid-cleats
|
||||
test_contains: These cleats are made for one thing
|
||||
|
||||
test_url: http://www.menshealth.com.sg/fitness/top-10-fat-burning-bodyweight-moves-you-can-do-10-minutes
|
||||
test_contains: let this workout fool you
|
||||
|
||||
test_url: http://www.menshealth.com.sg/fitness/feed
|
|
@ -8,4 +8,4 @@ strip_id_or_class: news_morearticlesincat
|
|||
strip_id_or_class: ezc_comments
|
||||
strip_comments: yes
|
||||
|
||||
test_url: http://www.northumberlandview.ca/index.php?module=news&func=display&sid=5972
|
||||
test_url: http://www.northumberlandview.ca/index.php?module=news&type=user&func=display&sid=31127
|
||||
|
|
|
@ -42,8 +42,12 @@ strip://h6[@class = 'kicker']
|
|||
author:substring-after(//h6[@class='byline'],'By ')
|
||||
|
||||
test_url: http://www.nytimes.com/2011/07/24/books/review/an-academic-authors-unintentional-masterpiece.html
|
||||
test_contains: In this column I want to look at a not uncommon way of writing
|
||||
|
||||
test_url: http://www.nytimes.com/2012/06/10/arts/television/the-newsroom-aaron-sorkins-return-to-tv.html
|
||||
test_contains: IF you’ve seen enough of Aaron Sorkin’s theater
|
||||
|
||||
test_url: http://www.nytimes.com/2013/03/25/world/middleeast/israeli-military-responds-after-patrols-come-under-fire-from-syria.html
|
||||
test_url: http://www.nytimes.com/2013/08/15/nyregion/when-the-new-york-city-subway-ran-without-rails.html
|
||||
test_url: http://www.nytimes.com/2004/02/29/weekinreview/correspondence-class-consciousness-china-s-wealthy-live-creed-hobbes-darwin-meet.html
|
||||
test_url: http://www.nytimes.com/2014/06/19/opinion/gail-collins-romney-and-the-2016-contenders-huddle.html
|
||||
test_url: http://www.nytimes.com/2014/06/19/opinion/gail-collins-romney-and-the-2016-contenders-huddle.html
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
body: //div[@id='_ctl12__ctl0_Article']
|
||||
body: //div[contains(@class, 'article-photo-wrapper')]
|
||||
prune: no
|
||||
autodetect_on_failure: no
|
||||
|
||||
test_url: http://www.real.gr/DefaultArthro.aspx?page=arthro&id=360962&catID=1
|
||||
test_contains: Επισήμως το αποψινό υπουργικό
|
||||
|
|
|
@ -7,7 +7,7 @@ author: //p[@class="tagline"]/a
|
|||
# this doesn't work for some reason...?
|
||||
date: //p[@class="tagline"]//@datetime
|
||||
|
||||
body: //div[@class="expando"]//div[@class="usertext-body"]
|
||||
body: (//div[contains(@class, 'noncollapsed')]//div[contains(@class, 'usertext-body')])[1]
|
||||
|
||||
strip_id_or_class: tagline
|
||||
strip_id_or_class: unvotable-message
|
||||
|
@ -17,4 +17,5 @@ strip_id_or_class: buttons
|
|||
single_page_link: //p[@class="title"]/a[contains(@href, 'http://')]
|
||||
|
||||
test_url: http://www.reddit.com/r/truegaming/comments/wfe7r/i_wrote_about_the_problems_i_honestly_feel_that/
|
||||
test_url: http://www.reddit.com/r/worldnews/comments/1as37r/twelve_north_korean_soldiers_attempting_to_defect/
|
||||
test_url: http://www.reddit.com/r/worldnews/comments/1as37r/twelve_north_korean_soldiers_attempting_to_defect/
|
||||
test_url: http://www.reddit.com/r/WritingPrompts/comments/2786lw/wp_in_a_world_where_puns_are_illegal_one_man/chybk8e
|
|
@ -1,4 +1,4 @@
|
|||
body: //div[@class="storyBox"]
|
||||
body: //div[contains(concat(' ',normalize-space(@class),' '),' article ') and (contains(concat(' ',normalize-space(@class),' '),' clear '))]
|
||||
title: //div[@class="storyBox"]/h1
|
||||
author: //a[@rel="author"]
|
||||
date: substring-before(//span[@class="dateline"], 'by')
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#grab the actual content div
|
||||
body: //div[@class='rt-article']
|
||||
|
||||
test_url: http://www.sourcebooks.com/next/sourcebooks-next-our-blog/1601-another-piece-of-the-e-puzzle-or-when-good-ebook-promotions-go-bad.html
|
||||
test_url: http://www.sourcebooks.com/blog/happy-27th-birthday-sourcebooks.html
|
||||
|
|
5
inc/3rdparty/site_config/standard/tabletmag.com.txt
vendored
Executable file
5
inc/3rdparty/site_config/standard/tabletmag.com.txt
vendored
Executable file
|
@ -0,0 +1,5 @@
|
|||
body: //div[contains(@class, 'story-text')]
|
||||
|
||||
strip_id_or_class: related
|
||||
|
||||
test_url: http://www.tabletmag.com/jewish-news-and-politics/181181/mossberg-parallel-states?all=1
|
60
inc/3rdparty/site_config/standard/tagesspiegel.de.txt
vendored
Executable file
60
inc/3rdparty/site_config/standard/tagesspiegel.de.txt
vendored
Executable file
|
@ -0,0 +1,60 @@
|
|||
# Author: zinnober
|
||||
# Should work with "normal" articles as well as with image galleries
|
||||
|
||||
prune: no
|
||||
|
||||
# Title
|
||||
title: //h1/span[@class='hcf-headline']
|
||||
|
||||
# Set author
|
||||
author: //a[@rel='author']
|
||||
|
||||
# Set date
|
||||
date: //span[@class='date hcf-atlas']
|
||||
|
||||
# Fetch full multipage articles
|
||||
next_page_link: //a[contains(@class, 'hcf-forward')]
|
||||
|
||||
# Content is here
|
||||
body: //article
|
||||
body: //div[contains(@class, 'hcf-screen')]
|
||||
|
||||
# Remove tracking and ads
|
||||
strip_id_or_class: hcf-ad
|
||||
strip_id_or_class: hcf-autoload-ad
|
||||
strip_id_or_class: hcf-content-ad
|
||||
|
||||
# Tidy up before article
|
||||
strip: //article/h1
|
||||
strip_id_or_class: hcf-atlas
|
||||
strip_id_or_class: hcf-author
|
||||
strip_id_or_class: date hcf-atlas
|
||||
strip_id_or_class: date hcf-atlas
|
||||
|
||||
# General cleanup
|
||||
strip: //div[contains(@class, 'hcf-screen')]//h1
|
||||
strip: //div[@class='hcf-subpage-titles']//ul
|
||||
strip_id_or_class: hcf-doctype-media
|
||||
strip_id_or_class: hcf-inline-gallery
|
||||
strip_id_or_class: hcf-doctype-video
|
||||
strip_id_or_class: hcf-links
|
||||
strip_id_or_class: hcf-mini-navi
|
||||
strip_id_or_class: hcf-media-control
|
||||
strip_id_or_class: hcf-hidden
|
||||
replace_string(<span class="hcf-update">Update</span>): <strong>Update: </strong>
|
||||
|
||||
# Fix pictures and captions
|
||||
replace_string(<a class="hcf-doctype-gallery): <p class="hcf-doctype-gallery
|
||||
replace_string(<a class="hcf-doctype-enlarge): <p class="hcf-doctype-enlarge
|
||||
replace_string(<figcaption class="hcf-caption">): <br><small><em>
|
||||
replace_string(</figcaption>): </em></small>
|
||||
|
||||
# Fix image galleries
|
||||
replace_string(<a class=" ajaxify): <p class="ajaxify
|
||||
replace_string(<div class="hcf-caption"><div><p>): <small><em>
|
||||
|
||||
# Try it yourself
|
||||
test_url: http://www.tagesspiegel.de/berlin/bezirke/wedding/wedding-jetzt/auf-der-suche-nach-einem-stadtteil-wilder-weiter-wedding/8757156.html
|
||||
test_url: http://www.tagesspiegel.de/berlin/olympia-in-berlin-der-flughafen-tegel-soll-das-olympische-dorf-werden/10645036.html
|
||||
test_url: http://www.tagesspiegel.de/mediacenter/fotostrecken/berlin/bildergalerie-kreuzberger-der-woche/9305534.html
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
single_page_link_in_feed: //b/a
|
||||
|
||||
test_url_feed: http://www.techmeme.com/feed.xml
|
||||
test_url: http://www.techmeme.com/feed.xml
|
||||
|
|
|
@ -15,6 +15,8 @@ strip: //div[@class='earthbox']
|
|||
|
||||
single_page_link: //article//a[contains(@class, 'print')]
|
||||
|
||||
native_ad_clue: //meta[@property="og:url" and contains(@content, '/sponsored/')]
|
||||
|
||||
test_url: http://www.theatlantic.com/technology/archive/2011/04/want-to-see-how-crazy-a-bot-run-market-can-be/237773/
|
||||
test_url: http://www.theatlantic.com/magazine/archive/2007/11/the-autumn-of-the-multitaskers/6342/
|
||||
test_url: http://www.theatlantic.com/entertainment/archive/2012/04/30-rock-live-a-funny-reminder-of-why-sitcoms-arent-shot-live-anymore/256447/
|
|
@ -1,5 +1,10 @@
|
|||
body: //div[contains(@class, 'entry-content')]//div[contains(@class, 'column-2')]
|
||||
single_page_link: //div[contains(@class, 'pagination')]//a[contains(@title, 'ingle page')]
|
||||
strip_id_or_class: entry-related
|
||||
strip_id_or_class: entry-sidebar
|
||||
strip_id_or_class: entry-pagination
|
||||
tidy: no
|
||||
prune: no
|
||||
|
||||
test_url: http://www.theglobeandmail.com/report-on-business/rob-magazine/how-a-novice-miner-survived-a-summer-in-the-klondike/article2345350/
|
||||
test_url: http://www.theglobeandmail.com/report-on-business/rob-magazine/how-a-novice-miner-survived-a-summer-in-the-klondike/article2345350/
|
||||
test_url: http://www.theglobeandmail.com/report-on-business/industry-news/energy-and-resources/cliffs-natural-resources-looking-to-exit-ontarios-ring-of-fire/article20651617/
|
|
@ -6,8 +6,19 @@ strip: //div[contains(@class, 'kindleWidget')]
|
|||
#strip: //a[not(text())]
|
||||
strip_id_or_class: pocket-btn
|
||||
author: //li[@class='byline']
|
||||
native_ad_clue: //meta[@property="article:tag" and contains(@content, "Partner zone")]
|
||||
native_ad_clue: //meta[@property="video:tag" and contains(@content, "Partner zone")]
|
||||
prune: no
|
||||
tidy: no
|
||||
|
||||
test_url: http://www.theguardian.com/world/2013/oct/04/nsa-gchq-attack-tor-network-encryption
|
||||
test_contains: The National Security Agency has made repeated attempts to develop
|
||||
test_contains: The agency did not directly address those questions, instead providing a statement.
|
||||
|
||||
test_url: http://www.theguardian.com/world/2013/oct/03/edward-snowden-files-john-lanchester
|
||||
test_url: http://www.theguardian.com/commentisfree/2014/jun/15/britishness-search-identity-my-part-in-camerons-odyssey
|
||||
test_contains: In August, the editor of the Guardian rang me up and asked if I would spend a week in New York
|
||||
test_contains: As the second most senior judge in the country, Lord Hoffmann, said in 2004 about a previous version of our anti-terrorism laws
|
||||
|
||||
test_url: http://www.theguardian.com/commentisfree/2014/jun/15/britishness-search-identity-my-part-in-camerons-odyssey
|
||||
# Native ad
|
||||
test_url: http://www.theguardian.com/sustainable-business/2014/jul/18/ben-jerry-turn-ice-cream-into-energy
|
||||
|
|
|
@ -15,6 +15,11 @@ strip: //nav
|
|||
strip: //img[contains(@class, 'vox-lazy-load')]
|
||||
# deal with bad parsing
|
||||
strip: //div[contains(@class, 'story-image')]//div[contains(., 'function(')]
|
||||
strip: //div[contains(@class, 'm-linkset')]
|
||||
strip: //div[contains(@class, 'm-entry__sidebar')]
|
||||
strip: //ul[contains(@class, 'm-article__sources')]
|
||||
strip: //div[contains(@class, 'chorus-emc__content')]
|
||||
|
||||
|
||||
strip_id_or_class: gallery
|
||||
strip_id_or_class: article-meta
|
||||
|
@ -45,4 +50,4 @@ test_url: http://www.theverge.com/2012/2/29/2821763/lytro-review
|
|||
test_url: http://www.theverge.com/2011/11/3/2534861/nokia-lumia-800-review
|
||||
test_url: http://www.theverge.com/2013/2/24/4026114/barnes-noble-shifting-focus-away-from-nook-hardware
|
||||
test_url: http://www.theverge.com/2014/6/19/5824072/top-shelf-living-the-dream
|
||||
test_url: http://www.theverge.com/rss/frontpage
|
||||
test_url: http://www.theverge.com/rss/frontpage
|
||||
|
|
25
inc/3rdparty/site_config/standard/thisiscolossal.com.txt
vendored
Executable file
25
inc/3rdparty/site_config/standard/thisiscolossal.com.txt
vendored
Executable file
|
@ -0,0 +1,25 @@
|
|||
# Author: zinnober
|
||||
|
||||
tidy: no
|
||||
prune: no
|
||||
|
||||
# Set author
|
||||
author: //a[contains(@rel, 'author')]
|
||||
|
||||
# Content is here
|
||||
body: //article
|
||||
|
||||
# Tidy up before article
|
||||
strip: //header
|
||||
|
||||
# Get rid of doubled images
|
||||
strip: //img[contains(@class, '-hidden')]
|
||||
|
||||
# Tidy up after article
|
||||
strip_id_or_class: social-list
|
||||
strip_id_or_class: meta-info
|
||||
strip: //footer
|
||||
|
||||
# Try it yourself
|
||||
test_url: http://www.thisiscolossal.com/2014/09/chicago-in-the-fog-by-michael-salisbury/
|
||||
test_url: http://www.thisiscolossal.com/2014/09/bird-portraits-ruffling-with-personality-by-leila-jeffreys/
|
10
inc/3rdparty/site_config/standard/towerofthehand.com.txt
vendored
Executable file
10
inc/3rdparty/site_config/standard/towerofthehand.com.txt
vendored
Executable file
|
@ -0,0 +1,10 @@
|
|||
title: //div[@id='headline']
|
||||
body: //div[@class='entry_text']
|
||||
author: //div[text() = 'Author:']/following-sibling::div/a
|
||||
date: //div[text() = 'Published:']/following-sibling::div
|
||||
single_page_link: //a[@href='noscript.html']
|
||||
prune: no
|
||||
|
||||
test_url: http://towerofthehand.com/blog/2014/08/08-pitch-this-got-spinoff/index.html
|
||||
test_url: http://towerofthehand.com/blog/2014/07/31-definitions-and-embodiments/index.html
|
||||
test_url: http://towerofthehand.com/blog/2014/07/03-hero-with-thousand-faces/index.html
|
|
@ -6,4 +6,5 @@ date: //span[contains(@class, 'js-short-timestamp')]/@data-time
|
|||
prune: no
|
||||
tidy: no
|
||||
|
||||
test_url: https://twitter.com/medialens/status/216883678582804480
|
||||
test_url: https://twitter.com/medialens/status/216883678582804480
|
||||
test_contains: is all but alone in challenging the tsunami of UK
|
||||
|
|
|
@ -2,6 +2,7 @@ title: //meta[@property="og:title"]/@content
|
|||
author: //div[contains(@class, 'byline')]//span[contains(@class, 'name')]
|
||||
date: //div[contains(@class, 'cn_date_time')]
|
||||
body: //div[contains(@class, 'pageContainers')]
|
||||
body: //div[@id='main']
|
||||
body: //article[@id='items-container']
|
||||
#body: //h2[@class='sub-header'] | //div[contains(@class, 'contributor-type') or @class='display-date' or @class='content-container']
|
||||
|
||||
|
@ -26,5 +27,7 @@ strip: //li[@class='blogNavPrev']
|
|||
single_page_link: //a[@title='Print this page']
|
||||
|
||||
test_url: http://www.vanityfair.com/politics/features/2011/05/egypt-revolutionaries-201105
|
||||
test_contains: nothing can take away from the miracle of Tahrir Square
|
||||
|
||||
test_url: http://www.vanityfair.com/politics/features/2008/08/hitchens200808
|
||||
test_url: http://www.vanityfair.com/style/2012/01/prisoners-of-style-201201
|
||||
test_url: http://www.vanityfair.com/style/2012/01/prisoners-of-style-201201
|
||||
|
|
18
inc/3rdparty/site_config/standard/wn.de.txt
vendored
Executable file
18
inc/3rdparty/site_config/standard/wn.de.txt
vendored
Executable file
|
@ -0,0 +1,18 @@
|
|||
author: //div[@id='main']//div[@class='col right']//div[contains(@class, 'attribute-author')]
|
||||
body: //div[@id='main']//div[@class='col right']
|
||||
strip_id_or_class: boxes
|
||||
strip_id_or_class: lazy
|
||||
strip_id_or_class: comment_box
|
||||
strip_id_or_class: fb_comments
|
||||
|
||||
find_string: <noscript>
|
||||
replace_string: <div>
|
||||
find_string: </noscript>
|
||||
replace_string: </div>
|
||||
|
||||
prune: no
|
||||
tidy: no
|
||||
|
||||
test_url: http://www.wn.de/Muenster/Kultur/1742956-Wilm-Weppelmann-verlaesst-die-Einsiedelei-Und-dann-ab-unter-die-Dusche
|
||||
# feed
|
||||
test_url: http://www.wn.de/rss/feed/wn_muenster
|
|
@ -24,15 +24,17 @@ class Database {
|
|||
switch (STORAGE) {
|
||||
case 'sqlite':
|
||||
// Check if /db is writeable
|
||||
if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) {
|
||||
if ( !is_writable(STORAGE_SQLITE) || !is_writable(dirname(STORAGE_SQLITE))) {
|
||||
die('An error occured: "db" directory must be writeable for your web server user!');
|
||||
}
|
||||
$db_path = 'sqlite:' . STORAGE_SQLITE;
|
||||
$this->handle = new PDO($db_path);
|
||||
break;
|
||||
case 'mysql':
|
||||
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
|
||||
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD);
|
||||
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4';
|
||||
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array(
|
||||
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
|
||||
));
|
||||
break;
|
||||
case 'postgres':
|
||||
$db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
|
||||
|
|
|
@ -18,6 +18,7 @@ class Language
|
|||
'cs_CZ.utf8' => 'čeština',
|
||||
'de_DE.utf8' => 'German',
|
||||
'en_EN.utf8' => 'English',
|
||||
'en_US.utf8' => 'English (US)',
|
||||
'es_ES.utf8' => 'Español',
|
||||
'fa_IR.utf8' => 'فارسی',
|
||||
'fr_FR.utf8' => 'Français',
|
||||
|
@ -110,4 +111,4 @@ class Language
|
|||
Tools::emptyCache();
|
||||
Tools::redirect('?view=config');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -314,6 +314,8 @@ class Poche
|
|||
|
||||
switch ($view)
|
||||
{
|
||||
case 'about':
|
||||
break;
|
||||
case 'config':
|
||||
$dev_infos = $this->_getPocheVersion('dev');
|
||||
$dev = trim($dev_infos[0]);
|
||||
|
@ -388,7 +390,7 @@ class Poche
|
|||
$this->pagination->page_links('?view=' . $view . '?search=' . $search . '&sort=' . $_SESSION['sort'] . '&' ));
|
||||
$tpl_vars['page_links'] = $page_links;
|
||||
$tpl_vars['nb_results'] = $count;
|
||||
$tpl_vars['search_term'] = $search;
|
||||
$tpl_vars['searchterm'] = $search;
|
||||
}
|
||||
break;
|
||||
case 'view':
|
||||
|
|
|
@ -119,7 +119,7 @@ class Routing
|
|||
} elseif (isset($_GET['deluser'])) {
|
||||
$this->wallabag->deleteUser($_POST['password4deletinguser']);
|
||||
} elseif (isset($_GET['epub'])) {
|
||||
$epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['id'], $_GET['value']);
|
||||
$epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['value']);
|
||||
$epub->run();
|
||||
} elseif (isset($_GET['import'])) {
|
||||
$import = $this->wallabag->import();
|
||||
|
|
|
@ -51,6 +51,7 @@ final class Tools
|
|||
|
||||
$serverport = (!isset($_SERVER["SERVER_PORT"])
|
||||
|| $_SERVER["SERVER_PORT"] == '80'
|
||||
|| $_SERVER["SERVER_PORT"] == HTTP_PORT
|
||||
|| ($https && $_SERVER["SERVER_PORT"] == '443')
|
||||
|| ($https && $_SERVER["SERVER_PORT"]==SSL_PORT) //Custom HTTPS port detection
|
||||
? '' : ':' . $_SERVER["SERVER_PORT"]);
|
||||
|
@ -116,7 +117,7 @@ final class Tools
|
|||
{
|
||||
$views = array(
|
||||
'install', 'import', 'export', 'config', 'tags',
|
||||
'edit-tags', 'view', 'login', 'error'
|
||||
'edit-tags', 'view', 'login', 'error', 'about'
|
||||
);
|
||||
|
||||
return (in_array($view, $views) ? $view . '.twig' : 'home.twig');
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#################################################################################
|
||||
# Do not trespass unless you know what you are doing
|
||||
#################################################################################
|
||||
// Change this if http is running on nonstandard port - i.e is behind cache proxy
|
||||
@define ('HTTP_PORT', 80);
|
||||
|
||||
// Change this if not using the standart port for SSL - i.e you server is behind sslh
|
||||
@define ('SSL_PORT', 443);
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -3,7 +3,7 @@ CREATE TABLE IF NOT EXISTS `config` (
|
|||
`name` varchar(255) NOT NULL,
|
||||
`value` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `entries` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
|
@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS `entries` (
|
|||
`content` blob NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
|
@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS `users` (
|
|||
`name` varchar(255) NOT NULL,
|
||||
`email` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `users_config` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
|
@ -31,13 +31,13 @@ CREATE TABLE IF NOT EXISTS `users_config` (
|
|||
`name` varchar(255) NOT NULL,
|
||||
`value` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tags` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`value` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tags_entries` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
|
@ -46,4 +46,4 @@ CREATE TABLE IF NOT EXISTS `tags_entries` (
|
|||
FOREIGN KEY(entry_id) REFERENCES entries(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY(tag_id) REFERENCES tags(id) ON DELETE CASCADE,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
|
Binary file not shown.
|
@ -4,26 +4,26 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-02-25 15:17+0300\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: tcit <tcit@tcit.fr>\n"
|
||||
"Last-Translator: tcit <tcit@openmailbox.org>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
|
||||
msgid "wallabag, a read it later open source system"
|
||||
msgstr "wallabag, a read it later open source system"
|
||||
|
||||
msgid "login failed: user doesn't exist"
|
||||
msgstr "login failed: user doesn't exist"
|
||||
msgstr "Login failed: user doesn't exist"
|
||||
|
||||
msgid "return home"
|
||||
msgstr "return home"
|
||||
msgstr "Return Home"
|
||||
|
||||
msgid "config"
|
||||
msgstr "config"
|
||||
msgstr "Config"
|
||||
|
||||
msgid "Saving articles"
|
||||
msgstr "Saving articles"
|
||||
|
@ -32,10 +32,16 @@ msgid "There are several ways to save an article:"
|
|||
msgstr "There are several ways to save an article:"
|
||||
|
||||
msgid "read the documentation"
|
||||
msgstr "read the documentation"
|
||||
msgstr "Read the documentation"
|
||||
|
||||
msgid "download the extension"
|
||||
msgstr "download the extension"
|
||||
msgstr "Download the extension"
|
||||
|
||||
msgid "Firefox Add-On"
|
||||
msgstr "Firefox Add-On"
|
||||
|
||||
msgid "Chrome Extension"
|
||||
msgstr "Chrome Extension"
|
||||
|
||||
msgid "via F-Droid"
|
||||
msgstr "via F-Droid"
|
||||
|
@ -47,7 +53,7 @@ msgid "via Google Play"
|
|||
msgstr "via Google Play"
|
||||
|
||||
msgid "download the application"
|
||||
msgstr "download the application"
|
||||
msgstr "Download the application"
|
||||
|
||||
msgid "By filling this field"
|
||||
msgstr "By filling this field"
|
||||
|
@ -56,7 +62,7 @@ msgid "bag it!"
|
|||
msgstr "bag it!"
|
||||
|
||||
msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "Bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
|
||||
|
||||
msgid "Upgrading wallabag"
|
||||
msgstr "Upgrading wallabag"
|
||||
|
@ -102,17 +108,16 @@ msgid "Your token:"
|
|||
msgstr "Your token:"
|
||||
|
||||
msgid "Your user id:"
|
||||
msgstr "Your user id:"
|
||||
msgstr "Your user ID:"
|
||||
|
||||
msgid ""
|
||||
"You can regenerate your token: <a href='?feed&action=generate'>generate!"
|
||||
"</a>."
|
||||
msgstr ""
|
||||
"You can regenerate your token: <a href='?feed&action=generate'>generate!"
|
||||
"</a>."
|
||||
"<a href='?feed&action=generate'>Regenerate Token</a>"
|
||||
|
||||
msgid "Change your theme"
|
||||
msgstr "Change your theme"
|
||||
msgstr "Change Your Theme"
|
||||
|
||||
msgid "Theme:"
|
||||
msgstr "Theme:"
|
||||
|
@ -121,13 +126,13 @@ msgid "Update"
|
|||
msgstr "Update"
|
||||
|
||||
msgid "Change your language"
|
||||
msgstr "Change your language"
|
||||
msgstr "Change Your Language"
|
||||
|
||||
msgid "Language:"
|
||||
msgstr "Language:"
|
||||
|
||||
msgid "Change your password"
|
||||
msgstr "Change your password"
|
||||
msgstr "Change Your Password"
|
||||
|
||||
msgid "New password:"
|
||||
msgstr "New password:"
|
||||
|
@ -141,14 +146,26 @@ msgstr "Repeat your new password:"
|
|||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format."
|
||||
msgstr "You can import your Pocket, Readability, Instapaper, wallabag or any fil in appropriate JSON or HTML format."
|
||||
|
||||
msgid ""
|
||||
"Please execute the import script locally as it can take a very long time."
|
||||
msgstr ""
|
||||
|
||||
msgid "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required."
|
||||
msgstr "Please select export file on your computer and press “Import” button below. wallabag will parse your file, insert all URLs and start fetching of articles if required."
|
||||
"Please execute the import script locally as it can take a very long time."
|
||||
|
||||
msgid "You can click here to fetch content for articles with no content."
|
||||
msgstr "Fetch content for articles with no content"
|
||||
|
||||
msgid "More info in the official documentation:"
|
||||
msgstr "More info in the official documentation:"
|
||||
|
||||
msgid "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
|
||||
msgstr "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
|
||||
|
||||
msgid "Import from Pocket"
|
||||
msgstr "Import from Pocket"
|
||||
|
||||
|
@ -177,17 +194,41 @@ msgstr "to download your database."
|
|||
msgid "to export your wallabag data."
|
||||
msgstr "to export your wallabag data."
|
||||
|
||||
msgid "Export JSON"
|
||||
msgstr "Export JSON"
|
||||
|
||||
msgid "Cache"
|
||||
msgstr "Cache"
|
||||
|
||||
msgid "to delete cache."
|
||||
msgstr "to delete cache."
|
||||
|
||||
msgid "Delete Cache"
|
||||
msgstr "Delete Cache"
|
||||
|
||||
msgid "You can enter multiple tags, separated by commas."
|
||||
msgstr "You can enter multiple tags, separated by commas."
|
||||
|
||||
msgid "Add tags:"
|
||||
msgstr "Add tags:"
|
||||
|
||||
msgid "no tags"
|
||||
msgstr "no tags"
|
||||
|
||||
msgid "The tag has been applied successfully"
|
||||
msgstr "The tag has been applied successfully"
|
||||
|
||||
msgid "interview"
|
||||
msgstr "interview"
|
||||
|
||||
msgid "editorial"
|
||||
msgstr "editorial"
|
||||
|
||||
msgid "video"
|
||||
msgstr "video"
|
||||
|
||||
msgid "return to article"
|
||||
msgstr "return to article"
|
||||
msgstr "Return to article"
|
||||
|
||||
msgid "plop"
|
||||
msgstr "plop"
|
||||
|
@ -200,13 +241,13 @@ msgstr ""
|
|||
"here</a>."
|
||||
|
||||
msgid "favoris"
|
||||
msgstr "favoris"
|
||||
msgstr "Favorites"
|
||||
|
||||
msgid "archive"
|
||||
msgstr "archive"
|
||||
msgstr "Archive"
|
||||
|
||||
msgid "unread"
|
||||
msgstr "unread"
|
||||
msgstr "Unread"
|
||||
|
||||
msgid "by date asc"
|
||||
msgstr "by date asc"
|
||||
|
@ -236,28 +277,28 @@ msgid "Toggle mark as read"
|
|||
msgstr "Toggle mark as read"
|
||||
|
||||
msgid "toggle favorite"
|
||||
msgstr "toggle favorite"
|
||||
msgstr "Toggle favorite"
|
||||
|
||||
msgid "delete"
|
||||
msgstr "delete"
|
||||
msgstr "Delete"
|
||||
|
||||
msgid "original"
|
||||
msgstr "original"
|
||||
msgstr "Original"
|
||||
|
||||
msgid "estimated reading time:"
|
||||
msgstr "estimated reading time:"
|
||||
msgstr "Estimated reading time:"
|
||||
|
||||
msgid "mark all the entries as read"
|
||||
msgstr "mark all the entries as read"
|
||||
msgstr "Mark all the entries as read"
|
||||
|
||||
msgid "results"
|
||||
msgstr "results"
|
||||
msgstr "Results"
|
||||
|
||||
msgid "installation"
|
||||
msgstr "installation"
|
||||
msgstr "Installation"
|
||||
|
||||
msgid "install your wallabag"
|
||||
msgstr "install your wallabag"
|
||||
msgstr "Install your wallabag"
|
||||
|
||||
msgid ""
|
||||
"wallabag is still not installed. Please fill the below form to install it. "
|
||||
|
@ -278,13 +319,13 @@ msgid "Install"
|
|||
msgstr "Install"
|
||||
|
||||
msgid "login to your wallabag"
|
||||
msgstr "login to your wallabag"
|
||||
msgstr "Login to your wallabag"
|
||||
|
||||
msgid "Login to wallabag"
|
||||
msgstr "Login to wallabag"
|
||||
|
||||
msgid "you are in demo mode, some features may be disabled."
|
||||
msgstr "you are in demo mode, some features may be disabled."
|
||||
msgstr "You are in demo mode; some features may be disabled."
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Username"
|
||||
|
@ -299,10 +340,10 @@ msgid "Sign in"
|
|||
msgstr "Sign in"
|
||||
|
||||
msgid "favorites"
|
||||
msgstr "favorites"
|
||||
msgstr "Favorites"
|
||||
|
||||
msgid "estimated reading time :"
|
||||
msgstr "estimated reading time :"
|
||||
msgstr "Estimated reading time:"
|
||||
|
||||
msgid "Mark all the entries as read"
|
||||
msgstr "Mark all the entries as read"
|
||||
|
@ -344,61 +385,64 @@ msgid "tags:"
|
|||
msgstr "tags:"
|
||||
|
||||
msgid "Edit tags"
|
||||
msgstr "Edit tags"
|
||||
msgstr "Edit Tags"
|
||||
|
||||
msgid "save link!"
|
||||
msgstr "save link!"
|
||||
msgstr "Save Link"
|
||||
|
||||
msgid "home"
|
||||
msgstr "home"
|
||||
msgstr "Home"
|
||||
|
||||
msgid "tags"
|
||||
msgstr "tags"
|
||||
msgstr "Tags"
|
||||
|
||||
msgid "logout"
|
||||
msgstr "logout"
|
||||
msgstr "Logout"
|
||||
|
||||
msgid "powered by"
|
||||
msgstr "powered by"
|
||||
msgstr "Powered by"
|
||||
|
||||
msgid "debug mode is on so cache is off."
|
||||
msgstr "debug mode is on so cache is off."
|
||||
msgstr "Debug mode is on, so cache is off."
|
||||
|
||||
msgid "your wallabag version:"
|
||||
msgstr "your wallabag version:"
|
||||
msgstr "Your wallabag version:"
|
||||
|
||||
msgid "storage:"
|
||||
msgstr "storage:"
|
||||
msgstr "Storage:"
|
||||
|
||||
msgid "save a link"
|
||||
msgstr "save a link"
|
||||
msgstr "Save a Link"
|
||||
|
||||
msgid "back to home"
|
||||
msgstr "back to home"
|
||||
msgstr "Back to Home"
|
||||
|
||||
msgid "toggle mark as read"
|
||||
msgstr "toggle mark as read"
|
||||
msgstr "Toggle mark as read"
|
||||
|
||||
msgid "tweet"
|
||||
msgstr "tweet"
|
||||
msgstr "Tweet"
|
||||
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
msgstr "Email"
|
||||
|
||||
msgid "this article appears wrong?"
|
||||
msgstr "this article appears wrong?"
|
||||
msgstr "This article appears wrong?"
|
||||
|
||||
msgid "No link available here!"
|
||||
msgstr "No link available here!"
|
||||
msgstr "No link available here"
|
||||
|
||||
msgid "Poching a link"
|
||||
msgstr "Poching a link"
|
||||
msgstr "bagging a link"
|
||||
|
||||
msgid "by filling this field"
|
||||
msgstr "by filling this field"
|
||||
|
||||
msgid "bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
|
||||
|
||||
msgid "Drag & drop this link to your bookmarks bar:"
|
||||
msgstr "Drag & drop this link to your bookmarks bar:"
|
||||
|
||||
msgid "your version"
|
||||
msgstr "your version"
|
||||
|
@ -407,32 +451,35 @@ msgid "latest stable version"
|
|||
msgstr "latest stable version"
|
||||
|
||||
msgid "a more recent stable version is available."
|
||||
msgstr "a more recent stable version is available."
|
||||
msgstr "A more recent stable version is available."
|
||||
|
||||
msgid "you are up to date."
|
||||
msgstr "you are up to date."
|
||||
msgstr "You are up to date."
|
||||
|
||||
msgid "latest dev version"
|
||||
msgstr "latest dev version"
|
||||
|
||||
msgid "a more recent development version is available."
|
||||
msgstr "a more recent development version is available."
|
||||
msgstr "A more recent development version is available."
|
||||
|
||||
msgid "You can clear cache to check the latest release."
|
||||
msgstr "You can <a href=\"#cache\">clear the cache</a> to check for the latest release."
|
||||
|
||||
msgid "Please execute the import script locally, it can take a very long time."
|
||||
msgstr ""
|
||||
"Please execute the import script locally, it can take a very long time."
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgstr "More infos in the official doc:"
|
||||
msgstr "More information in the official doc:"
|
||||
|
||||
msgid "import from Pocket"
|
||||
msgstr "import from Pocket"
|
||||
msgstr "Import from Pocket"
|
||||
|
||||
msgid "import from Readability"
|
||||
msgstr "import from Readability"
|
||||
msgstr "Import from Readability"
|
||||
|
||||
msgid "import from Instapaper"
|
||||
msgstr "import from Instapaper"
|
||||
msgstr "Import from Instapaper"
|
||||
|
||||
msgid "Tags"
|
||||
msgstr "Tags"
|
||||
|
@ -441,74 +488,74 @@ msgid "Untitled"
|
|||
msgstr "Untitled"
|
||||
|
||||
msgid "the link has been added successfully"
|
||||
msgstr "the link has been added successfully"
|
||||
msgstr "The link has been added successfully."
|
||||
|
||||
msgid "error during insertion : the link wasn't added"
|
||||
msgstr "error during insertion : the link wasn't added"
|
||||
msgstr "Error during insertion: the link wasn't added."
|
||||
|
||||
msgid "the link has been deleted successfully"
|
||||
msgstr "the link has been deleted successfully"
|
||||
msgstr "The link has been deleted successfully."
|
||||
|
||||
msgid "the link wasn't deleted"
|
||||
msgstr "the link wasn't deleted"
|
||||
msgstr "The link wasn't deleted."
|
||||
|
||||
msgid "Article not found!"
|
||||
msgstr "Article not found!"
|
||||
msgstr "Article not found."
|
||||
|
||||
msgid "previous"
|
||||
msgstr "previous"
|
||||
msgstr "Previous"
|
||||
|
||||
msgid "next"
|
||||
msgstr "next"
|
||||
msgstr "Next"
|
||||
|
||||
msgid "in demo mode, you can't update your password"
|
||||
msgstr "in demo mode, you can't update your password"
|
||||
msgstr "In demo mode, you can't update your password."
|
||||
|
||||
msgid "your password has been updated"
|
||||
msgstr "your password has been updated"
|
||||
msgstr "Your password has been updated."
|
||||
|
||||
msgid ""
|
||||
"the two fields have to be filled & the password must be the same in the two "
|
||||
"fields"
|
||||
msgstr ""
|
||||
"the two fields have to be filled & the password must be the same in the two "
|
||||
"The two fields must be filled, and the password must be the same in both "
|
||||
"fields"
|
||||
|
||||
msgid "still using the \""
|
||||
msgstr "still using the \""
|
||||
msgstr "Still using the \""
|
||||
|
||||
msgid "that theme does not seem to be installed"
|
||||
msgstr "that theme does not seem to be installed"
|
||||
msgstr "That theme does not seem to be installed."
|
||||
|
||||
msgid "you have changed your theme preferences"
|
||||
msgstr "you have changed your theme preferences"
|
||||
msgstr "You have changed your theme preferences."
|
||||
|
||||
msgid "that language does not seem to be installed"
|
||||
msgstr "that language does not seem to be installed"
|
||||
msgstr "That language does not seem to be installed."
|
||||
|
||||
msgid "you have changed your language preferences"
|
||||
msgstr "you have changed your language preferences"
|
||||
msgstr "You have changed your language preferences."
|
||||
|
||||
msgid "login failed: you have to fill all fields"
|
||||
msgstr "login failed: you have to fill all fields"
|
||||
msgstr "Login failed: you have to fill all fields."
|
||||
|
||||
msgid "welcome to your wallabag"
|
||||
msgstr "welcome to your wallabag"
|
||||
msgstr "Welcome to your wallabag."
|
||||
|
||||
msgid "login failed: bad login or password"
|
||||
msgstr "login failed: bad login or password"
|
||||
msgstr "Login failed: bad login or password."
|
||||
|
||||
msgid "import from instapaper completed"
|
||||
msgstr "import from instapaper completed"
|
||||
msgstr "Import from Instapaper completed."
|
||||
|
||||
msgid "import from pocket completed"
|
||||
msgstr "import from pocket completed"
|
||||
msgstr "Import from Pocket completed."
|
||||
|
||||
msgid "import from Readability completed. "
|
||||
msgstr "import from Readability completed. "
|
||||
msgstr "Import from Readability completed."
|
||||
|
||||
msgid "import from Poche completed. "
|
||||
msgstr "import from Poche completed. "
|
||||
msgstr "Import from Poche completed. "
|
||||
|
||||
msgid "Unknown import provider."
|
||||
msgstr "Unknown import provider."
|
||||
|
@ -520,7 +567,7 @@ msgid "Could not find required \""
|
|||
msgstr "Could not find required \""
|
||||
|
||||
msgid "Uh, there is a problem while generating feeds."
|
||||
msgstr "Uh, there is a problem while generating feeds."
|
||||
msgstr "There is a problem generating feeds."
|
||||
|
||||
msgid "Cache deleted."
|
||||
msgstr "Cache deleted."
|
||||
|
@ -529,25 +576,25 @@ msgid "Oops, it seems you don't have PHP 5."
|
|||
msgstr "Oops, it seems you don't have PHP 5."
|
||||
|
||||
msgid "Add user"
|
||||
msgstr "Add user"
|
||||
msgstr "Add User"
|
||||
|
||||
msgid "Add a new user :"
|
||||
msgstr "Add a new user :"
|
||||
msgstr "Add a new user:"
|
||||
|
||||
msgid "Login for new user"
|
||||
msgstr "Login for new user"
|
||||
msgstr "Login for new user:"
|
||||
|
||||
msgid "Password for new user"
|
||||
msgstr "Password for new user"
|
||||
msgstr "Password for new user:"
|
||||
|
||||
msgid "Email for new user (not required)"
|
||||
msgstr "Email for new user (not required)"
|
||||
msgstr "Email for new user (not required):"
|
||||
|
||||
msgid "Send"
|
||||
msgstr "Send"
|
||||
|
||||
msgid "Delete account"
|
||||
msgstr "Delete account"
|
||||
msgstr "Delete Account"
|
||||
|
||||
msgid "You can delete your account by entering your password and validating."
|
||||
msgstr "You can delete your account by entering your password and validating."
|
||||
|
@ -556,7 +603,7 @@ msgid "Be careful, data will be erased forever (that is a very long time)."
|
|||
msgstr "Be careful, data will be erased forever (that is a very long time)."
|
||||
|
||||
msgid "Type here your password"
|
||||
msgstr "Type here your password"
|
||||
msgstr "Enter your password"
|
||||
|
||||
msgid "You are the only user, you cannot delete your own account."
|
||||
msgstr "You are the only user, you cannot delete your own account."
|
||||
|
@ -571,6 +618,36 @@ msgstr ""
|
|||
msgid "Enter your search here"
|
||||
msgstr "Enter your search here"
|
||||
|
||||
msgid "Tag these results as"
|
||||
msgstr "Tag these results as"
|
||||
|
||||
# ebook
|
||||
msgid "Fancy an E-Book ?"
|
||||
msgstr "Fancy an E-Book?"
|
||||
|
||||
msgid ""
|
||||
"Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this "
|
||||
"link</a> to get all your articles in one ebook (ePub 3 format)."
|
||||
msgstr ""
|
||||
"Click on <a href=\"./?epub&method=all\" title=\"Generate EPUB\">this "
|
||||
"link</a> to get all your articles in one ebook (EPUB 3 format)."
|
||||
|
||||
msgid ""
|
||||
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
|
||||
"articles, depending on your server configuration."
|
||||
msgstr ""
|
||||
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
|
||||
"articles, depending on your server configuration."
|
||||
|
||||
msgid "Download the articles from this tag in an epub"
|
||||
msgstr "Download the articles from this tag in an EPUB"
|
||||
|
||||
msgid "Download the articles from this search in an epub"
|
||||
msgstr "Download the articles from this search in an EPUB"
|
||||
|
||||
msgid "Download the articles from this category in an epub"
|
||||
msgstr "Download the articles from this category in an EPUB"
|
||||
|
||||
#~ msgid "poche it!"
|
||||
#~ msgstr "poche it!"
|
||||
|
||||
|
|
BIN
locale/en_US.utf8/LC_MESSAGES/en_US.utf8.mo
Normal file
BIN
locale/en_US.utf8/LC_MESSAGES/en_US.utf8.mo
Normal file
Binary file not shown.
666
locale/en_US.utf8/LC_MESSAGES/en_US.utf8.po
Normal file
666
locale/en_US.utf8/LC_MESSAGES/en_US.utf8.po
Normal file
|
@ -0,0 +1,666 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wallabag\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-02-25 15:17+0300\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: tcit <tcit@openmailbox.org>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: en_US\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
|
||||
msgid "wallabag, a read it later open source system"
|
||||
msgstr "wallabag, a read it later open source system"
|
||||
|
||||
msgid "login failed: user doesn't exist"
|
||||
msgstr "Login failed: user doesn't exist"
|
||||
|
||||
msgid "return home"
|
||||
msgstr "Return Home"
|
||||
|
||||
msgid "config"
|
||||
msgstr "Config"
|
||||
|
||||
msgid "Saving articles"
|
||||
msgstr "Saving articles"
|
||||
|
||||
msgid "There are several ways to save an article:"
|
||||
msgstr "There are several ways to save an article:"
|
||||
|
||||
msgid "read the documentation"
|
||||
msgstr "Read the documentation"
|
||||
|
||||
msgid "download the extension"
|
||||
msgstr "Download the extension"
|
||||
|
||||
msgid "Firefox Add-On"
|
||||
msgstr "Firefox Add-On"
|
||||
|
||||
msgid "Chrome Extension"
|
||||
msgstr "Chrome Extension"
|
||||
|
||||
msgid "via F-Droid"
|
||||
msgstr "via F-Droid"
|
||||
|
||||
msgid " or "
|
||||
msgstr " or "
|
||||
|
||||
msgid "via Google Play"
|
||||
msgstr "via Google Play"
|
||||
|
||||
msgid "download the application"
|
||||
msgstr "Download the application"
|
||||
|
||||
msgid "By filling this field"
|
||||
msgstr "By filling this field"
|
||||
|
||||
msgid "bag it!"
|
||||
msgstr "bag it!"
|
||||
|
||||
msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
|
||||
|
||||
msgid "Upgrading wallabag"
|
||||
msgstr "Upgrading wallabag"
|
||||
|
||||
msgid "Installed version"
|
||||
msgstr "Installed version"
|
||||
|
||||
msgid "Latest stable version"
|
||||
msgstr "Latest stable version"
|
||||
|
||||
msgid "A more recent stable version is available."
|
||||
msgstr "A more recent stable version is available."
|
||||
|
||||
msgid "You are up to date."
|
||||
msgstr "You are up to date."
|
||||
|
||||
msgid "Latest dev version"
|
||||
msgstr "Latest dev version"
|
||||
|
||||
msgid "A more recent development version is available."
|
||||
msgstr "A more recent development version is available."
|
||||
|
||||
msgid "You can clear cache to check the latest release."
|
||||
msgstr "You can <a href=\"#cache\">clear the cache</a> to check for the latest release."
|
||||
|
||||
msgid "Feeds"
|
||||
msgstr "Feeds"
|
||||
|
||||
msgid ""
|
||||
"Your feed token is currently empty and must first be generated to enable "
|
||||
"feeds. Click <a href='?feed&action=generate'>here to generate it</a>."
|
||||
msgstr ""
|
||||
"Your feed token is currently empty and must first be generated to enable "
|
||||
"feeds. Click <a href='?feed&action=generate'>here to generate it</a>."
|
||||
|
||||
msgid "Unread feed"
|
||||
msgstr "Unread feed"
|
||||
|
||||
msgid "Favorites feed"
|
||||
msgstr "Favorites feed"
|
||||
|
||||
msgid "Archive feed"
|
||||
msgstr "Archive feed"
|
||||
|
||||
msgid "Your token:"
|
||||
msgstr "Your token:"
|
||||
|
||||
msgid "Your user id:"
|
||||
msgstr "Your user ID:"
|
||||
|
||||
msgid ""
|
||||
"You can regenerate your token: <a href='?feed&action=generate'>generate!"
|
||||
"</a>."
|
||||
msgstr ""
|
||||
"<a href='?feed&action=generate'>Regenerate Token</a>"
|
||||
|
||||
msgid "Change your theme"
|
||||
msgstr "Change Your Theme"
|
||||
|
||||
msgid "Theme:"
|
||||
msgstr "Theme:"
|
||||
|
||||
msgid "Update"
|
||||
msgstr "Update"
|
||||
|
||||
msgid "Change your language"
|
||||
msgstr "Change Your Language"
|
||||
|
||||
msgid "Language:"
|
||||
msgstr "Language:"
|
||||
|
||||
msgid "Change your password"
|
||||
msgstr "Change Your Password"
|
||||
|
||||
msgid "New password:"
|
||||
msgstr "New password:"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
msgid "Repeat your new password:"
|
||||
msgstr "Repeat your new password:"
|
||||
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
msgid "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format."
|
||||
msgstr "You can import your Pocket, Readability, Instapaper, wallabag or any file in appropriate JSON or HTML format."
|
||||
|
||||
msgid ""
|
||||
"Please execute the import script locally as it can take a very long time."
|
||||
msgstr ""
|
||||
"Please execute the import script locally as it can take a very long time."
|
||||
|
||||
msgid "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required."
|
||||
msgstr "Please select export file on your computer and press “Import” button below. wallabag will parse your file, insert all URLs and start fetching of articles if required."
|
||||
|
||||
msgid "You can click here to fetch content for articles with no content."
|
||||
msgstr "Fetch content for articles with no content"
|
||||
|
||||
msgid "More info in the official documentation:"
|
||||
msgstr "More info in the official documentation:"
|
||||
|
||||
msgid "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
|
||||
msgstr "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)"
|
||||
|
||||
msgid "Import from Pocket"
|
||||
msgstr "Import from Pocket"
|
||||
|
||||
#, php-format
|
||||
msgid "(you must have a %s file on your server)"
|
||||
msgstr "(you must have a %s file on your server)"
|
||||
|
||||
msgid "Import from Readability"
|
||||
msgstr "Import from Readability"
|
||||
|
||||
msgid "Import from Instapaper"
|
||||
msgstr "Import from Instapaper"
|
||||
|
||||
msgid "Import from wallabag"
|
||||
msgstr "Import from wallabag"
|
||||
|
||||
msgid "Export your wallabag data"
|
||||
msgstr "Export your wallabag data"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Click here"
|
||||
|
||||
msgid "to download your database."
|
||||
msgstr "to download your database."
|
||||
|
||||
msgid "to export your wallabag data."
|
||||
msgstr "to export your wallabag data."
|
||||
|
||||
msgid "Export JSON"
|
||||
msgstr "Export JSON"
|
||||
|
||||
msgid "Cache"
|
||||
msgstr "Cache"
|
||||
|
||||
msgid "to delete cache."
|
||||
msgstr "to delete cache."
|
||||
|
||||
msgid "Delete Cache"
|
||||
msgstr "Delete Cache"
|
||||
|
||||
msgid "You can enter multiple tags, separated by commas."
|
||||
msgstr "You can enter multiple tags, separated by commas."
|
||||
|
||||
msgid "Add tags:"
|
||||
msgstr "Add tags:"
|
||||
|
||||
msgid "no tags"
|
||||
msgstr "no tags"
|
||||
|
||||
msgid "The tag has been applied successfully"
|
||||
msgstr "The tag has been applied successfully"
|
||||
|
||||
msgid "interview"
|
||||
msgstr "interview"
|
||||
|
||||
msgid "editorial"
|
||||
msgstr "editorial"
|
||||
|
||||
msgid "video"
|
||||
msgstr "video"
|
||||
|
||||
msgid "return to article"
|
||||
msgstr "Return to article"
|
||||
|
||||
msgid "plop"
|
||||
msgstr "plop"
|
||||
|
||||
msgid ""
|
||||
"You can <a href='wallabag_compatibility_test.php'>check your configuration "
|
||||
"here</a>."
|
||||
msgstr ""
|
||||
"You can <a href='wallabag_compatibility_test.php'>check your configuration "
|
||||
"here</a>."
|
||||
|
||||
msgid "favoris"
|
||||
msgstr "Favorites"
|
||||
|
||||
msgid "archive"
|
||||
msgstr "Archive"
|
||||
|
||||
msgid "unread"
|
||||
msgstr "Unread"
|
||||
|
||||
msgid "by date asc"
|
||||
msgstr "by date asc"
|
||||
|
||||
msgid "by date"
|
||||
msgstr "by date"
|
||||
|
||||
msgid "by date desc"
|
||||
msgstr "by date desc"
|
||||
|
||||
msgid "by title asc"
|
||||
msgstr "by title asc"
|
||||
|
||||
msgid "by title"
|
||||
msgstr "by title"
|
||||
|
||||
msgid "by title desc"
|
||||
msgstr "by title desc"
|
||||
|
||||
msgid "Tag"
|
||||
msgstr "Tag"
|
||||
|
||||
msgid "No articles found."
|
||||
msgstr "No articles found."
|
||||
|
||||
msgid "Toggle mark as read"
|
||||
msgstr "Toggle mark as read"
|
||||
|
||||
msgid "toggle favorite"
|
||||
msgstr "Toggle favorite"
|
||||
|
||||
msgid "delete"
|
||||
msgstr "Delete"
|
||||
|
||||
msgid "original"
|
||||
msgstr "Original"
|
||||
|
||||
msgid "estimated reading time:"
|
||||
msgstr "Estimated reading time:"
|
||||
|
||||
msgid "mark all the entries as read"
|
||||
msgstr "Mark all the entries as read"
|
||||
|
||||
msgid "results"
|
||||
msgstr "Results"
|
||||
|
||||
msgid "installation"
|
||||
msgstr "Installation"
|
||||
|
||||
msgid "install your wallabag"
|
||||
msgstr "Install your wallabag"
|
||||
|
||||
msgid ""
|
||||
"wallabag is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation "
|
||||
"on wallabag website</a>."
|
||||
msgstr ""
|
||||
"wallabag is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://doc.wallabag.org/'>read the documentation "
|
||||
"on wallabag website</a>."
|
||||
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
||||
msgid "Repeat your password"
|
||||
msgstr "Repeat your password"
|
||||
|
||||
msgid "Install"
|
||||
msgstr "Install"
|
||||
|
||||
msgid "login to your wallabag"
|
||||
msgstr "Login to your wallabag"
|
||||
|
||||
msgid "Login to wallabag"
|
||||
msgstr "Login to wallabag"
|
||||
|
||||
msgid "you are in demo mode, some features may be disabled."
|
||||
msgstr "You are in demo mode; some features may be disabled."
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Username"
|
||||
|
||||
msgid "Stay signed in"
|
||||
msgstr "Stay signed in"
|
||||
|
||||
msgid "(Do not check on public computers)"
|
||||
msgstr "(Do not check on public computers)"
|
||||
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
msgid "favorites"
|
||||
msgstr "Favorites"
|
||||
|
||||
msgid "estimated reading time :"
|
||||
msgstr "Estimated reading time:"
|
||||
|
||||
msgid "Mark all the entries as read"
|
||||
msgstr "Mark all the entries as read"
|
||||
|
||||
msgid "Return home"
|
||||
msgstr "Return home"
|
||||
|
||||
msgid "Back to top"
|
||||
msgstr "Back to top"
|
||||
|
||||
msgid "Mark as read"
|
||||
msgstr "Mark as read"
|
||||
|
||||
msgid "Favorite"
|
||||
msgstr "Favorite"
|
||||
|
||||
msgid "Toggle favorite"
|
||||
msgstr "Toggle favorite"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Delete"
|
||||
|
||||
msgid "Tweet"
|
||||
msgstr "Tweet"
|
||||
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
msgid "shaarli"
|
||||
msgstr "shaarli"
|
||||
|
||||
msgid "flattr"
|
||||
msgstr "flattr"
|
||||
|
||||
msgid "Does this article appear wrong?"
|
||||
msgstr "Does this article appear wrong?"
|
||||
|
||||
msgid "tags:"
|
||||
msgstr "tags:"
|
||||
|
||||
msgid "Edit tags"
|
||||
msgstr "Edit Tags"
|
||||
|
||||
msgid "save link!"
|
||||
msgstr "Save Link"
|
||||
|
||||
msgid "home"
|
||||
msgstr "Home"
|
||||
|
||||
msgid "tags"
|
||||
msgstr "Tags"
|
||||
|
||||
msgid "logout"
|
||||
msgstr "Logout"
|
||||
|
||||
msgid "powered by"
|
||||
msgstr "Powered by"
|
||||
|
||||
msgid "debug mode is on so cache is off."
|
||||
msgstr "Debug mode is on, so cache is off."
|
||||
|
||||
msgid "your wallabag version:"
|
||||
msgstr "Your wallabag version:"
|
||||
|
||||
msgid "storage:"
|
||||
msgstr "Storage:"
|
||||
|
||||
msgid "save a link"
|
||||
msgstr "Save a Link"
|
||||
|
||||
msgid "back to home"
|
||||
msgstr "Back to Home"
|
||||
|
||||
msgid "toggle mark as read"
|
||||
msgstr "Toggle mark as read"
|
||||
|
||||
msgid "tweet"
|
||||
msgstr "Tweet"
|
||||
|
||||
msgid "email"
|
||||
msgstr "Email"
|
||||
|
||||
msgid "this article appears wrong?"
|
||||
msgstr "This article appears wrong?"
|
||||
|
||||
msgid "No link available here!"
|
||||
msgstr "No link available here"
|
||||
|
||||
msgid "Poching a link"
|
||||
msgstr "bagging a link"
|
||||
|
||||
msgid "by filling this field"
|
||||
msgstr "by filling this field"
|
||||
|
||||
msgid "bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "Bookmarklet: Drag & drop this link to your bookmarks bar"
|
||||
|
||||
msgid "Drag & drop this link to your bookmarks bar:"
|
||||
msgstr "Drag & drop this link to your bookmarks bar:"
|
||||
|
||||
msgid "your version"
|
||||
msgstr "your version"
|
||||
|
||||
msgid "latest stable version"
|
||||
msgstr "latest stable version"
|
||||
|
||||
msgid "a more recent stable version is available."
|
||||
msgstr "A more recent stable version is available."
|
||||
|
||||
msgid "you are up to date."
|
||||
msgstr "You are up to date."
|
||||
|
||||
msgid "latest dev version"
|
||||
msgstr "latest dev version"
|
||||
|
||||
msgid "a more recent development version is available."
|
||||
msgstr "A more recent development version is available."
|
||||
|
||||
msgid "Please execute the import script locally, it can take a very long time."
|
||||
msgstr ""
|
||||
"Please execute the import script locally, it can take a very long time."
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgstr "More information in the official doc:"
|
||||
|
||||
msgid "import from Pocket"
|
||||
msgstr "Import from Pocket"
|
||||
|
||||
msgid "import from Readability"
|
||||
msgstr "Import from Readability"
|
||||
|
||||
msgid "import from Instapaper"
|
||||
msgstr "Import from Instapaper"
|
||||
|
||||
msgid "Tags"
|
||||
msgstr "Tags"
|
||||
|
||||
msgid "Untitled"
|
||||
msgstr "Untitled"
|
||||
|
||||
msgid "the link has been added successfully"
|
||||
msgstr "The link has been added successfully."
|
||||
|
||||
msgid "error during insertion : the link wasn't added"
|
||||
msgstr "Error during insertion: the link wasn't added."
|
||||
|
||||
msgid "the link has been deleted successfully"
|
||||
msgstr "The link has been deleted successfully."
|
||||
|
||||
msgid "the link wasn't deleted"
|
||||
msgstr "The link wasn't deleted."
|
||||
|
||||
msgid "Article not found!"
|
||||
msgstr "Article not found."
|
||||
|
||||
msgid "previous"
|
||||
msgstr "Previous"
|
||||
|
||||
msgid "next"
|
||||
msgstr "Next"
|
||||
|
||||
msgid "in demo mode, you can't update your password"
|
||||
msgstr "In demo mode, you can't update your password."
|
||||
|
||||
msgid "your password has been updated"
|
||||
msgstr "Your password has been updated."
|
||||
|
||||
msgid ""
|
||||
"the two fields have to be filled & the password must be the same in the two "
|
||||
"fields"
|
||||
msgstr ""
|
||||
"The two fields must be filled, and the password must be the same in both "
|
||||
"fields"
|
||||
|
||||
msgid "still using the \""
|
||||
msgstr "Still using the \""
|
||||
|
||||
msgid "that theme does not seem to be installed"
|
||||
msgstr "That theme does not seem to be installed."
|
||||
|
||||
msgid "you have changed your theme preferences"
|
||||
msgstr "You have changed your theme preferences."
|
||||
|
||||
msgid "that language does not seem to be installed"
|
||||
msgstr "That language does not seem to be installed."
|
||||
|
||||
msgid "you have changed your language preferences"
|
||||
msgstr "You have changed your language preferences."
|
||||
|
||||
msgid "login failed: you have to fill all fields"
|
||||
msgstr "Login failed: you have to fill all fields."
|
||||
|
||||
msgid "welcome to your wallabag"
|
||||
msgstr "Welcome to your wallabag."
|
||||
|
||||
msgid "login failed: bad login or password"
|
||||
msgstr "Login failed: bad login or password."
|
||||
|
||||
msgid "import from instapaper completed"
|
||||
msgstr "Import from Instapaper completed."
|
||||
|
||||
msgid "import from pocket completed"
|
||||
msgstr "Import from Pocket completed."
|
||||
|
||||
msgid "import from Readability completed. "
|
||||
msgstr "Import from Readability completed."
|
||||
|
||||
msgid "import from Poche completed. "
|
||||
msgstr "Import from Poche completed. "
|
||||
|
||||
msgid "Unknown import provider."
|
||||
msgstr "Unknown import provider."
|
||||
|
||||
msgid "Incomplete inc/poche/define.inc.php file, please define \""
|
||||
msgstr "Incomplete inc/poche/define.inc.php file, please define \""
|
||||
|
||||
msgid "Could not find required \""
|
||||
msgstr "Could not find required \""
|
||||
|
||||
msgid "Uh, there is a problem while generating feeds."
|
||||
msgstr "There is a problem generating feeds."
|
||||
|
||||
msgid "Cache deleted."
|
||||
msgstr "Cache deleted."
|
||||
|
||||
msgid "Oops, it seems you don't have PHP 5."
|
||||
msgstr "Oops, it seems you don't have PHP 5."
|
||||
|
||||
msgid "Add user"
|
||||
msgstr "Add User"
|
||||
|
||||
msgid "Add a new user :"
|
||||
msgstr "Add a new user:"
|
||||
|
||||
msgid "Login for new user"
|
||||
msgstr "Login for new user:"
|
||||
|
||||
msgid "Password for new user"
|
||||
msgstr "Password for new user:"
|
||||
|
||||
msgid "Email for new user (not required)"
|
||||
msgstr "Email for new user (not required):"
|
||||
|
||||
msgid "Send"
|
||||
msgstr "Send"
|
||||
|
||||
msgid "Delete account"
|
||||
msgstr "Delete Account"
|
||||
|
||||
msgid "You can delete your account by entering your password and validating."
|
||||
msgstr "You can delete your account by entering your password and validating."
|
||||
|
||||
msgid "Be careful, data will be erased forever (that is a very long time)."
|
||||
msgstr "Be careful, data will be erased forever (that is a very long time)."
|
||||
|
||||
msgid "Type here your password"
|
||||
msgstr "Enter your password"
|
||||
|
||||
msgid "You are the only user, you cannot delete your own account."
|
||||
msgstr "You cannot delete your account because you are the only user."
|
||||
|
||||
msgid ""
|
||||
"To completely remove wallabag, delete the wallabag folder on your web server "
|
||||
"(and eventual databases)."
|
||||
msgstr ""
|
||||
"To completely remove wallabag, delete the wallabag folder and database(s) from your web server."
|
||||
|
||||
msgid "Enter your search here"
|
||||
msgstr "Enter your search here"
|
||||
|
||||
msgid "Tag these results as"
|
||||
msgstr "Tag these results as"
|
||||
|
||||
# ebook
|
||||
msgid "Fancy an E-Book ?"
|
||||
msgstr "Fancy an E-Book?"
|
||||
|
||||
msgid ""
|
||||
"Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this "
|
||||
"link</a> to get all your articles in one ebook (ePub 3 format)."
|
||||
msgstr ""
|
||||
"Click on <a href=\"./?epub&method=all\" title=\"Generate EPUB\">this "
|
||||
"link</a> to get all your articles in one ebook (EPUB 3 format)."
|
||||
|
||||
msgid ""
|
||||
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
|
||||
"articles, depending on your server configuration."
|
||||
msgstr ""
|
||||
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
|
||||
"articles, depending on your server configuration."
|
||||
|
||||
msgid "Download the articles from this tag in an epub"
|
||||
msgstr "Download the articles from this tag in an EPUB"
|
||||
|
||||
msgid "Download the articles from this search in an epub"
|
||||
msgstr "Download the articles from this search in an EPUB"
|
||||
|
||||
msgid "Download the articles from this category in an epub"
|
||||
msgstr "Download the articles from this category in an EPUB"
|
||||
|
||||
#~ msgid "poche it!"
|
||||
#~ msgstr "poche it!"
|
||||
|
||||
#~ msgid "Updating poche"
|
||||
#~ msgstr "Updating poche"
|
||||
|
||||
#~ msgid "create an issue"
|
||||
#~ msgstr "create an issue"
|
||||
|
||||
#~ msgid "or"
|
||||
#~ msgstr "or"
|
||||
|
||||
#~ msgid "contact us by mail"
|
||||
#~ msgstr "contact us by mail"
|
||||
|
||||
#~ msgid "your poche version:"
|
||||
#~ msgstr "your poche version:"
|
Binary file not shown.
|
@ -4,7 +4,7 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-05-10 20:09+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: tcit <tcit@tcit.fr>\n"
|
||||
"Last-Translator: tcit <tcit@openmailbox.org>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr_FR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -12,7 +12,7 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
msgid "wallabag, a read it later open source system"
|
||||
|
@ -372,6 +372,24 @@ msgstr "Cet article s'affiche mal ?"
|
|||
msgid "tags:"
|
||||
msgstr "tags :"
|
||||
|
||||
msgid "Add tags:"
|
||||
msgstr "Ajouter des tags :"
|
||||
|
||||
msgid "no tags"
|
||||
msgstr "pas de tags"
|
||||
|
||||
msgid "The tag has been applied successfully"
|
||||
msgstr "Le tag a été appliqué avec succès"
|
||||
|
||||
msgid "interview"
|
||||
msgstr "interview"
|
||||
|
||||
msgid "editorial"
|
||||
msgstr "éditorial"
|
||||
|
||||
msgid "video"
|
||||
msgstr "vidéo"
|
||||
|
||||
msgid "Edit tags"
|
||||
msgstr "Modifier les tags"
|
||||
|
||||
|
@ -655,3 +673,33 @@ msgstr "Cache effacé."
|
|||
|
||||
msgid "Oops, it seems you don't have PHP 5."
|
||||
msgstr "Oups, vous ne semblez pas avoir PHP 5."
|
||||
|
||||
msgid "Tag these results as"
|
||||
msgstr "Appliquer à ces résultats le tag"
|
||||
|
||||
# ebook
|
||||
msgid "Fancy an E-Book ?"
|
||||
msgstr "Envie d'un E-Book ?"
|
||||
|
||||
msgid ""
|
||||
"Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this "
|
||||
"link</a> to get all your articles in one ebook (ePub 3 format)."
|
||||
msgstr ""
|
||||
"Cliquez sur <a href=\"./?epub&method=all\" title=\"Générer ePub\">ce "
|
||||
"lien</a> pour obtenir tous vos articles (format ePub 3)."
|
||||
|
||||
msgid ""
|
||||
"This can <b>take a while</b> and can <b>even fail</b> if you have too many "
|
||||
"articles, depending on your server configuration."
|
||||
msgstr ""
|
||||
"Ceci peut <b>prendre un moment</b> et même <b>échouer</b> si vous avez trop "
|
||||
"d'articles, selon la configuration de votre serveur."
|
||||
|
||||
msgid "Download the articles from this tag in an epub"
|
||||
msgstr "Télécharger les articles de ce tag dans un epub"
|
||||
|
||||
msgid "Download the articles from this search in an epub"
|
||||
msgstr "Télécharger les articles de cette recherche dans un epub"
|
||||
|
||||
msgid "Download the articles from this category in an epub"
|
||||
msgstr "Télécharger les articles de cette catégorie dans un epub"
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
{% include '_search-form.twig' %}
|
||||
</li>
|
||||
<li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li>
|
||||
<li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li>
|
||||
<li><a class="icon icon-power" href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li>
|
||||
</ul>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div id="bagit-form" class="messages info">
|
||||
<div id="bagit-form" class="messages info popup-form">
|
||||
<form method="get" action="index.php" target="_blank" id="bagit-form-form">
|
||||
<h2><a href="javascript: void(null);" id="bagit-form-close">X</a>
|
||||
{% trans "Save a link" %}</h2>
|
||||
<h2>{% trans "Save a link" %}</h2>
|
||||
<a href="javascript: void(null);" id="bagit-form-close" class="close-button--popup close-button">×</a>
|
||||
<input type="hidden" name="autoclose" value="1" />
|
||||
<input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" />
|
||||
<span id="add-link-result"></span>
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
<div id="search-form" class="messages info">
|
||||
<div id="search-form" class="messages info popup-form">
|
||||
<form method="get" action="index.php">
|
||||
<h2>{%trans "Search" %}</h2>
|
||||
<a href="javascript: void(null);" id="search-form-close" class="close-button--popup close-button">×</a>
|
||||
<input type="hidden" name="view" value="search"></input>
|
||||
<label><a href="javascript: void(null);" id="search-form-close">X</a>{% trans "Search" %}</label> : <input required placeholder="{% trans "Enter your search here" %}" type="text" name="search" id="searchfield" />
|
||||
<input id="submit-search" type="submit" value="{% trans "Search" %} !"></input>
|
||||
<input required placeholder="{% trans "Enter your search here" %}" type="text" name="search" id="searchfield"><br>
|
||||
<input id="submit-search" type="submit" value="{% trans "Search" %}"></input>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
74
themes/baggy/about.twig
Executable file
74
themes/baggy/about.twig
Executable file
|
@ -0,0 +1,74 @@
|
|||
{% extends "layout.twig" %}
|
||||
|
||||
{% block title %}{% trans "About" %}{% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>{% trans "About wallabag" %}</h2>
|
||||
|
||||
<dl>
|
||||
<dt>{% trans "Project website" %}</dt>
|
||||
<dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd>
|
||||
|
||||
<dt>{% trans "Main developer" %}</dt>
|
||||
<dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd>
|
||||
|
||||
<dt>{% trans "Contributors:" %}</dt>
|
||||
<dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd>
|
||||
|
||||
<dt>{% trans "Bug reports" %}</dt>
|
||||
<dd><a href="http://support.wallabag.org">{% trans "On our support website" %}</a> {% trans "or" %} <a href="https://github.com/wallabag/wallabag/issues">{% trans "on Github" %}</a></dd>
|
||||
|
||||
<dt>{% trans "License" %}</dt>
|
||||
<dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd>
|
||||
|
||||
<dt>{% trans "Version" %}</dt>
|
||||
<dd>{{ constant('POCHE') }}</dd>
|
||||
</dl>
|
||||
|
||||
<p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
|
||||
|
||||
<h2>{% trans "Helping wallabag" %}</h2>
|
||||
|
||||
<p>{% trans "wallabag is free and opensource. You can help us:" %}</p>
|
||||
|
||||
<dl>
|
||||
<dt><a href="http://www.wallabag.org">{% trans "via Paypal" %}</a></dt>
|
||||
|
||||
<dt><a href="http://www.wallabag.org">{% trans "via Flattr" %}</a></dt>
|
||||
</dl>
|
||||
|
||||
<h2>{% trans "Credits" %}</h2>
|
||||
<dl>
|
||||
<dt>PHP Readability</dt>
|
||||
<dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd>
|
||||
|
||||
<dt>Full Text RSS</dt>
|
||||
<dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd>
|
||||
|
||||
<dt>logo by Maylis Agniel</dt>
|
||||
<dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd>
|
||||
|
||||
<dt>icons</dt>
|
||||
<dd><a href="http://icomoon.io">http://icomoon.io</a></dd>
|
||||
|
||||
<dt>PHP Simple HTML DOM Parser</dt>
|
||||
<dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd>
|
||||
|
||||
<dt>Session</dt>
|
||||
<dd><a href="https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php">https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php</a></dd>
|
||||
|
||||
<dt>Twig</dt>
|
||||
<dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd>
|
||||
|
||||
<dt>Flash messages</dt>
|
||||
<dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd>
|
||||
|
||||
<dt>Pagination</dt>
|
||||
<dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd>
|
||||
|
||||
<dt>PHPePub</dt>
|
||||
<dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd>
|
||||
</dl>
|
||||
{% endblock %}
|
|
@ -6,30 +6,29 @@
|
|||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>{% trans "Saving articles" %}</h2>
|
||||
<p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p>
|
||||
<p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p>
|
||||
<p>
|
||||
<form method="get" action="index.php">
|
||||
<label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br>
|
||||
<input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
|
||||
<input type="submit" value="{% trans "bag it!" %}" />
|
||||
</form>
|
||||
</p>
|
||||
<h3>Browser Plugins</h3>
|
||||
<ul>
|
||||
<li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li>
|
||||
<li>Chrome: <a href="http://doc.wallabag.org/doku.php?id=users:chrome_extension" title="download the chrome extension">{% trans "download the extension" %}</a></li>
|
||||
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via Google Play" %}</a></li>
|
||||
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li>
|
||||
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" title="download the window phone application">{% trans "download the application" %}</a></li>
|
||||
<li>
|
||||
<form method="get" action="index.php">
|
||||
<label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label>
|
||||
<input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
|
||||
<input type="submit" value="{% trans "bag it!" %}" />
|
||||
</form>
|
||||
</li>
|
||||
<li>{% trans "Bookmarklet: drag & drop this link to your bookmarks bar" %} <a id="bookmarklet" ondragend="this.click();" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a></li>
|
||||
<li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li>
|
||||
<li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>{% trans "Upgrading wallabag" %}</h2>
|
||||
<h3>Mobile Apps</h3>
|
||||
<ul>
|
||||
<li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li>
|
||||
<li>{% trans "Latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
|
||||
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
|
||||
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
|
||||
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
|
||||
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
|
||||
</ul>
|
||||
<p>{% trans "You can clear cache to check the latest release." %}</p>
|
||||
<h3>{% trans "Bookmarklet" %}</h3>
|
||||
<p>
|
||||
{% trans "Drag & drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
|
||||
</p>
|
||||
|
||||
<h2>{% trans "Feeds" %}</h2>
|
||||
{% if token == '' %}
|
||||
|
@ -40,9 +39,11 @@
|
|||
<li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li>
|
||||
<li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li>
|
||||
</ul>
|
||||
<p>{% trans "Your token:" %} <strong>{{token}}</strong></p>
|
||||
<p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p>
|
||||
<p>{% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %}</p>
|
||||
<p class="more-info">
|
||||
{% trans "Your token:" %} <strong>{{token}}</strong><br>
|
||||
{% trans "Your user id:" %} <strong>{{user_id}}</strong><br>
|
||||
{% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<h2>{% trans "Change your theme" %}</h2>
|
||||
|
@ -83,6 +84,35 @@
|
|||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
|
||||
<h2><a name="import"></a>{% trans "Import" %}</h2>
|
||||
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
|
||||
<p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p>
|
||||
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="file">{% trans "File:" %}</label>
|
||||
<input class="col" type="file" id="file" name="file" tabindex="4" required="required">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
|
||||
<p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
|
||||
|
||||
<h2>{% trans "Export your wallabag data" %}</h2>
|
||||
<p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br>
|
||||
<span class="more-info">Data will be exported in a single JSON file.</span></p>
|
||||
|
||||
<h2>{% trans "Fancy an E-Book ?" %}</h2>
|
||||
<p><a href="./?epub&method=all" title="Generate ePub">Download E-Book</a><br>
|
||||
<span class="more-info">{% trans "Articles will be exported as a single E-book file (EPUB 3 format)." %} {% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
|
||||
|
||||
<h2><a name="cache"></a>{% trans "Cache" %}</h2>
|
||||
<p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br>
|
||||
<span class="more-info">Deleting the cache may help with display or other problems.</span></p>
|
||||
|
||||
{% if http_auth == 0 %}
|
||||
<h2>{% trans "Change your password" %}</h2>
|
||||
<form method="post" action="?config" name="loginform">
|
||||
|
@ -104,34 +134,7 @@
|
|||
</form>
|
||||
{% endif %}
|
||||
|
||||
<h2>{% trans "Import" %}</h2>
|
||||
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
|
||||
<p>{% trans "Please select export file on your computer and press \"Import\" button below.<br>Wallabag will parse your file, insert all URLs and start fetching of articles if required.<br>Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
|
||||
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="file">{% trans "File:" %}</label>
|
||||
<input class="col" type="file" id="file" name="file" tabindex="4" required="required">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
|
||||
|
||||
<h2>{% trans "Export your wallabag data" %}</h2>
|
||||
<p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p>
|
||||
|
||||
<h2>{% trans "Fancy an E-Book ?" %}</h2>
|
||||
<p>{% trans "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this link</a> to get all your articles in one ebook (ePub 3 format)." %}
|
||||
<br>{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</p>
|
||||
|
||||
<h2>{% trans "Cache" %}</h2>
|
||||
<p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p>
|
||||
|
||||
<h2>{% trans 'Add user' %}</h2>
|
||||
<p>{% trans 'Add a new user :' %}</p>
|
||||
<form method="post" action="?newuser">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
|
@ -147,7 +150,7 @@
|
|||
<input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button type="submit">{% trans "Send" %}</button>
|
||||
<button type="submit">{% trans "Add user" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
@ -161,9 +164,18 @@
|
|||
<input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button type="submit">{% trans "Send" %}</button>
|
||||
<button type="submit">{% trans "Delete account" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br />
|
||||
{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
|
||||
{% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p>
|
||||
<p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
|
||||
|
||||
<h2>{% trans "Upgrading wallabag" %}</h2>
|
||||
<ul>
|
||||
<li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li>
|
||||
<li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
|
||||
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
|
||||
</ul>
|
||||
<p class="more-info">{% trans "You can clear cache to check the latest release." %}</p>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -70,7 +70,7 @@ h2, h3, h4 {
|
|||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
p, li {
|
||||
p, li, label {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
|
@ -104,10 +104,6 @@ form input[type="text"], select, form input[type="password"], form input[type="u
|
|||
}
|
||||
}
|
||||
|
||||
fieldset label {
|
||||
min-width: 12.5em;
|
||||
}
|
||||
|
||||
.inline .row {
|
||||
display: inline-block;
|
||||
margin-right: 0.5em;
|
||||
|
@ -119,10 +115,14 @@ fieldset label {
|
|||
|
||||
fieldset label {
|
||||
display: inline-block;
|
||||
margin-right: 0.5em;
|
||||
min-width: 12.5em;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
form .row {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ h2:after {
|
|||
padding-top: 9.5em;
|
||||
height: 100%;
|
||||
box-shadow:inset -4px 0 20px rgba(0,0,0,0.6);
|
||||
z-index: 10;
|
||||
z-index: 15;
|
||||
}
|
||||
|
||||
#main {
|
||||
|
@ -191,7 +191,7 @@ h2:after {
|
|||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
#links a {
|
||||
#links > li > a {
|
||||
display: block;
|
||||
padding: 0.5em 2em 0.5em 1em;
|
||||
color: #FFF;
|
||||
|
@ -207,7 +207,7 @@ h2:after {
|
|||
transition: all 0.5s ease;
|
||||
}
|
||||
|
||||
#links a:hover, #links a:focus {
|
||||
#links > li > a:hover, #links > li > a:focus {
|
||||
background: #999;
|
||||
color: #000;
|
||||
}
|
||||
|
@ -281,12 +281,12 @@ h2:after {
|
|||
#listmode a:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.tablemode {
|
||||
#listmode.tablemode {
|
||||
background-image: url("../img/baggy/table.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: bottom;
|
||||
}
|
||||
.listmode {
|
||||
#listmode.listmode {
|
||||
background-image: url("../img/baggy/list.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: bottom;
|
||||
|
@ -327,15 +327,11 @@ footer a {
|
|||
margin-left: 0!important;
|
||||
}
|
||||
|
||||
.listmode .entrie p {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.list-entries + .results {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
.estimatedTime a {
|
||||
.estimatedTime .reading-time {
|
||||
color: #999;
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
|
@ -359,11 +355,15 @@ footer a {
|
|||
position: relative;
|
||||
overflow: hidden;
|
||||
padding: 1.5em 1.5em 3em 1.5em;
|
||||
-webkit-transition: all 0.5s ease;
|
||||
-moz-transition: all 0.5s ease;
|
||||
-ms-transition: all 0.5s ease;
|
||||
-o-transition: all 0.5s ease;
|
||||
transition: all 0.5s ease;
|
||||
|
||||
/* Removing CSS transitions because they make the switch from list view to
|
||||
* table view jerky
|
||||
*/
|
||||
/* -webkit-transition: all 0.5s ease; */
|
||||
/* -moz-transition: all 0.5s ease; */
|
||||
/* -ms-transition: all 0.5s ease; */
|
||||
/* -o-transition: all 0.5s ease; */
|
||||
/* transition: all 0.5s ease; */
|
||||
}
|
||||
|
||||
.entrie:before {
|
||||
|
@ -418,6 +418,7 @@ footer a {
|
|||
.entrie h2 {
|
||||
text-transform: none;
|
||||
margin-bottom: 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.entrie h2:after {
|
||||
|
@ -540,7 +541,7 @@ footer a {
|
|||
2.1 = "save a link" related styles
|
||||
========================================================================== */
|
||||
|
||||
#bagit-form, #search-form {
|
||||
.popup-form {
|
||||
background: rgba(0,0,0,0.5);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
@ -549,37 +550,53 @@ footer a {
|
|||
height: 100%;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
margin-top: -30%;
|
||||
margin-top: -30% !important; /* TODO: get rid of !important here; overridden by .messages selector */
|
||||
padding: 2em;
|
||||
display: none;
|
||||
border-left: 1px #EEE solid;
|
||||
}
|
||||
|
||||
#bagit-form form, #search-form form {
|
||||
background: #FFF;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 20;
|
||||
border: 10px solid #000;
|
||||
width: 400px;
|
||||
height: 200px;
|
||||
/* margin: -150px 0 0 -300px; */
|
||||
padding: 2em;
|
||||
.popup-form form {
|
||||
background: #FFF;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 20;
|
||||
border: 10px solid #000;
|
||||
width: 400px;
|
||||
height: 200px;
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
#bagit-form-form .addurl {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
a#bagit-form-close, a#search-form-close {
|
||||
.closeMessage,
|
||||
.close-button {
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
padding: 0.2em 0.5em;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.6;
|
||||
width: 1.6em;
|
||||
height: 1.6em;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
float: right;
|
||||
font-size: 0.6em;
|
||||
}
|
||||
a#bagit-form-close:hover, a#search-form-close:hover {
|
||||
background: #999;
|
||||
color: #000;
|
||||
.closeMessage:hover,
|
||||
.closeMessage:focus,
|
||||
.close-button:hover,
|
||||
.close-button:focus {
|
||||
background: #999;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.close-button--popup {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
.active-current {
|
||||
|
@ -633,56 +650,6 @@ a.add-to-wallabag-link-after:after {
|
|||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
2.2 = "search for articles" popup div related styles
|
||||
========================================================================== */
|
||||
#search-form {
|
||||
background: rgba(0,0,0,0.5);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 10em;
|
||||
z-index: 20;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
margin-top: -30%;
|
||||
padding: 2em;
|
||||
display: none;
|
||||
border-left: 1px #EEE solid;
|
||||
}
|
||||
|
||||
#search-form form {
|
||||
background: #FFF;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 20;
|
||||
border: 10px solid #000;
|
||||
width: 400px;
|
||||
height: 200px;
|
||||
/* margin: -150px 0 0 -300px; */
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
a#search-form-close {
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
padding: 0.2em 0.5em;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
float: right;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
a#search-form-close:hover {
|
||||
background: #999;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#submit-search{
|
||||
margin-left: 4em;
|
||||
margin-top:1em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
3 = Pictos
|
||||
========================================================================== */
|
||||
|
@ -777,6 +744,10 @@ margin-top:1em;
|
|||
color: #FFF;
|
||||
}
|
||||
|
||||
.icon-check.archive:before {
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
4 = Messages
|
||||
========================================================================== */
|
||||
|
@ -788,18 +759,6 @@ margin-top:1em;
|
|||
|
||||
.messages > * { display: inline-block;}
|
||||
|
||||
.closeMessage {
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
padding: 0.2em 0.5em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.closeMessage:hover, .closeMessage:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.warning {
|
||||
/* font-size: 3em;
|
||||
color: #999;
|
||||
|
@ -816,6 +775,16 @@ margin-top:1em;
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
.more-info {
|
||||
font-size: 0.85em;
|
||||
line-height: 1.5;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.more-info a {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
5 = Article
|
||||
========================================================================== */
|
||||
|
@ -841,6 +810,10 @@ blockquote {
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
#article h1 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#article h2, #article h3, #article h4 {
|
||||
text-transform: none;
|
||||
}
|
||||
|
@ -1029,6 +1002,9 @@ pre code {
|
|||
height: auto;
|
||||
padding-top: 3em;
|
||||
}
|
||||
#links.menu--open {
|
||||
display: block;
|
||||
}
|
||||
footer {
|
||||
position: static;
|
||||
margin-right: 3em;
|
||||
|
@ -1058,8 +1034,16 @@ pre code {
|
|||
display: none;
|
||||
}
|
||||
|
||||
#bagit-form, #search-form {
|
||||
.popup-form, #bagit-form, #search-form {
|
||||
left: 0;
|
||||
width: 100%;
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
.popup-form form,
|
||||
#bagit-form form,
|
||||
#search-form form {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,14 +13,14 @@
|
|||
<h2>{{ entry.title|raw }}</21>
|
||||
</div>
|
||||
{% if tags is empty %}
|
||||
<div class="notags">no tags</div>
|
||||
<div class="notags">{% trans "no tags" %}</div>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %}
|
||||
</ul>
|
||||
<form method="post" action="./?action=add_tag">
|
||||
<input type="hidden" name="entry_id" value="{{ entry_id }}" />
|
||||
<label for="value">Add tags: </label><input type="text" placeholder="interview, editorial, video" id="value" name="value" required="required" />
|
||||
<label for="value">{% trans "Add tags:" %}</label><input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" />
|
||||
<input type="submit" value="Tag" />
|
||||
<p>{% trans "Start typing for auto complete." %}<br>
|
||||
{% trans "You can enter multiple tags, separated by commas." %}</p>
|
||||
|
|
|
@ -38,12 +38,12 @@
|
|||
{% endblock %}
|
||||
<div id="list-entries" class="list-entries">
|
||||
{% for entry in entries %}
|
||||
<div id="entry-{{ entry.id|e }}" class="entrie"{% if listmode %} style="width:100%; margin-left:0;"{% endif %}>
|
||||
<div id="entry-{{ entry.id|e }}" class="entrie">
|
||||
<h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
|
||||
{% if entry.content| getReadingTime > 0 %}
|
||||
<div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div>
|
||||
<div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div>
|
||||
{% else %}
|
||||
<div class="estimatedTime"><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{% trans "estimated reading time :" %} <small class="inferieur"><</small> 1 min</span></div>
|
||||
<div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} <small class="inferieur"><</small> 1 min</span></div>
|
||||
{% endif %}
|
||||
<ul class="tools links">
|
||||
<li><a title="{% trans "Toggle mark as read" %}" class="tool icon-check icon {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li>
|
||||
|
@ -57,13 +57,14 @@
|
|||
{% endfor %}
|
||||
</div>
|
||||
{{ block('pager') }}
|
||||
{% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "Mark all the entries as read" %}" href="./?action=archive_all">{{ "Mark all the entries as read" }}</a>{% endif %}{% endif %}
|
||||
{% if view == 'home' %}{% if nb_results > 1 %}<p><a title="{% trans "Mark all the entries as read" %}" href="./?action=archive_all">{% trans "Mark all the entries as read" %}</a></p>{% endif %}{% endif %}
|
||||
|
||||
{% if search_term is defined %}<a title="{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}" href="./?action=add_tag&search={{ search_term }}">{% trans %} Apply the tag {{ search_term }} to this search {% endtrans %}</a>{% endif %}
|
||||
{% if searchterm is defined %}<p><a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">
|
||||
{% trans "Tag these results as" %} {{ searchterm }}</p></a>{% endif %}
|
||||
|
||||
{% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a>
|
||||
{% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a>
|
||||
{% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %}
|
||||
{% if tag %}<p><a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</p></a>
|
||||
{% elseif search_term is defined %}<p><a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</p></a>
|
||||
{% else %}<p><a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a></p>{% endif %}
|
||||
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -8,7 +8,10 @@ $.fn.ready(function() {
|
|||
========================================================================== */
|
||||
|
||||
$("#menu").click(function(){
|
||||
$("#links").toggle();
|
||||
$("#links").toggleClass('menu--open');
|
||||
if ($('#content').hasClass('opacity03')) {
|
||||
$('#content').removeClass('opacity03');
|
||||
}
|
||||
});
|
||||
|
||||
/* ==========================================================================
|
||||
|
|
|
@ -9,17 +9,17 @@
|
|||
{% if constant('MODE_DEMO') == 1 %}<p>{% trans "you are in demo mode, some features may be disabled." %}</p>{% endif %}
|
||||
<div class="row">
|
||||
<label class="col w150p" for="login">{% trans "Username" %}</label>
|
||||
<input class="col" type="text" id="login" name="login" placeholder="Login" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
|
||||
<input class="col" type="text" id="login" name="login" placeholder="{% trans "Username" %}" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label class="col w150p" for="password">{% trans "Password" %}</label>
|
||||
<input class="col" type="password" id="password" name="password" placeholder="Password" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
|
||||
<input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col w150p" for="longlastingsession">{% trans "Stay signed in" %}</label>
|
||||
|
||||
<div class="col">
|
||||
<input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3">
|
||||
<input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3" /> <label for="longlastingsession">{% trans "Stay signed in" %}</label><br />
|
||||
<small class="inbl">{% trans "(Do not check on public computers)" %}</small>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "layout.twig" %}
|
||||
{% block title %}tags{% endblock %}
|
||||
{% block title %}Tags{% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
|
@ -10,4 +10,4 @@
|
|||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -26,13 +26,13 @@
|
|||
{% block pager %}
|
||||
{% if nb_results > 1 %}
|
||||
<div class="results">
|
||||
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div>
|
||||
<div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}</div>
|
||||
{{ page_links | raw }}
|
||||
</div>
|
||||
{% elseif nb_results == 1 %}
|
||||
{% if search_term is defined %}
|
||||
{% if searchterm is defined %}
|
||||
<div class="results">
|
||||
<div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div>
|
||||
<div class="nb-results">{% trans "Only one result found for " %} « {{ searchterm }} »</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
@ -53,10 +53,12 @@
|
|||
|
||||
{{ block('pager') }}
|
||||
|
||||
{% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a>
|
||||
{% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a>
|
||||
{% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">{% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}
|
||||
|
||||
{% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a>
|
||||
{% elseif searchterm is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ searchterm }}">{% trans "Download the articles from this search in an epub" %}</a>
|
||||
{% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<li><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a><span id="bagit-arrow"></span></li>
|
||||
<li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li>
|
||||
<li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li>
|
||||
<li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li>
|
||||
<li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li>
|
||||
</ul>
|
||||
{% include '_pocheit-form.twig' %}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% if entries|length > 1 %}
|
||||
<ul id="sort">
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
|
74
themes/default/about.twig
Executable file
74
themes/default/about.twig
Executable file
|
@ -0,0 +1,74 @@
|
|||
{% extends "layout.twig" %}
|
||||
|
||||
{% block title %}{% trans "About wallabag" %}{% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>{% trans "About wallabag" %}</h2>
|
||||
|
||||
<dl>
|
||||
<dt>{% trans "Project website" %}</dt>
|
||||
<dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd>
|
||||
|
||||
<dt>{% trans "Main developer" %}</dt>
|
||||
<dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd>
|
||||
|
||||
<dt>{% trans "Contributors:" %}</dt>
|
||||
<dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd>
|
||||
|
||||
<dt>{% trans "Bug reports" %}</dt>
|
||||
<dd><a href="http://support.wallabag.org">{% trans "On our support website" %}</a> {% trans "or" %} <a href="https://github.com/wallabag/wallabag/issues">{% trans "on Github" %}</a></dd>
|
||||
|
||||
<dt>{% trans "License" %}</dt>
|
||||
<dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd>
|
||||
|
||||
<dt>{% trans "Version" %}</dt>
|
||||
<dd>{{ constant('POCHE') }}</dd>
|
||||
</dl>
|
||||
|
||||
<p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
|
||||
|
||||
<h2>{% trans "Helping wallabag" %}</h2>
|
||||
|
||||
<p>{% trans "wallabag is free and opensource. You can help us:" %}</p>
|
||||
|
||||
<dl>
|
||||
<dt><a href="http://www.wallabag.org">{% trans "via Paypal" %}</a></dt>
|
||||
|
||||
<dt><a href="http://www.wallabag.org">{% trans "via Flattr" %}</a></dt>
|
||||
</dl>
|
||||
|
||||
<h2>{% trans "Credits" %}</h2>
|
||||
<dl>
|
||||
<dt>PHP Readability</dt>
|
||||
<dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd>
|
||||
|
||||
<dt>Full Text RSS</dt>
|
||||
<dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd>
|
||||
|
||||
<dt>logo by Maylis Agniel</dt>
|
||||
<dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd>
|
||||
|
||||
<dt>icons</dt>
|
||||
<dd><a href="http://icomoon.io">http://icomoon.io</a></dd>
|
||||
|
||||
<dt>PHP Simple HTML DOM Parser</dt>
|
||||
<dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd>
|
||||
|
||||
<dt>Session</dt>
|
||||
<dd><a href="https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php">https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php</a></dd>
|
||||
|
||||
<dt>Twig</dt>
|
||||
<dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd>
|
||||
|
||||
<dt>Flash messages</dt>
|
||||
<dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd>
|
||||
|
||||
<dt>Pagination</dt>
|
||||
<dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd>
|
||||
|
||||
<dt>PHPePub</dt>
|
||||
<dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd>
|
||||
</dl>
|
||||
{% endblock %}
|
|
@ -6,29 +6,29 @@
|
|||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>{% trans "Saving articles" %}</h2>
|
||||
<p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p>
|
||||
<p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p>
|
||||
<p>
|
||||
<form method="get" action="index.php">
|
||||
<label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br>
|
||||
<input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
|
||||
<input type="submit" value="{% trans "bag it!" %}" />
|
||||
</form>
|
||||
</p>
|
||||
<h3>Browser Plugins</h3>
|
||||
<ul>
|
||||
<li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li>
|
||||
<li>Chrome: <a href="http://doc.wallabag.org/doku.php?id=users:chrome_extension" title="download the chrome extension">{% trans "download the extension" %}</a></li>
|
||||
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via Google Play" %}</a></li>
|
||||
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li>
|
||||
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" title="download the window phone application">{% trans "download the application" %}</a></li>
|
||||
<li>
|
||||
<form method="get" action="index.php">
|
||||
<label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label>
|
||||
<input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
|
||||
<input type="submit" value="{% trans "bag it!" %}" />
|
||||
</form>
|
||||
</li>
|
||||
<li>{% trans "Bookmarklet: drag & drop this link to your bookmarks bar" %} <a id="bookmarklet" ondragend="this.click();" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a></li>
|
||||
<li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li>
|
||||
<li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>{% trans "Upgrading wallabag" %}</h2>
|
||||
<h3>Mobile Apps</h3>
|
||||
<ul>
|
||||
<li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li>
|
||||
<li>{% trans "Latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %}</li>
|
||||
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %}</li>{% endif %}
|
||||
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
|
||||
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
|
||||
<li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
|
||||
</ul>
|
||||
<h3>{% trans "Bookmarklet" %}</h3>
|
||||
<p>
|
||||
{% trans "Drag & drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
|
||||
</p>
|
||||
|
||||
<h2>{% trans "Feeds" %}</h2>
|
||||
{% if token == '' %}
|
||||
|
@ -39,14 +39,16 @@
|
|||
<li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li>
|
||||
<li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li>
|
||||
</ul>
|
||||
<p>{% trans "Your token:" %} <strong>{{token}}</strong></p>
|
||||
<p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p>
|
||||
<p>{% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %}</p>
|
||||
<p class="more-info">
|
||||
{% trans "Your token:" %} <strong>{{token}}</strong><br>
|
||||
{% trans "Your user id:" %} <strong>{{user_id}}</strong><br>
|
||||
{% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<h2>{% trans "Change your theme" %}</h2>
|
||||
<form method="post" action="?updatetheme" name="changethemeform">
|
||||
<fieldset class="w500p">
|
||||
<fieldset class="w500p inline">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="theme">{% trans "Theme:" %}</label>
|
||||
<select class="col" id="theme" name="theme">
|
||||
|
@ -65,7 +67,7 @@
|
|||
|
||||
<h2>{% trans "Change your language" %}</h2>
|
||||
<form method="post" action="?updatelanguage" name="changelanguageform">
|
||||
<fieldset class="w500p">
|
||||
<fieldset class="w500p inline">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="language">{% trans "Language:" %}</label>
|
||||
<select class="col" id="language" name="language">
|
||||
|
@ -82,6 +84,35 @@
|
|||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
|
||||
<h2><a name="import"></a>{% trans "Import" %}</h2>
|
||||
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
|
||||
<p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p>
|
||||
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="file">{% trans "File:" %}</label>
|
||||
<input class="col" type="file" id="file" name="file" tabindex="4" required="required">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
|
||||
<p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
|
||||
|
||||
<h2>{% trans "Export your wallabag data" %}</h2>
|
||||
<p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br>
|
||||
<span class="more-info">Data will be exported in a single JSON file.</span></p>
|
||||
|
||||
<h2>{% trans "Fancy an E-Book ?" %}</h2>
|
||||
<p><a href="./?epub&method=all" title="Generate ePub">Download E-Book</a><br>
|
||||
<span class="more-info">{% trans "Articles will be exported as a single E-book file (EPUB 3 format)." %} {% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
|
||||
|
||||
<h2><a name="cache"></a>{% trans "Cache" %}</h2>
|
||||
<p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br>
|
||||
<span class="more-info">Deleting the cache may help with display or other problems.</span></p>
|
||||
|
||||
{% if http_auth == 0 %}
|
||||
<h2>{% trans "Change your password" %}</h2>
|
||||
<form method="post" action="?config" name="loginform">
|
||||
|
@ -102,55 +133,28 @@
|
|||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
<h2>{% trans "Import" %}</h2>
|
||||
<p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
|
||||
<p>{% trans "Please select export file on your computer and press \"Import\" button below.<br>Wallabag will parse your file, insert all URLs and start fetching of articles if required.<br>Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
|
||||
<form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="file">{% trans "File:" %}</label>
|
||||
<input class="col" type="file" id="file" name="file" tabindex="4" required="required">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
|
||||
|
||||
<h2>{% trans "Export your wallabag data" %}</h2>
|
||||
<p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p>
|
||||
|
||||
<h2>{% trans "Cache" %}</h2>
|
||||
<p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p>
|
||||
|
||||
<h2>{% trans "Fancy an E-Book ?" %}</h2>
|
||||
<p>{% trans "Click on <a href=\"./?epub&method=all\" title=\"Generate ePub\">this link</a> to get all your articles in one ebook (ePub 3 format)." %}
|
||||
<br>{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</p>
|
||||
|
||||
<h2>{% trans 'Add user' %}</h2>
|
||||
<p>{% trans 'Add a new user :' %}</p>
|
||||
<form method="post" action="?newuser">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label>
|
||||
<input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}">
|
||||
<input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label>
|
||||
<input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}">
|
||||
<input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label>
|
||||
<input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button type="submit">{% trans "Send" %}</button>
|
||||
<button type="submit">{% trans "Add user" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
<h2>{% trans "Delete account" %}</h2>
|
||||
{% if not only_user %}<form method="post" action="?deluser">
|
||||
<p>{% trans "You can delete your account by entering your password and validating." %}<br /><b>{% trans "Be careful, data will be erased forever (that is a very long time)." %}</b></p>
|
||||
|
@ -160,9 +164,18 @@
|
|||
<input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button type="submit">{% trans "Send" %}</button>
|
||||
<button type="submit">{% trans "Delete account" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br />
|
||||
{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
|
||||
{% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p>
|
||||
<p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
|
||||
|
||||
<h2>{% trans "Upgrading wallabag" %}</h2>
|
||||
<ul>
|
||||
<li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li>
|
||||
<li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
|
||||
{% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
|
||||
</ul>
|
||||
<p class="more-info">{% trans "You can clear cache to check the latest release." %}</p>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -8,11 +8,6 @@
|
|||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* Search form message needs a little more width, depending on translations */
|
||||
#search-form {
|
||||
width: 420px;
|
||||
}
|
||||
|
||||
.messages a.closeMessage {
|
||||
display: none;
|
||||
float: right;
|
||||
|
|
|
@ -417,6 +417,15 @@ a.add-to-wallabag-link-after:after {
|
|||
padding-left: 10px;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
"Search" popup div related styles
|
||||
========================================================================== */
|
||||
|
||||
/* Search form message needs a little more width, depending on translations */
|
||||
#search-form {
|
||||
width: 420px;
|
||||
}
|
||||
|
||||
.opacity03 {
|
||||
/*opacity: 0.3;*/
|
||||
}
|
||||
|
@ -435,4 +444,4 @@ pre code {
|
|||
font-family: "Courier New", Courier, monospace;
|
||||
border: 1px solid #ddd;
|
||||
font-size: 0.96em;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,15 +16,15 @@
|
|||
</div>
|
||||
|
||||
{% if tags is empty %}
|
||||
no tags
|
||||
{% trans "no tags" %}
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %}
|
||||
</ul>
|
||||
<form method="post" action="./?action=add_tag" id="editTags">
|
||||
<input type="hidden" name="entry_id" value="{{ entry_id }}" />
|
||||
<label for="value">Add tags: </label>
|
||||
<input type="text" placeholder="interview, editorial, video" id="value" name="value" required="required" />
|
||||
<label for="value">{% trans "Add tags:" %}</label>
|
||||
<input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" />
|
||||
<input type="submit" value="Tag" />
|
||||
<p>{% trans "Start typing for auto complete." %}<br>
|
||||
{% trans "You can enter multiple tags, separated by commas." %}</p>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue