Compare commits
76 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5e98c2183a | |||
| 9f3148fec7 | |||
| c9357429fd | |||
| 41265e07d4 | |||
| 2e4440c3f8 | |||
| 3141347214 | |||
| 943ac3c77e | |||
| 83b47311ba | |||
| 16fd1cce61 | |||
| f14807de06 | |||
| ed2853564e | |||
| 26170f4613 | |||
| 68268c0199 | |||
| 5966d2c2d3 | |||
| 26929c08d3 | |||
| 044bf638a8 | |||
| 58f6269f36 | |||
| 3a68883ae9 | |||
| 211ed48361 | |||
| c515ffec9c | |||
| 4e09039d2c | |||
| 1e1e4e4eca | |||
| c8265d95b0 | |||
| 2e384abab6 | |||
| 736a4fb77e | |||
| 38dafee05d | |||
| fa0bfb775a | |||
| 445a1a1c8d | |||
| 1e1fd6f24d | |||
| a678f9df38 | |||
| f85bfdf186 | |||
| cae70cdbdb | |||
| ebae8c8315 | |||
| 6af66b1106 | |||
| f355d2c87f | |||
| f4fbfaa7cb | |||
| 21f50d5a08 | |||
| 1b539ba1ec | |||
| 3e0e7e1208 | |||
| b8fdd2d85f | |||
| c95b78a8ce | |||
| 3ae345b3d7 | |||
| d1d3498b62 | |||
| f878daeb8b | |||
| 9ba98a0abe | |||
| 1cecaa7926 | |||
| 2744d07d71 | |||
| 5ed8050791 | |||
| c3b261e321 | |||
| 9ffce01e0c | |||
| 8905191413 | |||
| b4b22940df | |||
| e1cf0fda27 | |||
| f41d00ed8a | |||
| d866e8be91 | |||
| be4c8197eb | |||
| fcb5fd27e2 | |||
| 9c9b226589 | |||
| a562e3905a | |||
| 607e12b4f2 | |||
| 7f66783976 | |||
| 2abcccb371 | |||
| 9bc32632af | |||
| 52e3f58c72 | |||
| b5c1ed1227 | |||
| 4d058d4824 | |||
| cb4fba5a33 | |||
| 4a84d94e91 | |||
| 0b57c6825a | |||
| 529db4861d | |||
| 9de34d4e84 | |||
| d7ad5d6560 | |||
| aeea7c6af0 | |||
| b1bfd4cb0c | |||
| 2eb111a300 | |||
| 76e487cd7e |
@ -1,11 +1,11 @@
|
||||
# How contributing
|
||||
|
||||
## You found a bug
|
||||
Please [open a new issue](https://github.com/inthepoche/poche/issues/new).
|
||||
Please [open a new issue](https://github.com/wallabag/wallabag/issues/new).
|
||||
|
||||
To fix the bug quickly, we need some infos:
|
||||
* your poche version (in ./inc/poche/myconfig.inc.php)
|
||||
* the link you want to poche and which causes problem
|
||||
* your wallabag version (in ./index.php)
|
||||
* the link you want to save and which causes problem
|
||||
|
||||
## You want to fix a bug or to add a feature
|
||||
Please fork poche and work with **the dev branch** only. Do not work on master branch.
|
||||
Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**.
|
||||
@ -1,8 +1,8 @@
|
||||
poche is based on :
|
||||
wallabag is based on :
|
||||
* PHP Readability https://bitbucket.org/fivefilters/php-readability
|
||||
* Full Text RSS http://code.fivefilters.org/full-text-rss/src
|
||||
* Encoding https://github.com/neitanod/forceutf8
|
||||
* logo by Brightmix http://www.iconfinder.com/icondetails/43256/128/jeans_monotone_pocket_icon
|
||||
* logo by Maylis Agniel https://github.com/wallabag/logo
|
||||
* icons http://icomoon.io
|
||||
* PHP Simple HTML DOM Parser (for Pocket import) http://simplehtmldom.sourceforge.net/
|
||||
* Session https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php
|
||||
@ -10,6 +10,6 @@ poche is based on :
|
||||
* Flash messages https://github.com/plasticbrain/PHP-Flash-Messages
|
||||
* Pagination https://github.com/daveismyname/pagination
|
||||
|
||||
poche is developed by Nicolas Lœuillet under the Do What the Fuck You Want to Public License
|
||||
wallabag is developed by Nicolas Lœuillet under the Do What the Fuck You Want to Public License
|
||||
|
||||
Contributors : https://github.com/inthepoche/poche/graphs/contributors
|
||||
Contributors : https://github.com/wallabag/wallabag/graphs/contributors
|
||||
@ -1,3 +0,0 @@
|
||||
# Installing poche
|
||||
|
||||
Read the full documentation here: http://doc.inthepoche.com/doku.php?id=users:begin:install
|
||||
27
README.md
@ -1,29 +1,10 @@
|
||||
# what is poche ?
|
||||
Abandon Pocket, Instapaper and other Readability service : adopt poche. It is the same, but it is free (like in freedom) and open source.
|
||||
# what is wallabag ?
|
||||
wallabag is a self hostable application allowing you to not miss any content anymore. Click, save, read it when you can. It extracts content so that you can read it when you have time.
|
||||
|
||||
## Some features
|
||||
* adding, deleting, archiving and setting as favorite a link
|
||||
* import from pocket / readability / instapaper
|
||||
* share links by email and on twitter
|
||||
* a design adapted to tablets and smartphones
|
||||
* extensions for Chrome and Firefox
|
||||
* Android application
|
||||
* multi languages: french, english, spanish, german.
|
||||
* multi users (very soon!)
|
||||
* update notification in configuration screen
|
||||
* many storage modes (sqlite, mysql, postgresql)
|
||||
* many templates: [have a look here](https://github.com/inthepoche/poche/tree/master/themes).
|
||||
* ...
|
||||
|
||||
To test poche, a demo website is online : [demo.inthepoche.com](http://demo.inthepoche.com) (login poche, password poche).
|
||||
|
||||
To use poche hosting, [you can create an account here](http://app.inthepoche.com/).
|
||||
|
||||
## Installation
|
||||
Read the [INSTALL.md file](https://github.com/inthepoche/poche/blob/master/INSTALL.md).
|
||||
More informations on our website: [wallabag.org](http://wallabag.org)
|
||||
|
||||
## License
|
||||
Copyright © 2010-2013 Nicolas Lœuillet <nicolas.loeuillet@gmail.com>
|
||||
Copyright © 2010-2013 Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
This work is free. You can redistribute it and/or modify it under the
|
||||
terms of the Do What The Fuck You Want To Public License, Version 2,
|
||||
as published by Sam Hocevar. See the COPYING file for more details.
|
||||
|
||||
9
TODO.md
@ -1,9 +0,0 @@
|
||||
# TODO
|
||||
|
||||
* pouvoir annuler la suppression
|
||||
* conventions codage ? phing ? vérifier error_log qui trainent
|
||||
* phpDocumentor
|
||||
* minifier css
|
||||
* barre fixe d'admin sur la page d'un billet ?
|
||||
* revoir export (export vers pocket &cie ? )
|
||||
* raccourcis clavier
|
||||
1
cache/.gitignore
vendored
@ -0,0 +1 @@
|
||||
!.htaccess
|
||||
|
||||
2
cache/.htaccess
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
2
db/.htaccess
Normal file
@ -0,0 +1,2 @@
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
4
inc/3rdparty/FlattrItem.class.php
vendored
@ -14,12 +14,12 @@ class FlattrItem {
|
||||
$flattrResponse = file_get_contents(CACHE . "/flattr/".$id.".cache");
|
||||
if($flattrResponse != FALSE) {
|
||||
$result = json_decode($flattrResponse);
|
||||
if (isset($result->message)){
|
||||
if (isset($result->message)){
|
||||
if ($result->message == "flattrable") {
|
||||
$this->status = FLATTRABLE;
|
||||
}
|
||||
}
|
||||
elseif ($result->link) {
|
||||
elseif (is_object($result) && $result->link) {
|
||||
$this->status = FLATTRED;
|
||||
$this->flattrItemURL = $result->link;
|
||||
$this->numflattrs = $result->flattrs;
|
||||
|
||||
4
inc/3rdparty/Session.class.php
vendored
@ -31,9 +31,9 @@ class Session
|
||||
public static $sessionName = '';
|
||||
// If the user does not access any page within this time,
|
||||
// his/her session is considered expired (3600 sec. = 1 hour)
|
||||
public static $inactivityTimeout = 3600;
|
||||
public static $inactivityTimeout = 86400;
|
||||
// Extra timeout for long sessions (if enabled) (82800 sec. = 23 hours)
|
||||
public static $longSessionTimeout = 82800;
|
||||
public static $longSessionTimeout = 31536000;
|
||||
// If you get disconnected often or if your IP address changes often.
|
||||
// Let you disable session cookie hijacking protection
|
||||
public static $disableSessionProtection = false;
|
||||
|
||||
4
inc/3rdparty/site_config/custom/interviewmagazine.com.txt
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
title: //title
|
||||
body: //div[contains(@class, 'block')]
|
||||
|
||||
test_url: http://www.interviewmagazine.com/film/spike-jonze
|
||||
@ -1,7 +0,0 @@
|
||||
title: //title
|
||||
body: //div[@class='post-content']
|
||||
|
||||
prune: no
|
||||
tidy: no
|
||||
|
||||
test_url: http://www.inthepoche.com/?post/poche-hosting
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
@ -81,7 +81,7 @@ class Database {
|
||||
|
||||
if (STORAGE == 'sqlite') {
|
||||
$sql = '
|
||||
CREATE TABLE tags_entries (
|
||||
CREATE TABLE IF NOT EXISTS tags_entries (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,
|
||||
entry_id INTEGER,
|
||||
tag_id INTEGER,
|
||||
@ -165,9 +165,14 @@ class Database {
|
||||
}
|
||||
}
|
||||
|
||||
public function login($username, $password) {
|
||||
$sql = "SELECT * FROM users WHERE username=? AND password=?";
|
||||
$query = $this->executeQuery($sql, array($username, $password));
|
||||
public function login($username, $password, $isauthenticated=false) {
|
||||
if ($isauthenticated) {
|
||||
$sql = "SELECT * FROM users WHERE username=?";
|
||||
$query = $this->executeQuery($sql, array($username));
|
||||
} else {
|
||||
$sql = "SELECT * FROM users WHERE username=? AND password=?";
|
||||
$query = $this->executeQuery($sql, array($username, $password));
|
||||
}
|
||||
$login = $query->fetchAll();
|
||||
|
||||
$user = array();
|
||||
@ -193,7 +198,7 @@ class Database {
|
||||
public function updateUserConfig($userId, $key, $value) {
|
||||
$config = $this->getConfigUser($userId);
|
||||
|
||||
if (!isset ($user_config[$key])) {
|
||||
if (! isset($config[$key])) {
|
||||
$sql = "INSERT INTO users_config (value, user_id, name) VALUES (?, ?, ?)";
|
||||
}
|
||||
else {
|
||||
@ -313,6 +318,12 @@ class Database {
|
||||
$query = $this->executeQuery($sql_action, $params_action);
|
||||
}
|
||||
|
||||
public function archiveAll($user_id) {
|
||||
$sql_action = "UPDATE entries SET is_read=? WHERE user_id=? AND is_read=?";
|
||||
$params_action = array($user_id, 1, 0);
|
||||
$query = $this->executeQuery($sql_action, $params_action);
|
||||
}
|
||||
|
||||
public function getLastId($column = '') {
|
||||
return $this->getHandle()->lastInsertId($column);
|
||||
}
|
||||
@ -337,7 +348,7 @@ class Database {
|
||||
|
||||
public function retrieveEntriesByTag($tag_id) {
|
||||
$sql =
|
||||
"SELECT * FROM entries
|
||||
"SELECT entries.* FROM entries
|
||||
LEFT JOIN tags_entries ON tags_entries.entry_id=entries.id
|
||||
WHERE tags_entries.tag_id = ?";
|
||||
$query = $this->executeQuery($sql, array($tag_id));
|
||||
@ -348,7 +359,7 @@ class Database {
|
||||
|
||||
public function retrieveTagsByEntry($entry_id) {
|
||||
$sql =
|
||||
"SELECT * FROM tags
|
||||
"SELECT tags.* FROM tags
|
||||
LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id
|
||||
WHERE tags_entries.entry_id = ?";
|
||||
$query = $this->executeQuery($sql, array($entry_id));
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
@ -22,15 +22,6 @@ class Poche
|
||||
private $currentTheme = '';
|
||||
private $currentLanguage = '';
|
||||
private $notInstalledMessage = array();
|
||||
|
||||
# @todo make this dynamic (actually install themes and save them in the database including author information et cetera)
|
||||
private $installedThemes = array(
|
||||
'default' => array('requires' => array()),
|
||||
'dark' => array('requires' => array('default')),
|
||||
'dmagenta' => array('requires' => array('default')),
|
||||
'solarized' => array('requires' => array('default')),
|
||||
'solarized-dark' => array('requires' => array('default'))
|
||||
);
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@ -110,7 +101,7 @@ class Poche
|
||||
$passTheme = TRUE;
|
||||
# Twig is an absolute requirement for Poche to function. Abort immediately if the Composer installer hasn't been run yet
|
||||
if (! self::$canRenderTemplates) {
|
||||
$this->notInstalledMessage[] = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. Have a look at <a href="http://doc.inthepoche.com/doku.php?id=users:begin:install">the documentation.</a>';
|
||||
$this->notInstalledMessage[] = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. You can also download <a href="http://wllbg.org/vendor">vendor.zip</a> and extract it in your wallabag folder.';
|
||||
$passTheme = FALSE;
|
||||
}
|
||||
|
||||
@ -123,21 +114,26 @@ class Poche
|
||||
}
|
||||
|
||||
# Check if the selected theme and its requirements are present
|
||||
if ($this->getTheme() != '' && ! is_dir(THEME . '/' . $this->getTheme())) {
|
||||
$this->notInstalledMessage[] = 'The currently selected theme (' . $this->getTheme() . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $this->getTheme() . ')';
|
||||
$theme = $this->getTheme();
|
||||
|
||||
if ($theme != '' && ! is_dir(THEME . '/' . $theme)) {
|
||||
$this->notInstalledMessage[] = 'The currently selected theme (' . $theme . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $theme . ')';
|
||||
|
||||
self::$canRenderTemplates = false;
|
||||
|
||||
$passTheme = FALSE;
|
||||
}
|
||||
|
||||
foreach ($this->installedThemes[$this->getTheme()]['requires'] as $requiredTheme) {
|
||||
if (! is_dir(THEME . '/' . $requiredTheme)) {
|
||||
$this->notInstalledMessage[] = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $this->getTheme() . ')';
|
||||
$themeInfo = $this->getThemeInfo($theme);
|
||||
if (isset($themeInfo['requirements']) && is_array($themeInfo['requirements'])) {
|
||||
foreach ($themeInfo['requirements'] as $requiredTheme) {
|
||||
if (! is_dir(THEME . '/' . $requiredTheme)) {
|
||||
$this->notInstalledMessage[] = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $theme . ')';
|
||||
|
||||
self::$canRenderTemplates = false;
|
||||
self::$canRenderTemplates = false;
|
||||
|
||||
$passTheme = FALSE;
|
||||
$passTheme = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -193,32 +189,36 @@ class Poche
|
||||
private function initTpl()
|
||||
{
|
||||
$loaderChain = new Twig_Loader_Chain();
|
||||
$theme = $this->getTheme();
|
||||
|
||||
# add the current theme as first to the loader chain so Twig will look there first for overridden template files
|
||||
try {
|
||||
$loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $this->getTheme()));
|
||||
$loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $theme));
|
||||
} catch (Twig_Error_Loader $e) {
|
||||
# @todo isInstalled() should catch this, inject Twig later
|
||||
die('The currently selected theme (' . $this->getTheme() . ') does not seem to be properly installed (' . THEME . '/' . $this->getTheme() .' is missing)');
|
||||
die('The currently selected theme (' . $theme . ') does not seem to be properly installed (' . THEME . '/' . $theme .' is missing)');
|
||||
}
|
||||
|
||||
# add all required themes to the loader chain
|
||||
foreach ($this->installedThemes[$this->getTheme()]['requires'] as $requiredTheme) {
|
||||
try {
|
||||
$loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . DEFAULT_THEME));
|
||||
} catch (Twig_Error_Loader $e) {
|
||||
# @todo isInstalled() should catch this, inject Twig later
|
||||
die('The required "' . $requiredTheme . '" theme is missing for the current theme (' . $this->getTheme() . ')');
|
||||
$themeInfo = $this->getThemeInfo($theme);
|
||||
if (isset($themeInfo['requirements']) && is_array($themeInfo['requirements'])) {
|
||||
foreach ($themeInfo['requirements'] as $requiredTheme) {
|
||||
try {
|
||||
$loaderChain->addLoader(new Twig_Loader_Filesystem(THEME . '/' . $requiredTheme));
|
||||
} catch (Twig_Error_Loader $e) {
|
||||
# @todo isInstalled() should catch this, inject Twig later
|
||||
die('The required "' . $requiredTheme . '" theme is missing for the current theme (' . $theme . ')');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (DEBUG_POCHE) {
|
||||
$twig_params = array();
|
||||
$twigParams = array();
|
||||
} else {
|
||||
$twig_params = array('cache' => CACHE);
|
||||
$twigParams = array('cache' => CACHE);
|
||||
}
|
||||
|
||||
$this->tpl = new Twig_Environment($loaderChain, $twig_params);
|
||||
$this->tpl = new Twig_Environment($loaderChain, $twigParams);
|
||||
$this->tpl->addExtension(new Twig_Extensions_Extension_I18n());
|
||||
|
||||
# filter to display domain name of an url
|
||||
@ -228,13 +228,9 @@ class Poche
|
||||
# filter for reading time
|
||||
$filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime');
|
||||
$this->tpl->addFilter($filter);
|
||||
|
||||
# filter for simple filenames in config view
|
||||
$filter = new Twig_SimpleFilter('getPrettyFilename', function($string) { return str_replace(ROOT, '', $string); });
|
||||
$this->tpl->addFilter($filter);
|
||||
}
|
||||
|
||||
private function install()
|
||||
private function install()
|
||||
{
|
||||
Tools::logm('poche still not installed');
|
||||
echo $this->tpl->render('install.twig', array(
|
||||
@ -265,34 +261,59 @@ class Poche
|
||||
return $this->currentTheme;
|
||||
}
|
||||
|
||||
public function getLanguage() {
|
||||
return $this->currentLanguage;
|
||||
/**
|
||||
* Provides theme information by parsing theme.ini file if present in the theme's root directory.
|
||||
* In all cases, the following data will be returned:
|
||||
* - name: theme's name, or key if the theme is unnamed,
|
||||
* - current: boolean informing if the theme is the current user theme.
|
||||
*
|
||||
* @param string $theme Theme key (directory name)
|
||||
* @return array|boolean Theme information, or false if the theme doesn't exist.
|
||||
*/
|
||||
public function getThemeInfo($theme) {
|
||||
if (!is_dir(THEME . '/' . $theme)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$themeIniFile = THEME . '/' . $theme . '/theme.ini';
|
||||
$themeInfo = array();
|
||||
|
||||
if (is_file($themeIniFile) && is_readable($themeIniFile)) {
|
||||
$themeInfo = parse_ini_file($themeIniFile);
|
||||
}
|
||||
|
||||
if ($themeInfo === false) {
|
||||
$themeInfo = array();
|
||||
}
|
||||
if (!isset($themeInfo['name'])) {
|
||||
$themeInfo['name'] = $theme;
|
||||
}
|
||||
$themeInfo['current'] = ($theme === $this->getTheme());
|
||||
|
||||
return $themeInfo;
|
||||
}
|
||||
|
||||
public function getInstalledThemes() {
|
||||
$handle = opendir(THEME);
|
||||
$themes = array();
|
||||
|
||||
|
||||
while (($theme = readdir($handle)) !== false) {
|
||||
# Themes are stored in a directory, so all directory names are themes
|
||||
# @todo move theme installation data to database
|
||||
if (! is_dir(THEME . '/' . $theme) || in_array($theme, array('..', '.'))) {
|
||||
if (!is_dir(THEME . '/' . $theme) || in_array($theme, array('.', '..'))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$current = false;
|
||||
|
||||
if ($theme === $this->getTheme()) {
|
||||
$current = true;
|
||||
}
|
||||
|
||||
$themes[] = array('name' => $theme, 'current' => $current);
|
||||
|
||||
$themes[$theme] = $this->getThemeInfo($theme);
|
||||
}
|
||||
|
||||
sort($themes);
|
||||
|
||||
return $themes;
|
||||
}
|
||||
|
||||
public function getLanguage() {
|
||||
return $this->currentLanguage;
|
||||
}
|
||||
|
||||
public function getInstalledLanguages() {
|
||||
$handle = opendir(LOCALE);
|
||||
$languages = array();
|
||||
@ -325,6 +346,22 @@ class Poche
|
||||
);
|
||||
}
|
||||
|
||||
protected function getPageContent(Url $url)
|
||||
{
|
||||
$options = array('http' => array('user_agent' => 'poche'));
|
||||
if (isset($_SERVER['AUTH_TYPE']) && "basic" === strtolower($_SERVER['AUTH_TYPE'])) {
|
||||
$options['http']['header'] = sprintf(
|
||||
"Authorization: Basic %s",
|
||||
base64_encode(
|
||||
sprintf('%s:%s', $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])
|
||||
)
|
||||
);
|
||||
}
|
||||
$context = stream_context_create($options);
|
||||
$json = file_get_contents(Tools::getPocheUrl() . '/inc/3rdparty/makefulltextfeed.php?url='.urlencode($url->getUrl()).'&max=5&links=preserve&exc=&format=json&submit=Create+Feed', false, $context);
|
||||
return json_decode($json, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call action (mark as fav, archive, delete, etc.)
|
||||
*/
|
||||
@ -333,9 +370,8 @@ class Poche
|
||||
switch ($action)
|
||||
{
|
||||
case 'add':
|
||||
$json = file_get_contents(Tools::getPocheUrl() . '/inc/3rdparty/makefulltextfeed.php?url='.urlencode($url->getUrl()).'&max=5&links=preserve&exc=&format=json&submit=Create+Feed');
|
||||
$content = json_decode($json, true);
|
||||
$title = $content['rss']['channel']['item']['title'];
|
||||
$content = $this->getPageContent($url);
|
||||
$title = ($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled');
|
||||
$body = $content['rss']['channel']['item']['description'];
|
||||
|
||||
if ($this->store->add($url->getUrl(), $title, $body, $this->user->getId())) {
|
||||
@ -398,6 +434,13 @@ class Poche
|
||||
Tools::redirect();
|
||||
}
|
||||
break;
|
||||
case 'archive_all' :
|
||||
$this->store->archiveAll($this->user->getId());
|
||||
Tools::logm('archive all links');
|
||||
if (!$import) {
|
||||
Tools::redirect();
|
||||
}
|
||||
break;
|
||||
case 'add_tag' :
|
||||
$tags = explode(',', $_POST['value']);
|
||||
$entry_id = $_POST['entry_id'];
|
||||
@ -440,8 +483,8 @@ class Poche
|
||||
switch ($view)
|
||||
{
|
||||
case 'config':
|
||||
$dev = $this->getPocheVersion('dev');
|
||||
$prod = $this->getPocheVersion('prod');
|
||||
$dev = trim($this->getPocheVersion('dev'));
|
||||
$prod = trim($this->getPocheVersion('prod'));
|
||||
$compare_dev = version_compare(POCHE, $dev);
|
||||
$compare_prod = version_compare(POCHE, $prod);
|
||||
$themes = $this->getInstalledThemes();
|
||||
@ -525,7 +568,8 @@ class Poche
|
||||
|
||||
if (count($entries) > 0) {
|
||||
$this->pagination->set_total(count($entries));
|
||||
$page_links = $this->pagination->page_links('?view=' . $view . '&sort=' . $_SESSION['sort'] . '&');
|
||||
$page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')),
|
||||
$this->pagination->page_links('?view=' . $view . '&sort=' . $_SESSION['sort'] . '&'));
|
||||
$datas = $this->store->getEntriesByView($view, $this->user->getId(), $this->pagination->get_limit());
|
||||
$tpl_vars['entries'] = $datas;
|
||||
$tpl_vars['page_links'] = $page_links;
|
||||
@ -584,8 +628,8 @@ class Poche
|
||||
$themes = $this->getInstalledThemes();
|
||||
$actualTheme = false;
|
||||
|
||||
foreach ($themes as $theme) {
|
||||
if ($theme['name'] == $_POST['theme']) {
|
||||
foreach (array_keys($themes) as $theme) {
|
||||
if ($theme == $_POST['theme']) {
|
||||
$actualTheme = true;
|
||||
break;
|
||||
}
|
||||
@ -652,17 +696,17 @@ class Poche
|
||||
*/
|
||||
private function credentials() {
|
||||
if(isset($_SERVER['PHP_AUTH_USER'])) {
|
||||
return array($_SERVER['PHP_AUTH_USER'],'php_auth');
|
||||
return array($_SERVER['PHP_AUTH_USER'],'php_auth',true);
|
||||
}
|
||||
if(!empty($_POST['login']) && !empty($_POST['password'])) {
|
||||
return array($_POST['login'],$_POST['password']);
|
||||
return array($_POST['login'],$_POST['password'],false);
|
||||
}
|
||||
if(isset($_SERVER['REMOTE_USER'])) {
|
||||
return array($_SERVER['REMOTE_USER'],'http_auth');
|
||||
return array($_SERVER['REMOTE_USER'],'http_auth',true);
|
||||
}
|
||||
|
||||
return array(false,false);
|
||||
}
|
||||
return array(false,false,false);
|
||||
}
|
||||
|
||||
/**
|
||||
* checks if login & password are correct and save the user in session.
|
||||
@ -673,19 +717,20 @@ class Poche
|
||||
*/
|
||||
public function login($referer)
|
||||
{
|
||||
list($login,$password)=$this->credentials();
|
||||
list($login,$password,$isauthenticated)=$this->credentials();
|
||||
if($login === false || $password === false) {
|
||||
$this->messages->add('e', _('login failed: you have to fill all fields'));
|
||||
Tools::logm('login failed');
|
||||
Tools::redirect();
|
||||
}
|
||||
if (!empty($login) && !empty($password)) {
|
||||
$user = $this->store->login($login, Tools::encodeString($password . $login));
|
||||
$user = $this->store->login($login, Tools::encodeString($password . $login), $isauthenticated);
|
||||
if ($user != array()) {
|
||||
# Save login into Session
|
||||
$longlastingsession = isset($_POST['longlastingsession']);
|
||||
Session::login($user['username'], $user['password'], $login, Tools::encodeString($password . $login), $longlastingsession, array('poche_user' => new User($user)));
|
||||
$this->messages->add('s', _('welcome to your poche'));
|
||||
$longlastingsession = isset($_POST['longlastingsession']);
|
||||
$passwordTest = ($isauthenticated) ? $user['password'] : Tools::encodeString($password . $login);
|
||||
Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user)));
|
||||
$this->messages->add('s', _('welcome to your wallabag'));
|
||||
Tools::logm('login successful');
|
||||
Tools::redirect($referer);
|
||||
}
|
||||
@ -704,7 +749,6 @@ class Poche
|
||||
{
|
||||
$this->user = array();
|
||||
Session::logout();
|
||||
$this->messages->add('s', _('see you soon!'));
|
||||
Tools::logm('logout');
|
||||
Tools::redirect();
|
||||
}
|
||||
@ -806,26 +850,74 @@ class Poche
|
||||
$url = NULL;
|
||||
$favorite = FALSE;
|
||||
$archive = FALSE;
|
||||
foreach ($value as $attr => $attr_value) {
|
||||
if ($attr == 'article__url') {
|
||||
$url = new Url(base64_encode($attr_value));
|
||||
}
|
||||
$sequence = '';
|
||||
if (STORAGE == 'postgres') {
|
||||
$sequence = 'entries_id_seq';
|
||||
}
|
||||
if ($attr_value == 'true') {
|
||||
if ($attr == 'favorite') {
|
||||
$favorite = TRUE;
|
||||
foreach ($value as $item) {
|
||||
foreach ($item as $attr => $value) {
|
||||
if ($attr == 'article__url') {
|
||||
$url = new Url(base64_encode($value));
|
||||
}
|
||||
if ($attr == 'archive') {
|
||||
$archive = TRUE;
|
||||
$sequence = '';
|
||||
if (STORAGE == 'postgres') {
|
||||
$sequence = 'entries_id_seq';
|
||||
}
|
||||
if ($value == 'true') {
|
||||
if ($attr == 'favorite') {
|
||||
$favorite = TRUE;
|
||||
}
|
||||
if ($attr == 'archive') {
|
||||
$archive = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# we can add the url
|
||||
if (!is_null($url) && $url->isCorrect()) {
|
||||
$this->action('add', $url, 0, TRUE);
|
||||
$count++;
|
||||
if ($favorite) {
|
||||
$last_id = $this->store->getLastId($sequence);
|
||||
$this->action('toggle_fav', $url, $last_id, TRUE);
|
||||
}
|
||||
if ($archive) {
|
||||
$last_id = $this->store->getLastId($sequence);
|
||||
$this->action('toggle_archive', $url, $last_id, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->messages->add('s', _('import from Readability completed. ' . $count . ' new links.'));
|
||||
Tools::logm('import from Readability completed');
|
||||
Tools::redirect();
|
||||
}
|
||||
|
||||
/**
|
||||
* import from Poche exported file
|
||||
* @param string $targetFile the file used for importing
|
||||
* @return boolean
|
||||
*/
|
||||
private function importFromPoche($targetFile)
|
||||
{
|
||||
$str_data = file_get_contents($targetFile);
|
||||
$data = json_decode($str_data,true);
|
||||
Tools::logm('starting import from Poche');
|
||||
|
||||
|
||||
$sequence = '';
|
||||
if (STORAGE == 'postgres') {
|
||||
$sequence = 'entries_id_seq';
|
||||
}
|
||||
|
||||
$count = 0;
|
||||
foreach ($data as $value) {
|
||||
|
||||
$url = new Url(base64_encode($value['url']));
|
||||
$favorite = ($value['is_fav'] == -1);
|
||||
$archive = ($value['is_read'] == -1);
|
||||
|
||||
# we can add the url
|
||||
if (!is_null($url) && $url->isCorrect()) {
|
||||
|
||||
$this->action('add', $url, 0, TRUE);
|
||||
|
||||
$count++;
|
||||
if ($favorite) {
|
||||
$last_id = $this->store->getLastId($sequence);
|
||||
@ -836,9 +928,10 @@ class Poche
|
||||
$this->action('toggle_archive', $url, $last_id, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
$this->messages->add('s', _('import from Readability completed. ' . $count . ' new links.'));
|
||||
Tools::logm('import from Readability completed');
|
||||
$this->messages->add('s', _('import from Poche completed. ' . $count . ' new links.'));
|
||||
Tools::logm('import from Poche completed');
|
||||
Tools::redirect();
|
||||
}
|
||||
|
||||
@ -853,7 +946,8 @@ class Poche
|
||||
$providers = array(
|
||||
'pocket' => 'importFromPocket',
|
||||
'readability' => 'importFromReadability',
|
||||
'instapaper' => 'importFromInstapaper'
|
||||
'instapaper' => 'importFromInstapaper',
|
||||
'poche' => 'importFromPoche',
|
||||
);
|
||||
|
||||
if (! isset($providers[$from])) {
|
||||
@ -903,7 +997,7 @@ class Poche
|
||||
if (file_exists($cache_file) && (filemtime($cache_file) > (time() - 86400 ))) {
|
||||
$version = file_get_contents($cache_file);
|
||||
} else {
|
||||
$version = file_get_contents('http://static.inthepoche.com/versions/' . $which);
|
||||
$version = file_get_contents('http://static.wallabag.org/versions/' . $which);
|
||||
file_put_contents($cache_file, $version, LOCK_EX);
|
||||
}
|
||||
return $version;
|
||||
@ -918,6 +1012,7 @@ class Poche
|
||||
$token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20);
|
||||
}
|
||||
|
||||
$token = str_replace('+', '', $token);
|
||||
$this->store->updateUserConfig($this->user->getId(), 'token', $token);
|
||||
$currentConfig = $_SESSION['poche_user']->config;
|
||||
$currentConfig['token'] = $token;
|
||||
@ -936,10 +1031,10 @@ class Poche
|
||||
// Check the token
|
||||
|
||||
$feed = new FeedWriter(RSS2);
|
||||
$feed->setTitle('poche - ' . $type . ' feed');
|
||||
$feed->setTitle('wallabag — ' . $type . ' feed');
|
||||
$feed->setLink(Tools::getPocheUrl());
|
||||
$feed->setChannelElement('updated', date(DATE_RSS , time()));
|
||||
$feed->setChannelElement('author', 'poche');
|
||||
$feed->setChannelElement('author', 'wallabag');
|
||||
|
||||
if ($type == 'tag') {
|
||||
$entries = $this->store->retrieveEntriesByTag($tag_id);
|
||||
@ -951,7 +1046,7 @@ class Poche
|
||||
if (count($entries) > 0) {
|
||||
foreach ($entries as $entry) {
|
||||
$newItem = $feed->createNewItem();
|
||||
$newItem->setTitle(htmlentities($entry['title']));
|
||||
$newItem->setTitle($entry['title']);
|
||||
$newItem->setLink(Tools::getPocheUrl() . '?view=view&id=' . $entry['id']);
|
||||
$newItem->setDate(time());
|
||||
$newItem->setDescription($entry['content']);
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
@ -43,7 +43,9 @@ class Tools
|
||||
|| (isset($_SERVER["SERVER_PORT"])
|
||||
&& $_SERVER["SERVER_PORT"] == '443') // HTTPS detection.
|
||||
|| (isset($_SERVER["SERVER_PORT"]) //Custom HTTPS port detection
|
||||
&& $_SERVER["SERVER_PORT"] == SSL_PORT);
|
||||
&& $_SERVER["SERVER_PORT"] == SSL_PORT)
|
||||
|| (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])
|
||||
&& $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https');
|
||||
|
||||
$serverport = (!isset($_SERVER["SERVER_PORT"])
|
||||
|| $_SERVER["SERVER_PORT"] == '80'
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
@ -44,7 +44,7 @@ define ('FLATTRABLE', '1');
|
||||
define ('FLATTRED', '2');
|
||||
define ('ABS_PATH', 'assets/');
|
||||
|
||||
define ('DEFAULT_THEME', 'default');
|
||||
define ('DEFAULT_THEME', 'baggy');
|
||||
|
||||
define ('THEME', ROOT . '/themes');
|
||||
define ('LOCALE', ROOT . '/locale');
|
||||
@ -55,7 +55,9 @@ define ('PAGINATION', '10');
|
||||
define ('POCKET_FILE', '/ril_export.html');
|
||||
define ('READABILITY_FILE', '/readability');
|
||||
define ('INSTAPAPER_FILE', '/instapaper-export.html');
|
||||
define ('POCHE_FILE', '/poche-export');
|
||||
|
||||
define ('IMPORT_POCKET_FILE', ROOT . POCKET_FILE);
|
||||
define ('IMPORT_READABILITY_FILE', ROOT . READABILITY_FILE);
|
||||
define ('IMPORT_INSTAPAPER_FILE', ROOT . INSTAPAPER_FILE);
|
||||
define ('IMPORT_POCHE_FILE', ROOT . POCHE_FILE);
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
@ -84,12 +84,12 @@ function create_assets_directory($id)
|
||||
{
|
||||
$assets_path = ABS_PATH;
|
||||
if(!is_dir($assets_path)) {
|
||||
mkdir($assets_path, 0705);
|
||||
mkdir($assets_path, 0715);
|
||||
}
|
||||
|
||||
$article_directory = $assets_path . $id;
|
||||
if(!is_dir($article_directory)) {
|
||||
mkdir($article_directory, 0705);
|
||||
mkdir($article_directory, 0715);
|
||||
}
|
||||
|
||||
return $article_directory;
|
||||
@ -107,4 +107,4 @@ function remove_directory($directory)
|
||||
}
|
||||
return rmdir($directory);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
<?php
|
||||
/**
|
||||
* poche, a read it later open source system
|
||||
* wallabag, self hostable application allowing you to not miss any content anymore
|
||||
*
|
||||
* @category poche
|
||||
* @author Nicolas Lœuillet <support@inthepoche.com>
|
||||
* @category wallabag
|
||||
* @author Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
* @copyright 2013
|
||||
* @license http://www.wtfpl.net/ see COPYING file
|
||||
*/
|
||||
|
||||
define ('POCHE', '1.3.0');
|
||||
define ('POCHE', '1.5.0');
|
||||
require_once 'inc/poche/global.inc.php';
|
||||
session_start();
|
||||
|
||||
|
||||
@ -9,8 +9,8 @@ CREATE TABLE IF NOT EXISTS `entries` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(255) NOT NULL,
|
||||
`url` varchar(255) NOT NULL,
|
||||
`is_read` tinyint(1) NOT NULL,
|
||||
`is_fav` tinyint(1) NOT NULL,
|
||||
`is_read` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`is_fav` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`content` blob NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS `users` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(255) NOT NULL,
|
||||
`password` varchar(255) NOT NULL,
|
||||
`name` int(255) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`email` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
2
locale/.htaccess
Normal file
@ -0,0 +1,2 @@
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
@ -73,7 +73,7 @@ msgstr "Importovat"
|
||||
msgid "Please execute the import script locally, it can take a very long time."
|
||||
msgstr "Spusťte importní skript lokálně, může to dlouho trvat."
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgid "More info in the official doc:"
|
||||
msgstr "Více informací v oficiální dokumentaci:"
|
||||
|
||||
msgid "import from Pocket"
|
||||
@ -85,13 +85,13 @@ msgstr "importovat z Readability"
|
||||
msgid "import from Instapaper"
|
||||
msgstr "importovat z Instapaper"
|
||||
|
||||
msgid "Export your poche datas"
|
||||
msgid "Export your poche data"
|
||||
msgstr "Export dat"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Klikněte zde"
|
||||
|
||||
msgid "to export your poche datas."
|
||||
msgid "to export your poche data."
|
||||
msgstr "pro export vašich dat."
|
||||
|
||||
msgid "back to home"
|
||||
@ -105,11 +105,11 @@ msgstr "instalovat"
|
||||
|
||||
msgid ""
|
||||
"poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"Don't hesitate to <a href='http://doc.inthepoche.com'>read the documentation "
|
||||
"on poche website</a>."
|
||||
msgstr ""
|
||||
"poche ještě není nainstalováno. Pro instalaci vyplňte níže uvedený formulář. "
|
||||
"Nezapomeňte <a href='http://inthepoche.com/doc'>si přečíst dokumentaci</a> "
|
||||
"Nezapomeňte <a href='http://doc.inthepoche.com'>si přečíst dokumentaci</a> "
|
||||
"na stránkách programu."
|
||||
|
||||
msgid "Login"
|
||||
|
||||
@ -67,7 +67,7 @@ msgstr "Import"
|
||||
msgid "Please execute the import script locally, it can take a very long time."
|
||||
msgstr "Bitte führe das Import Script lokal aus, dies kann eine Weile dauern."
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgid "More info in the official doc:"
|
||||
msgstr "Mehr Informationen in der offiziellen Dokumentation:"
|
||||
|
||||
msgid "import from Pocket"
|
||||
@ -79,13 +79,13 @@ msgstr "Import aus Readability"
|
||||
msgid "import from Instapaper"
|
||||
msgstr "Import aus Instapaper"
|
||||
|
||||
msgid "Export your poche datas"
|
||||
msgid "Export your poche data"
|
||||
msgstr "Exportieren Sie Ihre Poche Daten."
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Klicke hier"
|
||||
|
||||
msgid "to export your poche datas."
|
||||
msgid "to export your poche data."
|
||||
msgstr "um deine Daten aus Poche zu exportieren."
|
||||
|
||||
msgid "back to home"
|
||||
@ -99,7 +99,7 @@ msgstr "Installiere dein Poche"
|
||||
|
||||
msgid ""
|
||||
"poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"Don't hesitate to <a href='http://doc.inthepoche.com'>read the documentation "
|
||||
"on poche website</a>."
|
||||
msgstr ""
|
||||
"Poche ist noch nicht installiert. Bitte fülle die Felder unten aus, um die "
|
||||
|
||||
@ -68,8 +68,8 @@ 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:"
|
||||
msgid "More info in the official doc:"
|
||||
msgstr "More info in the official doc:"
|
||||
|
||||
msgid "import from Pocket"
|
||||
msgstr "import from Pocket"
|
||||
@ -80,14 +80,14 @@ msgstr "import from Readability"
|
||||
msgid "import from Instapaper"
|
||||
msgstr "import from Instapaper"
|
||||
|
||||
msgid "Export your poche datas"
|
||||
msgstr "Export your poche datas"
|
||||
msgid "Export your poche data"
|
||||
msgstr "Export your poche data"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Click here"
|
||||
|
||||
msgid "to export your poche datas."
|
||||
msgstr "to export your poche datas."
|
||||
msgid "to export your poche data."
|
||||
msgstr "to export your poche data."
|
||||
|
||||
msgid "back to home"
|
||||
msgstr "back to home"
|
||||
@ -100,11 +100,11 @@ msgstr "install your poche"
|
||||
|
||||
msgid ""
|
||||
"poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"Don't hesitate to <a href='http://doc.inthepoche.com'>read the documentation "
|
||||
"on poche website</a>."
|
||||
msgstr ""
|
||||
"poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"Don't hesitate to <a href='http://doc.inthepoche.com'>read the documentation "
|
||||
"on poche website</a>."
|
||||
|
||||
msgid "Login"
|
||||
|
||||
@ -68,7 +68,7 @@ msgid "Please execute the import script locally, it can take a very long time."
|
||||
msgstr ""
|
||||
"Por favor, ejecute la importación en local, esto puede demorar un tiempo."
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgid "More info in the official doc:"
|
||||
msgstr "Más información en la documentación oficial :"
|
||||
|
||||
msgid "import from Pocket"
|
||||
@ -80,13 +80,13 @@ msgstr "importación desde Readability"
|
||||
msgid "import from Instapaper"
|
||||
msgstr "importación desde Instapaper"
|
||||
|
||||
msgid "Export your poche datas"
|
||||
msgid "Export your poche data"
|
||||
msgstr "Exportar sus datos de poche"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Haga clic aquí"
|
||||
|
||||
msgid "to export your poche datas."
|
||||
msgid "to export your poche data."
|
||||
msgstr "para exportar sus datos de poche."
|
||||
|
||||
msgid "back to home"
|
||||
@ -100,11 +100,11 @@ msgstr "instala tu Poche"
|
||||
|
||||
msgid ""
|
||||
"Poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"Don't hesitate to <a href='http://doc.inthepoche.com'>read the documentation "
|
||||
"on poche website</a>."
|
||||
msgstr ""
|
||||
"Poche todavia no està instalado. Por favor, completa los campos siguientes "
|
||||
"para instalarlo. No dudes de <a href='http://inthepoche.com/doc'>leer la "
|
||||
"para instalarlo. No dudes de <a href='http://doc.inthepoche.com'>leer la "
|
||||
"documentación en el sitio de Poche</a>."
|
||||
|
||||
msgid "Login"
|
||||
|
||||
@ -67,7 +67,7 @@ msgstr "درونریزی"
|
||||
msgid "Please execute the import script locally, it can take a very long time."
|
||||
msgstr "لطفاً برنامهٔ درونریزی را بهطور محلی اجرا کنید، شاید خیلی طول بکشد."
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgid "More info in the official doc:"
|
||||
msgstr "اطلاعات بیشتر در راهنمای رسمی:"
|
||||
|
||||
msgid "import from Pocket"
|
||||
@ -79,13 +79,13 @@ msgstr "درونریزی از Readability"
|
||||
msgid "import from Instapaper"
|
||||
msgstr "درونریزی از Instapaper"
|
||||
|
||||
msgid "Export your poche datas"
|
||||
msgid "Export your poche data"
|
||||
msgstr "دادههای poche خود را برونبری کنید"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "اینجا را کلیک کنید"
|
||||
|
||||
msgid "to export your poche datas."
|
||||
msgid "to export your poche data."
|
||||
msgstr "برای برونبری دادههای poche شما"
|
||||
|
||||
msgid "back to home"
|
||||
@ -99,11 +99,11 @@ msgstr "poche خود را نصب کنید"
|
||||
|
||||
msgid ""
|
||||
"poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"Don't hesitate to <a href='http://doc.inthepoche.com'>read the documentation "
|
||||
"on poche website</a>."
|
||||
msgstr ""
|
||||
"poche هنوز نصب نیست. برای نصب لطفاً فرم زیر را پر کنید. خواندن <a "
|
||||
"href='http://inthepoche.com/doc'>راهنما در وبگاه poche</a> را از یاد نبرید."
|
||||
"href='http://doc.inthepoche.com'>راهنما در وبگاه poche</a> را از یاد نبرید."
|
||||
|
||||
msgid "Login"
|
||||
msgstr "ورود"
|
||||
|
||||
@ -67,7 +67,7 @@ msgstr "Importer"
|
||||
msgid "Please execute the import script locally, it can take a very long time."
|
||||
msgstr "Merci d'exécuter l'import en local, cela peut prendre du temps."
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgid "More info in the official doc:"
|
||||
msgstr "Plus d'infos sur la documentation officielle"
|
||||
|
||||
msgid "import from Pocket"
|
||||
@ -79,13 +79,13 @@ msgstr "import depuis Readability"
|
||||
msgid "import from Instapaper"
|
||||
msgstr "import depuis Instapaper"
|
||||
|
||||
msgid "Export your poche datas"
|
||||
msgid "Export your poche data"
|
||||
msgstr "Exporter vos données de poche"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Cliquez-ici"
|
||||
|
||||
msgid "to export your poche datas."
|
||||
msgid "to export your poche data."
|
||||
msgstr "pour exporter vos données de poche."
|
||||
|
||||
msgid "back to home"
|
||||
@ -99,11 +99,11 @@ msgstr "installez votre poche"
|
||||
|
||||
msgid ""
|
||||
"poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"Don't hesitate to <a href='http://doc.inthepoche.com'>read the documentation "
|
||||
"on poche website</a>."
|
||||
msgstr ""
|
||||
"poche n'est pas encore installé. Merci de remplir le formulaire suivant pour "
|
||||
"l'installer. N'hésitez pas à <a href='http://inthepoche.com/doc'>lire la "
|
||||
"l'installer. N'hésitez pas à <a href='http://doc.inthepoche.com'>lire la "
|
||||
"documentation sur le site de poche</a>."
|
||||
|
||||
msgid "Login"
|
||||
|
||||
@ -75,7 +75,7 @@ msgstr ""
|
||||
"Si prega di eseguire lo script di importazione a livello locale, può "
|
||||
"richiedere un tempo molto lungo."
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgid "More info in the official doc:"
|
||||
msgstr "Maggiori info nella documentazione ufficiale"
|
||||
|
||||
msgid "import from Pocket"
|
||||
@ -87,13 +87,13 @@ msgstr "Importa da Readability"
|
||||
msgid "import from Instapaper"
|
||||
msgstr "Importa da Instapaper"
|
||||
|
||||
msgid "Export your poche datas"
|
||||
msgid "Export your poche data"
|
||||
msgstr "Esporta i tuoi dati di poche"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Fai clic qui"
|
||||
|
||||
msgid "to export your poche datas."
|
||||
msgid "to export your poche data."
|
||||
msgstr "per esportare i tuoi dati di poche."
|
||||
|
||||
msgid "back to home"
|
||||
@ -107,11 +107,11 @@ msgstr "installa il tuo poche"
|
||||
|
||||
msgid ""
|
||||
"poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"Don't hesitate to <a href='http://doc.inthepoche.com'>read the documentation "
|
||||
"on poche website</a>."
|
||||
msgstr ""
|
||||
"poche non è ancora installato. Si prega di riempire il modulo sottostante "
|
||||
"per completare l'installazione. <a href='http://inthepoche.com/doc'>Leggere "
|
||||
"per completare l'installazione. <a href='http://doc.inthepoche.com'>Leggere "
|
||||
"la documentazione sul sito di poche</a>."
|
||||
|
||||
msgid "Login"
|
||||
|
||||
BIN
locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.mo
Executable file
428
locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po
Executable file
@ -0,0 +1,428 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wballabag\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-02-07 17:38+0300\n"
|
||||
"PO-Revision-Date: 2014-02-07 17:43+0300\n"
|
||||
"Last-Translator: Maryana <mariroz@mr.lviv.ua>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"X-Poedit-Language: Polish\n"
|
||||
"X-Poedit-Country: POLAND\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
"X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag\n"
|
||||
|
||||
msgid "poche, a read it later open source system"
|
||||
msgstr "poche, serwis odrocznego czytania open source"
|
||||
|
||||
msgid "login failed: user doesn't exist"
|
||||
msgstr "logowanie nie udało się: użytkownik nie istnieje"
|
||||
|
||||
msgid "Return home"
|
||||
msgstr "Wrocic do głównej"
|
||||
|
||||
msgid "Back to top"
|
||||
msgstr "Wrócić na górę"
|
||||
|
||||
msgid "original"
|
||||
msgstr "oryginal"
|
||||
|
||||
msgid "Mark as read"
|
||||
msgstr "Zaznacz jako przeczytane"
|
||||
|
||||
msgid "Toggle mark as read"
|
||||
msgstr "Przełącz jako przeczytane"
|
||||
|
||||
msgid "Favorite"
|
||||
msgstr "Ulubiony"
|
||||
|
||||
msgid "Toggle favorite"
|
||||
msgstr "Zaznacz jako ulubione"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
|
||||
msgid "Tweet"
|
||||
msgstr "Tweet"
|
||||
|
||||
msgid "Email"
|
||||
msgstr "Wyslij email"
|
||||
|
||||
msgid "shaarli"
|
||||
msgstr "shaarli"
|
||||
|
||||
msgid "flattr"
|
||||
msgstr "flattr"
|
||||
|
||||
msgid "Does this article appear wrong?"
|
||||
msgstr "Czy ten artykuł wygląda nieprawidłowo?"
|
||||
|
||||
msgid "tags:"
|
||||
msgstr "tegi:"
|
||||
|
||||
msgid "Edit tags"
|
||||
msgstr "Redagowac tegi"
|
||||
|
||||
msgid "return home"
|
||||
msgstr "wrócić do głównej"
|
||||
|
||||
msgid "powered by"
|
||||
msgstr "zasilany przez"
|
||||
|
||||
msgid "debug mode is on so cache is off."
|
||||
msgstr "tryb debugowania jest włączony, więc cash jest wyłączony."
|
||||
|
||||
msgid "your poche version:"
|
||||
msgstr "twoja wersja poche:"
|
||||
|
||||
msgid "storage:"
|
||||
msgstr "magazyn:"
|
||||
|
||||
msgid "favoris"
|
||||
msgstr "ulubione"
|
||||
|
||||
msgid "archive"
|
||||
msgstr "archiwum"
|
||||
|
||||
msgid "unread"
|
||||
msgstr "nieprzeczytane"
|
||||
|
||||
msgid "by date asc"
|
||||
msgstr "według daty rosnąco"
|
||||
|
||||
msgid "by date"
|
||||
msgstr "wg daty"
|
||||
|
||||
msgid "by date desc"
|
||||
msgstr "według daty spadająco"
|
||||
|
||||
msgid "by title asc"
|
||||
msgstr "według tytułu rosnąco"
|
||||
|
||||
msgid "by title"
|
||||
msgstr "wg tytułu"
|
||||
|
||||
msgid "by title desc"
|
||||
msgstr "według tytułu malejąco"
|
||||
|
||||
msgid "No articles found."
|
||||
msgstr "Nie znaleziono artykułów."
|
||||
|
||||
msgid "toggle favorite"
|
||||
msgstr "przełączyc ulubione"
|
||||
|
||||
msgid "delete"
|
||||
msgstr "usunąć"
|
||||
|
||||
msgid "estimated reading time:"
|
||||
msgstr "szacowany czas odczytu:"
|
||||
|
||||
msgid "results"
|
||||
msgstr "wyniki"
|
||||
|
||||
msgid "home"
|
||||
msgstr "główna"
|
||||
|
||||
msgid "favorites"
|
||||
msgstr "ulubione"
|
||||
|
||||
msgid "tags"
|
||||
msgstr "tagi"
|
||||
|
||||
msgid "config"
|
||||
msgstr "ustawienia"
|
||||
|
||||
msgid "logout"
|
||||
msgstr "wyloguj"
|
||||
|
||||
msgid "Poching links"
|
||||
msgstr "Zapisywanie linków"
|
||||
|
||||
msgid "There are several ways to poche a link:"
|
||||
msgstr "Istnieje kilka sposobów aby zapisać link:"
|
||||
|
||||
msgid "read the documentation"
|
||||
msgstr "zapoznać się z dokumentacją"
|
||||
|
||||
msgid "download the extension"
|
||||
msgstr "pobrać rozszerzenie"
|
||||
|
||||
msgid "via F-Droid"
|
||||
msgstr "przez F-Droid"
|
||||
|
||||
msgid " or "
|
||||
msgstr "albo"
|
||||
|
||||
msgid "via Google Play"
|
||||
msgstr "przez Google Play"
|
||||
|
||||
msgid "download the application"
|
||||
msgstr "pobrać aplikację"
|
||||
|
||||
msgid "By filling this field"
|
||||
msgstr "Poprzez wypełnienie tego pola"
|
||||
|
||||
msgid "poche it!"
|
||||
msgstr "zapisać!"
|
||||
|
||||
msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "Bookmarklet: przeciągnij i upucs ten link na pasek zakladek"
|
||||
|
||||
msgid "Updating poche"
|
||||
msgstr "Aktualizacja poche"
|
||||
|
||||
msgid "Installed version"
|
||||
msgstr "Zainstalowana wersja "
|
||||
|
||||
msgid "Latest stable version"
|
||||
msgstr "Najnowsza stabilna wersja"
|
||||
|
||||
msgid "A more recent stable version is available."
|
||||
msgstr "Nowsza stabilna wersja jest dostępna."
|
||||
|
||||
msgid "You are up to date."
|
||||
msgstr "Masz wszystko najnowsze."
|
||||
|
||||
msgid "latest dev version"
|
||||
msgstr "najnowsza wersja dev"
|
||||
|
||||
msgid "a more recent development version is available."
|
||||
msgstr "Nowsza wersja rozwojowa jest dostępna."
|
||||
|
||||
msgid "you are up to date."
|
||||
msgstr "masz wszystko najnowsze."
|
||||
|
||||
msgid "Feeds"
|
||||
msgstr "Kanały (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 "Twój znak kanału jest pusty i musi najpierw zostac wygenerowany. Kliknij <a href='?feed&action=generate'>tu dla jego generacji</a>."
|
||||
|
||||
msgid "Unread feed"
|
||||
msgstr "Kanał nieprzeczytanego"
|
||||
|
||||
msgid "Favorites feed"
|
||||
msgstr "Kanał ulubionego"
|
||||
|
||||
msgid "Archive feed"
|
||||
msgstr "Kanał archiwum"
|
||||
|
||||
msgid "Your token:"
|
||||
msgstr "Twój znak (token): "
|
||||
|
||||
msgid "Your user id:"
|
||||
msgstr "Twój id użytkownika (user id):"
|
||||
|
||||
msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>."
|
||||
msgstr "Mozna zgenerowac nowy znak: kliknij <a href='?feed&action=generate'>zgenerowac!</a>."
|
||||
|
||||
msgid "Change your theme"
|
||||
msgstr "Zmienic motyw"
|
||||
|
||||
msgid "Theme:"
|
||||
msgstr "Motyw:"
|
||||
|
||||
msgid "Update"
|
||||
msgstr "Aktualizacja"
|
||||
|
||||
msgid "Change your language"
|
||||
msgstr "Zmienić język"
|
||||
|
||||
msgid "Language:"
|
||||
msgstr "Język:"
|
||||
|
||||
msgid "Change your password"
|
||||
msgstr "Zmień hasło"
|
||||
|
||||
msgid "New password:"
|
||||
msgstr "Nowe hasło:"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
msgid "Repeat your new password:"
|
||||
msgstr "Powtórz hasło jeszcze raz:"
|
||||
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
msgid "Please execute the import script locally as it can take a very long time."
|
||||
msgstr "Proszę wykonać skrypt import lokalnie, gdyż moze to trwać bardzo długo."
|
||||
|
||||
msgid "More info in the official docs:"
|
||||
msgstr "Więcej informacji w oficjalnej dokumentacji:"
|
||||
|
||||
msgid "Import from Pocket"
|
||||
msgstr "Іmport z Pocket'a"
|
||||
|
||||
#, php-format
|
||||
msgid "(you must have a %s file on your server)"
|
||||
msgstr "(musisz mieć plik %s na serwerze)"
|
||||
|
||||
msgid "Import from Readability"
|
||||
msgstr "Import z Readability"
|
||||
|
||||
msgid "Import from Instapaper"
|
||||
msgstr "Import z Instapaper"
|
||||
|
||||
msgid "Import from poche"
|
||||
msgstr "Import z poche"
|
||||
|
||||
msgid "Export your poche data"
|
||||
msgstr "Eksportowac dane poche"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Kliknij tu"
|
||||
|
||||
msgid "to download your database."
|
||||
msgstr "aby pobrac bazę danych."
|
||||
|
||||
msgid "to export your poche data."
|
||||
msgstr "aby eksportować dane poche."
|
||||
|
||||
msgid "Tag"
|
||||
msgstr "Teg"
|
||||
|
||||
msgid "No link available here!"
|
||||
msgstr "Brak dostępnych linków!"
|
||||
|
||||
msgid "toggle mark as read"
|
||||
msgstr "przełączyć znak jako przeczytane"
|
||||
|
||||
msgid "You can enter multiple tags, separated by commas."
|
||||
msgstr "Mozna wprowadzić wiele tagów rozdzielajac je przecinkami."
|
||||
|
||||
msgid "return to article"
|
||||
msgstr "wrócić do artykułu"
|
||||
|
||||
msgid "plop"
|
||||
msgstr "plop"
|
||||
|
||||
msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>."
|
||||
msgstr "Można <a href='wallabag_compatibility_test.php'>sprawdzić swoją konfigurację tu</a>."
|
||||
|
||||
msgid "installation"
|
||||
msgstr "instalacja"
|
||||
|
||||
msgid "install your wallabag"
|
||||
msgstr "zainstalować 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 nie jest jeszcze zainstalowany. Proszę wypełnić poniższy formularz, aby go zainstalowac. Nie wahaj się <a href='http://doc.wallabag.org/'>zapoznac się z dokumentacja na stronie wallabag</a>."
|
||||
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
||||
msgid "Repeat your password"
|
||||
msgstr "Powtórz hasło"
|
||||
|
||||
msgid "Install"
|
||||
msgstr "Instalowac"
|
||||
|
||||
msgid "login to your wallabag"
|
||||
msgstr "zalogować się do swojego wallabag"
|
||||
|
||||
msgid "Login to wallabag"
|
||||
msgstr "Zalogować się do wallabag"
|
||||
|
||||
msgid "you are in demo mode, some features may be disabled."
|
||||
msgstr "jesteś w trybie demo, niektóre funkcje mogą być niedostępne."
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Imię użytkownika"
|
||||
|
||||
msgid "Stay signed in"
|
||||
msgstr "Pozostań zalogowany"
|
||||
|
||||
msgid "(Do not check on public computers)"
|
||||
msgstr "(Nie sprawdzaj na publicznych komputerach"
|
||||
|
||||
msgid "Untitled"
|
||||
msgstr "Bez nazwy"
|
||||
|
||||
msgid "the link has been added successfully"
|
||||
msgstr "link pozostał pomyślnie dodany"
|
||||
|
||||
msgid "error during insertion : the link wasn't added"
|
||||
msgstr "błąd podczas wprowadzania: link nie zostal dodany"
|
||||
|
||||
msgid "the link has been deleted successfully"
|
||||
msgstr "link zostal pomyślnie usunięty"
|
||||
|
||||
msgid "the link wasn't deleted"
|
||||
msgstr "link nie został usunięty"
|
||||
|
||||
msgid "previous"
|
||||
msgstr "poprzednia"
|
||||
|
||||
msgid "next"
|
||||
msgstr "następna"
|
||||
|
||||
msgid "in demo mode, you can't update your password"
|
||||
msgstr "w trybie demo, nie można zmieniać hasła"
|
||||
|
||||
msgid "your password has been updated"
|
||||
msgstr "twoje hasło zmienione"
|
||||
|
||||
msgid "the two fields have to be filled & the password must be the same in the two fields"
|
||||
msgstr "oba pola muszą być wypełnione i hasła muszę być takie same w obu polach"
|
||||
|
||||
msgid "still using the \""
|
||||
msgstr "nadal w użyciu \""
|
||||
|
||||
msgid "that theme does not seem to be installed"
|
||||
msgstr "wydaje się że motyw nie był zainstalowany"
|
||||
|
||||
msgid "you have changed your theme preferences"
|
||||
msgstr "ustawienia motywu zostałe zmienione"
|
||||
|
||||
msgid "that language does not seem to be installed"
|
||||
msgstr "wydaje się że język nie był zainstalowany"
|
||||
|
||||
msgid "you have changed your language preferences"
|
||||
msgstr "ustawienia języka zostałe zmienione"
|
||||
|
||||
msgid "login failed: you have to fill all fields"
|
||||
msgstr "logowanie nie powiodlo się: musisz wypełnić wszystkie pola"
|
||||
|
||||
msgid "welcome to your poche"
|
||||
msgstr "witamy w poche"
|
||||
|
||||
msgid "login failed: bad login or password"
|
||||
msgstr "logowanie nie powiodlo się: zly login lub hasło"
|
||||
|
||||
msgid "see you soon!"
|
||||
msgstr "do zobaczenia wkrótce!"
|
||||
|
||||
msgid "import from instapaper completed"
|
||||
msgstr "import з instapaper'a zakończony"
|
||||
|
||||
msgid "import from pocket completed"
|
||||
msgstr "import z pocket'a zakończony"
|
||||
|
||||
msgid "import from Readability completed. "
|
||||
msgstr "import z Readability zakończony. "
|
||||
|
||||
msgid "import from Poche completed. "
|
||||
msgstr "import z Poche zakończony. "
|
||||
|
||||
msgid "Unknown import provider."
|
||||
msgstr "Nieznany dostawca importu."
|
||||
|
||||
msgid "Incomplete inc/poche/define.inc.php file, please define \""
|
||||
msgstr "Niekompletny plik inc/poche/define.inc.php, proszę definiować \""
|
||||
|
||||
msgid "Could not find required \""
|
||||
msgstr "Nie znaleziono potrzebnego \""
|
||||
|
||||
msgid "Uh, there is a problem while generating feeds."
|
||||
msgstr "Uh, jest problem podczas generowania kanałów (feeds)."
|
||||
|
||||
msgid "Oops, it seems you don't have PHP 5."
|
||||
msgstr "Oops, wygląda ze u was niema PHP 5."
|
||||
|
||||
BIN
locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.mo
Normal file → Executable file
498
locale/ru_RU.utf8/LC_MESSAGES/ru_RU.utf8.po
Normal file → Executable file
@ -1,123 +1,86 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-02-07 12:40+0300\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Nicolas Lœuillet <nicolas.loeuillet@gmail.com>\n"
|
||||
"Last-Translator: Maryana <mariroz@mr.lviv.ua>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: \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-Language: Russian\n"
|
||||
"X-Poedit-Country: RUSSIA\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
"X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag\n"
|
||||
|
||||
msgid "config"
|
||||
msgstr "настройки"
|
||||
msgid "poche, a read it later open source system"
|
||||
msgstr "poche, сервис отложенного чтения с открытым исходным кодом"
|
||||
|
||||
msgid "Poching a link"
|
||||
msgstr "Сохраняю ссылку"
|
||||
msgid "login failed: user doesn't exist"
|
||||
msgstr "войти не удалось: пользователь не существует"
|
||||
|
||||
msgid "read the documentation"
|
||||
msgstr "читать инструкцию"
|
||||
msgid "Return home"
|
||||
msgstr "На главную"
|
||||
|
||||
msgid "by filling this field"
|
||||
msgstr "заполнением этого поля"
|
||||
msgid "Back to top"
|
||||
msgstr "Наверх"
|
||||
|
||||
msgid "poche it!"
|
||||
msgstr "Прикарманить!"
|
||||
msgid "original"
|
||||
msgstr "источник"
|
||||
|
||||
msgid "Updating poche"
|
||||
msgstr "Обновляю poche"
|
||||
msgid "Mark as read"
|
||||
msgstr "Отметить как прочитанное"
|
||||
|
||||
msgid "your version"
|
||||
msgstr "Ваша версия"
|
||||
msgid "Toggle mark as read"
|
||||
msgstr "Изменить отметку 'прочитано'"
|
||||
|
||||
msgid "latest stable version"
|
||||
msgstr "крайняя стабильная версия"
|
||||
msgid "Favorite"
|
||||
msgstr "Избранное"
|
||||
|
||||
msgid "a more recent stable version is available."
|
||||
msgstr "есть более новая стабильная версия."
|
||||
msgid "Toggle favorite"
|
||||
msgstr "Изменить метку избранного"
|
||||
|
||||
msgid "you are up to date."
|
||||
msgstr "у Вас всё самое новое."
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
msgid "latest dev version"
|
||||
msgstr "крайняя версия разработчиков"
|
||||
msgid "Tweet"
|
||||
msgstr "Твитнуть"
|
||||
|
||||
msgid "a more recent development version is available."
|
||||
msgstr "есть более свежая версия разработчиков."
|
||||
msgid "Email"
|
||||
msgstr "Отправить по почте"
|
||||
|
||||
msgid "Change your password"
|
||||
msgstr "Смени пароль"
|
||||
msgid "shaarli"
|
||||
msgstr "shaarli"
|
||||
|
||||
msgid "New password:"
|
||||
msgstr "Новый пароль:"
|
||||
msgid "flattr"
|
||||
msgstr "проспонсировать"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
msgid "Does this article appear wrong?"
|
||||
msgstr "Статья выглядит криво?"
|
||||
|
||||
msgid "Repeat your new password:"
|
||||
msgstr "Ещё раз новый пароль:"
|
||||
msgid "tags:"
|
||||
msgstr "теги:"
|
||||
|
||||
msgid "Update"
|
||||
msgstr "Обновить"
|
||||
msgid "Edit tags"
|
||||
msgstr "Редактировать теги"
|
||||
|
||||
msgid "Import"
|
||||
msgstr "Импортировать"
|
||||
msgid "return home"
|
||||
msgstr "на главную"
|
||||
|
||||
msgid "Please execute the import script locally, it can take a very long time."
|
||||
msgstr ""
|
||||
"Выполните сценарий импорта локально - он может занять слишком много времени."
|
||||
msgid "powered by"
|
||||
msgstr "при поддержке"
|
||||
|
||||
msgid "More infos in the official doc:"
|
||||
msgstr "Больше сведений в официальной документации:"
|
||||
msgid "debug mode is on so cache is off."
|
||||
msgstr "включён режим отладки - кеш выключен."
|
||||
|
||||
msgid "import from Pocket"
|
||||
msgstr "импортировать из Pocket"
|
||||
msgid "your poche version:"
|
||||
msgstr "ваша версия poche:"
|
||||
|
||||
msgid "import from Readability"
|
||||
msgstr "импортировать из Readability"
|
||||
|
||||
msgid "import from Instapaper"
|
||||
msgstr "импортировать из Instapaper"
|
||||
|
||||
msgid "Export your poche datas"
|
||||
msgstr "Экспортировать данные poche"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Кликни сюда"
|
||||
|
||||
msgid "to export your poche datas."
|
||||
msgstr "чтобы экспортировать твои записи из poche."
|
||||
|
||||
msgid "back to home"
|
||||
msgstr "домой"
|
||||
|
||||
msgid "installation"
|
||||
msgstr "установка"
|
||||
|
||||
msgid "install your poche"
|
||||
msgstr "установить твой poche"
|
||||
|
||||
msgid ""
|
||||
"poche is still not installed. Please fill the below form to install it. "
|
||||
"Don't hesitate to <a href='http://inthepoche.com/doc'>read the documentation "
|
||||
"on poche website</a>."
|
||||
msgstr ""
|
||||
"poche всё ещё не установлен. Надо заполнить форму ниже, чтобы установить "
|
||||
"его. Неплохо также <a href='http://inthepoche.com/doc'>прочесть документацию "
|
||||
"на сайте poche</a>."
|
||||
|
||||
msgid "Login"
|
||||
msgstr "Регистрационное имя"
|
||||
|
||||
msgid "Repeat your password"
|
||||
msgstr "Повтори пароль"
|
||||
|
||||
msgid "Install"
|
||||
msgstr "Установить"
|
||||
|
||||
msgid "back to top"
|
||||
msgstr "наверх"
|
||||
msgid "storage:"
|
||||
msgstr "хранилище:"
|
||||
|
||||
msgid "favoris"
|
||||
msgstr "избранное"
|
||||
@ -126,7 +89,7 @@ msgid "archive"
|
||||
msgstr "архив"
|
||||
|
||||
msgid "unread"
|
||||
msgstr "нечитанное"
|
||||
msgstr "непрочитанное"
|
||||
|
||||
msgid "by date asc"
|
||||
msgstr "по дате, сперва старые"
|
||||
@ -146,83 +109,336 @@ msgstr "по заголовку"
|
||||
msgid "by title desc"
|
||||
msgstr "по заголовку (обратный)"
|
||||
|
||||
msgid "No link available here!"
|
||||
msgstr "Здесь нет линка!"
|
||||
|
||||
msgid "toggle mark as read"
|
||||
msgstr "изменить отметку 'прочитано'"
|
||||
msgid "No articles found."
|
||||
msgstr "Статей не найдено."
|
||||
|
||||
msgid "toggle favorite"
|
||||
msgstr "изменить избранность"
|
||||
msgstr "изменить метку избранного"
|
||||
|
||||
msgid "delete"
|
||||
msgstr "удалить"
|
||||
|
||||
msgid "original"
|
||||
msgstr "исходный"
|
||||
msgid "estimated reading time:"
|
||||
msgstr "ориентировочное время чтения:"
|
||||
|
||||
msgid "results"
|
||||
msgstr "найдено"
|
||||
|
||||
msgid "tweet"
|
||||
msgstr "твитнуть"
|
||||
|
||||
msgid "email"
|
||||
msgstr "отправить по почте"
|
||||
|
||||
msgid "shaarli"
|
||||
msgstr "Шаарли"
|
||||
|
||||
msgid "flattr"
|
||||
msgstr "проспонсировать"
|
||||
|
||||
msgid "this article appears wrong?"
|
||||
msgstr "статья выглядит криво?"
|
||||
|
||||
msgid "create an issue"
|
||||
msgstr "оповестить об ошибке"
|
||||
|
||||
msgid "or"
|
||||
msgstr "или"
|
||||
|
||||
msgid "contact us by mail"
|
||||
msgstr "связаться по почте"
|
||||
|
||||
msgid "plop"
|
||||
msgstr "plop"
|
||||
|
||||
msgid "home"
|
||||
msgstr "домой"
|
||||
msgstr "главная"
|
||||
|
||||
msgid "favorites"
|
||||
msgstr "избранное"
|
||||
|
||||
msgid "tags"
|
||||
msgstr "теги"
|
||||
|
||||
msgid "config"
|
||||
msgstr "настройки"
|
||||
|
||||
msgid "logout"
|
||||
msgstr "выйти"
|
||||
msgstr "выход"
|
||||
|
||||
msgid "powered by"
|
||||
msgstr "на основе"
|
||||
msgid "Poching links"
|
||||
msgstr "Сохранение ссылок"
|
||||
|
||||
msgid "debug mode is on so cache is off."
|
||||
msgstr "включён режим отладки - кеш выключен."
|
||||
msgid "There are several ways to poche a link:"
|
||||
msgstr "Существует несколько способов сохранить ссылку:"
|
||||
|
||||
msgid "your poche version:"
|
||||
msgstr "Ваша версия poche:"
|
||||
msgid "read the documentation"
|
||||
msgstr "читать инструкцию"
|
||||
|
||||
msgid "storage:"
|
||||
msgstr "хранилище:"
|
||||
msgid "download the extension"
|
||||
msgstr "скачать расширение"
|
||||
|
||||
msgid "login to your poche"
|
||||
msgstr "войти в свой poche"
|
||||
msgid "via F-Droid"
|
||||
msgstr "с F-Droid"
|
||||
|
||||
msgid " or "
|
||||
msgstr "или"
|
||||
|
||||
msgid "via Google Play"
|
||||
msgstr "с Google Play"
|
||||
|
||||
msgid "download the application"
|
||||
msgstr "скачать приложение"
|
||||
|
||||
msgid "By filling this field"
|
||||
msgstr "Заполнением этого поля"
|
||||
|
||||
msgid "poche it!"
|
||||
msgstr "прикарманить!"
|
||||
|
||||
msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "Закладка: перетащите и опустите ссылку на панель закладок"
|
||||
|
||||
msgid "Updating poche"
|
||||
msgstr "Обновления poche"
|
||||
|
||||
msgid "Installed version"
|
||||
msgstr "Установленная версия"
|
||||
|
||||
msgid "Latest stable version"
|
||||
msgstr "Последняя стабильная версия"
|
||||
|
||||
msgid "A more recent stable version is available."
|
||||
msgstr "Доступна новая стабильная версия."
|
||||
|
||||
msgid "You are up to date."
|
||||
msgstr "У вас всё самое новое."
|
||||
|
||||
msgid "latest dev version"
|
||||
msgstr "последняя версия в разработке"
|
||||
|
||||
msgid "a more recent development version is available."
|
||||
msgstr "есть более свежая версия в разработке."
|
||||
|
||||
msgid "you are up to date."
|
||||
msgstr "у вас всё самое новое."
|
||||
|
||||
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 "Ваш маркер ленты (feed token) не определен, для того, чтобы активировать ленту, сначала создайте его. Нажмите <a href='?feed&action=generate'>здесь для его генерации</ а>."
|
||||
|
||||
msgid "Unread feed"
|
||||
msgstr "Лента непрочитанного"
|
||||
|
||||
msgid "Favorites feed"
|
||||
msgstr "Лента избранного"
|
||||
|
||||
msgid "Archive feed"
|
||||
msgstr "Лента архива"
|
||||
|
||||
msgid "Your token:"
|
||||
msgstr "Ваш маркер (token):"
|
||||
|
||||
msgid "Your user id:"
|
||||
msgstr "Ваш идентификатор пользователя (user id):"
|
||||
|
||||
msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>."
|
||||
msgstr "Вы можете создать новый маркер: <a href='?feed&action=generate'>сгенерировать!</a>."
|
||||
|
||||
msgid "Change your theme"
|
||||
msgstr "Изменить тему"
|
||||
|
||||
msgid "Theme:"
|
||||
msgstr "Тема:"
|
||||
|
||||
msgid "Update"
|
||||
msgstr "Обновить"
|
||||
|
||||
msgid "Change your language"
|
||||
msgstr "Изменить язык"
|
||||
|
||||
msgid "Language:"
|
||||
msgstr "Язык:"
|
||||
|
||||
msgid "Change your password"
|
||||
msgstr "Смена пароля"
|
||||
|
||||
msgid "New password:"
|
||||
msgstr "Новый пароль:"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
msgid "Repeat your new password:"
|
||||
msgstr "Ещё раз новый пароль:"
|
||||
|
||||
msgid "Import"
|
||||
msgstr "Импортировать"
|
||||
|
||||
msgid "Please execute the import script locally as it can take a very long time."
|
||||
msgstr "Пожалуйста, выполните сценарий импорта локально - это может занять слишком много времени."
|
||||
|
||||
msgid "More info in the official docs:"
|
||||
msgstr "Больше сведений в официальной документации:"
|
||||
|
||||
msgid "Import from Pocket"
|
||||
msgstr "Импортировать из Pocket"
|
||||
|
||||
#, php-format
|
||||
msgid "(you must have a %s file on your server)"
|
||||
msgstr "(файл %s должен присутствовать на вашем сервере)"
|
||||
|
||||
msgid "Import from Readability"
|
||||
msgstr "Импортировать из Readability"
|
||||
|
||||
msgid "Import from Instapaper"
|
||||
msgstr "Импортировать из Instapaper"
|
||||
|
||||
msgid "Import from poche"
|
||||
msgstr "Импортировать из poche"
|
||||
|
||||
msgid "Export your poche data"
|
||||
msgstr "Экспортировать данные poche"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Кликните здесь"
|
||||
|
||||
msgid "to download your database."
|
||||
msgstr "чтобы скачать вашу базу данных"
|
||||
|
||||
msgid "to export your poche data."
|
||||
msgstr "чтобы экспортировать свои записи из poche."
|
||||
|
||||
msgid "Tag"
|
||||
msgstr "Тег"
|
||||
|
||||
msgid "No link available here!"
|
||||
msgstr "Здесь нет ссылки!"
|
||||
|
||||
msgid "toggle mark as read"
|
||||
msgstr "изменить отметку 'прочитано'"
|
||||
|
||||
msgid "You can enter multiple tags, separated by commas."
|
||||
msgstr "Вы можете ввести несколько тегов, разделяя их запятой."
|
||||
|
||||
msgid "return to article"
|
||||
msgstr "вернуться к статье"
|
||||
|
||||
msgid "plop"
|
||||
msgstr "plop"
|
||||
|
||||
msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>."
|
||||
msgstr "Вы можете <a href='wallabag_compatibility_test.php'>проверить конфигурацию здесь</a>."
|
||||
|
||||
msgid "installation"
|
||||
msgstr "установка"
|
||||
|
||||
msgid "install your wallabag"
|
||||
msgstr "установка 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 всё ещё не установлен. Надо заполнить форму ниже, чтобы установить его. Неплохо также <a href='http://doc.wallabag.org'>прочесть документацию на сайте wallabag</a>."
|
||||
|
||||
msgid "Login"
|
||||
msgstr "Имя пользователя"
|
||||
|
||||
msgid "Repeat your password"
|
||||
msgstr "Повторите пароль"
|
||||
|
||||
msgid "Install"
|
||||
msgstr "Установить"
|
||||
|
||||
msgid "login to your wallabag"
|
||||
msgstr "войти в свой wallabag"
|
||||
|
||||
msgid "Login to wallabag"
|
||||
msgstr "Войдите в wallabag"
|
||||
|
||||
msgid "you are in demo mode, some features may be disabled."
|
||||
msgstr "демонстрационный режим - работают не все возможности."
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Имя пользователя"
|
||||
|
||||
msgid "Stay signed in"
|
||||
msgstr "Оставаться зарегистрированным"
|
||||
msgstr "Запомнить меня"
|
||||
|
||||
msgid "(Do not check on public computers)"
|
||||
msgstr "(Не отмечай на чужих компьютерах)"
|
||||
msgstr "(Не отмечайте на чужих компьютерах)"
|
||||
|
||||
msgid "Sign in"
|
||||
msgstr "Зарегистрироваться"
|
||||
msgid "Untitled"
|
||||
msgstr "Без названия"
|
||||
|
||||
msgid "the link has been added successfully"
|
||||
msgstr "ссылка успешно добавлена"
|
||||
|
||||
msgid "error during insertion : the link wasn't added"
|
||||
msgstr "ошибка во время вставки: ссылка не добавлена"
|
||||
|
||||
msgid "the link has been deleted successfully"
|
||||
msgstr "ссылка успешно удалена"
|
||||
|
||||
msgid "the link wasn't deleted"
|
||||
msgstr "ссылка не удалена"
|
||||
|
||||
msgid "previous"
|
||||
msgstr "предыдущая"
|
||||
|
||||
msgid "next"
|
||||
msgstr "следующая"
|
||||
|
||||
msgid "in demo mode, you can't update your password"
|
||||
msgstr "в демонстрационном режиме смена пароля не разрешена"
|
||||
|
||||
msgid "your password has been updated"
|
||||
msgstr "ваш пароль обновлен"
|
||||
|
||||
msgid "the two fields have to be filled & the password must be the same in the two fields"
|
||||
msgstr "необходимо заполнить оба поля и пароль в обоих должен совпадать"
|
||||
|
||||
msgid "still using the \""
|
||||
msgstr "все еще используется \""
|
||||
|
||||
msgid "that theme does not seem to be installed"
|
||||
msgstr "кажется, эта тема не установлена"
|
||||
|
||||
msgid "you have changed your theme preferences"
|
||||
msgstr "вы изменили свои настройки темы"
|
||||
|
||||
msgid "that language does not seem to be installed"
|
||||
msgstr "кажется, что этот язык не установлен"
|
||||
|
||||
msgid "you have changed your language preferences"
|
||||
msgstr "вы изменили свои настройки языка"
|
||||
|
||||
msgid "login failed: you have to fill all fields"
|
||||
msgstr "войти не удалось: вы должны заполнить все поля"
|
||||
|
||||
msgid "welcome to your poche"
|
||||
msgstr "добро пожаловать в ваш poche"
|
||||
|
||||
msgid "login failed: bad login or password"
|
||||
msgstr "войти не удалось: неправильное имя пользователя или пароль"
|
||||
|
||||
msgid "see you soon!"
|
||||
msgstr "увидимся!"
|
||||
|
||||
msgid "import from instapaper completed"
|
||||
msgstr "импорт из instapaper завершен"
|
||||
|
||||
msgid "import from pocket completed"
|
||||
msgstr "импорт из pocket завершен"
|
||||
|
||||
msgid "import from Readability completed. "
|
||||
msgstr "импорт из Readability завершен"
|
||||
|
||||
msgid "import from Poche completed. "
|
||||
msgstr "импорт из Poche завершен."
|
||||
|
||||
msgid "Unknown import provider."
|
||||
msgstr "Неизвестный провайдер импорта."
|
||||
|
||||
msgid "Incomplete inc/poche/define.inc.php file, please define \""
|
||||
msgstr "Незавершенный файл inc/poche/define.inc.php file, пожалуйста определите \""
|
||||
|
||||
msgid "Could not find required \""
|
||||
msgstr "Не удалось найти требуемый \""
|
||||
|
||||
msgid "Uh, there is a problem while generating feeds."
|
||||
msgstr "Ох, возникла проблема при создании ленты."
|
||||
|
||||
msgid "Oops, it seems you don't have PHP 5."
|
||||
msgstr "Упс, кажется у вас не установлен PHP 5."
|
||||
|
||||
#~ msgid "your version"
|
||||
#~ msgstr "Ваша версия"
|
||||
|
||||
#~ msgid "back to home"
|
||||
#~ msgstr "домой"
|
||||
|
||||
#~ msgid "create an issue"
|
||||
#~ msgstr "оповестить об ошибке"
|
||||
|
||||
#~ msgid "or"
|
||||
#~ msgstr "или"
|
||||
|
||||
#~ msgid "contact us by mail"
|
||||
#~ msgstr "связаться по почте"
|
||||
|
||||
#~ msgid "Sign in"
|
||||
#~ msgstr "Зарегистрироваться"
|
||||
|
||||
BIN
locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.mo
Executable file
428
locale/uk_UA.utf8/LC_MESSAGES/uk_UA.utf8.po
Executable file
@ -0,0 +1,428 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: wballabag\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-02-06 19:23+0300\n"
|
||||
"PO-Revision-Date: 2014-02-06 19:24+0300\n"
|
||||
"Last-Translator: Maryana <mariroz@mr.lviv.ua>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"X-Poedit-Language: Ukrainian\n"
|
||||
"X-Poedit-Country: UKRAINE\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
"X-Poedit-SearchPath-0: /home/mariroz/_DEV/web/wallabag/wallabag\n"
|
||||
|
||||
msgid "poche, a read it later open source system"
|
||||
msgstr "poche, сервіс відкладеного читання з відкритим кодом"
|
||||
|
||||
msgid "login failed: user doesn't exist"
|
||||
msgstr "увійти не вдалося: користувач не існує"
|
||||
|
||||
msgid "powered by"
|
||||
msgstr "за підтримки"
|
||||
|
||||
msgid "debug mode is on so cache is off."
|
||||
msgstr "режим відладки включено, отже кеш виключено."
|
||||
|
||||
msgid "your poche version:"
|
||||
msgstr "версія вашої poche:"
|
||||
|
||||
msgid "storage:"
|
||||
msgstr "сховище:"
|
||||
|
||||
msgid "home"
|
||||
msgstr "головна"
|
||||
|
||||
msgid "favorites"
|
||||
msgstr "вибране"
|
||||
|
||||
msgid "archive"
|
||||
msgstr "архів"
|
||||
|
||||
msgid "tags"
|
||||
msgstr "теги"
|
||||
|
||||
msgid "config"
|
||||
msgstr "налаштування"
|
||||
|
||||
msgid "logout"
|
||||
msgstr "вихід"
|
||||
|
||||
msgid "return home"
|
||||
msgstr "повернутися на головну"
|
||||
|
||||
msgid "Poching links"
|
||||
msgstr "Зберігання посилань"
|
||||
|
||||
msgid "There are several ways to poche a link:"
|
||||
msgstr "Є кілька способів зберегти посилання:"
|
||||
|
||||
msgid "read the documentation"
|
||||
msgstr "читати документацію"
|
||||
|
||||
msgid "download the extension"
|
||||
msgstr "завантажити розширення"
|
||||
|
||||
msgid "via F-Droid"
|
||||
msgstr "через F-Droid"
|
||||
|
||||
msgid " or "
|
||||
msgstr "або"
|
||||
|
||||
msgid "via Google Play"
|
||||
msgstr "через Google Play"
|
||||
|
||||
msgid "download the application"
|
||||
msgstr "завантажити додаток"
|
||||
|
||||
msgid "By filling this field"
|
||||
msgstr "Заповнивши це поле"
|
||||
|
||||
msgid "poche it!"
|
||||
msgstr "зберегти!"
|
||||
|
||||
msgid "Bookmarklet: drag & drop this link to your bookmarks bar"
|
||||
msgstr "З допомогою закладки: перетягніть і відпустіть посилання на панель закладок"
|
||||
|
||||
msgid "Updating poche"
|
||||
msgstr "Оновлення poche"
|
||||
|
||||
msgid "Installed version"
|
||||
msgstr "Встановлено версію"
|
||||
|
||||
msgid "Latest stable version"
|
||||
msgstr "Остання стабільна версія"
|
||||
|
||||
msgid "A more recent stable version is available."
|
||||
msgstr "Є новіша стабільна версія."
|
||||
|
||||
msgid "You are up to date."
|
||||
msgstr "У вас остання версія."
|
||||
|
||||
msgid "latest dev version"
|
||||
msgstr "остання версія в розробці"
|
||||
|
||||
msgid "a more recent development version is available."
|
||||
msgstr "доступна новіша версія в розробці."
|
||||
|
||||
msgid "you are up to date."
|
||||
msgstr "у вас остання версія."
|
||||
|
||||
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 "Ваш маркер завантажень (feed token) не визначено, ви повинні спочатку згенерувати його для того, щоб активувати завантаження. Натисніть <a href='?feed&action=generate'>тут для його генерації</ A>."
|
||||
|
||||
msgid "Unread feed"
|
||||
msgstr "Завантаження непрочитаного"
|
||||
|
||||
msgid "Favorites feed"
|
||||
msgstr "Завантаження вибраного"
|
||||
|
||||
msgid "Archive feed"
|
||||
msgstr "Завантаження архіву"
|
||||
|
||||
msgid "Your token:"
|
||||
msgstr "Ваш маркер (token): "
|
||||
|
||||
msgid "Your user id:"
|
||||
msgstr "Ваш ідентифікатор користувача (user id):"
|
||||
|
||||
msgid "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>."
|
||||
msgstr "Ви можете перестворити ваш маркер: натисніть <a href='?feed&action=generate'>згенерувати!</a>."
|
||||
|
||||
msgid "Change your theme"
|
||||
msgstr "Змінити тему"
|
||||
|
||||
msgid "Theme:"
|
||||
msgstr "Тема:"
|
||||
|
||||
msgid "Update"
|
||||
msgstr "Оновити"
|
||||
|
||||
msgid "Change your language"
|
||||
msgstr "Змінити мову"
|
||||
|
||||
msgid "Language:"
|
||||
msgstr "Мова:"
|
||||
|
||||
msgid "Change your password"
|
||||
msgstr "Зміна паролю"
|
||||
|
||||
msgid "New password:"
|
||||
msgstr "Новий пароль:"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
msgid "Repeat your new password:"
|
||||
msgstr "Новий пароль ще раз:"
|
||||
|
||||
msgid "Import"
|
||||
msgstr "Імпортування"
|
||||
|
||||
msgid "Please execute the import script locally as it can take a very long time."
|
||||
msgstr "Будь ласка, виконайте сценарій імпорту локально, оскільки це може тривати досить довго."
|
||||
|
||||
msgid "More info in the official docs:"
|
||||
msgstr "Більш детальна інформація в офіційній документації:"
|
||||
|
||||
msgid "Import from Pocket"
|
||||
msgstr "Імпорт з Pocket-а"
|
||||
|
||||
#, php-format
|
||||
msgid "(you must have a %s file on your server)"
|
||||
msgstr "(файл %s повинен бути присутнім на вашому сервері)"
|
||||
|
||||
msgid "Import from Readability"
|
||||
msgstr "Імпорт з Readability"
|
||||
|
||||
msgid "Import from Instapaper"
|
||||
msgstr "Імпорт з Instapaper"
|
||||
|
||||
msgid "Import from poche"
|
||||
msgstr "Імпорт з poche"
|
||||
|
||||
msgid "Export your poche data"
|
||||
msgstr "Експортувати ваші дані з poche"
|
||||
|
||||
msgid "Click here"
|
||||
msgstr "Клікніть тут"
|
||||
|
||||
msgid "to download your database."
|
||||
msgstr "щоб завантажити вашу базу даних."
|
||||
|
||||
msgid "to export your poche data."
|
||||
msgstr "щоб експортувати ваші дані poche."
|
||||
|
||||
msgid "Tag"
|
||||
msgstr "Тег"
|
||||
|
||||
msgid "No link available here!"
|
||||
msgstr "Немає доступних посилань!"
|
||||
|
||||
msgid "toggle mark as read"
|
||||
msgstr "змінити мітку на прочитано"
|
||||
|
||||
msgid "toggle favorite"
|
||||
msgstr "змінити мітку вибраного"
|
||||
|
||||
msgid "delete"
|
||||
msgstr "видалити"
|
||||
|
||||
msgid "original"
|
||||
msgstr "оригінал"
|
||||
|
||||
msgid "estimated reading time:"
|
||||
msgstr "приблизний час читання:"
|
||||
|
||||
msgid "results"
|
||||
msgstr "результат(ів)"
|
||||
|
||||
msgid "You can enter multiple tags, separated by commas."
|
||||
msgstr "Ви можете ввести декілька тегів, розділених комами."
|
||||
|
||||
msgid "return to article"
|
||||
msgstr "повернутися до статті"
|
||||
|
||||
msgid "plop"
|
||||
msgstr "plop"
|
||||
|
||||
msgid "You can <a href='wallabag_compatibility_test.php'>check your configuration here</a>."
|
||||
msgstr "Ви можете <a href='wallabag_compatibility_test.php'>перевірити вашу конфігурацію тут</a>."
|
||||
|
||||
msgid "favoris"
|
||||
msgstr "вибране"
|
||||
|
||||
msgid "unread"
|
||||
msgstr "непрочитане"
|
||||
|
||||
msgid "by date asc"
|
||||
msgstr "за датою по зростанню"
|
||||
|
||||
msgid "by date"
|
||||
msgstr "за датою"
|
||||
|
||||
msgid "by date desc"
|
||||
msgstr "за датою по спаданню"
|
||||
|
||||
msgid "by title asc"
|
||||
msgstr "за назвою по зростанню"
|
||||
|
||||
msgid "by title"
|
||||
msgstr "за назвою"
|
||||
|
||||
msgid "by title desc"
|
||||
msgstr "за назвою по спаданню"
|
||||
|
||||
msgid "No articles found."
|
||||
msgstr "Статей не знайдено."
|
||||
|
||||
msgid "Toggle mark as read"
|
||||
msgstr "змінити мітку прочитаного"
|
||||
|
||||
msgid "installation"
|
||||
msgstr "інсталяція"
|
||||
|
||||
msgid "install your wallabag"
|
||||
msgstr "встановити 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 ще не встановлено. Будь ласка, заповніть форму нижче, щоб його встановити. Ви можете <a href='http://doc.wallabag.org/'>звертутися до документації на сайті wallabag</ A>."
|
||||
|
||||
msgid "Login"
|
||||
msgstr "Логін"
|
||||
|
||||
msgid "Repeat your password"
|
||||
msgstr "Пароль ще раз"
|
||||
|
||||
msgid "Install"
|
||||
msgstr "Встановити"
|
||||
|
||||
msgid "login to your wallabag"
|
||||
msgstr "увійти до wallabag"
|
||||
|
||||
msgid "Login to wallabag"
|
||||
msgstr "Увійти до wallabag"
|
||||
|
||||
msgid "you are in demo mode, some features may be disabled."
|
||||
msgstr "ви в демонстраційному режимі, деякі функції можуть бути відключені."
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Ім’я користувача"
|
||||
|
||||
msgid "Stay signed in"
|
||||
msgstr "Запам'ятати мене"
|
||||
|
||||
msgid "(Do not check on public computers)"
|
||||
msgstr "(Не відмічайте на загальнодоступних комп'ютерах)"
|
||||
|
||||
msgid "Return home"
|
||||
msgstr "Повернутися на головну"
|
||||
|
||||
msgid "Back to top"
|
||||
msgstr "Догори"
|
||||
|
||||
msgid "Mark as read"
|
||||
msgstr "Відмітити як прочитано/не прочитано"
|
||||
|
||||
msgid "Favorite"
|
||||
msgstr "Вибране"
|
||||
|
||||
msgid "Toggle favorite"
|
||||
msgstr "Відмітити як вибране/не вибране"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Видалити"
|
||||
|
||||
msgid "Tweet"
|
||||
msgstr "Твітнути"
|
||||
|
||||
msgid "Email"
|
||||
msgstr "Надіслати по e-mail"
|
||||
|
||||
msgid "shaarli"
|
||||
msgstr "shaarli"
|
||||
|
||||
msgid "flattr"
|
||||
msgstr "flattr"
|
||||
|
||||
msgid "Does this article appear wrong?"
|
||||
msgstr "Ця стаття виглядає не так, як треба?"
|
||||
|
||||
msgid "tags:"
|
||||
msgstr "теги:"
|
||||
|
||||
msgid "Edit tags"
|
||||
msgstr "Редагувати теги"
|
||||
|
||||
msgid "previous"
|
||||
msgstr "попередня"
|
||||
|
||||
msgid "next"
|
||||
msgstr "наступна"
|
||||
|
||||
msgid "Untitled"
|
||||
msgstr "Без назви"
|
||||
|
||||
msgid "the link has been added successfully"
|
||||
msgstr "посилання успішно додано"
|
||||
|
||||
msgid "error during insertion : the link wasn't added"
|
||||
msgstr "помилка при вставці: посилання не додано"
|
||||
|
||||
msgid "the link has been deleted successfully"
|
||||
msgstr "посилання успішно видалено"
|
||||
|
||||
msgid "the link wasn't deleted"
|
||||
msgstr "посилання не було видалено"
|
||||
|
||||
msgid "in demo mode, you can't update your password"
|
||||
msgstr "в демонстраційному режимі ви не можете змінювати свій пароль"
|
||||
|
||||
msgid "your password has been updated"
|
||||
msgstr "ваш пароль змінено"
|
||||
|
||||
msgid "the two fields have to be filled & the password must be the same in the two fields"
|
||||
msgstr "обидва поля повинні бути заповнені і пароль повинен співпадати в обох"
|
||||
|
||||
msgid "still using the \""
|
||||
msgstr "досі використовується \""
|
||||
|
||||
msgid "that theme does not seem to be installed"
|
||||
msgstr "виглядає, що цю тему не було встановлено"
|
||||
|
||||
msgid "you have changed your theme preferences"
|
||||
msgstr "ви змінили налаштування своєї теми"
|
||||
|
||||
msgid "that language does not seem to be installed"
|
||||
msgstr "виглядає, що цю мову не було встановлено"
|
||||
|
||||
msgid "you have changed your language preferences"
|
||||
msgstr "ви змінили свої налаштування мови"
|
||||
|
||||
msgid "login failed: you have to fill all fields"
|
||||
msgstr "увійти не вдалося: ви повинні заповнити всі поля"
|
||||
|
||||
msgid "welcome to your poche"
|
||||
msgstr "ласкаво просимо до вашого poche"
|
||||
|
||||
msgid "login failed: bad login or password"
|
||||
msgstr "увійти не вдалося: не вірний логін або пароль"
|
||||
|
||||
msgid "see you soon!"
|
||||
msgstr "бувайте, ще побачимось!"
|
||||
|
||||
msgid "import from instapaper completed"
|
||||
msgstr "імпорт з instapaper-а завершено"
|
||||
|
||||
msgid "import from pocket completed"
|
||||
msgstr "імпорт з pocket-а завершено"
|
||||
|
||||
msgid "import from Readability completed. "
|
||||
msgstr "імпорт з Readability завершено"
|
||||
|
||||
msgid "import from Poche completed. "
|
||||
msgstr "імпорт з Poche завершено."
|
||||
|
||||
msgid "Unknown import provider."
|
||||
msgstr "Невідомий провайдер імпорту."
|
||||
|
||||
msgid "Incomplete inc/poche/define.inc.php file, please define \""
|
||||
msgstr "Неповний файл inc/poche/define.inc.php, будь ласка, визначте \""
|
||||
|
||||
msgid "Could not find required \""
|
||||
msgstr "Не вдалося знайти потрібний \""
|
||||
|
||||
msgid "Uh, there is a problem while generating feeds."
|
||||
msgstr "Ох, є проблема при створенні завантажень (feeds)."
|
||||
|
||||
msgid "Oops, it seems you don't have PHP 5."
|
||||
msgstr "Упс, здається, у вас немає PHP 5."
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
# poche-themes
|
||||
|
||||
themes created by poche users
|
||||
|
||||
## list of themes
|
||||
|
||||
* dark ([preview](https://raw.github.com/inthepoche/poche/master/themes/dark/screenshot.jpg))
|
||||
* dmagenta ([preview](https://raw.github.com/inthepoche/poche/master/themes/dmagenta/screenshot.jpg))
|
||||
* solarized ([preview](https://raw.github.com/inthepoche/poche/master/themes/solarized/screenshot.jpg))
|
||||
* solarized-dark ([preview](https://raw.github.com/inthepoche/poche/master/themes/solarized-dark/screenshot.jpg))
|
||||
|
||||
## installation
|
||||
|
||||
In your poche folder:
|
||||
|
||||
```
|
||||
git submodule init
|
||||
git submodule update
|
||||
```
|
||||
|
||||
Then, in your config screen, select your favorite theme.
|
||||
|
||||
That's all !
|
||||
|
||||
## create a theme
|
||||
|
||||
Just have a look to this short documentation : http://inthepoche.com/doc/doku.php?id=designers:creating_theme
|
||||
|
||||
## send a theme
|
||||
|
||||
Send your theme by email at support@inthepoche.com.
|
||||
3
themes/baggy/README.md
Executable file
@ -0,0 +1,3 @@
|
||||
# Baggy Theme
|
||||
|
||||
theme created by Thomas LEBEAU alias Courgette http://thomaslebeau.fr/
|
||||
13
themes/baggy/_head.twig
Normal file
@ -0,0 +1,13 @@
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}/themes/{{theme}}/img/favicon.ico" />
|
||||
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-144x144-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-72x72-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-precomposed.png">
|
||||
<link href='http://fonts.googleapis.com/css?family=PT+Sans:700' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/ratatouille.css" media="all">
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/font.css" media="all">
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/main.css" media="all">
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/messages.css" media="all">
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/print.css" media="print">
|
||||
<script src="{{ poche_url }}/themes/{{theme}}/js/jquery-2.0.3.min.js"></script>
|
||||
<script src="{{ poche_url }}/themes/{{theme}}/js/init.js"></script>
|
||||
<script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/closeMessage.js"></script>
|
||||
9
themes/baggy/_menu.twig
Normal file
@ -0,0 +1,9 @@
|
||||
<button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button>
|
||||
<ul id="links" class="links">
|
||||
<li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "home" %}</a></li>
|
||||
<li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li>
|
||||
<li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li>
|
||||
<li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li>
|
||||
<li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li>
|
||||
<li><a class="icon icon-power" href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li>
|
||||
</ul>
|
||||
7
themes/baggy/_top.twig
Normal file
@ -0,0 +1,7 @@
|
||||
<header class="w600p center mbm">
|
||||
<h1 class="logo">
|
||||
{% if view == 'home' %}{% block logo %}<img width="100" height="100" src="{{ poche_url }}/themes/{{theme}}/img/logo-w.png" alt="logo poche" />{% endblock %}
|
||||
{% else %}<a href="./" title="{% trans "return home" %}" >{{ block('logo') }}</a>
|
||||
{% endif %}
|
||||
</h1>
|
||||
</header>
|
||||
119
themes/baggy/config.twig
Normal file
@ -0,0 +1,119 @@
|
||||
{% extends "layout.twig" %}
|
||||
|
||||
{% block title %}{% trans "config" %}{% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% 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>
|
||||
<ul>
|
||||
<li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/poche/" 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/repository/browse/?fdid=fr.gaulupeau.apps.Poche" 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>Windows Phone: <a href="https://www.windowsphone.com/en-us/store/app/poche/334de2f0-51b5-4826-8549-a3d805a37e83" title="download the window phone application">{% trans "download the application" %}</a></li>
|
||||
<li>
|
||||
<form method="get" action="index.php">
|
||||
<label class="addurl" for="plainurl">{% trans "By filling this field" %}:</label>
|
||||
<input required placeholder="example.com/article" class="addurl" id="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>
|
||||
</ul>
|
||||
|
||||
<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 %}</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 %}
|
||||
</ul>
|
||||
|
||||
<h2>{% trans "Feeds" %}</h2>
|
||||
{% if token == '' %}
|
||||
<p>{% trans "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>." %}</p>
|
||||
{% else %}
|
||||
<ul>
|
||||
<li><a href="?feed&type=home&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Unread feed" %}</a></li>
|
||||
<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>
|
||||
{% endif %}
|
||||
|
||||
<h2>{% trans "Change your theme" %}</h2>
|
||||
<form method="post" action="?updatetheme" name="changethemeform">
|
||||
<fieldset class="w500p inline">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="theme">{% trans "Theme:" %}</label>
|
||||
<select class="col" id="theme" name="theme">
|
||||
{% for key, theme in themes %}
|
||||
<option value="{{ key }}" {{ theme.current ? 'selected' : '' }}>{{ theme.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<input type="hidden" name="returnurl" value="{{ referer }}">
|
||||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
|
||||
<h2>{% trans "Change your language" %}</h2>
|
||||
<form method="post" action="?updatelanguage" name="changelanguageform">
|
||||
<fieldset class="w500p inline">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="language">{% trans "Language:" %}</label>
|
||||
<select class="col" id="language" name="language">
|
||||
{% for language in languages %}
|
||||
<option value="{{ language.name }}" {{ language.current ? 'selected' : '' }}>{{ language.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<input type="hidden" name="returnurl" value="{{ referer }}">
|
||||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
|
||||
{% if http_auth == 0 %}
|
||||
<h2>{% trans "Change your password" %}</h2>
|
||||
<form method="post" action="?config" name="loginform">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="password">{% trans "New password:" %}</label>
|
||||
<input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2">
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label>
|
||||
<input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<input type="hidden" name="returnurl" value="{{ referer }}">
|
||||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
<h2>{% trans "Import" %}</h2>
|
||||
<p>{% trans "Please execute the import script locally as it can take a very long time." %}</p>
|
||||
<p>{% trans "More info in the official documentation:" %} <a href="http://doc.wallabag.org/doku.php?id=users:migrate">wallabag.org</a></p>
|
||||
<ul>
|
||||
<li><a href="./?import&from=pocket">{% trans "Import from Pocket" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('POCKET_FILE')) }}</li>
|
||||
<li><a href="./?import&from=readability">{% trans "Import from Readability" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('READABILITY_FILE')) }}</li>
|
||||
<li><a href="./?import&from=instapaper">{% trans "Import from Instapaper" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('INSTAPAPER_FILE')) }}</li>
|
||||
<li><a href="./?import&from=poche">{% trans "Import from wallabag" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('POCHE_FILE')) }}</li>
|
||||
</ul>
|
||||
|
||||
<h2>{% trans "Export your wallabag data" %}</h2>
|
||||
{% if constant('STORAGE') == 'sqlite' %}
|
||||
<p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %}
|
||||
<p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p>
|
||||
{% endblock %}
|
||||
0
themes/baggy/css/font.css
Executable file
821
themes/baggy/css/main.css
Executable file
@ -0,0 +1,821 @@
|
||||
/* ==========================================================================
|
||||
Sommaire
|
||||
|
||||
1 = Style Guide
|
||||
2 = Layout
|
||||
3 = Pictos
|
||||
4 = Messages
|
||||
5 = Article
|
||||
6 = Media queries
|
||||
|
||||
========================================================================== */
|
||||
|
||||
html {
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #EEE;
|
||||
}
|
||||
|
||||
.login {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
.login #main {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.login form {
|
||||
background: #FFF;
|
||||
padding: 1.5em;
|
||||
box-shadow: 0 1px 8px rgba(0,0,0,0.9);
|
||||
width: 20em;
|
||||
position: absolute;
|
||||
top: 8em;
|
||||
left: 50%;
|
||||
margin-left: -10em;
|
||||
}
|
||||
|
||||
.login .logo {
|
||||
position: absolute;
|
||||
top: 2em;
|
||||
left: 50%;
|
||||
margin-left: -55px;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
1 = Style Guide
|
||||
========================================================================== */
|
||||
|
||||
::selection {
|
||||
color: #FFF;
|
||||
background: #000;
|
||||
}
|
||||
|
||||
.desktopHide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.logo {
|
||||
position: fixed;
|
||||
z-index: 20;
|
||||
top: 0.4em;
|
||||
left: 0.6em;
|
||||
}
|
||||
|
||||
h2, h3, h4 {
|
||||
font-family: 'PT Sans', sans-serif;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
p, li {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a:hover, a:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
form fieldset {
|
||||
border:0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
form input[type="text"], select, form input[type="password"], form input[type="url"] {
|
||||
border: 1px solid #999;
|
||||
padding: 0.5em 1em;
|
||||
min-width: 12em;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0){
|
||||
select{
|
||||
-webkit-appearance: none;
|
||||
border-radius: 0;
|
||||
background: #FFF url(../img/bg-select.png) no-repeat right center;
|
||||
}
|
||||
}
|
||||
|
||||
fieldset label {
|
||||
min-width: 12.5em;
|
||||
}
|
||||
|
||||
.inline .row {
|
||||
display: inline-block;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
.inline label {
|
||||
min-width: 6em;
|
||||
}
|
||||
|
||||
fieldset label {
|
||||
display: inline-block;
|
||||
margin-right: 0.5em;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
form .row {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
form button, input[type="submit"] {
|
||||
cursor:pointer;
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
border:0;
|
||||
padding: 0.5em 1em;
|
||||
display: inline-block;
|
||||
border:1px solid #000;
|
||||
}
|
||||
|
||||
form button:hover, form button:focus, input[type="submit"]:hover, input[type="submit"]:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
-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;
|
||||
}
|
||||
|
||||
#bookmarklet {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
h2:after {
|
||||
content: "";
|
||||
height: 4px;
|
||||
width: 70px;
|
||||
background: #000;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.links {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.links li {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
#links {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 9em;
|
||||
left: 0;
|
||||
text-align: right;
|
||||
background: #333;
|
||||
padding-top: 9em;
|
||||
height: 100%;
|
||||
box-shadow:inset -4px 0 20px rgba(0,0,0,0.6);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
#main {
|
||||
margin-left: 12em;
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
padding-right: 5%;
|
||||
}
|
||||
|
||||
#links a {
|
||||
display: block;
|
||||
padding: 0.5em 2em 0.5em 1em;
|
||||
color: #FFF;
|
||||
position: relative;
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
font-family: 'PT Sans', sans-serif;
|
||||
-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;
|
||||
}
|
||||
|
||||
#links a:hover, #links a:focus {
|
||||
background: #999;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#links .current:after {
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 10px;
|
||||
border-color: transparent #EEE transparent transparent;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
margin-top: -10px;
|
||||
}
|
||||
|
||||
#links li:last-child {
|
||||
position: fixed;
|
||||
bottom: 1em;
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
#links li:last-child a:before {
|
||||
font-size: 1.2em;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
2 = Layout
|
||||
========================================================================== */
|
||||
|
||||
#content {
|
||||
margin-top: 5em;
|
||||
min-height: 30em;
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: right;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
right: 5em;
|
||||
color: #999;
|
||||
font-size: 0.8em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: #999;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.list-entries {
|
||||
letter-spacing:-5px;
|
||||
}
|
||||
|
||||
.list-entries + .results {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
.estimatedTime a {
|
||||
color: #999;
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.estimatedTime small {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
}
|
||||
|
||||
.entrie {
|
||||
background: #FFF;
|
||||
letter-spacing:normal;
|
||||
box-shadow: 0 3px 7px rgba(0,0,0,0.3);
|
||||
display: inline-block;
|
||||
width: 32%;
|
||||
margin-bottom: 1.5em;
|
||||
vertical-align: top;
|
||||
margin-left: 1.5%;
|
||||
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;
|
||||
}
|
||||
|
||||
.entrie:before {
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-style:solid;
|
||||
border-color: transparent transparent #000 transparent;
|
||||
border-width: 10px;
|
||||
position: absolute;
|
||||
bottom: 0.3em;
|
||||
z-index: 10;
|
||||
right: 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;
|
||||
}
|
||||
|
||||
.entrie:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
height: 7px;
|
||||
width: 100%;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background: #000;
|
||||
-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:hover {
|
||||
box-shadow: 0 3px 10px rgba(0,0,0,1);
|
||||
}
|
||||
|
||||
.entrie:hover:after {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.entrie:hover:before {
|
||||
bottom: 2.4em;
|
||||
}
|
||||
|
||||
.entrie:hover h2 a {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.entrie h2 {
|
||||
text-transform: none;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.entrie h2:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
.entrie h2 a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
word-wrap: break-word;
|
||||
-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 h2 a:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.entrie p {
|
||||
color: #666;
|
||||
font-size: 0.9em;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.entrie h2 a:first-letter {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.entrie:hover .tools {
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.entrie .tools {
|
||||
position: absolute;
|
||||
bottom: -50px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
padding-right: 0.5em;
|
||||
text-align: right;
|
||||
-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 .tools a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
.entrie .tools a:hover {
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
.entrie .tools li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.entrie:nth-child(3n+1) {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.results {
|
||||
letter-spacing: -5px;
|
||||
padding: 0 0 0.5em;
|
||||
}
|
||||
|
||||
.results > * {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
letter-spacing: normal;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.nb-results {
|
||||
text-align: left;
|
||||
font-style: italic;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.pagination > * {
|
||||
display: inline-block;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
|
||||
.pagination a {
|
||||
color: #999;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.pagination a:hover, .pagination a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.pagination .disabled {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
3 = Pictos
|
||||
========================================================================== */
|
||||
|
||||
@font-face {
|
||||
font-family: 'icomoon';
|
||||
src:url('../font/icomoon.eot?-s0mcsx');
|
||||
src:url('../font/icomoon.eot?#iefix-s0mcsx') format('embedded-opentype'),
|
||||
url('../font/icomoon.woff?-s0mcsx') format('woff'),
|
||||
url('../font/icomoon.ttf?-s0mcsx') format('truetype'),
|
||||
url('../font/icomoon.svg?-s0mcsx#icomoon') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.icon span {
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
}
|
||||
|
||||
[class^="icon-"]:before, [class*=" icon-"]:before {
|
||||
font-family: 'icomoon';
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-flattr:before {
|
||||
content: "\e800";
|
||||
}
|
||||
.icon-mail:before {
|
||||
content: "\e80a";
|
||||
}
|
||||
.icon-up-open:before {
|
||||
content: "\e80b";
|
||||
}
|
||||
.icon-star:before {
|
||||
content: "\e805";
|
||||
}
|
||||
.icon-check:before {
|
||||
content: "\e804";
|
||||
}
|
||||
.icon-link:before {
|
||||
content: "\e801";
|
||||
}
|
||||
.icon-reply:before {
|
||||
content: "\e806";
|
||||
}
|
||||
.icon-menu:before {
|
||||
content: "\e802";
|
||||
}
|
||||
.icon-clock:before {
|
||||
content: "\e803";
|
||||
}
|
||||
.icon-twitter:before {
|
||||
content: "\e807";
|
||||
}
|
||||
.icon-down-open:before {
|
||||
content: "\e809";
|
||||
}
|
||||
.icon-trash:before {
|
||||
content: "\e80c";
|
||||
}
|
||||
.icon-delete:before {
|
||||
content: "\e600";
|
||||
}
|
||||
.icon-power:before {
|
||||
content: "\e601";
|
||||
}
|
||||
.icon-arrow-up-thick:before {
|
||||
content: "\e602";
|
||||
}
|
||||
.icon-rss:before {
|
||||
content: "\e808";
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Icon selected
|
||||
========================================================================== */
|
||||
|
||||
.icon-star.fav:before {
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
4 = Messages
|
||||
========================================================================== */
|
||||
|
||||
.messages {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.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;
|
||||
font-style: italic;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
padding-right: 5%;
|
||||
margin-top: -2em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
5 = Article
|
||||
========================================================================== */
|
||||
|
||||
#article {
|
||||
width: 70%;
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
|
||||
#article .tags {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#article i {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border:1px solid #999;
|
||||
background: #FFF;
|
||||
padding: 1em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#article h2, #article h3, #article h4 {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
#article h2:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
.topPosF {
|
||||
position: fixed;
|
||||
right: 20%;
|
||||
bottom: 2em;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
#article_toolbar {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#article_toolbar li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#article_toolbar a {
|
||||
background: #000;
|
||||
padding: 0.3em 0.5em 0.2em;
|
||||
color: #FFF;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#article_toolbar a:hover, #article_toolbar a:focus {
|
||||
background: #999;
|
||||
}
|
||||
|
||||
.shaarli:before {
|
||||
content: "*";
|
||||
}
|
||||
|
||||
.return {
|
||||
text-decoration: none;
|
||||
margin-top: 1em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.return:before {
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
.notags {
|
||||
font-style: italic;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.icon-rss {
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
padding: 0.2em 0.5em;
|
||||
}
|
||||
|
||||
.icon-rss:before {
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.list-tags li {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.list-tags .icon-rss:hover, .list-tags .icon-rss:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.list-tags a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.list-tags a:hover, .list-tags a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
6 = Media Queries
|
||||
========================================================================== */
|
||||
|
||||
@media screen and (max-width: 1050px) {
|
||||
.entrie {
|
||||
width: 49%;
|
||||
}
|
||||
.entrie:nth-child(3n+1) {
|
||||
margin-left: 1.5%;
|
||||
}
|
||||
.entrie:nth-child(2n+1) {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 900px) {
|
||||
#article {
|
||||
width: 80%;
|
||||
}
|
||||
.topPosF {
|
||||
right: 2.5em;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 700px) {
|
||||
.entrie {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 500px) {
|
||||
.entrie {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
body > header {
|
||||
background: #333;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 3em;
|
||||
z-index: 11;
|
||||
}
|
||||
#links li:last-child {
|
||||
position: static;
|
||||
width: auto;
|
||||
}
|
||||
#links li:last-child a:before {
|
||||
content: none;
|
||||
}
|
||||
.logo {
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.login > header {
|
||||
position: static;
|
||||
}
|
||||
.login form {
|
||||
width: 100%;
|
||||
position: static;
|
||||
margin-left: 0;
|
||||
}
|
||||
.login .logo {
|
||||
width: auto;
|
||||
height: auto;
|
||||
top: 0.5em;
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
margin-left: -37.5px;
|
||||
}
|
||||
.desktopHide {
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 20;
|
||||
top: 0;
|
||||
right: 0;
|
||||
border:0;
|
||||
width: 2.5em;
|
||||
height: 2.5em;
|
||||
cursor: pointer;
|
||||
background: #999;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.desktopHide:hover, .desktopHide:focus {
|
||||
background: #FFF;
|
||||
}
|
||||
#links {
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
padding-top: 3em;
|
||||
}
|
||||
footer {
|
||||
position: static;
|
||||
margin-right: 3em;
|
||||
}
|
||||
#main {
|
||||
margin-left: 1.5em;
|
||||
padding-right: 1.5em;
|
||||
position: static;
|
||||
}
|
||||
#article_toolbar .topPosF {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#article {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#article h1 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
#article_toolbar a {
|
||||
padding: 0.3em 0.4em 0.2em;
|
||||
}
|
||||
}
|
||||
0
themes/baggy/css/messages.css
Executable file
48
themes/baggy/css/print.css
Executable file
@ -0,0 +1,48 @@
|
||||
/* ### Layout ### */
|
||||
|
||||
body {
|
||||
font-family: Serif;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 1cm;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
/* ### Content ### */
|
||||
|
||||
/* Hide useless blocks */
|
||||
body > header,
|
||||
#links,
|
||||
#sort,
|
||||
body > footer,
|
||||
.top_link,
|
||||
div.tools,
|
||||
header div,
|
||||
.messages,
|
||||
.entrie + .results {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
article {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Add URL after links */
|
||||
.vieworiginal a:after {
|
||||
content: " (" attr(href) ")";
|
||||
}
|
||||
|
||||
/* Add explanation after abbr */
|
||||
abbr[title]:after {
|
||||
content: " (" attr(title) ")";
|
||||
}
|
||||
|
||||
/* Change border on current pager item */
|
||||
.pagination span.current {
|
||||
border-style: dashed;
|
||||
}
|
||||
211
themes/baggy/css/ratatouille.css
Normal file
@ -0,0 +1,211 @@
|
||||
/*
|
||||
Ratatouille mini Framework css by Thomas LEBEAU
|
||||
Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations
|
||||
and normalize.css
|
||||
*/
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: sans-serif; /* 1 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 1em;
|
||||
line-height:1.5;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Mise en forme
|
||||
========================================================================== */
|
||||
|
||||
h1:first-child,
|
||||
h2:first-child,
|
||||
h3:first-child,
|
||||
h4:first-child,
|
||||
h5:first-child,
|
||||
h6:first-child,
|
||||
p:first-child,
|
||||
ul:first-child,
|
||||
ol:first-child,
|
||||
dl:first-child{
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, serif;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
|
||||
.upper {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.inner {
|
||||
margin: 0 auto;
|
||||
max-width: 61.25em;/*980px*/
|
||||
}
|
||||
|
||||
table, img {
|
||||
max-width: 100%;
|
||||
height :auto;
|
||||
}
|
||||
|
||||
iframe {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.fl {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.fr {
|
||||
float: right;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Mise en page
|
||||
========================================================================== */
|
||||
|
||||
.dib {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.dnone {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dtable { display:table }
|
||||
|
||||
.dtable > * { display:table-row; }
|
||||
|
||||
.dtable > * > * { display:table-cell; }
|
||||
|
||||
.element-invisible {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size:0.8em;
|
||||
}
|
||||
|
||||
.big {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
/*Width*/
|
||||
|
||||
.w100 { width:100%; }
|
||||
.w90 { width:90%; }
|
||||
.w80 { width:80%; }
|
||||
.w70 { width:70%; }
|
||||
.w60 { width:60%; }
|
||||
.w50 { width:50%; }
|
||||
.w40 { width:40%; }
|
||||
.w30 { width:30%; }
|
||||
.w20 { width:20%; }
|
||||
.w10 { width:10%; }
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
Internet Explorer
|
||||
========================================================================== */
|
||||
|
||||
/*IE8 and IE9*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*IE8 and IE9*/
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0){
|
||||
select{
|
||||
-webkit-appearance: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Medias Queries
|
||||
========================================================================== */
|
||||
|
||||
/*Desktop 1080px*/
|
||||
|
||||
@media screen and (max-width: 67.50em) {
|
||||
}
|
||||
|
||||
/*Tablet 800px*/
|
||||
|
||||
@media screen and (max-width: 50em) {
|
||||
}
|
||||
|
||||
/*Mobile 640px*/
|
||||
|
||||
@media screen and (max-width: 40em) {
|
||||
}
|
||||
|
||||
20
themes/baggy/edit-tags.twig
Normal file
@ -0,0 +1,20 @@
|
||||
{% extends "layout.twig" %}
|
||||
{% block title %}edit tags{% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
{% if tags is empty %}
|
||||
<div class="notags">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">
|
||||
<label for="value">Add tags: </label><input type="text" placeholder="interview, editorial, video" id="value" name="value" required="required" />
|
||||
<p>{% trans "You can enter multiple tags, separated by commas." %}</p>
|
||||
<input type="hidden" name="entry_id" value="{{ entry_id }}" />
|
||||
<input type="submit" value="Tag" />
|
||||
</form>
|
||||
<a class="icon icon-reply return" href="./?view=view&id={{ entry_id }}">{% trans "return to article" %}</a>
|
||||
{% endblock %}
|
||||
BIN
themes/baggy/font/icomoon.eot
Executable file
26
themes/baggy/font/icomoon.svg
Executable file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by IcoMoon</metadata>
|
||||
<defs>
|
||||
<font id="icomoon" horiz-adv-x="512">
|
||||
<font-face units-per-em="512" ascent="480" descent="-32" />
|
||||
<missing-glyph horiz-adv-x="512" />
|
||||
<glyph unicode=" " d="" horiz-adv-x="256" />
|
||||
<glyph unicode="" d="M256 389.333c-94.272 0-170.667-76.416-170.667-170.666s76.394-170.667 170.667-170.667 170.667 76.416 170.667 170.667-76.394 170.666-170.667 170.666zM335.082 169.749c8.341-8.341 8.341-21.824 0-30.166-4.16-4.16-9.622-6.25-15.082-6.25s-10.923 2.091-15.082 6.25l-48.918 48.918-48.917-48.918c-4.16-4.16-9.621-6.25-15.083-6.25s-10.923 2.091-15.083 6.25c-8.341 8.341-8.341 21.824 0 30.166l48.917 48.918-48.917 48.917c-8.341 8.341-8.341 21.824 0 30.166s21.824 8.341 30.166 0l48.917-48.917 48.918 48.917c8.341 8.341 21.824 8.341 30.166 0s8.341-21.824 0-30.166l-48.918-48.917 48.918-48.918z" />
|
||||
<glyph unicode="" d="M245.333 73.109c-37.035 0-71.85 14.421-98.048 40.598-26.176 26.197-40.618 61.014-40.618 98.070s14.442 71.872 40.618 98.070c8.341 8.341 21.824 8.341 30.166 0s8.341-21.824 0-30.166c-18.133-18.154-28.118-42.261-28.118-67.904s9.984-49.771 28.118-67.904c18.133-18.134 42.219-28.096 67.882-28.096s49.749 9.984 67.883 28.096c18.154 18.134 28.118 42.24 28.118 67.904s-9.984 49.771-28.118 67.904c-8.341 8.341-8.341 21.824 0 30.166s21.824 8.341 30.166 0c26.176-26.219 40.618-61.035 40.618-98.070s-14.442-71.872-40.618-98.070c-26.197-26.176-61.014-40.597-98.048-40.597zM245.333 234.667c-11.797 0-21.333 9.558-21.333 21.333v106.667c0 11.776 9.536 21.333 21.334 21.333s21.334-9.558 21.334-21.333v-106.667c0-11.776-9.536-21.333-21.334-21.333z" />
|
||||
<glyph unicode="" d="M256 401.664l-136.832-136.832c-16.662-16.661-16.662-43.67 0-60.331s43.669-16.661 60.331 0l33.834 33.835v-154.496c0-23.552 19.094-42.666 42.667-42.666 23.552 0 42.666 19.115 42.666 42.666v154.496l33.834-33.835c8.341-8.341 19.243-12.502 30.166-12.502s21.824 4.16 30.166 12.502c16.661 16.661 16.661 43.67 0 60.331l-136.832 136.832z" />
|
||||
<glyph unicode="" d="M0 25.856v263.168q0 91.648 43.52 142.336t132.608 50.688h280.576q-2.56-2.56-26.624-27.136t-51.2-51.712-55.808-55.808-48.64-47.616-21.504-18.944q-7.68 0-7.68 8.192v79.872h-24.576q-30.208 0-48.128-3.072t-32.256-13.312-19.968-29.184-6.144-49.152v-134.144zM34.304-34.048q2.56 2.56 27.136 27.136t51.2 51.712 55.808 56.32 48.64 47.616 20.992 18.432q7.68 0 7.68-8.192v-79.872h24.576q59.392 0 82.944 18.432t23.040 76.288v134.144l114.688 114.176v-263.168q0-91.648-43.008-142.336t-133.12-50.688h-280.576z" horiz-adv-x="491" />
|
||||
<glyph unicode="" d="M150.528 104.192q7.168 7.168 17.408 7.168t18.432-7.168q16.384-17.408 0-35.84l-21.504-20.48q-28.672-28.672-67.584-28.672-39.936 0-68.608 28.672t-28.672 67.584q0 39.936 28.672 68.608l75.776 75.776q35.84 34.816 73.728 39.424t65.536-22.016q8.192-8.192 8.192-18.432t-8.192-18.432q-18.432-16.384-35.84 0-25.6 24.576-67.584-17.408l-75.776-74.752q-13.312-13.312-13.312-32.768t13.312-31.744q13.312-13.312 32.256-13.312t32.256 13.312zM380.928 398.080q28.672-28.672 28.672-67.584 0-39.936-28.672-68.608l-80.896-80.896q-37.888-36.864-76.8-36.864-31.744 0-57.344 25.6-7.168 7.168-7.168 17.408t7.168 18.432q7.168 7.168 17.92 7.168t17.92-7.168q25.6-24.576 62.464 12.288l80.896 79.872q14.336 14.336 14.336 32.768 0 19.456-14.336 31.744-12.288 13.312-28.672 15.872t-30.72-10.752l-25.6-25.6q-8.192-7.168-18.432-7.168t-17.408 7.168q-17.408 17.408 0 35.84l25.6 25.6q27.648 27.648 65.024 26.112t66.048-31.232z" horiz-adv-x="410" />
|
||||
<glyph unicode="" d="M438.784 96v-36.352q0-7.68-5.12-12.8t-13.312-5.632h-401.92q-7.68 0-12.8 5.632t-5.632 12.8v36.352q0 7.68 5.632 12.8t12.8 5.632h401.92q7.68 0 13.312-5.632t5.12-12.8zM438.784 242.432v-36.864q0-7.168-5.12-12.8t-13.312-5.12h-401.92q-7.68 0-12.8 5.12t-5.632 12.8v36.864q0 7.168 5.632 12.8t12.8 5.12h401.92q7.68 0 13.312-5.12t5.12-12.8zM438.784 388.352v-36.352q0-7.68-5.12-12.8t-13.312-5.632h-401.92q-7.68 0-12.8 5.632t-5.632 12.8v36.352q0 7.68 5.632 13.312t12.8 5.12h401.92q7.68 0 13.312-5.12t5.12-13.312z" horiz-adv-x="439" />
|
||||
<glyph unicode="" d="M235.52 459.52q97.28 0 166.4-69.12t69.12-166.4-69.12-166.4-166.4-69.12-166.4 69.12-69.12 166.4 69.12 166.4 166.4 69.12zM235.52 39.68q76.8 0 130.56 54.272t53.76 130.048q0 76.8-53.76 130.56t-130.56 53.76q-75.776 0-130.048-53.76t-54.272-130.56q0-75.776 54.272-130.048t130.048-54.272zM253.952 357.12v-124.928l76.8-76.8-25.6-25.6-87.040 87.040v140.288h35.84z" horiz-adv-x="471" />
|
||||
<glyph unicode="" d="M127.488 44.8q-17.408 0-28.672 14.336l-92.16 120.832q-8.192 12.288-6.144 26.624t13.312 23.552 26.112 7.168 24.064-14.336l60.416-78.848 151.552 242.688q8.192 12.288 22.016 15.36t27.136-4.096q12.288-8.192 15.36-22.016t-4.096-27.136l-179.2-286.72q-10.24-16.384-28.672-16.384z" horiz-adv-x="342" />
|
||||
<glyph unicode="" d="M225.28 449.28l61.44-172.032h163.84l-134.144-100.352 48.128-178.176-139.264 106.496-139.264-106.496 48.128 178.176-134.144 100.352h163.84z" horiz-adv-x="451" />
|
||||
<glyph unicode="" d="M460.8 49.92q-44.032 77.824-106.496 100.864t-168.96 23.040v-111.616l-185.344 171.008 185.344 164.864v-98.304q46.080 0 86.016-13.824t67.072-35.84 49.152-48.64 35.328-53.248 22.528-48.64 12.288-35.328z" horiz-adv-x="461" />
|
||||
<glyph unicode="" d="M471.040 370.432q-18.432-27.648-48.128-50.176v-12.288q0-66.56-30.72-128t-95.232-103.936-148.48-42.496q-81.92 0-148.48 43.008 7.168-1.024 23.552-1.024 67.584 0 119.808 40.96-31.744 1.024-56.32 19.456t-33.792 48.128q5.12-2.048 17.408-2.048 13.312 0 25.6 3.072-33.792 7.168-55.296 33.792t-21.504 61.44v1.024q18.432-10.24 43.008-12.288-43.008 29.696-43.008 80.896 0 24.576 13.312 48.128 78.848-96.256 199.68-100.352-3.072 9.216-3.072 21.504 0 39.936 28.16 68.096t69.12 28.16q41.984 0 69.632-29.696 30.72 6.144 61.44 22.528-10.24-33.792-41.984-53.248 28.672 4.096 55.296 15.36z" horiz-adv-x="471" />
|
||||
<glyph unicode="" d="M109.568 96q0-23.040-15.872-38.912t-38.912-15.872-38.912 15.872-15.872 38.912 15.872 38.912 38.912 15.872 38.912-15.872 15.872-38.912zM256 60.672q0.512-7.68-4.608-13.312-5.632-6.144-13.824-6.144h-38.4q-7.168 0-12.288 4.608t-5.632 11.776q-6.144 65.536-52.736 112.128t-112.128 52.736q-7.168 0.512-11.776 5.632t-4.608 12.288v38.4q0 8.192 6.144 13.312 4.608 5.12 12.288 5.12h1.536q45.568-3.584 87.040-23.040t74.24-51.712q32.256-32.256 51.712-74.24t23.040-87.552zM402.432 60.16q0.512-7.68-5.12-13.312-5.12-5.632-13.312-5.632h-40.96q-7.168 0-12.8 5.12t-5.632 11.776q-3.072 61.44-28.672 116.736t-66.048 96.256-96.256 66.048-116.224 29.184q-7.168 0-12.288 5.632t-5.12 12.288v40.96q0 7.68 5.632 13.312 5.12 5.12 12.8 5.12h0.512q75.264-4.096 143.36-34.304t121.856-83.968q53.248-53.248 83.968-121.856t34.304-143.36z" horiz-adv-x="402" />
|
||||
<glyph unicode="" d="M0 314.112l75.776 75.776 180.224-179.712 180.224 179.712 75.776-75.776-256-256-75.776 75.776z" />
|
||||
<glyph unicode="" d="M475.648 50.432v219.136q-9.216-10.24-19.968-18.944-76.288-58.368-121.856-96.256-14.336-12.288-23.552-19.456t-24.576-13.824-29.184-6.656h-1.024q-13.312 0-29.184 6.656t-24.576 13.824-23.552 19.456q-45.056 37.888-121.856 96.256-10.752 8.704-19.968 18.944v-219.136q0-4.096 3.072-6.656t6.144-2.56h420.864q3.584 0 6.144 2.56t3.072 6.656zM475.648 350.464v7.168t-0.512 3.584-0.512 3.584-1.536 2.56-2.56 2.048-4.096 1.024h-420.864q-3.584 0-6.144-3.072t-3.072-6.144q0-48.128 41.984-81.408 55.296-43.52 114.688-90.624 2.048-1.024 10.24-8.192t12.8-10.752 12.8-9.216 14.336-7.68 12.288-2.56h1.024q5.632 0 12.288 2.56t14.336 7.68 12.8 9.216 12.8 10.752 10.24 8.192q59.392 47.104 114.688 90.624 15.36 12.288 28.672 33.28t13.312 37.376zM512 361.216v-310.784q0-18.944-13.312-32.256t-32.256-13.824h-420.864q-18.432 0-32.256 13.824t-13.312 32.256v310.784q0 18.944 13.312 32.256t32.256 13.312h420.864q18.944 0 32.256-13.312t13.312-32.256z" />
|
||||
<glyph unicode="" d="M0 133.888l256 256 256-256-75.776-75.776-180.224 179.712-180.224-179.712z" />
|
||||
<glyph unicode="" d="M25.6 279.296q62.464-35.84 168.96-35.84t168.96 35.84l-27.648-248.832q-1.024-7.168-17.92-18.432t-51.2-22.016-72.192-10.752-71.68 10.752-51.2 22.016-18.432 18.432zM275.456 432.896q48.128-9.216 80.896-28.16t32.768-36.352v-5.12q0-29.696-57.344-50.688t-137.216-20.992-137.216 20.992-57.344 50.688v5.12q0 17.408 32.768 36.352t80.896 28.16l21.504 24.576q11.264 13.312 35.84 13.312h47.104q26.624 0 35.84-13.312zM247.808 375.552h43.008q-47.104 56.32-53.248 64.512-7.168 8.192-16.384 8.192h-52.224q-11.264 0-16.384-8.192l-54.272-64.512h43.008l32.768 33.792h41.984z" horiz-adv-x="389" />
|
||||
</font></defs></svg>
|
||||
|
After Width: | Height: | Size: 8.4 KiB |
BIN
themes/baggy/font/icomoon.ttf
Executable file
BIN
themes/baggy/font/icomoon.woff
Executable file
49
themes/baggy/home.twig
Normal file
@ -0,0 +1,49 @@
|
||||
{% extends "layout.twig" %}
|
||||
{% block title %}
|
||||
{% if view == 'fav' %}
|
||||
{% trans "favorites" %}
|
||||
{% elseif view == 'archive' %}
|
||||
{% trans "archive" %}
|
||||
{% else %}
|
||||
{% trans "unread" %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
{% if entries is empty %}
|
||||
<div class="messages warning"><p>{% trans "No articles found." %}</p></div>
|
||||
{% else %}
|
||||
{% block pager %}
|
||||
{% if nb_results > 1 %}
|
||||
<div class="results">
|
||||
<div class="nb-results">{{ nb_results }} {% trans "results" %}</div>
|
||||
{{ page_links | raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
<div class="list-entries">
|
||||
{% for entry in entries %}
|
||||
<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>
|
||||
{% 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>
|
||||
{% 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>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool icon-star icon {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete icon-trash icon" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.url | e | getDomain }}</span></a></li>
|
||||
</ul>
|
||||
<p>{{ entry.content|striptags|slice(0, 300) }}...</p>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% 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" }} {% trans "" %}</a>{% endif %}{% endif %}
|
||||
{% endif %}
|
||||
{{ block('pager') }}
|
||||
{% endblock %}
|
||||
BIN
themes/baggy/img/apple-touch-icon-114.png
Executable file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
themes/baggy/img/apple-touch-icon-120.png
Executable file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
themes/baggy/img/apple-touch-icon-144.png
Executable file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
themes/baggy/img/apple-touch-icon-152.png
Executable file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
themes/baggy/img/apple-touch-icon-57.png
Executable file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
themes/baggy/img/apple-touch-icon-72.png
Executable file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
themes/baggy/img/apple-touch-icon-76.png
Executable file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
themes/baggy/img/apple-touch-icon.png
Executable file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
themes/baggy/img/bg-select.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/baggy/img/favicon.ico
Executable file
|
After Width: | Height: | Size: 34 KiB |
BIN
themes/baggy/img/logo-w.png
Executable file
|
After Width: | Height: | Size: 4.8 KiB |
300
themes/baggy/img/logo-wallabag.svg
Normal file
@ -0,0 +1,300 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
|
||||
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
|
||||
]>
|
||||
<svg version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
|
||||
x="0px" y="0px" width="800px" height="800px" viewBox="0 0 800 800" overflow="visible" enable-background="new 0 0 800 800"
|
||||
xml:space="preserve">
|
||||
<defs>
|
||||
</defs>
|
||||
<image overflow="visible" width="800" height="800" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
|
||||
bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp
|
||||
bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6
|
||||
eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz
|
||||
NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo
|
||||
dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw
|
||||
dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
|
||||
IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS
|
||||
ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD
|
||||
cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl
|
||||
SUQ9InhtcC5paWQ6MkMyNzEzMDQ4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiIHhtcE1NOkRvY3Vt
|
||||
ZW50SUQ9InhtcC5kaWQ6MkMyNzEzMDU4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiPiA8eG1wTU06
|
||||
RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQzI3MTMwMjhBODMxMUUzQkY2
|
||||
QkJEOEMyMjk5NEE2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQzI3MTMwMzhBODMxMUUz
|
||||
QkY2QkJEOEMyMjk5NEE2QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w
|
||||
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">
|
||||
</image>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 22 KiB |
0
themes/default/img/logo.png → themes/baggy/img/logo.png
Normal file → Executable file
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
8
themes/baggy/img/logo.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="64" height="64">
|
||||
<circle cx="32" cy="32" r="29.5" style="fill:#000" />
|
||||
<path d="m 16,18 33,0 0,26 -16.5,6 -16.5,-6 z" fill="#fff" />
|
||||
<rect width="9" height="2.5" x="17.5" y="24.5" fill="#000" />
|
||||
<rect width="9" height="2.5" x="28" y="24.5" fill="#000" />
|
||||
<rect width="9" height="2.5" x="38.5" y="24.5" fill="#000" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 444 B |
6
themes/baggy/js/autoClose.js
Normal file
@ -0,0 +1,6 @@
|
||||
$(document).ready(function() {
|
||||
current_url = window.location.href
|
||||
if (current_url.match("&closewin=true")) {
|
||||
window.close();
|
||||
}
|
||||
});
|
||||
17
themes/baggy/js/closeMessage.js
Normal file
@ -0,0 +1,17 @@
|
||||
$(function(){
|
||||
//---------------------------------------------------------------------------
|
||||
// Show the close icon when the user hover over a message
|
||||
//---------------------------------------------------------------------------
|
||||
// $('.messages').on('mouseenter', function(){
|
||||
// $(this).find('a.closeMessage').stop(true, true).show();
|
||||
// }).on('mouseleave', function(){
|
||||
// $(this).find('a.closeMessage').stop(true, true).hide();
|
||||
// });
|
||||
//---------------------------------------------------------------------------
|
||||
// Close the message box when the user clicks the close icon
|
||||
//---------------------------------------------------------------------------
|
||||
$('a.closeMessage').on('click', function(){
|
||||
$(this).parents('div.messages').slideUp(300, function(){ $(this).remove(); });
|
||||
return false;
|
||||
});
|
||||
});
|
||||
12
themes/baggy/js/init.js
Executable file
@ -0,0 +1,12 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var menu = document.getElementById('menu');
|
||||
|
||||
menu.addEventListener('click', function(){
|
||||
if(this.nextElementSibling.style.display === "block") {
|
||||
this.nextElementSibling.style.display = "none";
|
||||
}else {
|
||||
this.nextElementSibling.style.display = "block";
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
1
themes/baggy/js/jquery-2.0.3.min.js
vendored
Normal file
25
themes/baggy/js/restoreScroll.js
Normal file
@ -0,0 +1,25 @@
|
||||
function supportsLocalStorage() {
|
||||
try {
|
||||
return 'localStorage' in window && window['localStorage'] !== null;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function savePercent(id, percent) {
|
||||
if (!supportsLocalStorage()) { return false; }
|
||||
localStorage["poche.article." + id + ".percent"] = percent;
|
||||
return true;
|
||||
}
|
||||
|
||||
function retrievePercent(id) {
|
||||
if (!supportsLocalStorage()) { return false; }
|
||||
|
||||
var bheight = $(document).height();
|
||||
var percent = localStorage["poche.article." + id + ".percent"];
|
||||
var scroll = bheight * percent;
|
||||
|
||||
$('html,body').animate({scrollTop: scroll}, 'fast');
|
||||
|
||||
return true;
|
||||
}
|
||||
31
themes/baggy/layout-login.twig
Normal file
@ -0,0 +1,31 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="{{ lang }}"><![endif]-->
|
||||
<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="{{ lang }}"><![endif]-->
|
||||
<!--[if IE 8]><html class="no-js ie8 ie678" lang="{{ lang }}"><![endif]-->
|
||||
<!--[if gt IE 8]><html class="no-js" lang="{{ lang }}"><![endif]-->
|
||||
<html lang="{{ lang }}">
|
||||
<head>
|
||||
<meta name="viewport" content="initial-scale=1.0">
|
||||
<meta charset="utf-8">
|
||||
<!--[if IE]>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=10">
|
||||
<![endif]-->
|
||||
<title>{% block title %}{% endblock %} - wallabag</title>
|
||||
{% include '_head.twig' %}
|
||||
{% include '_bookmarklet.twig' %}
|
||||
</head>
|
||||
<body class="login">
|
||||
{% include '_top.twig' %}
|
||||
<div id="main">
|
||||
{% block menu %}{% endblock %}
|
||||
{% block precontent %}{% endblock %}
|
||||
{% block messages %}
|
||||
{% include '_messages.twig' %}
|
||||
{% endblock %}
|
||||
<div id="content" class="w600p center">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% include '_footer.twig' %}
|
||||
</body>
|
||||
</html>
|
||||
31
themes/baggy/layout.twig
Normal file
@ -0,0 +1,31 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="{{ lang }}"><![endif]-->
|
||||
<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="{{ lang }}"><![endif]-->
|
||||
<!--[if IE 8]><html class="no-js ie8 ie678" lang="{{ lang }}"><![endif]-->
|
||||
<!--[if gt IE 8]><html class="no-js" lang="{{ lang }}"><![endif]-->
|
||||
<html lang="{{ lang }}">
|
||||
<head>
|
||||
<meta name="viewport" content="initial-scale=1.0">
|
||||
<meta charset="utf-8">
|
||||
<!--[if IE]>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=10">
|
||||
<![endif]-->
|
||||
<title>{% block title %}{% endblock %} - wallabag</title>
|
||||
{% include '_head.twig' %}
|
||||
{% include '_bookmarklet.twig' %}
|
||||
</head>
|
||||
<body>
|
||||
{% include '_top.twig' %}
|
||||
<div id="main">
|
||||
{% block menu %}{% endblock %}
|
||||
{% block precontent %}{% endblock %}
|
||||
{% block messages %}
|
||||
{% include '_messages.twig' %}
|
||||
{% endblock %}
|
||||
<div id="content" class="w600p center">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% include '_footer.twig' %}
|
||||
</body>
|
||||
</html>
|
||||
34
themes/baggy/login.twig
Normal file
@ -0,0 +1,34 @@
|
||||
{% extends "layout-login.twig" %}
|
||||
|
||||
{% block title %}{% trans "login to your wallabag" %}{% endblock %}
|
||||
{% block content %}
|
||||
{% if http_auth == 0 %}
|
||||
<form method="post" action="?login" name="loginform">
|
||||
<fieldset class="w500p center">
|
||||
<h2 class="mbs txtcenter">{% trans "Login to wallabag" %}</h2>
|
||||
{% 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 %} />
|
||||
</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 %} />
|
||||
</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">
|
||||
<small class="inbl">{% trans "(Do not check on public computers)" %}</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Login" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<input type="hidden" name="returnurl" value="{{ referer }}">
|
||||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
BIN
themes/baggy/screenshot.jpg
Executable file
|
After Width: | Height: | Size: 250 KiB |
34
themes/baggy/tag.twig
Normal file
@ -0,0 +1,34 @@
|
||||
{% extends "layout.twig" %}
|
||||
{% block title %}tag {% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h3>{% trans "Tag" %} {{ tag.value }}</h3>
|
||||
{% if entries is empty %}
|
||||
<div class="messages warning"><p>{% trans "No link available here!" %}</p></div>
|
||||
{% else %}
|
||||
{% block pager %}
|
||||
{% if nb_results > 1 %}
|
||||
<div class="results">
|
||||
<div class="nb-results">{{ nb_results }} {% trans "results" %}</div>
|
||||
{{ page_links | raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
<div class="list-entries">
|
||||
{% for entry in entries %}
|
||||
<div id="entry-{{ entry.id|e }}" class="entrie">
|
||||
<h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
|
||||
<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>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool icon-star icon {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete icon-trash icon" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.url | e | getDomain }}</span></a></li>
|
||||
</ul>
|
||||
<p>{{ entry.content|striptags|slice(0, 300) }}...</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
13
themes/baggy/tags.twig
Normal file
@ -0,0 +1,13 @@
|
||||
{% extends "layout.twig" %}
|
||||
{% block title %}tags{% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>{% trans "Tags" %}</h2>
|
||||
<ul class="list-tags">
|
||||
{% for tag in tags %}<li>{% if token != '' %}<a class="icon icon-rss" href="?feed&type=tag&user_id={{ user_id }}&tag_id={{ tag.id }}&token={{ token }}" target="_blank"><span>rss</span></a>{% endif %} <a href="./?view=tag&id={{ tag.id }}">{{ tag.value }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
3
themes/baggy/theme.ini
Normal file
@ -0,0 +1,3 @@
|
||||
name = Baggy
|
||||
description = Responsive black and white theme especially adapted to smartphones.
|
||||
requirements[] = default
|
||||
32
themes/baggy/view.twig
Normal file
@ -0,0 +1,32 @@
|
||||
{% extends "layout.twig" %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
{% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %}
|
||||
{% block content %}
|
||||
<div id="article_toolbar">
|
||||
<ul class="links">
|
||||
<li class="topPosF"><a href="#top" title="{% trans "Back to top" %}" class="tool top icon icon-arrow-up-thick"><span>{% trans "Back to top" %}</span></a></li>
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.url | e | getDomain }}</span></a></li>
|
||||
<li><a title="{% trans "Mark as read" %}" class="tool icon icon-check {% 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>
|
||||
<li><a title="{% trans "Favorite" %}" class="tool icon icon-star {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "Toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "Delete" %}" class="tool delete icon icon-trash" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "Delete" %}</span></a></li>
|
||||
{% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %}
|
||||
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %}
|
||||
{% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %}
|
||||
{% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numflattrs }})</a></li>{% endif %}{% endif %}
|
||||
<li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display icon icon-delete"><span>{% trans "Does this article appear wrong?" %}</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="article">
|
||||
<header class="mbm">
|
||||
<h1>{{ entry.title|raw }}</h1>
|
||||
</header>
|
||||
<aside class="tags">
|
||||
tags: {% for tag in tags %}<a href="./?view=tag&id={{ tag.id }}">{{ tag.value }}</a> {% endfor %}<a href="./?view=edit-tags&id={{ entry.id|e }}" title="{% trans "Edit tags" %}">✎</a>
|
||||
</aside>
|
||||
<article>
|
||||
{{ content | raw }}
|
||||
</article>
|
||||
</div>
|
||||
{% endblock %}
|
||||
3
themes/courgette/README.md
Executable file
@ -0,0 +1,3 @@
|
||||
# Courgette Theme
|
||||
|
||||
theme created by Thomas LEBEAU alias Courgette http://thomaslebeau.fr/
|
||||
11
themes/courgette/_head.twig
Executable file
@ -0,0 +1,11 @@
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}/themes/{{theme}}/img/favicon.ico" />
|
||||
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-144x144-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-72x72-precomposed.png">
|
||||
<link rel="apple-touch-icon-precomposed" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-precomposed.png">
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/font.css" media="all">
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/style.css" media="all">
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/messages.css" media="all">
|
||||
<link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/print.css" media="print">
|
||||
<link href='//fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
||||
<script src="//codeorigin.jquery.com/jquery-2.0.3.min.js"></script>
|
||||
<script src="{{ poche_url }}/themes/{{theme}}/js/init.js"></script>
|
||||
10
themes/courgette/_menu.twig
Executable file
@ -0,0 +1,10 @@
|
||||
<div id="menuContainer">
|
||||
<ul id="links">
|
||||
<li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "home" %}</a></li>
|
||||
<li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li>
|
||||
<li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li>
|
||||
<li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li>
|
||||
<li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li>
|
||||
<li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
9
themes/courgette/_top.twig
Executable file
@ -0,0 +1,9 @@
|
||||
<header>
|
||||
<h1>
|
||||
{% if view == 'home' %}{% block logo %}<img src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/img/logo.svg" alt="logo poche" />{% endblock %}
|
||||
{% elseif view == 'fav' %}<a href="./" title="{% trans "back to home" %}" >{{ block('logo') }} <span>Favoris</span></a>
|
||||
{% elseif view == 'archive' %}<a href="./" title="{% trans "back to home" %}" >{{ block('logo') }} <span>Archive</span></a>
|
||||
{% else %}<a href="./" title="{% trans "back to home" %}" >{{ block('logo') }}</a>
|
||||
{% endif %}
|
||||
</h1>
|
||||
</header>
|
||||
45
themes/courgette/_view.twig
Executable file
@ -0,0 +1,45 @@
|
||||
{% extends "layout.twig" %}
|
||||
{% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %}
|
||||
{% block content %}
|
||||
<div id="article_toolbar">
|
||||
<ul>
|
||||
<li><a href="./" title="{% trans "back to home" %}" class="tool back"><span>{% trans "back to home" %}</span></a></li>
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link"><span>{{ entry.url | e | getDomain }}</span></a></li>
|
||||
<li><a title="{% trans "toggle mark as read" %}" class="tool {% 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>
|
||||
<li><a title="{% trans "toggle favorite" %}" class="tool {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
|
||||
<li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
|
||||
{% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
|
||||
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
|
||||
{% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %}
|
||||
{% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li class="flattrli"><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numflattrs }}</a></li>{% endif %}{% endif %}
|
||||
<li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "this article appears wrong?" %}" class="tool bad-display"><span>{% trans "this article appears wrong?" %}</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="article">
|
||||
<header class="mbm">
|
||||
<h1>{{ entry.title|raw }}</h1>
|
||||
</header>
|
||||
<article>
|
||||
{{ content | raw }}
|
||||
</article>
|
||||
</div>
|
||||
<script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/restoreScroll.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
$(window).scroll(function(e){
|
||||
var scrollTop = $(window).scrollTop();
|
||||
var docHeight = $(document).height();
|
||||
var scrollPercent = (scrollTop) / (docHeight);
|
||||
var scrollPercentRounded = Math.round(scrollPercent*100)/100;
|
||||
savePercent({{ entry.id|e }}, scrollPercentRounded);
|
||||
});
|
||||
|
||||
retrievePercent({{ entry.id|e }});
|
||||
|
||||
$(window).resize(function(){
|
||||
retrievePercent({{ entry.id|e }});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
82
themes/courgette/config.twig
Executable file
@ -0,0 +1,82 @@
|
||||
{% extends "layout.twig" %}
|
||||
|
||||
{% block title %}{% trans "config" %}{% endblock %}
|
||||
{% block menu %}
|
||||
{% include '_menu.twig' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div id="config">
|
||||
<h2>{% trans "Poching a link" %}</h2>
|
||||
<p>{% trans "You can poche a link by several methods:" %} (<a class="special" href="http://doc.wallabag.org" title="{% trans "read the documentation" %}">?</a>)</p>
|
||||
<ul>
|
||||
<li>firefox: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/poche.xpi" title="download the firefox extension">{% trans "download the extension" %}</a></li>
|
||||
<li>chrome: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/poche.crx" title="download the chrome extension">{% trans "download the extension" %}</a></li>
|
||||
<li>android: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/Poche.apk" title="download the application">{% trans "download the application" %}</a></li>
|
||||
<li>
|
||||
<form method="get" action="index.php">
|
||||
<label class="addurl" for="plainurl">{% trans "by filling this field" %}:</label>
|
||||
<input required placeholder="Ex:mywebsite.com/article" class="addurl" id="plainurl" name="plainurl" type="url" />
|
||||
<input type="submit" value="{% trans "poche 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 "poche it!" %}</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>{% trans "Updating poche" %}</h2>
|
||||
<ul>
|
||||
<li>{% trans "your 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 %}
|
||||
</ul>
|
||||
|
||||
<h2>{% trans "Change your theme" %}</h2>
|
||||
<form method="post" action="?updatetheme" name="changethemeform">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="theme">{% trans "Theme:" %}</label>
|
||||
<select class="col" id="theme" name="theme">
|
||||
{% for key, theme in themes %}
|
||||
<option value="{{ key }}" {{ theme.current ? 'selected' : '' }}>{{ theme.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<input type="hidden" name="returnurl" value="{{ referer }}">
|
||||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
|
||||
<h2>{% trans "Change your password" %}</h2>
|
||||
<form method="post" action="?config" name="loginform">
|
||||
<fieldset class="w500p">
|
||||
<div class="row">
|
||||
<label class="col w150p" for="password">{% trans "New password:" %}</label>
|
||||
<input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2">
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label>
|
||||
<input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3">
|
||||
</div>
|
||||
<div class="row mts txtcenter">
|
||||
<button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<input type="hidden" name="returnurl" value="{{ referer }}">
|
||||
<input type="hidden" name="token" value="{{ token }}">
|
||||
</form>
|
||||
|
||||
<h2>{% trans "Import" %}</h2>
|
||||
<p>{% trans "Please execute the import script locally, it can take a very long time." %}</p>
|
||||
<p>{% trans "More infos in the official doc:" %} <a href="http://doc.wallabag.org">wallabag.org</a></p>
|
||||
<ul>
|
||||
<li><a href="./?import&from=pocket">{% trans "import from Pocket" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('POCKET_FILE')) }}</li>
|
||||
<li><a href="./?import&from=readability">{% trans "import from Readability" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('READABILITY_FILE')) }}</li>
|
||||
<li><a href="./?import&from=instapaper">{% trans "import from Instapaper" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('INSTAPAPER_FILE')) }}</li>
|
||||
</ul>
|
||||
|
||||
<h2>{% trans "Export your poche datas" %}</h2>
|
||||
<p><a href="./?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your poche datas." %}</p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
22
themes/courgette/css/font.css
Executable file
@ -0,0 +1,22 @@
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.eot?97381924');
|
||||
src: url('../font/fontello.eot?97381924#iefix') format('embedded-opentype'),
|
||||
url('../font/fontello.woff?97381924') format('woff'),
|
||||
url('../font/fontello.ttf?97381924') format('truetype'),
|
||||
url('../font/fontello.svg?97381924#fontello') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'icomoon';
|
||||
src:url('../font/icomoon.eot?-72nnzw');
|
||||
src:url('../font/icomoon.eot?#iefix-72nnzw') format('embedded-opentype'),
|
||||
url('../font/icomoon.woff?-72nnzw') format('woff'),
|
||||
url('../font/comoon.ttf?-72nnzw') format('truetype'),
|
||||
url('../font/icomoon.svg?-72nnzw#icomoon') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
0
themes/courgette/css/knacss.css
Executable file
75
themes/courgette/css/messages.css
Executable file
@ -0,0 +1,75 @@
|
||||
.messages {
|
||||
display: block;
|
||||
clear: both;
|
||||
width: 400px;
|
||||
margin: 10px auto 10px;
|
||||
padding: 10px 0;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.messages a.closeMessage {
|
||||
display: none;
|
||||
float: right;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: -14px -8px 0 0;
|
||||
background: url(../img/messages/close.png) no-repeat;
|
||||
}
|
||||
|
||||
/*.messages:hover a.closeMessage { visibility:visible; }*/
|
||||
|
||||
.messages p {
|
||||
margin: 3px 0 3px 10px !important;
|
||||
padding: 0 10px 0 23px !important;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.messages.error {
|
||||
border: 1px solid #c42608;
|
||||
color: #c00 !important;
|
||||
background: #fff0ef;
|
||||
}
|
||||
|
||||
.messages.error p {
|
||||
color: #c00 !important;
|
||||
background: url(../img/messages/cross.png) no-repeat 0 50%;
|
||||
}
|
||||
|
||||
.messages.success {
|
||||
border: 1px solid #6dc70c;
|
||||
background: #e0fbcc;
|
||||
}
|
||||
|
||||
.messages.success p {
|
||||
color: #2b6301 !important;
|
||||
background: url(../img/messages/tick.png) no-repeat 0 50%;
|
||||
}
|
||||
|
||||
.messages.warning {
|
||||
border: 1px solid #ebcd41;
|
||||
color: #000;
|
||||
background: #fffcd3;
|
||||
}
|
||||
|
||||
.messages.warning p {
|
||||
color: #5f4e01;
|
||||
background: url(../img/messages/warning.png) no-repeat 0 50%;
|
||||
}
|
||||
|
||||
.messages.information,
|
||||
.messages.info {
|
||||
border: 1px solid #82aee7;
|
||||
background: #dfebfb;
|
||||
}
|
||||
|
||||
.messages.information p,
|
||||
.messages.info p {
|
||||
color: #064393;
|
||||
background: url(../img/messages/help.png) no-repeat 0 50%;
|
||||
}
|
||||
|
||||
.messages.information a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
48
themes/courgette/css/print.css
Executable file
@ -0,0 +1,48 @@
|
||||
/* ### Layout ### */
|
||||
|
||||
body {
|
||||
font-family: Serif;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 1cm;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
/* ### Content ### */
|
||||
|
||||
/* Hide useless blocks */
|
||||
body > header,
|
||||
#links,
|
||||
#sort,
|
||||
body > footer,
|
||||
.top_link,
|
||||
div.tools,
|
||||
header div,
|
||||
.messages,
|
||||
.entrie + .results {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
article {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Add URL after links */
|
||||
.vieworiginal a:after {
|
||||
content: " (" attr(href) ")";
|
||||
}
|
||||
|
||||
/* Add explanation after abbr */
|
||||
abbr[title]:after {
|
||||
content: " (" attr(title) ")";
|
||||
}
|
||||
|
||||
/* Change border on current pager item */
|
||||
.pagination span.current {
|
||||
border-style: dashed;
|
||||
}
|
||||
59
themes/courgette/css/style-default.css
Executable file
@ -0,0 +1,59 @@
|
||||
a.back span {
|
||||
background-image: url('../img/default/left.png');
|
||||
}
|
||||
|
||||
a.top span {
|
||||
background-image: url('../img/default/top.png');
|
||||
}
|
||||
|
||||
a.fav span,
|
||||
a.fav-off span:hover {
|
||||
background-image: url('../img/default/star-on.png');
|
||||
}
|
||||
|
||||
a.fav span:hover,
|
||||
a.fav-off span {
|
||||
background-image: url('../img/default/star-off.png');
|
||||
}
|
||||
|
||||
a.archive span,
|
||||
a.archive-off span:hover {
|
||||
background-image: url('../img/default/checkmark-on.png');
|
||||
}
|
||||
|
||||
a.archive span:hover,
|
||||
a.archive-off span {
|
||||
background-image: url('../img/default/checkmark-off.png');
|
||||
}
|
||||
|
||||
a.twitter span {
|
||||
background-image: url('../img/default/twitter.png');
|
||||
}
|
||||
|
||||
a.shaarli span {
|
||||
background-image: url('../img/default/shaarli.png');
|
||||
}
|
||||
|
||||
a.flattr span {
|
||||
background-image: url('../img/default/flattr.png');
|
||||
}
|
||||
|
||||
a.email span {
|
||||
background-image: url('../img/default/envelop.png');
|
||||
}
|
||||
|
||||
a.delete span {
|
||||
background-image: url('../img/default/remove.png');
|
||||
}
|
||||
|
||||
a.link span {
|
||||
background-image: url('../img/default/link.png');
|
||||
}
|
||||
|
||||
a.bad-display span {
|
||||
background-image: url('../img/default/bad-display.png');
|
||||
}
|
||||
|
||||
a.reading-time span {
|
||||
background-image: url('../img/default/clock.png');
|
||||
}
|
||||
684
themes/courgette/css/style.css
Executable file
@ -0,0 +1,684 @@
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 10px;
|
||||
font-family: 'Roboto',Verdana,Geneva,sans-serif;
|
||||
font-size: 16px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
h1 span {
|
||||
color #FFF;
|
||||
background: #000;
|
||||
display: inline-block;
|
||||
padding: 0.2em 1em 0.2em 1.2em;
|
||||
font-size: 0.7em;
|
||||
position: relative;
|
||||
top: -1em;
|
||||
left: -1em;
|
||||
}
|
||||
|
||||
h1 a {
|
||||
color: #FFF;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#menu {
|
||||
font-family: 'fontello';
|
||||
position:fixed;
|
||||
z-index: 11;
|
||||
top: 0.7em;
|
||||
right: 0.5em;
|
||||
border:0;
|
||||
font-size: 2em;
|
||||
background: #000;
|
||||
color:#FFF;
|
||||
height: 58px;
|
||||
width: 58px;
|
||||
line-height:58px;
|
||||
border-radius:120px;
|
||||
}
|
||||
|
||||
#menu:hover, #menu:focus {
|
||||
background: #FFF;
|
||||
color:#000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#menu span {
|
||||
position: absolute;
|
||||
top: -99999px;
|
||||
}
|
||||
|
||||
#menuContainer ul, #article_toolbar ul {
|
||||
position:fixed;
|
||||
top: 0;
|
||||
left:0;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align:center;
|
||||
height:80px;
|
||||
}
|
||||
|
||||
/*Inspired by http://tympanus.net/Tutorials/AnimatedBorderMenus/index.html */
|
||||
|
||||
#menuContainer, #article_toolbar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left:0;
|
||||
width: 100%;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
border-width:0;
|
||||
border-style: solid;
|
||||
border-color:#000;
|
||||
background-color: transparent;
|
||||
-webkit-transition: border-width 0.3s, background-color 0.3s, height 0s 0.3s;
|
||||
-moz-transition: border-width 0.3s, background-color 0.3s, height 0s 0.3s;
|
||||
transition: border-width 0.3s, background-color 0.3s, height 0s 0.3s;
|
||||
}
|
||||
|
||||
#article_toolbar ul {
|
||||
padding: 1.7em;
|
||||
}
|
||||
|
||||
#menuContainer.open, #article_toolbar.open {
|
||||
border-width:80px;
|
||||
height: 100%;
|
||||
background: rgba(0,0,0,0.5);
|
||||
-webkit-transition: border-width 0.3s, background-color 0.3s;
|
||||
-moz-transition: border-width 0.3s, background-color 0.3s;
|
||||
transition: border-width 0.3s, background-color 0.3s;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#links li, #article_toolbar li {
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#links li a, #article_toolbar a {
|
||||
color:#FFF;
|
||||
display: block;
|
||||
position:relative;
|
||||
top: -200px;
|
||||
-webkit-transition: top 0.3s ease;
|
||||
-moz-transition: top 0.3s ease;
|
||||
transition: top 0.3s ease;
|
||||
padding:1.85em 1em;
|
||||
}
|
||||
|
||||
#links li a {
|
||||
text-decoration:none;
|
||||
text-transform:uppercase;
|
||||
}
|
||||
|
||||
#links li a:hover, #links li a:focus {
|
||||
background: #FFF;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
#menuContainer.open li a, #article_toolbar.open a {
|
||||
top: 0;
|
||||
-webkit-transition: top 0.3s ease;
|
||||
-moz-transition: top 0.3s ease;
|
||||
transition: top 0.3s ease;
|
||||
-webkit-transition-delay:0.25ms;
|
||||
-moz-transition-delay:0.25ms;
|
||||
transition-delay:0.25ms;
|
||||
}
|
||||
|
||||
#menuContainer.open li:nth-child(2) a {
|
||||
-webkit-transition-delay:0.50ms;
|
||||
-moz-transition-delay:0.50ms;
|
||||
transition-delay:0.50ms;
|
||||
}
|
||||
|
||||
#menuContainer.open li:nth-child(3) a {
|
||||
-webkit-transition-delay:1ms;
|
||||
-moz-transition-delay:1ms;
|
||||
transition-delay:1ms;
|
||||
}
|
||||
|
||||
#menuContainer.open li:nth-child(4) a {
|
||||
-webkit-transition-delay:1.25ms;
|
||||
-moz-transition-delay:1.25ms;
|
||||
transition-delay:1.25ms;
|
||||
}
|
||||
|
||||
#menuContainer.open li:nth-child(5) a {
|
||||
-webkit-transition-delay:1.55ms;
|
||||
-moz-transition-delay:1.55ms;
|
||||
transition-delay:1.55ms;
|
||||
}
|
||||
|
||||
#article_toolbar li:nth-child(2) { display: none; }
|
||||
|
||||
#menu:before {
|
||||
content: "\e801";
|
||||
display: block;
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
body > header {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 1em;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
#main {
|
||||
padding:6em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
entrie
|
||||
========================================================================== */
|
||||
|
||||
.entrie, #article {
|
||||
width: 45em;
|
||||
margin: auto;
|
||||
position:relative;
|
||||
padding: 0 0 1em 0;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
#article a {
|
||||
text-decoration: underline;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
#article a:hover, #article a:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.entrie:after {
|
||||
content:"";
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 4px;
|
||||
background: #000;
|
||||
bottom:0;
|
||||
left: -1em;
|
||||
}
|
||||
|
||||
.entrie p {
|
||||
padding:0 0 0 1.5em;
|
||||
}
|
||||
|
||||
.entrie:before {
|
||||
content:'';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -1em;
|
||||
width: 4px;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
}
|
||||
|
||||
.entrie h2:after {
|
||||
content:"";
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-color: #000;
|
||||
border-width:7px;
|
||||
border-color:transparent transparent transparent #000;
|
||||
border-style: solid;
|
||||
position: absolute;
|
||||
top: 0.8em;
|
||||
right: -0.58em;
|
||||
}
|
||||
|
||||
.entrie h2 {
|
||||
margin:0;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
max-width: 78%;
|
||||
}
|
||||
|
||||
.entrie h2 a {
|
||||
color:#000;
|
||||
text-decoration:none;
|
||||
display: block;
|
||||
background: #000;
|
||||
padding: 0.4em 1em;
|
||||
color:#FFF;
|
||||
margin-left: -0.5em;
|
||||
-webkit-transition: all 0.3s ease-out;
|
||||
-moz-transition: all 0.3s ease-out;
|
||||
transition: all 0.3s ease-out;
|
||||
}
|
||||
|
||||
.entrie h2 a:hover, .entrie h2 a:focus {
|
||||
padding:0.4em 1em 0.4em 2em;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
ul li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.tools {
|
||||
display: inline-block;
|
||||
margin-left: 1em;
|
||||
vertical-align: top;
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
.tools a span {
|
||||
position:absolute;
|
||||
top: -99999px;
|
||||
}
|
||||
|
||||
.tools li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.tools a {
|
||||
display: block;
|
||||
color:#FFF;
|
||||
background: #000;
|
||||
text-decoration:none;
|
||||
height: 1.5em;
|
||||
width: 1.5em;
|
||||
text-align: center;
|
||||
line-height:1.5em;
|
||||
border-radius: 90px;
|
||||
}
|
||||
|
||||
.tools a:hover, .tools a:focus {
|
||||
background: #FFF;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
.tools a:before { display: block; font-family: 'icomoon'; }
|
||||
|
||||
|
||||
.fav-off:before, .fav:before { content: '\e805'; } /* '' */
|
||||
.archive-off:before, .archive:before { content: '\e804'; } /* '' */
|
||||
.tools .archive, .tools .fav {
|
||||
background: #FFF;
|
||||
color:#000;
|
||||
}
|
||||
.link:before { content: '\e801'; } /* '' */
|
||||
.delete:before { content: '\e80c'; } /* '' */
|
||||
.reading-time:before { content: '\e803'; } /* '' */
|
||||
|
||||
#article_toolbar a:before {
|
||||
display: block;
|
||||
font-family: 'icomoon';
|
||||
}
|
||||
|
||||
#article_toolbar a {
|
||||
display: block;
|
||||
color:#000;
|
||||
background: #FFF;
|
||||
text-decoration:none;
|
||||
height: 1.5em;
|
||||
width: 1.5em;
|
||||
text-align: center;
|
||||
line-height:1.5em;
|
||||
border-radius: 90px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#article_toolbar a:hover, #article_toolbar a:focus {
|
||||
background: #000;
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
#article_toolbar span {
|
||||
position: absolute;
|
||||
top: -99999px;
|
||||
}
|
||||
|
||||
.email:before { content: '\e80a'; } /* '' */
|
||||
.icon-check:before { content: '\e804'; } /* '' */
|
||||
.back:before { content: '\e806'; } /* '' */
|
||||
.flattr:before { content: '\e800'; } /* '' */
|
||||
.bad-display:before { content: '\e600'; } /* '' */
|
||||
.twitter:before { content: '\e807'; } /* '' */
|
||||
|
||||
#article_toolbar .flattrli {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#article_toolbar li {
|
||||
margin: 0 0 0 1em;
|
||||
}
|
||||
|
||||
|
||||
footer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
padding: 0 2%;
|
||||
left: 0;
|
||||
text-align:right;
|
||||
font-size: 0.8em;
|
||||
font-style: italic;
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
footer a {
|
||||
color:#000;
|
||||
}
|
||||
|
||||
footer a:hover,footer a:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
footer p:first-child {
|
||||
float:left;
|
||||
}
|
||||
|
||||
#loginForm fieldset {
|
||||
border:5px solid #000;
|
||||
padding: 1.5em;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border:0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#loginForm {
|
||||
max-width: 25em;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#loginForm .row {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
form h2 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
form label {
|
||||
width: 40%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
form input[type="text"], form input[type="password"], form input[type='url'], form select {
|
||||
border:1px solid #000;
|
||||
padding:0.5em 1em;
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0){
|
||||
form select{
|
||||
-webkit-appearance: none;
|
||||
background: url(../img/bg-select.png) no-repeat right center;
|
||||
padding-right: 2.2em;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
form button, form input[type="submit"] {
|
||||
background: #000;
|
||||
color:#FFF;
|
||||
border:0;
|
||||
font-size:1em;
|
||||
padding:0.5em 1em;
|
||||
margin-top: 1em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
form button:hover, form button:focus, form input[type="submit"]:hover, form input[type="submit"]:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Config
|
||||
========================================================================== */
|
||||
|
||||
#config {
|
||||
max-width: 60%;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#config a {
|
||||
background: #000;
|
||||
text-decoration: none;
|
||||
color:#FFF;
|
||||
padding: 0.2em 1em;
|
||||
}
|
||||
|
||||
#config .special {
|
||||
background: none;
|
||||
padding:0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#config a:hover, #config a:focus {
|
||||
background: #FFF;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
#config li {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#plainurl {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
#config label {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.results {
|
||||
max-width: 62.5%;
|
||||
font-style:italic;
|
||||
margin: 1em auto 2.5em;
|
||||
}
|
||||
|
||||
#sort {
|
||||
max-width: 62.5%;
|
||||
margin: 0 auto -2.5em;
|
||||
text-align: right;
|
||||
border-bottom:1px dotted #000;
|
||||
}
|
||||
|
||||
#sort li {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
position: relative;
|
||||
top: -0.1em;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
#sort li img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#sort a {
|
||||
display: inline-block;
|
||||
font-family: 'fontello';
|
||||
color:#000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#sort a:hover, #sort a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#sort a:before {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#sort li a:first-child:before {
|
||||
content: '\e809';
|
||||
}
|
||||
|
||||
#sort li a:first-child + a:before {
|
||||
content: '\e80b';
|
||||
}
|
||||
|
||||
@media screen and (max-width: 860px) {
|
||||
.entrie, #article {
|
||||
width: 30em;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 650px) {
|
||||
#menuContainer ul, #article_toolbar ul {
|
||||
width: 120px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body > header {
|
||||
position: static;
|
||||
}
|
||||
|
||||
#main {
|
||||
padding: 0 0.5em 6em;
|
||||
}
|
||||
|
||||
#menu {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#main:before {
|
||||
content:none;
|
||||
}
|
||||
|
||||
#menuContainer, #article_toolbar, #menuContainer ul, #article_toolbar ul {
|
||||
position: static;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#links li a, #article_toolbar a {
|
||||
position: static;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#links li a {
|
||||
padding: 1em;
|
||||
min-width: 120px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#article_toolbar li {
|
||||
margin-bottom: 1em;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media screen and (max-width: 500px) {
|
||||
.entrie, #article {
|
||||
width: 17em;
|
||||
}
|
||||
.entrie h2 {
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
}
|
||||
.entrie h2 a:hover, .entrie h2 a:focus {
|
||||
padding-left: 1em;
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
}
|
||||
.entrie h2:after {
|
||||
content:none;
|
||||
}
|
||||
|
||||
.messages {
|
||||
width: 100%!important;
|
||||
}
|
||||
|
||||
#sort {
|
||||
margin: 3em auto 0;
|
||||
max-width: none;
|
||||
text-align: center;
|
||||
}
|
||||
#config {
|
||||
margin: 7em auto 0;
|
||||
max-width: none;
|
||||
}
|
||||
#config label { width: 100%; }
|
||||
.results {
|
||||
max-width: none;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
footer p:first-child {
|
||||
float: none;
|
||||
}
|
||||
footer {
|
||||
position:static;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.w600p {
|
||||
width: 70%;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.tagForm {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.tagForm p {
|
||||
font-style: italic;
|
||||
margin: 0;
|
||||
font-size: 0.8em;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.tagForm label {
|
||||
width: auto;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.back:before {
|
||||
font-family: "icomoon";
|
||||
}
|
||||
|
||||
.back.link {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.back.link:before {
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
.tag-list a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.tag-list li {
|
||||
display: inline-block;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.tag {
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
padding: 0.5em 1em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.tag:hover, .tag:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
}
|
||||