aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2014-01-08 11:28:46 +0100
committerNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2014-01-08 11:28:46 +0100
commit5ed8050791ef562ff4351ede3a077ab1e8b0d916 (patch)
tree8e0a6bb5cc584b0710fb01048dc08bc26189d71e
parent8905191413f20e7fba1d635a06cf5ec2ff86cbb3 (diff)
downloadwallabag-5ed8050791ef562ff4351ede3a077ab1e8b0d916.tar.gz
wallabag-5ed8050791ef562ff4351ede3a077ab1e8b0d916.tar.zst
wallabag-5ed8050791ef562ff4351ede3a077ab1e8b0d916.zip
[add] courgette theme
-rwxr-xr-xthemes/courgette/README.md3
-rwxr-xr-xthemes/courgette/_bookmarklet.twig3
-rwxr-xr-xthemes/courgette/_footer.twig4
-rwxr-xr-xthemes/courgette/_head.twig11
-rwxr-xr-xthemes/courgette/_menu.twig9
-rwxr-xr-xthemes/courgette/_messages.twig1
-rwxr-xr-xthemes/courgette/_top.twig9
-rwxr-xr-xthemes/courgette/config.twig82
-rw-r--r--themes/courgette/css/.DS_Storebin0 -> 6148 bytes
-rwxr-xr-xthemes/courgette/css/font.css10
-rwxr-xr-xthemes/courgette/css/knacss.css0
-rwxr-xr-xthemes/courgette/css/messages.css75
-rwxr-xr-xthemes/courgette/css/print.css48
-rwxr-xr-xthemes/courgette/css/style-default.css59
-rwxr-xr-xthemes/courgette/css/style.css620
-rwxr-xr-xthemes/courgette/error.twig6
-rwxr-xr-xthemes/courgette/export.twig1
-rw-r--r--themes/courgette/font/fontello.eotbin0 -> 6428 bytes
-rw-r--r--themes/courgette/font/fontello.svg23
-rw-r--r--themes/courgette/font/fontello.ttfbin0 -> 6260 bytes
-rw-r--r--themes/courgette/font/fontello.woffbin0 -> 3988 bytes
-rwxr-xr-xthemes/courgette/home.twig49
-rwxr-xr-xthemes/courgette/img/apple-touch-icon-144x144-precomposed.pngbin0 -> 7349 bytes
-rwxr-xr-xthemes/courgette/img/apple-touch-icon-72x72-precomposed.pngbin0 -> 6168 bytes
-rwxr-xr-xthemes/courgette/img/apple-touch-icon.pngbin0 -> 5803 bytes
-rw-r--r--themes/courgette/img/bg-select.pngbin0 -> 1193 bytes
-rwxr-xr-xthemes/courgette/img/default/backtotop.pngbin0 -> 326 bytes
-rwxr-xr-xthemes/courgette/img/default/bad-display.pngbin0 -> 343 bytes
-rwxr-xr-xthemes/courgette/img/default/checkmark-off.pngbin0 -> 277 bytes
-rwxr-xr-xthemes/courgette/img/default/checkmark-on.pngbin0 -> 235 bytes
-rwxr-xr-xthemes/courgette/img/default/clock.pngbin0 -> 332 bytes
-rwxr-xr-xthemes/courgette/img/default/down.pngbin0 -> 216 bytes
-rwxr-xr-xthemes/courgette/img/default/envelop.pngbin0 -> 285 bytes
-rwxr-xr-xthemes/courgette/img/default/flattr.pngbin0 -> 270 bytes
-rwxr-xr-xthemes/courgette/img/default/left.pngbin0 -> 196 bytes
-rwxr-xr-xthemes/courgette/img/default/link.pngbin0 -> 341 bytes
-rwxr-xr-xthemes/courgette/img/default/remove.pngbin0 -> 252 bytes
-rwxr-xr-xthemes/courgette/img/default/shaarli.pngbin0 -> 729 bytes
-rwxr-xr-xthemes/courgette/img/default/star-off.pngbin0 -> 314 bytes
-rwxr-xr-xthemes/courgette/img/default/star-on.pngbin0 -> 281 bytes
-rwxr-xr-xthemes/courgette/img/default/top.pngbin0 -> 212 bytes
-rwxr-xr-xthemes/courgette/img/default/twitter.pngbin0 -> 297 bytes
-rwxr-xr-xthemes/courgette/img/favicon.icobin0 -> 346 bytes
-rwxr-xr-xthemes/courgette/img/logo.pngbin0 -> 1350 bytes
-rwxr-xr-xthemes/courgette/img/messages/close.pngbin0 -> 662 bytes
-rwxr-xr-xthemes/courgette/img/messages/cross.pngbin0 -> 655 bytes
-rwxr-xr-xthemes/courgette/img/messages/help.pngbin0 -> 786 bytes
-rwxr-xr-xthemes/courgette/img/messages/tick.pngbin0 -> 537 bytes
-rwxr-xr-xthemes/courgette/img/messages/warning.pngbin0 -> 666 bytes
-rwxr-xr-xthemes/courgette/install.twig28
-rwxr-xr-xthemes/courgette/js/init.js6
-rwxr-xr-xthemes/courgette/js/restoreScroll.js25
-rwxr-xr-xthemes/courgette/layout.twig32
-rwxr-xr-xthemes/courgette/login.twig32
-rwxr-xr-xthemes/courgette/screenshot.jpgbin0 -> 80611 bytes
-rwxr-xr-xthemes/courgette/view.twig45
56 files changed, 1181 insertions, 0 deletions
diff --git a/themes/courgette/README.md b/themes/courgette/README.md
new file mode 100755
index 00000000..e13d3900
--- /dev/null
+++ b/themes/courgette/README.md
@@ -0,0 +1,3 @@
1# Courgette Theme
2
3theme created by Thomas LEBEAU alias Courgette http://thomaslebeau.fr/ \ No newline at end of file
diff --git a/themes/courgette/_bookmarklet.twig b/themes/courgette/_bookmarklet.twig
new file mode 100755
index 00000000..2f3b2d16
--- /dev/null
+++ b/themes/courgette/_bookmarklet.twig
@@ -0,0 +1,3 @@
1 <script type="text/javascript">
2 top["bookmarklet-url@inthepoche.com"]=""+"<!DOCTYPE html>"+"<html>"+"<head>"+"<title>poche it !</title>"+'<link rel="icon" href="{{poche_url}}tpl/img/favicon.ico" />'+"</head>"+"<body>"+"<script>"+"window.onload=function(){"+"window.setTimeout(function(){"+"history.back();"+"},250);"+"};"+"</scr"+"ipt>"+"</body>"+"</html>"
3 </script> \ No newline at end of file
diff --git a/themes/courgette/_footer.twig b/themes/courgette/_footer.twig
new file mode 100755
index 00000000..2b895854
--- /dev/null
+++ b/themes/courgette/_footer.twig
@@ -0,0 +1,4 @@
1 <footer class="w600p center mt3 mb3 smaller txtright">
2 <p>{% trans "powered by" %} <a href="http://inthepoche.com">poche</a></p>
3 {% if constant('DEBUG_POCHE') == 1 %}<p><strong>{% trans "debug mode is on so cache is off." %} {% trans "your poche version:" %}{{constant('POCHE_VERSION')}}. {% trans "storage:" %} {{constant('STORAGE')}}</strong></p>{% endif %}
4 </footer> \ No newline at end of file
diff --git a/themes/courgette/_head.twig b/themes/courgette/_head.twig
new file mode 100755
index 00000000..57b40f41
--- /dev/null
+++ b/themes/courgette/_head.twig
@@ -0,0 +1,11 @@
1 <link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}/themes/{{theme}}/img/favicon.ico" />
2 <link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-144x144-precomposed.png">
3 <link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-72x72-precomposed.png">
4 <link rel="apple-touch-icon-precomposed" href="{{ poche_url }}/themes/{{theme}}/img/apple-touch-icon-precomposed.png">
5 <link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/font.css" media="all">
6 <link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/style.css" media="all">
7 <link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/messages.css" media="all">
8 <link rel="stylesheet" href="{{ poche_url }}/themes/{{theme}}/css/print.css" media="print">
9 <link href='//fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
10 <script src="//codeorigin.jquery.com/jquery-2.0.3.min.js"></script>
11 <script src="{{ poche_url }}/themes/{{theme}}/js/init.js"></script>
diff --git a/themes/courgette/_menu.twig b/themes/courgette/_menu.twig
new file mode 100755
index 00000000..85487f73
--- /dev/null
+++ b/themes/courgette/_menu.twig
@@ -0,0 +1,9 @@
1 <div id="menuContainer">
2 <ul id="links">
3 <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "home" %}</a></li>
4 <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li>
5 <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li>
6 <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li>
7 <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li>
8 </ul>
9 </div> \ No newline at end of file
diff --git a/themes/courgette/_messages.twig b/themes/courgette/_messages.twig
new file mode 100755
index 00000000..679aa098
--- /dev/null
+++ b/themes/courgette/_messages.twig
@@ -0,0 +1 @@
{{ messages | raw }} \ No newline at end of file
diff --git a/themes/courgette/_top.twig b/themes/courgette/_top.twig
new file mode 100755
index 00000000..a2a4b28d
--- /dev/null
+++ b/themes/courgette/_top.twig
@@ -0,0 +1,9 @@
1 <header>
2 <h1>
3 {% if view == 'home' %}{% block logo %}<img src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/img/logo.png" alt="logo poche" />{% endblock %}
4 {% elseif view == 'fav' %}<a href="./" title="{% trans "back to home" %}" >{{ block('logo') }} <span>Favoris</span></a>
5 {% elseif view == 'archive' %}<a href="./" title="{% trans "back to home" %}" >{{ block('logo') }} <span>Archive</span></a>
6 {% else %}<a href="./" title="{% trans "back to home" %}" >{{ block('logo') }}</a>
7 {% endif %}
8 </h1>
9 </header> \ No newline at end of file
diff --git a/themes/courgette/config.twig b/themes/courgette/config.twig
new file mode 100755
index 00000000..d822a457
--- /dev/null
+++ b/themes/courgette/config.twig
@@ -0,0 +1,82 @@
1{% extends "layout.twig" %}
2
3{% block title %}{% trans "config" %}{% endblock %}
4{% block menu %}
5{% include '_menu.twig' %}
6{% endblock %}
7{% block content %}
8 <div id="config">
9 <h2>{% trans "Poching a link" %}</h2>
10 <p>{% trans "You can poche a link by several methods:" %} (<a class="special" href="http://inthepoche.com/doc" title="{% trans "read the documentation" %}">?</a>)</p>
11 <ul>
12 <li>firefox: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/poche.xpi" title="download the firefox extension">{% trans "download the extension" %}</a></li>
13 <li>chrome: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/poche.crx" title="download the chrome extension">{% trans "download the extension" %}</a></li>
14 <li>android: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/Poche.apk" title="download the application">{% trans "download the application" %}</a></li>
15 <li>
16 <form method="get" action="index.php">
17 <label class="addurl" for="plainurl">{% trans "by filling this field" %}:</label>
18 <input required placeholder="Ex:mywebsite.com/article" class="addurl" id="plainurl" name="plainurl" type="url" />
19 <input type="submit" value="{% trans "poche it!" %}" />
20 </form>
21 </li>
22 <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@inthepoche.com']){top['bookmarklet-url@inthepoche.com'];}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>
23 </ul>
24
25 <h2>{% trans "Updating poche" %}</h2>
26 <ul>
27 <li>{% trans "your version" %} : <strong>{{ constant('POCHE_VERSION') }}</strong></li>
28 <li>{% trans "latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://inthepoche.com/">{% trans "a more recent stable version is available." %}</a></strong>{% else %}{% trans "you are up to date." %}{% endif %}</li>
29 {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://inthepoche.com/">{% trans "a more recent development version is available." %}</a></strong>{% else %}{% trans "you are up to date." %}{% endif %}</li>{% endif %}
30 </ul>
31
32 <h2>{% trans "Change your theme" %}</h2>
33 <form method="post" action="?updatetheme" name="changethemeform">
34 <fieldset class="w500p">
35 <div class="row">
36 <label class="col w150p" for="theme">{% trans "Theme:" %}</label>
37 <select class="col" id="theme" name="theme">
38 {% for theme in themes %}
39 <option value="{{ theme.name }}" {{ theme.current ? 'selected' : '' }}>{{ theme.name }}</option>
40 {% endfor %}
41 </select>
42 </div>
43 <div class="row mts txtcenter">
44 <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
45 </div>
46 </fieldset>
47 <input type="hidden" name="returnurl" value="{{ referer }}">
48 <input type="hidden" name="token" value="{{ token }}">
49 </form>
50
51 <h2>{% trans "Change your password" %}</h2>
52 <form method="post" action="?config" name="loginform">
53 <fieldset class="w500p">
54 <div class="row">
55 <label class="col w150p" for="password">{% trans "New password:" %}</label>
56 <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2">
57 </div>
58 <div class="row">
59 <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label>
60 <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3">
61 </div>
62 <div class="row mts txtcenter">
63 <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
64 </div>
65 </fieldset>
66 <input type="hidden" name="returnurl" value="{{ referer }}">
67 <input type="hidden" name="token" value="{{ token }}">
68 </form>
69
70 <h2>{% trans "Import" %}</h2>
71 <p>{% trans "Please execute the import script locally, it can take a very long time." %}</p>
72 <p>{% trans "More infos in the official doc:" %} <a href="http://inthepoche.com/doc">inthepoche.com</a></p>
73 <ul>
74 <li><a href="./?import&amp;from=pocket">{% trans "import from Pocket" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('POCKET_FILE')) }}</li>
75 <li><a href="./?import&amp;from=readability">{% trans "import from Readability" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('READABILITY_FILE')) }}</li>
76 <li><a href="./?import&amp;from=instapaper">{% trans "import from Instapaper" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('INSTAPAPER_FILE')) }}</li>
77 </ul>
78
79 <h2>{% trans "Export your poche datas" %}</h2>
80 <p><a href="./?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your poche datas." %}</p>
81 </div>
82{% endblock %} \ No newline at end of file
diff --git a/themes/courgette/css/.DS_Store b/themes/courgette/css/.DS_Store
new file mode 100644
index 00000000..c788a093
--- /dev/null
+++ b/themes/courgette/css/.DS_Store
Binary files differ
diff --git a/themes/courgette/css/font.css b/themes/courgette/css/font.css
new file mode 100755
index 00000000..7c16cce4
--- /dev/null
+++ b/themes/courgette/css/font.css
@@ -0,0 +1,10 @@
1@font-face {
2 font-family: 'fontello';
3 src: url('../font/fontello.eot?97381924');
4 src: url('../font/fontello.eot?97381924#iefix') format('embedded-opentype'),
5 url('../font/fontello.woff?97381924') format('woff'),
6 url('../font/fontello.ttf?97381924') format('truetype'),
7 url('../font/fontello.svg?97381924#fontello') format('svg');
8 font-weight: normal;
9 font-style: normal;
10} \ No newline at end of file
diff --git a/themes/courgette/css/knacss.css b/themes/courgette/css/knacss.css
new file mode 100755
index 00000000..e69de29b
--- /dev/null
+++ b/themes/courgette/css/knacss.css
diff --git a/themes/courgette/css/messages.css b/themes/courgette/css/messages.css
new file mode 100755
index 00000000..fe6fbbe8
--- /dev/null
+++ b/themes/courgette/css/messages.css
@@ -0,0 +1,75 @@
1.messages {
2 display: block;
3 clear: both;
4 width: 400px;
5 margin: 10px auto 10px;
6 padding: 10px 0;
7 -moz-border-radius: 4px;
8 border-radius: 4px;
9}
10
11.messages a.closeMessage {
12 display: none;
13 float: right;
14 width: 16px;
15 height: 16px;
16 margin: -14px -8px 0 0;
17 background: url(../img/messages/close.png) no-repeat;
18}
19
20/*.messages:hover a.closeMessage { visibility:visible; }*/
21
22.messages p {
23 margin: 3px 0 3px 10px !important;
24 padding: 0 10px 0 23px !important;
25 font-size: 14px;
26 line-height: 16px;
27}
28
29.messages.error {
30 border: 1px solid #c42608;
31 color: #c00 !important;
32 background: #fff0ef;
33}
34
35.messages.error p {
36 color: #c00 !important;
37 background: url(../img/messages/cross.png) no-repeat 0 50%;
38}
39
40.messages.success {
41 border: 1px solid #6dc70c;
42 background: #e0fbcc;
43}
44
45.messages.success p {
46 color: #2b6301 !important;
47 background: url(../img/messages/tick.png) no-repeat 0 50%;
48}
49
50.messages.warning {
51 border: 1px solid #ebcd41;
52 color: #000;
53 background: #fffcd3;
54}
55
56.messages.warning p {
57 color: #5f4e01;
58 background: url(../img/messages/warning.png) no-repeat 0 50%;
59}
60
61.messages.information,
62.messages.info {
63 border: 1px solid #82aee7;
64 background: #dfebfb;
65}
66
67.messages.information p,
68.messages.info p {
69 color: #064393;
70 background: url(../img/messages/help.png) no-repeat 0 50%;
71}
72
73.messages.information a {
74 text-decoration: underline;
75} \ No newline at end of file
diff --git a/themes/courgette/css/print.css b/themes/courgette/css/print.css
new file mode 100755
index 00000000..9aefa779
--- /dev/null
+++ b/themes/courgette/css/print.css
@@ -0,0 +1,48 @@
1/* ### Layout ### */
2
3body {
4 font-family: Serif;
5 background-color: #fff;
6}
7
8@page {
9 margin: 1cm;
10}
11
12img {
13 max-width: 100% !important;
14}
15
16/* ### Content ### */
17
18/* Hide useless blocks */
19body > header,
20#links,
21#sort,
22body > footer,
23.top_link,
24div.tools,
25header div,
26.messages,
27.entrie + .results {
28 display: none !important;
29}
30
31article {
32 border: none !important;
33}
34
35/* Add URL after links */
36.vieworiginal a:after {
37 content: " (" attr(href) ")";
38}
39
40/* Add explanation after abbr */
41abbr[title]:after {
42 content: " (" attr(title) ")";
43}
44
45/* Change border on current pager item */
46.pagination span.current {
47 border-style: dashed;
48}
diff --git a/themes/courgette/css/style-default.css b/themes/courgette/css/style-default.css
new file mode 100755
index 00000000..3377a75b
--- /dev/null
+++ b/themes/courgette/css/style-default.css
@@ -0,0 +1,59 @@
1a.back span {
2 background-image: url('../img/default/left.png');
3}
4
5a.top span {
6 background-image: url('../img/default/top.png');
7}
8
9a.fav span,
10a.fav-off span:hover {
11 background-image: url('../img/default/star-on.png');
12}
13
14a.fav span:hover,
15a.fav-off span {
16 background-image: url('../img/default/star-off.png');
17}
18
19a.archive span,
20a.archive-off span:hover {
21 background-image: url('../img/default/checkmark-on.png');
22}
23
24a.archive span:hover,
25a.archive-off span {
26 background-image: url('../img/default/checkmark-off.png');
27}
28
29a.twitter span {
30 background-image: url('../img/default/twitter.png');
31}
32
33a.shaarli span {
34 background-image: url('../img/default/shaarli.png');
35}
36
37a.flattr span {
38 background-image: url('../img/default/flattr.png');
39}
40
41a.email span {
42 background-image: url('../img/default/envelop.png');
43}
44
45a.delete span {
46 background-image: url('../img/default/remove.png');
47}
48
49a.link span {
50 background-image: url('../img/default/link.png');
51}
52
53a.bad-display span {
54 background-image: url('../img/default/bad-display.png');
55}
56
57a.reading-time span {
58 background-image: url('../img/default/clock.png');
59}
diff --git a/themes/courgette/css/style.css b/themes/courgette/css/style.css
new file mode 100755
index 00000000..2ba16b71
--- /dev/null
+++ b/themes/courgette/css/style.css
@@ -0,0 +1,620 @@
1* {
2 -webkit-box-sizing: border-box;
3 -moz-box-sizing: border-box;
4 box-sizing: border-box;
5}
6
7body {
8 margin: 10px;
9 font-family: 'Roboto',Verdana,Geneva,sans-serif;
10 font-size: 16px;
11 color: #000;
12}
13
14h1 span {
15 color #FFF;
16 background: #000;
17 display: inline-block;
18 padding: 0.2em 1em 0.2em 1.2em;
19 font-size: 0.7em;
20 position: relative;
21 top: -1em;
22 left: -1em;
23}
24
25h1 a {
26 color: #FFF;
27 text-decoration: none;
28}
29
30#menu {
31 font-family: 'fontello';
32 position:fixed;
33 z-index: 11;
34 top: 0.7em;
35 right: 0.5em;
36 border:0;
37 font-size: 2em;
38 background: #000;
39 color:#FFF;
40 height: 58px;
41 width: 58px;
42 line-height:58px;
43 border-radius:120px;
44}
45
46#menu:hover, #menu:focus {
47 background: #FFF;
48 color:#000;
49 cursor: pointer;
50}
51
52#menu span {
53 position: absolute;
54 top: -99999px;
55}
56
57#menuContainer ul, #article_toolbar ul {
58 position:fixed;
59 top: 0;
60 left:0;
61 width: 100%;
62 padding: 0;
63 margin: 0;
64 text-align:center;
65 height:80px;
66}
67
68/*Inspired by http://tympanus.net/Tutorials/AnimatedBorderMenus/index.html */
69
70#menuContainer, #article_toolbar {
71 position: fixed;
72 top: 0;
73 left:0;
74 width: 100%;
75 height: 0;
76 overflow: hidden;
77 border-width:0;
78 border-style: solid;
79 border-color:#000;
80 background-color: transparent;
81 -webkit-transition: border-width 0.3s, background-color 0.3s, height 0s 0.3s;
82 -moz-transition: border-width 0.3s, background-color 0.3s, height 0s 0.3s;
83 transition: border-width 0.3s, background-color 0.3s, height 0s 0.3s;
84}
85
86#article_toolbar ul {
87 padding: 1.7em;
88}
89
90#menuContainer.open, #article_toolbar.open {
91 border-width:80px;
92 height: 100%;
93 background: rgba(0,0,0,0.5);
94 -webkit-transition: border-width 0.3s, background-color 0.3s;
95 -moz-transition: border-width 0.3s, background-color 0.3s;
96 transition: border-width 0.3s, background-color 0.3s;
97 z-index: 1;
98}
99
100#links li, #article_toolbar li {
101 list-style: none;
102 display: inline-block;
103}
104
105#links li a, #article_toolbar a {
106 color:#FFF;
107 display: block;
108 position:relative;
109 top: -200px;
110 -webkit-transition: top 0.3s ease;
111 -moz-transition: top 0.3s ease;
112 transition: top 0.3s ease;
113 padding:1.85em 1em;
114}
115
116#links li a {
117 text-decoration:none;
118 text-transform:uppercase;
119}
120
121#links li a:hover, #links li a:focus {
122 background: #FFF;
123 color:#000;
124}
125
126#menuContainer.open li a, #article_toolbar.open a {
127 top: 0;
128 -webkit-transition: top 0.3s ease;
129 -moz-transition: top 0.3s ease;
130 transition: top 0.3s ease;
131 -webkit-transition-delay:0.25ms;
132 -moz-transition-delay:0.25ms;
133 transition-delay:0.25ms;
134}
135
136#menuContainer.open li:nth-child(2) a {
137 -webkit-transition-delay:0.50ms;
138 -moz-transition-delay:0.50ms;
139 transition-delay:0.50ms;
140}
141
142#menuContainer.open li:nth-child(3) a {
143 -webkit-transition-delay:1ms;
144 -moz-transition-delay:1ms;
145 transition-delay:1ms;
146}
147
148#menuContainer.open li:nth-child(4) a {
149 -webkit-transition-delay:1.25ms;
150 -moz-transition-delay:1.25ms;
151 transition-delay:1.25ms;
152}
153
154#menuContainer.open li:nth-child(5) a {
155 -webkit-transition-delay:1.55ms;
156 -moz-transition-delay:1.55ms;
157 transition-delay:1.55ms;
158}
159
160#menu:before {
161 content: "\e801";
162 display: block;
163 text-indent: 0;
164}
165
166body > header {
167 position: fixed;
168 top: 0;
169 left: 1em;
170 z-index: 10;
171}
172
173#main {
174 padding:6em;
175}
176
177/* ==========================================================================
178 entrie
179 ========================================================================== */
180
181.entrie, #article {
182 width: 45em;
183 margin: auto;
184 position:relative;
185 padding: 0 0 1em 0;
186 margin-bottom: 1.5em;
187}
188
189#article a {
190 text-decoration: underline;
191 color:#000;
192}
193
194#article a:hover, #article a:focus {
195 text-decoration: none;
196}
197
198.entrie:after {
199 content:"";
200 position: absolute;
201 width: 100%;
202 height: 4px;
203 background: #000;
204 bottom:0;
205 left: -1em;
206}
207
208.entrie p {
209 padding:0 0 0 1.5em;
210}
211
212.entrie:before {
213 content:'';
214 position: absolute;
215 top: 0;
216 left: -1em;
217 width: 4px;
218 height: 100%;
219 background: #000;
220}
221
222.entrie h2:after {
223 content:"";
224 display: block;
225 width: 0;
226 height: 0;
227 border-color: #000;
228 border-width:7px;
229 border-color:transparent transparent transparent #000;
230 border-style: solid;
231 position: absolute;
232 top: 0.8em;
233 right: -0.58em;
234}
235
236.entrie h2 {
237 margin:0;
238 display: inline-block;
239 position: relative;
240 max-width: 78%;
241}
242
243.entrie h2 a {
244 color:#000;
245 text-decoration:none;
246 display: block;
247 background: #000;
248 padding: 0.4em 1em;
249 color:#FFF;
250 margin-left: -0.5em;
251 -webkit-transition: all 0.3s ease-out;
252 -moz-transition: all 0.3s ease-out;
253 transition: all 0.3s ease-out;
254}
255
256.entrie h2 a:hover, .entrie h2 a:focus {
257 padding:0.4em 1em 0.4em 2em;
258}
259
260ul {
261 padding:0;
262 margin:0;
263}
264
265ul li {
266 list-style: none;
267}
268
269.tools {
270 display: inline-block;
271 margin-left: 1em;
272 vertical-align: top;
273 padding-top: 1em;
274}
275
276.tools a span {
277 position:absolute;
278 top: -99999px;
279}
280
281.tools li {
282 display: inline-block;
283}
284
285.tools a {
286 display: block;
287 color:#FFF;
288 background: #000;
289 text-decoration:none;
290 height: 1.5em;
291 width: 1.5em;
292 text-align: center;
293 line-height:1.5em;
294 border-radius: 90px;
295}
296
297.tools a:hover, .tools a:focus {
298 background: #FFF;
299 color:#000;
300}
301
302.tools a:before { display: block; font-family: 'fontello'; }
303
304
305.fav-off:before, .fav:before { content: '\e805'; } /* 'î …' */
306.archive-off:before, .archive:before { content: '\e804'; } /* 'î „' */
307.tools .archive, .tools .fav {
308 background: #FFF;
309 color:#000;
310}
311.link:before { content: '\e800'; } /* 'î €' */
312.delete:before { content: '\e803'; } /* 'î ƒ' */
313.reading-time:before { content: '\e802'; } /* 'î ‚' */
314
315#article_toolbar a:before {
316 display: block;
317 font-family: 'fontello';
318}
319
320#article_toolbar a {
321 display: block;
322 color:#000;
323 background: #FFF;
324 text-decoration:none;
325 height: 1.5em;
326 width: 1.5em;
327 text-align: center;
328 line-height:1.5em;
329 border-radius: 90px;
330 padding: 0;
331}
332
333#article_toolbar a:hover, #article_toolbar a:focus {
334 background: #000;
335 color:#FFF;
336}
337
338#article_toolbar span {
339 position: absolute;
340 top: -99999px;
341}
342
343.email:before { content: '\e80a'; } /* 'î Š' */
344.icon-check:before { content: '\e804'; } /* 'î „' */
345.back:before { content: '\e806'; } /* 'î †' */
346.bad-display:before { content: '\e808'; } /* 'î ˆ' */
347.twitter:before { content: '\e807'; } /* 'î ‡' */
348
349#article_toolbar .flattrli {
350 display: none;
351}
352
353#article_toolbar li {
354 margin: 0 0 0 1em;
355}
356
357
358footer {
359 position: fixed;
360 bottom: 0;
361 width: 100%;
362 padding: 0 2%;
363 left: 0;
364 text-align:right;
365 font-size: 0.8em;
366 font-style: italic;
367 background: rgba(255,255,255,0.5);
368}
369
370footer a {
371 color:#000;
372}
373
374footer a:hover,footer a:focus {
375 text-decoration: none;
376}
377
378footer p:first-child {
379 float:left;
380}
381
382#loginForm fieldset {
383 border:5px solid #000;
384 padding: 1.5em;
385}
386
387fieldset {
388 border:0;
389 padding: 0;
390}
391
392#loginForm {
393 max-width: 25em;
394 margin: auto;
395}
396
397#loginForm .row {
398 margin-bottom: 0.5em;
399}
400
401form h2 {
402 margin-top: 0;
403}
404
405form label {
406 width: 40%;
407 display: inline-block;
408}
409
410form input[type="text"], form input[type="password"], form input[type='url'], form select {
411 border:1px solid #000;
412 padding:0.5em 1em;
413}
414
415@media screen and (-webkit-min-device-pixel-ratio:0){
416 form select{
417 -webkit-appearance: none;
418 background: url(../img/bg-select.png) no-repeat right center;
419 padding-right: 2.2em;
420 border-radius: 0;
421 }
422}
423
424form button, form input[type="submit"] {
425 background: #000;
426 color:#FFF;
427 border:0;
428 font-size:1em;
429 padding:0.5em 1em;
430 margin-top: 1em;
431 cursor: pointer;
432}
433
434form button:hover, form button:focus, form input[type="submit"]:hover, form input[type="submit"]:focus {
435 background: #FFF;
436 color: #000;
437}
438
439/* ==========================================================================
440 Config
441 ========================================================================== */
442
443#config {
444 max-width: 60%;
445 margin: auto;
446}
447
448#config a {
449 background: #000;
450 text-decoration: none;
451 color:#FFF;
452 padding: 0.2em 1em;
453}
454
455#config .special {
456 background: none;
457 padding:0;
458 color: #000;
459}
460
461#config a:hover, #config a:focus {
462 background: #FFF;
463 color:#000;
464}
465
466#config li {
467 margin-bottom: 1em;
468}
469
470#plainurl {
471 font-size: 1em;
472}
473
474#config label {
475 width: 20%;
476}
477
478.results {
479 max-width: 62.5%;
480 font-style:italic;
481 margin: 1em auto 2.5em;
482}
483
484#sort {
485 max-width: 62.5%;
486 margin: 0 auto -2.5em;
487 text-align: right;
488 border-bottom:1px dotted #000;
489}
490
491#sort li {
492 display: inline-block;
493 vertical-align: top;
494 position: relative;
495 top: -0.1em;
496 margin-left: 1em;
497}
498
499#sort li img {
500 display: none;
501}
502
503#sort a {
504 display: inline-block;
505 font-family: 'fontello';
506 color:#000;
507 text-decoration: none;
508}
509
510#sort a:hover, #sort a:focus {
511 text-decoration: underline;
512}
513
514#sort a:before {
515 display: block;
516}
517
518#sort li a:first-child:before {
519 content: '\e809';
520}
521
522#sort li a:first-child + a:before {
523 content: '\e80b';
524}
525
526@media screen and (max-width: 860px) {
527 .entrie, #article {
528 width: 30em;
529 }
530}
531
532@media screen and (max-width: 650px) {
533 #menuContainer ul, #article_toolbar ul {
534 width: 120px;
535 height: 100%;
536 }
537
538 body > header {
539 position: static;
540 }
541
542 #main {
543 padding: 0 0.5em 6em;
544 }
545
546 #menu {
547 display: none;
548 }
549
550 #main:before {
551 content:none;
552 }
553
554 #menuContainer, #article_toolbar, #menuContainer ul, #article_toolbar ul {
555 position: static;
556 width: 100%;
557 height: auto;
558 }
559
560 #links li a, #article_toolbar a {
561 position: static;
562 color: #000;
563 }
564
565 #links li a {
566 padding: 1em;
567 min-width: 120px;
568 text-align: left;
569 }
570
571 #article_toolbar li {
572 margin-bottom: 1em;
573 margin-left: 0.5em;
574 }
575
576}
577
578@media screen and (max-width: 500px) {
579 .entrie, #article {
580 width: 17em;
581 }
582 .entrie h2 {
583 width: 100%;
584 max-width: none;
585 }
586 .entrie h2 a:hover, .entrie h2 a:focus {
587 padding-left: 1em;
588 background: #FFF;
589 color: #000;
590 }
591 .entrie h2:after {
592 content:none;
593 }
594
595 .messages {
596 width: 100%!important;
597 }
598
599 #sort {
600 margin: 3em auto 0;
601 max-width: none;
602 text-align: center;
603 }
604 #config {
605 margin: 7em auto 0;
606 max-width: none;
607 }
608 #config label { width: 100%; }
609 .results {
610 max-width: none;
611 margin-bottom: 1em;
612 }
613
614 footer p:first-child {
615 float: none;
616 }
617 footer {
618 position:static;
619 }
620}
diff --git a/themes/courgette/error.twig b/themes/courgette/error.twig
new file mode 100755
index 00000000..c829d12b
--- /dev/null
+++ b/themes/courgette/error.twig
@@ -0,0 +1,6 @@
1{% extends "layout.twig" %}
2{% block title %}{% trans "plop" %}{% endblock %}
3{% block content %}
4 {{ msg|raw }}
5 <p>Don't forget <a href="http://inthepoche.com/doc">the documentation</a>.</p>
6{% endblock %} \ No newline at end of file
diff --git a/themes/courgette/export.twig b/themes/courgette/export.twig
new file mode 100755
index 00000000..4adb9540
--- /dev/null
+++ b/themes/courgette/export.twig
@@ -0,0 +1 @@
{{ export }} \ No newline at end of file
diff --git a/themes/courgette/font/fontello.eot b/themes/courgette/font/fontello.eot
new file mode 100644
index 00000000..3c5603dd
--- /dev/null
+++ b/themes/courgette/font/fontello.eot
Binary files differ
diff --git a/themes/courgette/font/fontello.svg b/themes/courgette/font/fontello.svg
new file mode 100644
index 00000000..0e0118ed
--- /dev/null
+++ b/themes/courgette/font/fontello.svg
@@ -0,0 +1,23 @@
1<?xml version="1.0" standalone="no"?>
2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3<svg xmlns="http://www.w3.org/2000/svg">
4<metadata>Copyright (C) 2013 by original authors @ fontello.com</metadata>
5<defs>
6<font id="fontello" horiz-adv-x="1000" >
7<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
8<missing-glyph horiz-adv-x="1000" />
9<glyph glyph-name="mail" unicode="&#xe80a;" d="m929 11v428q-18-20-39-37q-149-114-238-188q-28-24-46-38t-48-27t-57-13h-2q-26 0-57 13t-48 27t-46 38q-88 74-238 188q-21 17-39 37v-428q0-8 6-13t12-5h822q7 0 12 5t6 13z m0 586v14t-1 7t-1 7t-3 5t-5 4t-8 2h-822q-7 0-12-6t-6-12q0-94 82-159q108-85 224-177q4-2 20-16t25-21t25-18t28-15t24-5h2q11 0 24 5t28 15t25 18t25 21t20 16q116 92 224 177q30 24 56 65t26 73z m71 21v-607q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v607q0 37 26 63t63 26h822q37 0 63-26t26-63z" horiz-adv-x="1000" />
10<glyph glyph-name="up-open" unicode="&#xe80b;" d="m0 174l352 352l148 148l148-148l352-352l-148-148l-352 351l-352-351z" horiz-adv-x="1000" />
11<glyph glyph-name="star" unicode="&#xe805;" d="m440 790l120-336l320 0l-262-196l94-348l-272 208l-272-208l94 348l-262 196l320 0z" horiz-adv-x="880" />
12<glyph glyph-name="check" unicode="&#xe804;" d="m249 0q-34 0-56 28l-180 236q-16 24-12 52t26 46t51 14t47-28l118-154l296 474q16 24 43 30t53-8q24-16 30-43t-8-53l-350-560q-20-32-56-32z" horiz-adv-x="667" />
13<glyph glyph-name="link" unicode="&#xe800;" d="m294 116q14 14 34 14t36-14q32-34 0-70l-42-40q-56-56-132-56q-78 0-134 56t-56 132q0 78 56 134l148 148q70 68 144 77t128-43q16-16 16-36t-16-36q-36-32-70 0q-50 48-132-34l-148-146q-26-26-26-64t26-62q26-26 63-26t63 26z m450 574q56-56 56-132q0-78-56-134l-158-158q-74-72-150-72q-62 0-112 50q-14 14-14 34t14 36q14 14 35 14t35-14q50-48 122 24l158 156q28 28 28 64q0 38-28 62q-24 26-56 31t-60-21l-50-50q-16-14-36-14t-34 14q-34 34 0 70l50 50q54 54 127 51t129-61z" horiz-adv-x="800" />
14<glyph glyph-name="reply" unicode="&#xe806;" d="m900 10q-86 152-208 197t-330 45l0-218l-362 334l362 322l0-192q90 0 168-27t131-70t96-95t69-104t44-95t24-69z" horiz-adv-x="900" />
15<glyph glyph-name="menu" unicode="&#xe801;" d="m857 100v-71q0-15-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 25t25 11h785q15 0 26-11t10-25z m0 286v-72q0-14-10-25t-26-10h-785q-15 0-25 10t-11 25v72q0 14 11 25t25 10h785q15 0 26-10t10-25z m0 285v-71q0-15-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 26t25 10h785q15 0 26-10t10-26z" horiz-adv-x="857.1" />
16<glyph glyph-name="clock" unicode="&#xe802;" d="m460 810q190 0 325-135t135-325t-135-325t-325-135t-325 135t-135 325t135 325t325 135z m0-820q150 0 255 106t105 254q0 150-105 255t-255 105q-148 0-254-105t-106-255q0-148 106-254t254-106z m36 620l0-244l150-150l-50-50l-170 170l0 274l70 0z" horiz-adv-x="920" />
17<glyph glyph-name="block" unicode="&#xe808;" d="m480 830q200 0 340-140t140-340q0-198-140-339t-340-141q-198 0-339 141t-141 339q0 200 141 340t339 140z m258-220z m-622-260q0-132 82-230l514 514q-100 82-232 82q-152 0-258-107t-106-259z m106-258z m258-106q152 0 259 107t107 257q0 130-82 232l-514-514q98-82 230-82z" horiz-adv-x="960" />
18<glyph glyph-name="twitter" unicode="&#xe807;" d="m920 636q-36-54-94-98l0-24q0-130-60-250t-186-203t-290-83q-160 0-290 84q14-2 46-2q132 0 234 80q-62 2-110 38t-66 94q10-4 34-4q26 0 50 6q-66 14-108 66t-42 120l0 2q36-20 84-24q-84 58-84 158q0 48 26 94q154-188 390-196q-6 18-6 42q0 78 55 133t135 55q82 0 136-58q60 12 120 44q-20-66-82-104q56 8 108 30z" horiz-adv-x="920" />
19<glyph glyph-name="down-open" unicode="&#xe809;" d="m0 526l148 148l352-351l352 351l148-148l-352-352l-148-148l-148 148z" horiz-adv-x="1000" />
20<glyph glyph-name="trash" unicode="&#xe803;" d="m50 458q122-70 330-70t330 70l-54-486q-2-14-35-36t-100-43t-141-21t-140 21t-100 43t-36 36z m488 300q94-18 158-55t64-71l0-10q0-58-112-99t-268-41t-268 41t-112 99l0 10q0 34 64 71t158 55l42 48q22 26 70 26l92 0q52 0 70-26z m-54-112l84 0q-92 110-104 126q-14 16-32 16l-102 0q-22 0-32-16l-106-126l84 0l64 66l82 0z" horiz-adv-x="760" />
21</font>
22</defs>
23</svg> \ No newline at end of file
diff --git a/themes/courgette/font/fontello.ttf b/themes/courgette/font/fontello.ttf
new file mode 100644
index 00000000..1967dfaa
--- /dev/null
+++ b/themes/courgette/font/fontello.ttf
Binary files differ
diff --git a/themes/courgette/font/fontello.woff b/themes/courgette/font/fontello.woff
new file mode 100644
index 00000000..c62afa54
--- /dev/null
+++ b/themes/courgette/font/fontello.woff
Binary files differ
diff --git a/themes/courgette/home.twig b/themes/courgette/home.twig
new file mode 100755
index 00000000..1367ebe8
--- /dev/null
+++ b/themes/courgette/home.twig
@@ -0,0 +1,49 @@
1{% extends "layout.twig" %}
2{% block title %}
3{% if view == 'fav' %}
4{% trans "favoris" %}
5{% elseif view == 'archive' %}
6{% trans "archive" %}
7{% else %}
8{% trans "unread" %}
9{% endif %}
10{% endblock %}
11{% block menu %}
12{% include '_menu.twig' %}
13{% endblock %}
14{% block precontent %}
15 {% if entries|length > 1 %}
16 <ul id="sort">
17 <li><a href="./?sort=ia&amp;view={{ view }}"><img src="{{ poche_url }}/themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&amp;view={{ view }}"><img src="{{ poche_url }}/themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li>
18 <li><a href="./?sort=ta&amp;view={{ view }}"><img src="{{ poche_url }}/themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&amp;view={{ view }}"><img src="{{ poche_url }}/themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li>
19 </ul>
20 {% endif %}
21{% endblock %}
22{% block content %}
23 {% if entries is empty %}
24 <div class="messages warning"><p>{% trans "No link available here!" %}</p></div>
25 {% else %}
26 {% block pager %}
27 {% if nb_results > 1 %}
28 <div class="results">
29 <div class="nb-results">{{ nb_results }} {% trans "results" %}</div>
30 {{ page_links | raw }}
31 </div>
32 {% endif %}
33 {% endblock %}
34 {% for entry in entries %}
35 <div id="entry-{{ entry.id|e }}" class="entrie">
36 <h2><a href="index.php?view=view&amp;id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
37 <ul class="tools">
38 <li><a title="{% trans "toggle mark as read" %}" class="tool {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
39 <li><a title="{% trans "toggle favorite" %}" class="tool {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&amp;id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
40 <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
41 <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>
42 <li><a target="_blank" title="{% trans "estimated reading time:" %} {{ entry.content| getReadingTime }} min" class="tool reading-time"><span>{{ entry.content| getReadingTime }} min</span></a></li>
43 </ul>
44 <p>{{ entry.content|striptags|slice(0, 300) }}...</p>
45 </div>
46 {% endfor %}
47 {% endif %}
48 {{ block('pager') }}
49{% endblock %} \ No newline at end of file
diff --git a/themes/courgette/img/apple-touch-icon-144x144-precomposed.png b/themes/courgette/img/apple-touch-icon-144x144-precomposed.png
new file mode 100755
index 00000000..557b479c
--- /dev/null
+++ b/themes/courgette/img/apple-touch-icon-144x144-precomposed.png
Binary files differ
diff --git a/themes/courgette/img/apple-touch-icon-72x72-precomposed.png b/themes/courgette/img/apple-touch-icon-72x72-precomposed.png
new file mode 100755
index 00000000..e167d3a4
--- /dev/null
+++ b/themes/courgette/img/apple-touch-icon-72x72-precomposed.png
Binary files differ
diff --git a/themes/courgette/img/apple-touch-icon.png b/themes/courgette/img/apple-touch-icon.png
new file mode 100755
index 00000000..4d222fba
--- /dev/null
+++ b/themes/courgette/img/apple-touch-icon.png
Binary files differ
diff --git a/themes/courgette/img/bg-select.png b/themes/courgette/img/bg-select.png
new file mode 100644
index 00000000..3a77d0eb
--- /dev/null
+++ b/themes/courgette/img/bg-select.png
Binary files differ
diff --git a/themes/courgette/img/default/backtotop.png b/themes/courgette/img/default/backtotop.png
new file mode 100755
index 00000000..051238ef
--- /dev/null
+++ b/themes/courgette/img/default/backtotop.png
Binary files differ
diff --git a/themes/courgette/img/default/bad-display.png b/themes/courgette/img/default/bad-display.png
new file mode 100755
index 00000000..6866799f
--- /dev/null
+++ b/themes/courgette/img/default/bad-display.png
Binary files differ
diff --git a/themes/courgette/img/default/checkmark-off.png b/themes/courgette/img/default/checkmark-off.png
new file mode 100755
index 00000000..3db5a06d
--- /dev/null
+++ b/themes/courgette/img/default/checkmark-off.png
Binary files differ
diff --git a/themes/courgette/img/default/checkmark-on.png b/themes/courgette/img/default/checkmark-on.png
new file mode 100755
index 00000000..cd3abb2c
--- /dev/null
+++ b/themes/courgette/img/default/checkmark-on.png
Binary files differ
diff --git a/themes/courgette/img/default/clock.png b/themes/courgette/img/default/clock.png
new file mode 100755
index 00000000..6164e92b
--- /dev/null
+++ b/themes/courgette/img/default/clock.png
Binary files differ
diff --git a/themes/courgette/img/default/down.png b/themes/courgette/img/default/down.png
new file mode 100755
index 00000000..b9d536a7
--- /dev/null
+++ b/themes/courgette/img/default/down.png
Binary files differ
diff --git a/themes/courgette/img/default/envelop.png b/themes/courgette/img/default/envelop.png
new file mode 100755
index 00000000..6be1c886
--- /dev/null
+++ b/themes/courgette/img/default/envelop.png
Binary files differ
diff --git a/themes/courgette/img/default/flattr.png b/themes/courgette/img/default/flattr.png
new file mode 100755
index 00000000..0404aaea
--- /dev/null
+++ b/themes/courgette/img/default/flattr.png
Binary files differ
diff --git a/themes/courgette/img/default/left.png b/themes/courgette/img/default/left.png
new file mode 100755
index 00000000..a0a53631
--- /dev/null
+++ b/themes/courgette/img/default/left.png
Binary files differ
diff --git a/themes/courgette/img/default/link.png b/themes/courgette/img/default/link.png
new file mode 100755
index 00000000..db62819d
--- /dev/null
+++ b/themes/courgette/img/default/link.png
Binary files differ
diff --git a/themes/courgette/img/default/remove.png b/themes/courgette/img/default/remove.png
new file mode 100755
index 00000000..f8ad56a3
--- /dev/null
+++ b/themes/courgette/img/default/remove.png
Binary files differ
diff --git a/themes/courgette/img/default/shaarli.png b/themes/courgette/img/default/shaarli.png
new file mode 100755
index 00000000..1eb30f60
--- /dev/null
+++ b/themes/courgette/img/default/shaarli.png
Binary files differ
diff --git a/themes/courgette/img/default/star-off.png b/themes/courgette/img/default/star-off.png
new file mode 100755
index 00000000..6a0133a7
--- /dev/null
+++ b/themes/courgette/img/default/star-off.png
Binary files differ
diff --git a/themes/courgette/img/default/star-on.png b/themes/courgette/img/default/star-on.png
new file mode 100755
index 00000000..a9f96eaa
--- /dev/null
+++ b/themes/courgette/img/default/star-on.png
Binary files differ
diff --git a/themes/courgette/img/default/top.png b/themes/courgette/img/default/top.png
new file mode 100755
index 00000000..954a8c0a
--- /dev/null
+++ b/themes/courgette/img/default/top.png
Binary files differ
diff --git a/themes/courgette/img/default/twitter.png b/themes/courgette/img/default/twitter.png
new file mode 100755
index 00000000..cfcfe419
--- /dev/null
+++ b/themes/courgette/img/default/twitter.png
Binary files differ
diff --git a/themes/courgette/img/favicon.ico b/themes/courgette/img/favicon.ico
new file mode 100755
index 00000000..0e9ff779
--- /dev/null
+++ b/themes/courgette/img/favicon.ico
Binary files differ
diff --git a/themes/courgette/img/logo.png b/themes/courgette/img/logo.png
new file mode 100755
index 00000000..5305c77d
--- /dev/null
+++ b/themes/courgette/img/logo.png
Binary files differ
diff --git a/themes/courgette/img/messages/close.png b/themes/courgette/img/messages/close.png
new file mode 100755
index 00000000..731aa018
--- /dev/null
+++ b/themes/courgette/img/messages/close.png
Binary files differ
diff --git a/themes/courgette/img/messages/cross.png b/themes/courgette/img/messages/cross.png
new file mode 100755
index 00000000..1514d51a
--- /dev/null
+++ b/themes/courgette/img/messages/cross.png
Binary files differ
diff --git a/themes/courgette/img/messages/help.png b/themes/courgette/img/messages/help.png
new file mode 100755
index 00000000..5c870176
--- /dev/null
+++ b/themes/courgette/img/messages/help.png
Binary files differ
diff --git a/themes/courgette/img/messages/tick.png b/themes/courgette/img/messages/tick.png
new file mode 100755
index 00000000..a9925a06
--- /dev/null
+++ b/themes/courgette/img/messages/tick.png
Binary files differ
diff --git a/themes/courgette/img/messages/warning.png b/themes/courgette/img/messages/warning.png
new file mode 100755
index 00000000..628cf2da
--- /dev/null
+++ b/themes/courgette/img/messages/warning.png
Binary files differ
diff --git a/themes/courgette/install.twig b/themes/courgette/install.twig
new file mode 100755
index 00000000..6e85e5cb
--- /dev/null
+++ b/themes/courgette/install.twig
@@ -0,0 +1,28 @@
1{% extends "layout.twig" %}
2{% block title %}{% trans "installation" %}{% endblock %}
3{% block content %}
4 <form method="post" action="?install" name="loginform">
5 <fieldset class="w500p center">
6 <h2 class="mbs txtcenter">{% trans "install your poche" %}</h2>
7 <p>
8 {% trans "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>." %}
9 </p>
10 <p class="row">
11 <label class="col w150p" for="login">{% trans "Login" %}</label>
12 <input class="col" type="text" id="login" name="login" placeholder="Login" tabindex="1" autofocus />
13 </p>
14 <p class="row">
15 <label class="col w150p" for="password">{% trans "Password" %}</label>
16 <input class="col" type="password" id="password" name="password" placeholder="Password" tabindex="2">
17 </p>
18 <p class="row">
19 <label class="col w150p" for="password_repeat">{% trans "Repeat your password" %}</label>
20 <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="Password" tabindex="3">
21 </p>
22 <p class="row mts txtcenter">
23 <button class="bouton" type="submit" tabindex="4">{% trans "Install" %}</button>
24 </p>
25 </fieldset>
26 <input type="hidden" name="token" value="{{ token }}">
27 </form>
28{% endblock %} \ No newline at end of file
diff --git a/themes/courgette/js/init.js b/themes/courgette/js/init.js
new file mode 100755
index 00000000..dca83906
--- /dev/null
+++ b/themes/courgette/js/init.js
@@ -0,0 +1,6 @@
1$.fn.ready(function () {
2 $('#menu').on('click', function(){
3 $('body').toggleClass('menuOpen');
4 $('#menuContainer, #article_toolbar').toggleClass('open');
5 });
6}) \ No newline at end of file
diff --git a/themes/courgette/js/restoreScroll.js b/themes/courgette/js/restoreScroll.js
new file mode 100755
index 00000000..331c9e19
--- /dev/null
+++ b/themes/courgette/js/restoreScroll.js
@@ -0,0 +1,25 @@
1function supportsLocalStorage() {
2 try {
3 return 'localStorage' in window && window['localStorage'] !== null;
4 } catch (e) {
5 return false;
6 }
7}
8
9function savePercent(id, percent) {
10 if (!supportsLocalStorage()) { return false; }
11 localStorage["poche.article." + id + ".percent"] = percent;
12 return true;
13}
14
15function retrievePercent(id) {
16 if (!supportsLocalStorage()) { return false; }
17
18 var bheight = $(document).height();
19 var percent = localStorage["poche.article." + id + ".percent"];
20 var scroll = bheight * percent;
21
22 $('html,body').animate({scrollTop: scroll}, 'fast');
23
24 return true;
25} \ No newline at end of file
diff --git a/themes/courgette/layout.twig b/themes/courgette/layout.twig
new file mode 100755
index 00000000..9a420ac4
--- /dev/null
+++ b/themes/courgette/layout.twig
@@ -0,0 +1,32 @@
1<!DOCTYPE html>
2<!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="{{ lang }}"><![endif]-->
3<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="{{ lang }}"><![endif]-->
4<!--[if IE 8]><html class="no-js ie8 ie678" lang="{{ lang }}"><![endif]-->
5<!--[if gt IE 8]><html class="no-js" lang="{{ lang }}"><![endif]-->
6<html lang="{{ lang }}">
7 <head>
8 <meta name="viewport" content="initial-scale=1.0">
9 <meta charset="utf-8">
10 <!--[if IE]>
11 <meta http-equiv="X-UA-Compatible" content="IE=10">
12 <![endif]-->
13 <title>{% block title %}{% endblock %} - poche</title>
14{% include '_head.twig' %}
15{% include '_bookmarklet.twig' %}
16 </head>
17 <body>
18 {% include '_top.twig' %}
19 <div id="main">
20 <button id="menu"><span>Menu</span></button>
21 {% block menu %}{% endblock %}
22 {% block precontent %}{% endblock %}
23 {% block messages %}
24 {% include '_messages.twig' %}
25 {% endblock %}
26 <div id="content" class="w600p center">
27 {% block content %}{% endblock %}
28 </div>
29 </div>
30{% include '_footer.twig' %}
31 </body>
32</html> \ No newline at end of file
diff --git a/themes/courgette/login.twig b/themes/courgette/login.twig
new file mode 100755
index 00000000..3e17982f
--- /dev/null
+++ b/themes/courgette/login.twig
@@ -0,0 +1,32 @@
1{% extends "layout.twig" %}
2
3{% block title %}{% trans "login to your poche" %}{% endblock %}
4{% block content %}
5 <form method="post" action="?login" name="loginform" id="loginForm">
6 <fieldset class="w500p center">
7 <h2 class="mbs txtcenter">{% trans "login to your poche" %}</h2>
8 {% if constant('MODE_DEMO') == 1 %}<p>{% trans "you are in demo mode, some features may be disabled." %}</p>{% endif %}
9 <div class="row">
10 <label class="col w150p" for="login">{% trans "Login" %}</label>
11 <input class="col" type="text" id="login" name="login" placeholder="Login" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
12 </div>
13
14 <div class="row">
15 <label class="col w150p" for="password">{% trans "Password" %}</label>
16 <input class="col" type="password" id="password" name="password" placeholder="Password" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
17 </div>
18 <div class="row">
19 <label class="col w150p" for="longlastingsession">{% trans "Stay signed in" %}</label>
20 <div class="col">
21 <input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3">
22 <small class="inbl">{% trans "(Do not check on public computers)" %}</small>
23 </div>
24 </div>
25 <div class="row mts txtcenter">
26 <button class="bouton" type="submit" tabindex="4">{% trans "Login" %}</button>
27 </div>
28 </fieldset>
29 <input type="hidden" name="returnurl" value="{{ referer }}">
30 <input type="hidden" name="token" value="{{ token }}">
31 </form>
32{% endblock %} \ No newline at end of file
diff --git a/themes/courgette/screenshot.jpg b/themes/courgette/screenshot.jpg
new file mode 100755
index 00000000..44ee4b63
--- /dev/null
+++ b/themes/courgette/screenshot.jpg
Binary files differ
diff --git a/themes/courgette/view.twig b/themes/courgette/view.twig
new file mode 100755
index 00000000..e8d32442
--- /dev/null
+++ b/themes/courgette/view.twig
@@ -0,0 +1,45 @@
1{% extends "layout.twig" %}
2{% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %}
3{% block content %}
4 <div id="article_toolbar">
5 <ul>
6 <li><a href="./" title="{% trans "back to home" %}" class="tool back"><span>{% trans "back to home" %}</span></a></li>
7 <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>
8 <li><a title="{% trans "toggle mark as read" %}" class="tool {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
9 <li><a title="{% trans "toggle favorite" %}" class="tool {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&amp;id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
10 <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
11 {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
12 {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
13 {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %}
14 {% 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 %}
15 <li><a href="mailto:support@inthepoche.com?subject=Wrong%20display%20in%20poche&amp;body={{ entry.url|url_encode }}" title="{% trans "this article appears wrong?" %}" class="tool bad-display"><span>{% trans "this article appears wrong?" %}</span></a></li>
16 </ul>
17 </div>
18 <div id="article">
19 <header class="mbm">
20 <h1>{{ entry.title|raw }}</h1>
21 </header>
22 <article>
23 {{ content | raw }}
24 </article>
25 </div>
26 <script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/restoreScroll.js"></script>
27 <script type="text/javascript">
28 $(document).ready(function() {
29
30 $(window).scroll(function(e){
31 var scrollTop = $(window).scrollTop();
32 var docHeight = $(document).height();
33 var scrollPercent = (scrollTop) / (docHeight);
34 var scrollPercentRounded = Math.round(scrollPercent*100)/100;
35 savePercent({{ entry.id|e }}, scrollPercentRounded);
36 });
37
38 retrievePercent({{ entry.id|e }});
39
40 $(window).resize(function(){
41 retrievePercent({{ entry.id|e }});
42 });
43 });
44 </script>
45{% endblock %} \ No newline at end of file