From b8c67f80688c8ba45e3207c6a212f97cac0537ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Fri, 20 Sep 2013 13:48:29 +0200
Subject: [PATCH 01/25] remove define.inc.php
---
inc/poche/define.inc.php | 39 ---------------------------------------
1 file changed, 39 deletions(-)
delete mode 100644 inc/poche/define.inc.php
diff --git a/inc/poche/define.inc.php b/inc/poche/define.inc.php
deleted file mode 100644
index 40f77b5c2..000000000
--- a/inc/poche/define.inc.php
+++ /dev/null
@@ -1,39 +0,0 @@
-
- * @copyright 2013
- * @license http://www.wtfpl.net/ see COPYING file
- */
-
-define ('STORAGE','sqlite'); # postgres, mysql, sqlite
-define ('STORAGE_SERVER', 'localhost'); # leave blank for sqlite
-define ('STORAGE_DB', 'poche'); # only for postgres & mysql
-define ('STORAGE_SQLITE', __DIR__ . '/../../db/poche.sqlite');
-define ('STORAGE_USER', 'postgres'); # leave blank for sqlite
-define ('STORAGE_PASSWORD', 'postgres'); # leave blank for sqlite
-
-define ('MODE_DEMO', FALSE);
-define ('DEBUG_POCHE', FALSE);
-define ('DOWNLOAD_PICTURES', FALSE);
-define ('SHARE_TWITTER', TRUE);
-define ('SHARE_MAIL', TRUE);
-define ('SHARE_SHAARLI', FALSE);
-define ('SHAARLI_URL', 'http://myshaarliurl.com');
-define ('FLATTR', TRUE);
-define ('FLATTR_API', 'https://api.flattr.com/rest/v2/things/lookup/?url=');
-define ('NOT_FLATTRABLE', '0');
-define ('FLATTRABLE', '1');
-define ('FLATTRED', '2');
-define ('ABS_PATH', 'assets/');
-define ('TPL', __DIR__ . '/../../tpl');
-define ('LOCALE', __DIR__ . '/../../locale');
-define ('CACHE', __DIR__ . '/../../cache');
-define ('PAGINATION', '10');
-define ('THEME', 'light');
-
-define ('IMPORT_POCKET_FILE', './ril_export.html');
-define ('IMPORT_READABILITY_FILE', './readability');
-define ('IMPORT_INSTAPAPER_FILE', './instapaper-export.html');
\ No newline at end of file
From 3408ed48ba66db8d93207507777be42759f7eb0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Fri, 20 Sep 2013 14:09:26 +0200
Subject: [PATCH 02/25] fix bug #225: blank page on article page
---
inc/poche/Poche.class.php | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 18860ddc6..561de808d 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -381,17 +381,17 @@ class Poche
$tidy = tidy_parse_string($content, array('indent'=>true, 'show-body-only' => true), 'UTF8');
$tidy->cleanRepair();
$content = $tidy->value;
-
- # flattr checking
- $flattr = new FlattrItem();
- $flattr->checkItem($entry['url']);
-
- $tpl_vars = array(
- 'entry' => $entry,
- 'content' => $content,
- 'flattr' => $flattr
- );
}
+
+ # flattr checking
+ $flattr = new FlattrItem();
+ $flattr->checkItem($entry['url']);
+
+ $tpl_vars = array(
+ 'entry' => $entry,
+ 'content' => $content,
+ 'flattr' => $flattr
+ );
}
else {
Tools::logm('error in view call : entry is null');
From 88e1108f117581de492106db371185d9f8064e5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Fri, 20 Sep 2013 14:30:07 +0200
Subject: [PATCH 03/25] upgrading themes
---
themes | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes b/themes
index 689dcedf8..c6406013d 160000
--- a/themes
+++ b/themes
@@ -1 +1 @@
-Subproject commit 689dcedf8d6c7cf5e8424654fef4fd9687288dc1
+Subproject commit c6406013d58dc3808b2544356b28a4816ae9747a
From 37527034ab3d1e925b8e1806f17215979170c200 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Sat, 21 Sep 2013 14:18:28 +0200
Subject: [PATCH 04/25] unactivate debug
---
inc/poche/config.inc.php.new | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/poche/config.inc.php.new b/inc/poche/config.inc.php.new
index 48cc5783b..7c4071586 100755
--- a/inc/poche/config.inc.php.new
+++ b/inc/poche/config.inc.php.new
@@ -26,7 +26,7 @@ define ('STORAGE_PASSWORD', 'poche');
#################################################################################
define ('MODE_DEMO', FALSE);
-define ('DEBUG_POCHE', true);
+define ('DEBUG_POCHE', FALSE);
define ('DOWNLOAD_PICTURES', FALSE);
define ('CONVERT_LINKS_FOOTNOTES', FALSE);
define ('REVERT_FORCED_PARAGRAPH_ELEMENTS', FALSE);
From 58ace4941ef3ec92ab71ae84df816343e2deb625 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Sat, 21 Sep 2013 14:37:53 +0200
Subject: [PATCH 05/25] bug fix #229: theme not stored on updated poches
---
inc/poche/Database.class.php | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php
index 4d664992d..0662581b9 100644
--- a/inc/poche/Database.class.php
+++ b/inc/poche/Database.class.php
@@ -113,9 +113,17 @@ class Database {
}
public function updateUserConfig($userId, $key, $value) {
- $sql_update = "UPDATE users_config SET `value`=? WHERE `user_id`=? AND `name`=?";
- $params_update = array($value, $userId, $key);
- $query = $this->executeQuery($sql_update, $params_update);
+ $config = $this->getConfigUser($userId);
+
+ if (!isset ($user_config[$key])) {
+ $sql = "INSERT INTO users_config (`value`, `user_id`, `name`) VALUES (?, ?, ?)";
+ }
+ else {
+ $sql = "UPDATE users_config SET `value`=? WHERE `user_id`=? AND `name`=?";
+ }
+
+ $params = array($value, $userId, $key);
+ $query = $this->executeQuery($sql, $params);
}
private function executeQuery($sql, $params) {
From 92cd6e9af8c49be7b06beb583ee1c3026fbe356d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Sat, 21 Sep 2013 21:44:49 +0200
Subject: [PATCH 06/25] change import files constants
---
inc/poche/config.inc.php.new | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/inc/poche/config.inc.php.new b/inc/poche/config.inc.php.new
index 7c4071586..38d61e02b 100755
--- a/inc/poche/config.inc.php.new
+++ b/inc/poche/config.inc.php.new
@@ -51,6 +51,10 @@ define ('PAGINATION', '10');
define ('POCHE_VERSION', '1.0-beta5');
-define ('IMPORT_POCKET_FILE', ROOT . '/ril_export.html');
-define ('IMPORT_READABILITY_FILE', ROOT . '/readability');
-define ('IMPORT_INSTAPAPER_FILE', ROOT . '/instapaper-export.html');
\ No newline at end of file
+define ('POCKET_FILE', '/ril_export.html');
+define ('READABILITY_FILE', '/readability');
+define ('INSTAPAPER_FILE', '/instapaper-export.html');
+
+define ('IMPORT_POCKET_FILE', ROOT . POCKET_FILE);
+define ('IMPORT_READABILITY_FILE', ROOT . READABILITY_FILE);
+define ('IMPORT_INSTAPAPER_FILE', ROOT . INSTAPAPER_FILE);
\ No newline at end of file
From be2b9055b9019fccc9d2e4678494d0ffcd5f5f12 Mon Sep 17 00:00:00 2001
From: Thomas Citharel
Date: Thu, 26 Sep 2013 22:00:44 +0200
Subject: [PATCH 07/25] Changed url's encryption from base64 to md5
Fixes Issue #243.
md5 hashes are only coded on 32 hexadecimal characters, so it won't make
too long file names.
---
inc/3rdparty/FlattrItem.class.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/inc/3rdparty/FlattrItem.class.php b/inc/3rdparty/FlattrItem.class.php
index c940fcd65..ab5ed81d8 100644
--- a/inc/3rdparty/FlattrItem.class.php
+++ b/inc/3rdparty/FlattrItem.class.php
@@ -11,7 +11,7 @@ class FlattrItem {
public function checkItem($urltoflattr) {
$this->cacheflattrfile($urltoflattr);
- $flattrResponse = file_get_contents(CACHE . "/flattr/".base64_encode($urltoflattr).".cache");
+ $flattrResponse = file_get_contents(CACHE . "/flattr/".md5($urltoflattr).".cache");
if($flattrResponse != FALSE) {
$result = json_decode($flattrResponse);
if (isset($result->message)){
@@ -39,9 +39,9 @@ class FlattrItem {
}
// if a cache flattr file for this url already exists and it's been less than one day than it have been updated, see in /cache
- if ((!file_exists(CACHE . "/flattr/".base64_encode($urltoflattr).".cache")) || (time() - filemtime(CACHE . "/flattr/".base64_encode($urltoflattr).".cache") > 86400)) {
+ if ((!file_exists(CACHE . "/flattr/".md5($urltoflattr).".cache")) || (time() - filemtime(CACHE . "/flattr/".md5($urltoflattr).".cache") > 86400)) {
$askForFlattr = Tools::getFile(FLATTR_API . $urltoflattr);
- $flattrCacheFile = fopen(CACHE . "/flattr/".base64_encode($urltoflattr).".cache", 'w+');
+ $flattrCacheFile = fopen(CACHE . "/flattr/".md5($urltoflattr).".cache", 'w+');
fwrite($flattrCacheFile, $askForFlattr);
fclose($flattrCacheFile);
}
From 3cc22aab829f339ac6e1ce1af63d646efe4a227c Mon Sep 17 00:00:00 2001
From: NumEricR
Date: Thu, 26 Sep 2013 23:37:07 +0200
Subject: [PATCH 08/25] Avoid ".git" option in themes list of config page
---
inc/poche/Poche.class.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 561de808d..1bae27518 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -255,7 +255,7 @@ class Poche
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('..', '.', '.git'))) {
continue;
}
From 4e5b04113d923b54206436c74ce1fa8649854046 Mon Sep 17 00:00:00 2001
From: Thomas Citharel
Date: Fri, 27 Sep 2013 11:11:45 +0200
Subject: [PATCH 09/25] Changed Flattr Caching System
From md5(url) to the ID of an article. Easier and faster.
---
inc/3rdparty/FlattrItem.class.php | 13 +++++++------
inc/poche/Poche.class.php | 2 +-
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/inc/3rdparty/FlattrItem.class.php b/inc/3rdparty/FlattrItem.class.php
index ab5ed81d8..2b7ea3fac 100644
--- a/inc/3rdparty/FlattrItem.class.php
+++ b/inc/3rdparty/FlattrItem.class.php
@@ -9,9 +9,10 @@ class FlattrItem {
public $flattrItemURL;
public $numflattrs;
- public function checkItem($urltoflattr) {
- $this->cacheflattrfile($urltoflattr);
- $flattrResponse = file_get_contents(CACHE . "/flattr/".md5($urltoflattr).".cache");
+ public function checkItem($urltoflattr,$id) {
+ $this->cacheflattrfile($urltoflattr, $id);
+ $flattrResponse = file_get_contents(CACHE . "/flattr/".$id.".cache");
+ print_r($flattrResponse);
if($flattrResponse != FALSE) {
$result = json_decode($flattrResponse);
if (isset($result->message)){
@@ -33,15 +34,15 @@ class FlattrItem {
}
}
- private function cacheflattrfile($urltoflattr) {
+ private function cacheflattrfile($urltoflattr, $id) {
if (!is_dir(CACHE . '/flattr')) {
mkdir(CACHE . '/flattr', 0777);
}
// if a cache flattr file for this url already exists and it's been less than one day than it have been updated, see in /cache
- if ((!file_exists(CACHE . "/flattr/".md5($urltoflattr).".cache")) || (time() - filemtime(CACHE . "/flattr/".md5($urltoflattr).".cache") > 86400)) {
+ if ((!file_exists(CACHE . "/flattr/".$id.".cache")) || (time() - filemtime(CACHE . "/flattr/".$id.".cache") > 86400)) {
$askForFlattr = Tools::getFile(FLATTR_API . $urltoflattr);
- $flattrCacheFile = fopen(CACHE . "/flattr/".md5($urltoflattr).".cache", 'w+');
+ $flattrCacheFile = fopen(CACHE . "/flattr/".$id.".cache", 'w+');
fwrite($flattrCacheFile, $askForFlattr);
fclose($flattrCacheFile);
}
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 561de808d..6907e6499 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -385,7 +385,7 @@ class Poche
# flattr checking
$flattr = new FlattrItem();
- $flattr->checkItem($entry['url']);
+ $flattr->checkItem($entry['url'],$entry['id']);
$tpl_vars = array(
'entry' => $entry,
From 4ee705a79c455ab01b4c8dd3ad9372d855bd2a88 Mon Sep 17 00:00:00 2001
From: NumEricR
Date: Thu, 26 Sep 2013 23:25:01 +0200
Subject: [PATCH 10/25] Add .htaccess file to force download of poche export
---
.htaccess | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 .htaccess
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 000000000..37b7701c8
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,8 @@
+Options +FollowSymlinks
+RewriteEngine On
+RewriteRule ^dl/export_poche.json$ ?export [L]
+
+# Force download
+RewriteCond %{QUERY_STRING} =export
+RewriteRule ([^/]*)$ - [L,E=dl:$1]
+Header onsuccess set Content-disposition "attachment; filename=%{dl}e" env=dl
\ No newline at end of file
From 969a91a1e3cff023139ae7fd065b81c921b713ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 3 Oct 2013 13:48:58 +0200
Subject: [PATCH 11/25] site_config is now embedded with poche
---
inc/3rdparty/site_config/README.md | 6 ++
inc/3rdparty/site_config/custom/bfmtv.com.txt | 6 ++
.../site_config/custom/inthepoche.com.txt | 7 ++
.../site_config/custom/palkeo.com.txt | 0
inc/3rdparty/site_config/custom/tldp.org.txt | 6 ++
inc/3rdparty/site_config/index.php | 3 +
.../site_config/standard/.wikipedia.org.txt | 19 +++++
inc/3rdparty/site_config/standard/index.php | 3 +
inc/3rdparty/site_config/standard/version.php | 2 +
install/update.php | 77 -------------------
10 files changed, 52 insertions(+), 77 deletions(-)
create mode 100644 inc/3rdparty/site_config/README.md
create mode 100644 inc/3rdparty/site_config/custom/bfmtv.com.txt
create mode 100644 inc/3rdparty/site_config/custom/inthepoche.com.txt
create mode 100644 inc/3rdparty/site_config/custom/palkeo.com.txt
create mode 100644 inc/3rdparty/site_config/custom/tldp.org.txt
create mode 100644 inc/3rdparty/site_config/index.php
create mode 100644 inc/3rdparty/site_config/standard/.wikipedia.org.txt
create mode 100644 inc/3rdparty/site_config/standard/index.php
create mode 100644 inc/3rdparty/site_config/standard/version.php
delete mode 100644 install/update.php
diff --git a/inc/3rdparty/site_config/README.md b/inc/3rdparty/site_config/README.md
new file mode 100644
index 000000000..0aff456be
--- /dev/null
+++ b/inc/3rdparty/site_config/README.md
@@ -0,0 +1,6 @@
+Full-Text RSS Site Patterns
+---------------------------
+
+Site patterns allow you to specify what should be extracted from specific sites.
+
+Please see http://help.fivefilters.org/customer/portal/articles/223153-site-patterns for more information.
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/custom/bfmtv.com.txt b/inc/3rdparty/site_config/custom/bfmtv.com.txt
new file mode 100644
index 000000000..0ff28d564
--- /dev/null
+++ b/inc/3rdparty/site_config/custom/bfmtv.com.txt
@@ -0,0 +1,6 @@
+title: //title
+body: //h2 | //span[@class='masque'] | //article[@class='corps_article_right']
+prune: no
+tidy: no
+
+test_url: http://www.bfmtv.com/societe/cigarette-electronique-dangers-588622.html
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/custom/inthepoche.com.txt b/inc/3rdparty/site_config/custom/inthepoche.com.txt
new file mode 100644
index 000000000..ede74b976
--- /dev/null
+++ b/inc/3rdparty/site_config/custom/inthepoche.com.txt
@@ -0,0 +1,7 @@
+title: //title
+body: //div[@class='post-content']
+
+prune: no
+tidy: no
+
+test_url: http://www.inthepoche.com/?post/poche-hosting
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/custom/palkeo.com.txt b/inc/3rdparty/site_config/custom/palkeo.com.txt
new file mode 100644
index 000000000..e69de29bb
diff --git a/inc/3rdparty/site_config/custom/tldp.org.txt b/inc/3rdparty/site_config/custom/tldp.org.txt
new file mode 100644
index 000000000..7dd5cdb5c
--- /dev/null
+++ b/inc/3rdparty/site_config/custom/tldp.org.txt
@@ -0,0 +1,6 @@
+title: //title
+body: //h2 | //p | //ul
+prune: no
+tidy: no
+
+test_url: http://www.tldp.org/HOWTO/Plug-and-Play-HOWTO-7.html
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/index.php b/inc/3rdparty/site_config/index.php
new file mode 100644
index 000000000..a3d5f7397
--- /dev/null
+++ b/inc/3rdparty/site_config/index.php
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/standard/.wikipedia.org.txt b/inc/3rdparty/site_config/standard/.wikipedia.org.txt
new file mode 100644
index 000000000..8b98ae4bd
--- /dev/null
+++ b/inc/3rdparty/site_config/standard/.wikipedia.org.txt
@@ -0,0 +1,19 @@
+title: //h1[@id='firstHeading']
+body: //div[@id = 'bodyContent']
+strip_id_or_class: editsection
+#strip_id_or_class: toc
+strip_id_or_class: vertical-navbox
+strip: //table[@id='toc']
+strip: //div[@id='catlinks']
+strip: //div[@id='jump-to-nav']
+strip: //div[@class='thumbcaption']//div[@class='magnify']
+strip: //table[@class='navbox']
+strip: //table[contains(@class, 'infobox')]
+strip: //div[@class='dablink']
+strip: //div[@id='contentSub']
+strip: //table[contains(@class, 'metadata')]
+strip: //*[contains(@class, 'noprint')]
+strip: //span[@title='pronunciation:']
+prune: no
+tidy: no
+test_url: http://en.wikipedia.org/wiki/Christopher_Lloyd
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/standard/index.php b/inc/3rdparty/site_config/standard/index.php
new file mode 100644
index 000000000..a3d5f7397
--- /dev/null
+++ b/inc/3rdparty/site_config/standard/index.php
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/inc/3rdparty/site_config/standard/version.php b/inc/3rdparty/site_config/standard/version.php
new file mode 100644
index 000000000..e61807ed6
--- /dev/null
+++ b/inc/3rdparty/site_config/standard/version.php
@@ -0,0 +1,2 @@
+
-
-
-
-
-
-
-
-
- updating poche
-
-
- update poche to 1.0-beta4
-
- Changelog
-
- - enhancement: updating and installing poche are more easier
- - enhancement: poche now uses Full Text RSS to fetch content
- - enhancement: css and twig files are more clean, thanks to NumEricR and nicofrand
- - enhancement: updated german translation, thanks to HLFH
- - enhancement: add db/, cache/ and assets/ directories in versioning
- - enhancement: display messages when error with import, thanks to EliasZ
- - enhancement: poche compatibility test file
- - enhancement: #112: link with shaarli
- - enhancement: #162: links to firefox / chrome / android apps in config screen
- - bug: encode url to share with twitter / email / shaarli
- - bug: Add IPv4 url support (and others beginning by a digit)
- - bug: title page in article view was wrong
- - bug: #148: use of undefined constant POCHE_VERSION
- - bug: #149: can't poche theguardian.com
- - bug: #150: default title for untitled articles
- - bug: #151: HTML entities in titles are encoded twice
- - bug: #169: entries height with short description
- - bug: #175: IP addresses do not appear in "view original"
-
- To update your poche, please fill the following fields.
-
-
-
-login($_POST['login'], sha1($_POST['password'] . $_POST['login'] . SALT));
- if ($user != array()) {
- $myconfig_file = '../inc/poche/myconfig.inc.php';
- # just change version number in config file
-
- if (!is_writable('../inc/poche/myconfig.inc.php')) {
- die('You don\'t have write access to open ./inc/poche/myconfig.inc.php.');
- }
-
- if (file_exists($myconfig_file))
- {
- $content = str_replace('1.0-beta3', '1.0-beta4', file_get_contents($myconfig_file));
- file_put_contents($myconfig_file, $content);
- }
-?>
- your poche is up to date!
- don't forget to delete ./install/ folder after the update.
- go back to your poche
-
-
-
\ No newline at end of file
From 34bf601a56385f55b486b8d1fbd81026c1d471e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 3 Oct 2013 13:59:52 +0200
Subject: [PATCH 12/25] change submodule & gitignore
---
.gitignore | 2 --
.gitmodules | 6 ------
2 files changed, 8 deletions(-)
delete mode 100644 .gitmodules
diff --git a/.gitignore b/.gitignore
index b73c4b400..2abed7edb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,4 @@ cache/*
vendor
composer.phar
db/poche.sqlite
-output
-phpdoc*
inc/poche/config.inc.php
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index bbdd8495d..000000000
--- a/.gitmodules
+++ /dev/null
@@ -1,6 +0,0 @@
-[submodule "inc/3rdparty/site_config"]
- path = inc/3rdparty/site_config
- url = git@github.com:inthepoche/site_config.git
-[submodule "themes"]
- path = themes
- url = git://github.com/inthepoche/poche-themes.git
From dfbbc14b335925072f71fdd7ec630e0244fc3ad7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 3 Oct 2013 14:05:50 +0200
Subject: [PATCH 13/25] remove themes
---
themes | 1 -
1 file changed, 1 deletion(-)
delete mode 160000 themes
diff --git a/themes b/themes
deleted file mode 160000
index c6406013d..000000000
--- a/themes
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c6406013d58dc3808b2544356b28a4816ae9747a
From eb44ca42139c6d68698a6c87eddaa818e5079853 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 3 Oct 2013 14:06:20 +0200
Subject: [PATCH 14/25] embed themes with poche
---
themes | 1 +
1 file changed, 1 insertion(+)
create mode 160000 themes
diff --git a/themes b/themes
new file mode 160000
index 000000000..e8f5283a7
--- /dev/null
+++ b/themes
@@ -0,0 +1 @@
+Subproject commit e8f5283a723b09164f24aa494baa965566328cc0
From 66e074b43dd4efc9f63c8fee784b99bcce51ab93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 3 Oct 2013 14:09:58 +0200
Subject: [PATCH 15/25] remove themes
---
themes | 1 -
1 file changed, 1 deletion(-)
delete mode 160000 themes
diff --git a/themes b/themes
deleted file mode 160000
index e8f5283a7..000000000
--- a/themes
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit e8f5283a723b09164f24aa494baa965566328cc0
From 4cc3c2ac1735196e4e6a18d1a1124cd0d9a0ed5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 3 Oct 2013 14:10:44 +0200
Subject: [PATCH 16/25] embed themes
---
themes/README.md | 31 ++
themes/dark/README.md | 3 +
themes/dark/css/style-dark.css | 78 +++++
themes/dark/img/dark/backtotop.png | Bin 0 -> 326 bytes
themes/dark/img/dark/bad-display.png | Bin 0 -> 343 bytes
themes/dark/img/dark/checkmark-off.png | Bin 0 -> 277 bytes
themes/dark/img/dark/checkmark-on.png | Bin 0 -> 235 bytes
themes/dark/img/dark/clock.png | Bin 0 -> 332 bytes
themes/dark/img/dark/down.png | Bin 0 -> 216 bytes
themes/dark/img/dark/envelop.png | Bin 0 -> 285 bytes
themes/dark/img/dark/flattr.png | Bin 0 -> 270 bytes
themes/dark/img/dark/left.png | Bin 0 -> 196 bytes
themes/dark/img/dark/link.png | Bin 0 -> 341 bytes
themes/dark/img/dark/remove.png | Bin 0 -> 252 bytes
themes/dark/img/dark/shaarli.png | Bin 0 -> 729 bytes
themes/dark/img/dark/star-off.png | Bin 0 -> 314 bytes
themes/dark/img/dark/star-on.png | Bin 0 -> 281 bytes
themes/dark/img/dark/top.png | Bin 0 -> 212 bytes
themes/dark/img/dark/twitter.png | Bin 0 -> 297 bytes
themes/dark/screenshot.jpg | Bin 0 -> 664859 bytes
themes/default/_bookmarklet.twig | 3 +
themes/default/_footer.twig | 4 +
themes/default/_head.twig | 11 +
themes/default/_menu.twig | 7 +
themes/default/_messages.twig | 1 +
themes/default/_top.twig | 7 +
themes/default/config.twig | 80 +++++
themes/default/css/knacss.css | 1 +
themes/default/css/messages.css | 75 ++++
themes/default/css/print.css | 48 +++
themes/default/css/style-default.css | 59 ++++
themes/default/css/style.css | 321 ++++++++++++++++++
themes/default/error.twig | 6 +
themes/default/export.twig | 1 +
themes/default/home.twig | 49 +++
.../apple-touch-icon-144x144-precomposed.png | Bin 0 -> 7349 bytes
.../apple-touch-icon-72x72-precomposed.png | Bin 0 -> 6168 bytes
themes/default/img/apple-touch-icon.png | Bin 0 -> 5803 bytes
themes/default/img/default/backtotop.png | Bin 0 -> 326 bytes
themes/default/img/default/bad-display.png | Bin 0 -> 343 bytes
themes/default/img/default/checkmark-off.png | Bin 0 -> 277 bytes
themes/default/img/default/checkmark-on.png | Bin 0 -> 235 bytes
themes/default/img/default/clock.png | Bin 0 -> 332 bytes
themes/default/img/default/down.png | Bin 0 -> 216 bytes
themes/default/img/default/envelop.png | Bin 0 -> 285 bytes
themes/default/img/default/flattr.png | Bin 0 -> 270 bytes
themes/default/img/default/left.png | Bin 0 -> 196 bytes
themes/default/img/default/link.png | Bin 0 -> 341 bytes
themes/default/img/default/remove.png | Bin 0 -> 252 bytes
themes/default/img/default/shaarli.png | Bin 0 -> 729 bytes
themes/default/img/default/star-off.png | Bin 0 -> 314 bytes
themes/default/img/default/star-on.png | Bin 0 -> 281 bytes
themes/default/img/default/top.png | Bin 0 -> 212 bytes
themes/default/img/default/twitter.png | Bin 0 -> 297 bytes
themes/default/img/favicon.ico | Bin 0 -> 346 bytes
themes/default/img/logo.png | Bin 0 -> 1350 bytes
themes/default/img/messages/close.png | Bin 0 -> 662 bytes
themes/default/img/messages/cross.png | Bin 0 -> 655 bytes
themes/default/img/messages/help.png | Bin 0 -> 786 bytes
themes/default/img/messages/tick.png | Bin 0 -> 537 bytes
themes/default/img/messages/warning.png | Bin 0 -> 666 bytes
themes/default/install.twig | 28 ++
themes/default/js/restoreScroll.js | 25 ++
themes/default/layout.twig | 31 ++
themes/default/login.twig | 32 ++
themes/default/view.twig | 51 +++
themes/dmagenta/README.md | 3 +
themes/dmagenta/css/style-dmagenta.css | 82 +++++
themes/dmagenta/img/dmagenta/backtotop.png | Bin 0 -> 326 bytes
themes/dmagenta/img/dmagenta/bad-display.png | Bin 0 -> 343 bytes
.../dmagenta/img/dmagenta/checkmark-off.png | Bin 0 -> 277 bytes
themes/dmagenta/img/dmagenta/checkmark-on.png | Bin 0 -> 235 bytes
themes/dmagenta/img/dmagenta/clock.png | Bin 0 -> 332 bytes
themes/dmagenta/img/dmagenta/down.png | Bin 0 -> 216 bytes
themes/dmagenta/img/dmagenta/envelop.png | Bin 0 -> 285 bytes
themes/dmagenta/img/dmagenta/flattr.png | Bin 0 -> 270 bytes
themes/dmagenta/img/dmagenta/left.png | Bin 0 -> 196 bytes
themes/dmagenta/img/dmagenta/link.png | Bin 0 -> 341 bytes
themes/dmagenta/img/dmagenta/remove.png | Bin 0 -> 252 bytes
themes/dmagenta/img/dmagenta/shaarli.png | Bin 0 -> 729 bytes
themes/dmagenta/img/dmagenta/star-off.png | Bin 0 -> 314 bytes
themes/dmagenta/img/dmagenta/star-on.png | Bin 0 -> 281 bytes
themes/dmagenta/img/dmagenta/top.png | Bin 0 -> 212 bytes
themes/dmagenta/img/dmagenta/twitter.png | Bin 0 -> 297 bytes
themes/dmagenta/screenshot.jpg | Bin 0 -> 731866 bytes
themes/solarized-dark/README.md | 6 +
themes/solarized-dark/Solarized-LICENSE.txt | 19 ++
.../css/style-solarized-dark.css | 223 ++++++++++++
.../img/solarized-dark/backtotop.png | Bin 0 -> 242 bytes
.../img/solarized-dark/bad-display.png | Bin 0 -> 419 bytes
.../img/solarized-dark/checkmark-off.png | Bin 0 -> 464 bytes
.../img/solarized-dark/checkmark-on.png | Bin 0 -> 164 bytes
.../img/solarized-dark/clock.png | Bin 0 -> 338 bytes
.../img/solarized-dark/down.png | Bin 0 -> 186 bytes
.../img/solarized-dark/envelop.png | Bin 0 -> 335 bytes
.../img/solarized-dark/flattr.png | Bin 0 -> 314 bytes
.../img/solarized-dark/left.png | Bin 0 -> 148 bytes
.../img/solarized-dark/link.png | Bin 0 -> 424 bytes
.../img/solarized-dark/remove.png | Bin 0 -> 329 bytes
.../img/solarized-dark/shaarli.png | Bin 0 -> 729 bytes
.../img/solarized-dark/star-off.png | Bin 0 -> 441 bytes
.../img/solarized-dark/star-on.png | Bin 0 -> 327 bytes
.../solarized-dark/img/solarized-dark/top.png | Bin 0 -> 173 bytes
.../img/solarized-dark/twitter.png | Bin 0 -> 388 bytes
themes/solarized-dark/screenshot.jpg | Bin 0 -> 230456 bytes
themes/solarized/README.md | 6 +
themes/solarized/Solarized-LICENSE.txt | 19 ++
themes/solarized/css/style-solarized.css | 223 ++++++++++++
themes/solarized/img/solarized/backtotop.png | Bin 0 -> 249 bytes
.../solarized/img/solarized/bad-display.png | Bin 0 -> 434 bytes
.../solarized/img/solarized/checkmark-off.png | Bin 0 -> 475 bytes
.../solarized/img/solarized/checkmark-on.png | Bin 0 -> 163 bytes
themes/solarized/img/solarized/clock.png | Bin 0 -> 346 bytes
themes/solarized/img/solarized/down.png | Bin 0 -> 189 bytes
themes/solarized/img/solarized/envelop.png | Bin 0 -> 340 bytes
themes/solarized/img/solarized/flattr.png | Bin 0 -> 315 bytes
themes/solarized/img/solarized/left.png | Bin 0 -> 139 bytes
themes/solarized/img/solarized/link.png | Bin 0 -> 425 bytes
themes/solarized/img/solarized/remove.png | Bin 0 -> 332 bytes
themes/solarized/img/solarized/shaarli.png | Bin 0 -> 729 bytes
themes/solarized/img/solarized/star-off.png | Bin 0 -> 455 bytes
themes/solarized/img/solarized/star-on.png | Bin 0 -> 332 bytes
themes/solarized/img/solarized/top.png | Bin 0 -> 172 bytes
themes/solarized/img/solarized/twitter.png | Bin 0 -> 407 bytes
themes/solarized/screenshot.jpg | Bin 0 -> 245928 bytes
125 files changed, 1533 insertions(+)
create mode 100644 themes/README.md
create mode 100644 themes/dark/README.md
create mode 100644 themes/dark/css/style-dark.css
create mode 100755 themes/dark/img/dark/backtotop.png
create mode 100755 themes/dark/img/dark/bad-display.png
create mode 100644 themes/dark/img/dark/checkmark-off.png
create mode 100644 themes/dark/img/dark/checkmark-on.png
create mode 100755 themes/dark/img/dark/clock.png
create mode 100644 themes/dark/img/dark/down.png
create mode 100644 themes/dark/img/dark/envelop.png
create mode 100755 themes/dark/img/dark/flattr.png
create mode 100644 themes/dark/img/dark/left.png
create mode 100755 themes/dark/img/dark/link.png
create mode 100644 themes/dark/img/dark/remove.png
create mode 100644 themes/dark/img/dark/shaarli.png
create mode 100644 themes/dark/img/dark/star-off.png
create mode 100644 themes/dark/img/dark/star-on.png
create mode 100644 themes/dark/img/dark/top.png
create mode 100644 themes/dark/img/dark/twitter.png
create mode 100644 themes/dark/screenshot.jpg
create mode 100644 themes/default/_bookmarklet.twig
create mode 100644 themes/default/_footer.twig
create mode 100644 themes/default/_head.twig
create mode 100644 themes/default/_menu.twig
create mode 100644 themes/default/_messages.twig
create mode 100644 themes/default/_top.twig
create mode 100644 themes/default/config.twig
create mode 100644 themes/default/css/knacss.css
create mode 100644 themes/default/css/messages.css
create mode 100644 themes/default/css/print.css
create mode 100644 themes/default/css/style-default.css
create mode 100644 themes/default/css/style.css
create mode 100644 themes/default/error.twig
create mode 100644 themes/default/export.twig
create mode 100644 themes/default/home.twig
create mode 100644 themes/default/img/apple-touch-icon-144x144-precomposed.png
create mode 100644 themes/default/img/apple-touch-icon-72x72-precomposed.png
create mode 100644 themes/default/img/apple-touch-icon.png
create mode 100644 themes/default/img/default/backtotop.png
create mode 100755 themes/default/img/default/bad-display.png
create mode 100644 themes/default/img/default/checkmark-off.png
create mode 100644 themes/default/img/default/checkmark-on.png
create mode 100755 themes/default/img/default/clock.png
create mode 100644 themes/default/img/default/down.png
create mode 100644 themes/default/img/default/envelop.png
create mode 100755 themes/default/img/default/flattr.png
create mode 100644 themes/default/img/default/left.png
create mode 100755 themes/default/img/default/link.png
create mode 100644 themes/default/img/default/remove.png
create mode 100644 themes/default/img/default/shaarli.png
create mode 100644 themes/default/img/default/star-off.png
create mode 100644 themes/default/img/default/star-on.png
create mode 100644 themes/default/img/default/top.png
create mode 100644 themes/default/img/default/twitter.png
create mode 100644 themes/default/img/favicon.ico
create mode 100644 themes/default/img/logo.png
create mode 100644 themes/default/img/messages/close.png
create mode 100644 themes/default/img/messages/cross.png
create mode 100644 themes/default/img/messages/help.png
create mode 100644 themes/default/img/messages/tick.png
create mode 100644 themes/default/img/messages/warning.png
create mode 100644 themes/default/install.twig
create mode 100644 themes/default/js/restoreScroll.js
create mode 100644 themes/default/layout.twig
create mode 100644 themes/default/login.twig
create mode 100644 themes/default/view.twig
create mode 100644 themes/dmagenta/README.md
create mode 100644 themes/dmagenta/css/style-dmagenta.css
create mode 100755 themes/dmagenta/img/dmagenta/backtotop.png
create mode 100755 themes/dmagenta/img/dmagenta/bad-display.png
create mode 100644 themes/dmagenta/img/dmagenta/checkmark-off.png
create mode 100644 themes/dmagenta/img/dmagenta/checkmark-on.png
create mode 100755 themes/dmagenta/img/dmagenta/clock.png
create mode 100644 themes/dmagenta/img/dmagenta/down.png
create mode 100644 themes/dmagenta/img/dmagenta/envelop.png
create mode 100755 themes/dmagenta/img/dmagenta/flattr.png
create mode 100644 themes/dmagenta/img/dmagenta/left.png
create mode 100755 themes/dmagenta/img/dmagenta/link.png
create mode 100644 themes/dmagenta/img/dmagenta/remove.png
create mode 100644 themes/dmagenta/img/dmagenta/shaarli.png
create mode 100644 themes/dmagenta/img/dmagenta/star-off.png
create mode 100644 themes/dmagenta/img/dmagenta/star-on.png
create mode 100644 themes/dmagenta/img/dmagenta/top.png
create mode 100644 themes/dmagenta/img/dmagenta/twitter.png
create mode 100644 themes/dmagenta/screenshot.jpg
create mode 100644 themes/solarized-dark/README.md
create mode 100644 themes/solarized-dark/Solarized-LICENSE.txt
create mode 100644 themes/solarized-dark/css/style-solarized-dark.css
create mode 100644 themes/solarized-dark/img/solarized-dark/backtotop.png
create mode 100644 themes/solarized-dark/img/solarized-dark/bad-display.png
create mode 100644 themes/solarized-dark/img/solarized-dark/checkmark-off.png
create mode 100644 themes/solarized-dark/img/solarized-dark/checkmark-on.png
create mode 100644 themes/solarized-dark/img/solarized-dark/clock.png
create mode 100644 themes/solarized-dark/img/solarized-dark/down.png
create mode 100644 themes/solarized-dark/img/solarized-dark/envelop.png
create mode 100644 themes/solarized-dark/img/solarized-dark/flattr.png
create mode 100644 themes/solarized-dark/img/solarized-dark/left.png
create mode 100644 themes/solarized-dark/img/solarized-dark/link.png
create mode 100644 themes/solarized-dark/img/solarized-dark/remove.png
create mode 100644 themes/solarized-dark/img/solarized-dark/shaarli.png
create mode 100644 themes/solarized-dark/img/solarized-dark/star-off.png
create mode 100644 themes/solarized-dark/img/solarized-dark/star-on.png
create mode 100644 themes/solarized-dark/img/solarized-dark/top.png
create mode 100644 themes/solarized-dark/img/solarized-dark/twitter.png
create mode 100644 themes/solarized-dark/screenshot.jpg
create mode 100644 themes/solarized/README.md
create mode 100644 themes/solarized/Solarized-LICENSE.txt
create mode 100644 themes/solarized/css/style-solarized.css
create mode 100644 themes/solarized/img/solarized/backtotop.png
create mode 100644 themes/solarized/img/solarized/bad-display.png
create mode 100644 themes/solarized/img/solarized/checkmark-off.png
create mode 100644 themes/solarized/img/solarized/checkmark-on.png
create mode 100644 themes/solarized/img/solarized/clock.png
create mode 100644 themes/solarized/img/solarized/down.png
create mode 100644 themes/solarized/img/solarized/envelop.png
create mode 100644 themes/solarized/img/solarized/flattr.png
create mode 100644 themes/solarized/img/solarized/left.png
create mode 100644 themes/solarized/img/solarized/link.png
create mode 100644 themes/solarized/img/solarized/remove.png
create mode 100644 themes/solarized/img/solarized/shaarli.png
create mode 100644 themes/solarized/img/solarized/star-off.png
create mode 100644 themes/solarized/img/solarized/star-on.png
create mode 100644 themes/solarized/img/solarized/top.png
create mode 100644 themes/solarized/img/solarized/twitter.png
create mode 100644 themes/solarized/screenshot.jpg
diff --git a/themes/README.md b/themes/README.md
new file mode 100644
index 000000000..76ac8ab07
--- /dev/null
+++ b/themes/README.md
@@ -0,0 +1,31 @@
+# poche-themes
+
+themes created by poche users
+
+## list of themes
+
+* dark ([preview](https://raw.github.com/inthepoche/poche-themes/master/dark/screenshot.jpg))
+* dmagenta ([preview](https://raw.github.com/inthepoche/poche-themes/master/dmagenta/screenshot.jpg))
+* solarized ([preview](https://raw.github.com/inthepoche/poche-themes/master/solarized/screenshot.jpg))
+* solarized-dark ([preview](https://raw.github.com/inthepoche/poche-themes/master/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.
diff --git a/themes/dark/README.md b/themes/dark/README.md
new file mode 100644
index 000000000..92077994a
--- /dev/null
+++ b/themes/dark/README.md
@@ -0,0 +1,3 @@
+# dark theme
+
+theme created by Nicolas LÅ“uillet aka nico_somb
\ No newline at end of file
diff --git a/themes/dark/css/style-dark.css b/themes/dark/css/style-dark.css
new file mode 100644
index 000000000..6d5075165
--- /dev/null
+++ b/themes/dark/css/style-dark.css
@@ -0,0 +1,78 @@
+body {
+ color: #d4d4d4;
+ background-color: #262627;
+}
+
+a,
+a:hover,
+a:visited {
+ color: #d4d4d4;
+}
+
+a.back span {
+ background-image: url('../img/dark/left.png');
+}
+
+a.top span {
+ background-image: url('../img/dark/top.png');
+}
+
+a.fav span,
+a.fav-off span:hover {
+ background-image: url('../img/dark/star-on.png');
+}
+
+a.fav span:hover,
+a.fav-off span {
+ background-image: url('../img/dark/star-off.png');
+}
+
+a.archive span,
+a.archive-off span:hover {
+ background-image: url('../img/dark/checkmark-on.png');
+}
+
+a.archive span:hover,
+a.archive-off span {
+ background-image: url('../img/dark/checkmark-off.png');
+}
+
+a.twitter span {
+ background-image: url('../img/dark/twitter.png');
+}
+
+a.shaarli span {
+ background-image: url('../img/dark/shaarli.png');
+}
+
+a.flattr span {
+ background-image: url('../img/dark/flattr.png');
+}
+
+a.email span {
+ background-image: url('../img/dark/envelop.png');
+}
+
+a.delete span {
+ background-image: url('../img/dark/remove.png');
+}
+
+a.link span {
+ background-image: url('../img/dark/link.png');
+}
+
+a.bad-display span {
+ background-image: url('../img/dark/bad-display.png');
+}
+
+a.reading-time span {
+ background-image: url('../img/dark/clock.png');
+}
+
+.pagination a {
+ color: #aaa;
+}
+
+#article_toolbar {
+ background: #262627;
+}
\ No newline at end of file
diff --git a/themes/dark/img/dark/backtotop.png b/themes/dark/img/dark/backtotop.png
new file mode 100755
index 0000000000000000000000000000000000000000..051238ef9216989a3baac6426a16592c8e177bd8
GIT binary patch
literal 326
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVF!Fl3IEF;Hznywo@Q?wI%Ve$$
zMyrJ^FBr6%`4+Hvamrp`%t$wQY_X}1v8Yh*#EcJ#v#w7R$Rj%S18`Xs-TqDc7Y-5(Tfn~CMC
z88Qc&>!L&%?pS&;n07R(nN{X+JG>RjWRN*Bm+iXL0W)vmbDPtQ#27LjdK6|}{_e}1
z&^KRp6H~{>Ep`gJc?`PD5ZIlru>Ec4=}6wxKJf#llTRNsb=UjO?N~`8yx98T6k7
WIVhejFZ~Y;9|liXKbLh*2~7ZPAbNuU
literal 0
HcmV?d00001
diff --git a/themes/dark/img/dark/bad-display.png b/themes/dark/img/dark/bad-display.png
new file mode 100755
index 0000000000000000000000000000000000000000..6866799fca568f803c733fada7bfca0db352f197
GIT binary patch
literal 343
zcmV-d0jU0oP)5QU`!Di9UW0V<#aQ2`xD2Xuf6=s;9J2ciQi;C-3hOoWk1ZsyJHUGDwtU4mA#
z5s9`Hf}jE4$#Zdcbp<}inEw(OXn!Gu0(DzRg{v?XGG|X-6yV@N82xDr^06SAC&1}s
zi5{9`bMeS%x^tqsFN{e=0-SHcU4U>gAxJLZ&X~ARS9K2oA`u(VCkc2W1lLC34CIaw
z3M5Y0bAh22StMa6%&;$!A?=081Q0xX3#k^gLA=oqXUHUCCIJb1)cy({>7`BX#QP*V
zghbc~6CoC!0#BMSx4TwMk{g2sY7UU3=nH`Q}-@DIo+2YSD`+;8?
zQ*)my0KS=^)V-b~aQG>3t$L}-se%X}1oHe)RZ&oAB3E5{`_hMbP0wCcxB%%cqW(369sx~Tq4bhlmlSW||c&wEM&96}ron$9Vg|PW%
zOJ>vEb3hXkkMB)MI3|eAJ4?bIjKV_#{~RQD6Me*P^J|bgNMBcW$=FHE)l|jRhQ?Em
ba?45FHN00000NkvXXu0mjfOIUFO
literal 0
HcmV?d00001
diff --git a/themes/dark/img/dark/checkmark-on.png b/themes/dark/img/dark/checkmark-on.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd3abb2c0b501af84a0f7db7f46bee779bc1af27
GIT binary patch
literal 235
zcmV6*fU
zMhVQyX>4hb0POOG9vOrHrX8AX0=_+nMzQH^MZJXx5}I`a1Llxjvj@<1>O3&r$y-6|
loP+?oPS2apj{b=uU;!3~Dp8U??J@uW002ovPDHLkV1nu1T@wHR
literal 0
HcmV?d00001
diff --git a/themes/dark/img/dark/clock.png b/themes/dark/img/dark/clock.png
new file mode 100755
index 0000000000000000000000000000000000000000..6164e92bb3317f7edb53205effc8c02c545a1639
GIT binary patch
literal 332
zcmV-S0ki&zP)
zff2z#5Jjl~9Yh7FKvZB3~!qB~StXWp>RviQLT2LCk_&qvaAKTlK&imA^4p*1}w0{^YAflC2Mq$f-yHT&a&
ev9MCBi2erKkVg)PL66k{0000t?28-`_sH?9-dar{uqIe_~&>_0>EEk>Z)9_6iqeGViTc
z^Aiy5VB9F(AoP6klgQ`2?G1bfZ)zVYUGRwQr{u+U1~Gvk>j}PdLW+!!uI|vE{?M93
zQKaDFRbLtA4`*6C{{5;j&puSusi>m0O-3U|@y_N%E6M9q|4yz5?L5mlagv(gyMmSN
QK&LWzy85}Sb4q9e0C^WwoB#j-
literal 0
HcmV?d00001
diff --git a/themes/dark/img/dark/envelop.png b/themes/dark/img/dark/envelop.png
new file mode 100644
index 0000000000000000000000000000000000000000..6be1c88643a86d3eb0cde7c06b9668e4575c3424
GIT binary patch
literal 285
zcmV+&0pk9NP)ICWrx`9rh|B-`~3Lyb6`DuFBd-qF9
z7<7!VV}Af3mewsn34l+_=B&*H?6tp2+XmoD^|7?@0l-qJCoQFy2kL9TlipI4J9i!A
zAM~i=NSaGGgD~+RU96dOcJ(R%lg70(3wHyl3{s&brJvGP860x%cj6_pYwqUjugo
z<2rKrA$N^JTU#|@-F^YmmKPY7NHBq&e*yDQ5|C*X2s*?!%Pm~3KUs=NaDvS;o0NK(
z^8sd_1lqv(YQN+Ku`V$42UxEv5*$%%!tX2*?_I8#An=td_=_OQFX}
zL2P1fRGvVj!grn^J7*gk0em0x(2$)7hQP6bF`kluvRYe0N
U_;uwnWB>pF07*qoM6N<$g3{@2mjD0&
literal 0
HcmV?d00001
diff --git a/themes/dark/img/dark/left.png b/themes/dark/img/dark/left.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0a53631ed0e93c4c63a6316abde8c66aa7366fb
GIT binary patch
literal 196
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-JULvAr}70DGLM)f>z9DoX*JP
z(EQz**ZfF2rx|m?EZznwd8Um_nrsT$`#7$=U^pV*VcL*#R-rjDPQlxF6C-6
z96tW_$O=eej1`*Ay&|na@q(!MhNa9C*0ws>Ft&?3DBka%Q@3Ghc?3h^XQnEj#3e2P
yFFp%3;Gr^aQKjnemVeoYIb6Mw<&;$S~ic^{Z
literal 0
HcmV?d00001
diff --git a/themes/dark/img/dark/shaarli.png b/themes/dark/img/dark/shaarli.png
new file mode 100644
index 0000000000000000000000000000000000000000..1eb30f60b99a02ba18054447ff4bc969c0ee7455
GIT binary patch
literal 729
zcmV;~0w(>5P)5r00001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGt^#A}F^#Lb9$`k+q02*{fSaefwW^{L9
za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006=Nkl^^$
z4%o_Tr_*`sc?U>(g2ob-d5zDd!C)X#AP@k(UQhQ@sl?j&f${+*BNmGdM8>i_D5qdB
z2!%ocn$0H6W-}srz208|4u=CwCKJeJvtYN|0jV40U2z!gb1s)7r`>J`^Z6Xc<1zI6
zeJ~o0pj0ZMTrNYkT7`DI4a?<{e527QtLQx|;$}1&kyY4u?dJ
z#bVHEwLm75!KKY!uScyRd5iK4tDr$XM8d~VC`3*UhXZgQV6)lKyI!vYZX#u6@cDc!
zL7T`7__r90x9xN~uwJi0qtVa?GO(#LupsGln(ou-l=_#;<>$@B00KOYgTa6tPNx%{
z>|0R};c%E1>w?8%L3*iFs$qNrw(*LsYo$`5z9W$c8{iR3k7IS$7K;UHwHoaL+fHoZ
z-EUi|R;$IROrrBAe9rOy1_N9%8-Ak<6TCp%H5+}B-Ofz0gCQZd)~)flmSB}wWUiKCCU>>F8OpOjmXmz=?OT@F&KwLeHQY}zW9<)A#_*ek9WwgWlte9UXsIhY+_$l$gY
zux2pqkZpMOkk{cKtAZWF5&4BVY!ety_^ApklepAtAg;sUb#(HIYQ=zBrcL4=hAe9&
zQxvNdgpxU8jLn!G7XF*p5YE#0>4Qn*JEj1hH|hxu$|h*DVCecPY_LE;!=7;&
z+g*kUE_NZG6im7t@31LsYwz-Bxunp&Vb=qOfDp!23{wgwI5J&X!0vF1aXRCIEA8t9
d@49PbF-*=;omiMR`vcIg44$rjF6*2UngFHXU;F?7
literal 0
HcmV?d00001
diff --git a/themes/dark/img/dark/top.png b/themes/dark/img/dark/top.png
new file mode 100644
index 0000000000000000000000000000000000000000..954a8c0acbb221eb20d04d6184d3317c9604adf6
GIT binary patch
literal 212
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLoEE?PJYPi;K0-R-Yh}L
z?7)+r11dQV@t4$c*ZUobpMJvm{%@_)>6edB)&AL*Wqe)zlJci}j4F4EGgNsM1rM|@
zE#&yfAbU^aW?|Gj?hdveA3Pq;Wz>Cn$btDHg9O{I3%rRuZ&Mg*G862Mh&(gP{N%fCG>)9Do9t0>A+hkifmBZJN=N4Vqlq{@%ZTzil@7
zb7UR!3-P8xE}Vs@&C3xWxEEFlv5Ddr%X5^27NxL6fCYp)AwsoLMEs;!g8&t7mH>Gt
z9PK_lYiq!%+#TGt83&A)*2EC3BGn1agsXF~)n<_(rovu;OQh1Ur+{(qTA+H}LxiU^
zj>CVz)2utXF!p~H@YUM_>`P%I%o9!?mcuKV5w^galZXHp+a8VW+b25#s?vY>55i=s
va$d(=g$@d9kD0+oa-S)d`_V#@^zGmcO~NR#w(5?(00000NkvXXu0mjfYC3)}
literal 0
HcmV?d00001
diff --git a/themes/dark/screenshot.jpg b/themes/dark/screenshot.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..daaad6c9e99d42cf614d872b9307f48e35888318
GIT binary patch
literal 664859
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
=pxb6Xc#
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