diff options
Diffstat (limited to 'themes/default')
46 files changed, 836 insertions, 0 deletions
diff --git a/themes b/themes deleted file mode 160000 | |||
Subproject 689dcedf8d6c7cf5e8424654fef4fd9687288dc | |||
diff --git a/themes/default/_bookmarklet.twig b/themes/default/_bookmarklet.twig new file mode 100644 index 00000000..2f3b2d16 --- /dev/null +++ b/themes/default/_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/default/_footer.twig b/themes/default/_footer.twig new file mode 100644 index 00000000..2b895854 --- /dev/null +++ b/themes/default/_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/default/_head.twig b/themes/default/_head.twig new file mode 100644 index 00000000..2b9e4582 --- /dev/null +++ b/themes/default/_head.twig | |||
@@ -0,0 +1,11 @@ | |||
1 | <link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/img/favicon.ico" /> | ||
2 | <link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/img/apple-touch-icon-144x144-precomposed.png"> | ||
3 | <link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/img/apple-touch-icon-72x72-precomposed.png"> | ||
4 | <link rel="apple-touch-icon-precomposed" href="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/img/apple-touch-icon-precomposed.png"> | ||
5 | <link rel="stylesheet" href="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/css/knacss.css" media="all"> | ||
6 | <link rel="stylesheet" href="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/css/style.css" media="all"> | ||
7 | <link rel="stylesheet" href="{{ poche_url }}/themes/{{ theme }}/css/style-{{ theme }}.css" media="all" title="{{ theme }} theme"> | ||
8 | <link rel="stylesheet" href="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/css/messages.css" media="all"> | ||
9 | <link rel="stylesheet" href="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/css/print.css" media="print"> | ||
10 | <link href='//fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'> | ||
11 | <script src="//codeorigin.jquery.com/jquery-2.0.3.min.js"></script> \ No newline at end of file | ||
diff --git a/themes/default/_menu.twig b/themes/default/_menu.twig new file mode 100644 index 00000000..699d6a0c --- /dev/null +++ b/themes/default/_menu.twig | |||
@@ -0,0 +1,7 @@ | |||
1 | <ul id="links"> | ||
2 | <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "home" %}</a></li> | ||
3 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> | ||
4 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> | ||
5 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> | ||
6 | <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> | ||
7 | </ul> \ No newline at end of file | ||
diff --git a/themes/default/_messages.twig b/themes/default/_messages.twig new file mode 100644 index 00000000..679aa098 --- /dev/null +++ b/themes/default/_messages.twig | |||
@@ -0,0 +1 @@ | |||
{{ messages | raw }} \ No newline at end of file | |||
diff --git a/themes/default/_top.twig b/themes/default/_top.twig new file mode 100644 index 00000000..4100f7c4 --- /dev/null +++ b/themes/default/_top.twig | |||
@@ -0,0 +1,7 @@ | |||
1 | <header class="w600p center mbm"> | ||
2 | <h1> | ||
3 | {% if view == 'home' %}{% block logo %}<img src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/img/logo.png" alt="logo poche" />{% endblock %} | ||
4 | {% else %}<a href="./" title="{% trans "back to home" %}" >{{ block('logo') }}</a> | ||
5 | {% endif %} | ||
6 | </h1> | ||
7 | </header> \ No newline at end of file | ||
diff --git a/themes/default/config.twig b/themes/default/config.twig new file mode 100644 index 00000000..e849d03b --- /dev/null +++ b/themes/default/config.twig | |||
@@ -0,0 +1,80 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "config" %}{% endblock %} | ||
4 | {% block menu %} | ||
5 | {% include '_menu.twig' %} | ||
6 | {% endblock %} | ||
7 | {% block content %} | ||
8 | <h2>{% trans "Poching a link" %}</h2> | ||
9 | <p>{% trans "You can poche a link by several methods:" %} (<a href="http://inthepoche.com/doc" title="{% trans "read the documentation" %}">?</a>)</p> | ||
10 | <ul> | ||
11 | <li>firefox: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/poche.xpi" title="download the firefox extension">{% trans "download the extension" %}</a></li> | ||
12 | <li>chrome: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/poche.crx" title="download the chrome extension">{% trans "download the extension" %}</a></li> | ||
13 | <li>android: <a href="https://bitbucket.org/jogaulupeau/poche/downloads/Poche.apk" title="download the application">{% trans "download the application" %}</a></li> | ||
14 | <li> | ||
15 | <form method="get" action="index.php"> | ||
16 | <label class="addurl" for="plainurl">{% trans "by filling this field" %}:</label> | ||
17 | <input required placeholder="Ex:mywebsite.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> | ||
18 | <input type="submit" value="{% trans "poche it!" %}" /> | ||
19 | </form> | ||
20 | </li> | ||
21 | <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> | ||
22 | </ul> | ||
23 | |||
24 | <h2>{% trans "Updating poche" %}</h2> | ||
25 | <ul> | ||
26 | <li>{% trans "your version" %} : <strong>{{ constant('POCHE_VERSION') }}</strong></li> | ||
27 | <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> | ||
28 | {% 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 %} | ||
29 | </ul> | ||
30 | |||
31 | <h2>{% trans "Change your theme" %}</h2> | ||
32 | <form method="post" action="?updatetheme" name="changethemeform"> | ||
33 | <fieldset class="w500p"> | ||
34 | <div class="row"> | ||
35 | <label class="col w150p" for="theme">{% trans "Theme:" %}</label> | ||
36 | <select class="col" id="theme" name="theme"> | ||
37 | {% for theme in themes %} | ||
38 | <option value="{{ theme.name }}" {{ theme.current ? 'selected' : '' }}>{{ theme.name }}</option> | ||
39 | {% endfor %} | ||
40 | </select> | ||
41 | </div> | ||
42 | <div class="row mts txtcenter"> | ||
43 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
44 | </div> | ||
45 | </fieldset> | ||
46 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
47 | <input type="hidden" name="token" value="{{ token }}"> | ||
48 | </form> | ||
49 | |||
50 | <h2>{% trans "Change your password" %}</h2> | ||
51 | <form method="post" action="?config" name="loginform"> | ||
52 | <fieldset class="w500p"> | ||
53 | <div class="row"> | ||
54 | <label class="col w150p" for="password">{% trans "New password:" %}</label> | ||
55 | <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2"> | ||
56 | </div> | ||
57 | <div class="row"> | ||
58 | <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label> | ||
59 | <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3"> | ||
60 | </div> | ||
61 | <div class="row mts txtcenter"> | ||
62 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
63 | </div> | ||
64 | </fieldset> | ||
65 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
66 | <input type="hidden" name="token" value="{{ token }}"> | ||
67 | </form> | ||
68 | |||
69 | <h2>{% trans "Import" %}</h2> | ||
70 | <p>{% trans "Please execute the import script locally, it can take a very long time." %}</p> | ||
71 | <p>{% trans "More infos in the official doc:" %} <a href="http://inthepoche.com/doc">inthepoche.com</a></p> | ||
72 | <ul> | ||
73 | <li><a href="./?import&from=pocket">{% trans "import from Pocket" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('POCKET_FILE')) }}</li> | ||
74 | <li><a href="./?import&from=readability">{% trans "import from Readability" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('READABILITY_FILE')) }}</li> | ||
75 | <li><a href="./?import&from=instapaper">{% trans "import from Instapaper" %}</a> {{ '(you must have a %s file on your server)'|trans|format(constant('INSTAPAPER_FILE')) }}</li> | ||
76 | </ul> | ||
77 | |||
78 | <h2>{% trans "Export your poche datas" %}</h2> | ||
79 | <p><a href="./dl/export_poche.json">{% trans "Click here" %}</a> {% trans "to export your poche datas." %}</p> | ||
80 | {% endblock %} \ No newline at end of file | ||
diff --git a/themes/default/css/knacss.css b/themes/default/css/knacss.css new file mode 100644 index 00000000..ca0696b7 --- /dev/null +++ b/themes/default/css/knacss.css | |||
@@ -0,0 +1 @@ | |||
html{font-size:62.5%}body{font-family:"Century Gothic",helvetica,arial,sans-serif;font-size:1.4em;line-height:1.5;color:#000;background-color:#FFF}p,ul,ol,dl,blockquote,pre,td,th,label,textarea,caption,details,figure,hgroup{margin:.75em 0 0;font-size:1em;line-height:1.5}h1,.h1-like{margin:.8077em 0 0 0;font-size:1.8571em;font-weight:normal;line-height:1.6154em}h2,.h2-like{margin:.875em 0 0 0;font-size:1.7143em;font-weight:normal;line-height:1.75em}h3,.h3-like{margin:.9545em 0 0 0;font-size:1.5714em;font-weight:normal;line-height:1.909em}h4,.h4-like{margin:1.05em 0 0 0;font-size:1.4286em;font-weight:normal;line-height:1.05em}h5,.h5-like{margin:1.1667em 0 0 0;font-size:1.2857em;font-weight:normal;line-height:1.1667em}h6,.h6-like{margin:1.3125em 0 0 0;font-size:1.1429em;font-weight:normal;line-height:1.3125em}.smaller{font-size:.7143em}.small{font-size:.8571em}.big{font-size:1.1429em}.bigger{font-size:1.2857em}.biggest{font-size:1.4286em}html,body,textarea,figure,label{margin:0;padding:0}ul,ol{padding-left:2em}code,pre,samp,kbd{font-family:consolas,'DejaVu Sans Mono',courier,monospace;line-height:1em;white-space:pre-wrap}code,kbd,mark{border-radius:2px}em{font-style:italic}strong{font-weight:bold}kbd{padding:0 2px;border:1px solid #999}code{padding:2px 4px;color:#B11;background:rgba(0,0,0,.04)}mark{padding:2px 4px;background:#FF0}table{margin-bottom:1.5em}p:first-child,ul:first-child,ol:first-child,dl:first-child,blockquote:first-child,pre:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}li p,li ul,li ol{margin-top:0;margin-bottom:0}img,table,td,blockquote,code,pre,textarea,input,video{max-width:100%}div,textarea,table,td,th,code,pre,samp{word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;-o-hyphens:auto;hyphens:auto}img{height:auto;vertical-align:middle}#map_canvas img,.gmnoprint img{max-width:none}a img{border:0}body > script{display:none !important}.skip-links{position:absolute}.skip-links a{position:absolute;left:-7000px;padding:.5em;text-decoration:none;color:#FFF;background:#000}.skip-links a:focus{position:static}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mod,.item{overflow:hidden}.row{display:table;width:100%;table-layout:fixed}.row > *,.col{display:table-cell;vertical-align:top}.clear,.line,.row{clear:both}.clearfix:after,.line:after,.mod:after{content:"";display:table;clear:both}.left{float:left}img.left{margin-right:1em}.right{float:right}img.right{margin-left:1em}img.left,img.right{margin-bottom:5px}.center{margin-right:auto;margin-left:auto}.txtleft{text-align:left}.txtright{text-align:right}.txtcenter{text-align:center}.inbl{display:inline-block;margin-right:-.25em;vertical-align:top}.w10{width:10%}.w20{width:20%}.w25{width:25%}.w30{width:30%}.w33{width:33.333%}.w40{width:40%}.w50{width:50%}.w60{width:60%}.w66{width:66.666%}.w70{width:70%}.w75{width:75%}.w80{width:80%}.w90{width:90%}.w100{width:100%}.w50p{width:50px}.w100p{width:100px}.w150p{width:150px}.w200p{width:200px}.w300p{width:300px}.w400p{width:400px}.w500p{width:500px}.w600p{width:600px}.w700p{width:700px}.w800p{width:800px}.w960p{width:960px}.mw960p{max-width:960px}.m-reset,.ma0{margin:0 !important}.p-reset,.pa0{padding:0 !important}.ma1,.mas{margin:10px !important}.ma2,.mam{margin:20px !important}.ma3,.mal{margin:30px !important}.pa1,.pas{padding:10px}.pa2,.pam{padding:20px}.pa3,.pal{padding:30px}.mt0,.mtn{margin-top:0 !important}.mt1,.mts{margin-top:10px !important}.mt2,.mtm{margin-top:20px !important}.mt3,.mtl{margin-top:30px !important}.mr0,.mrn{margin-right:0}.mr1,.mrs{margin-right:10px}.mr2,.mrm{margin-right:20px}.mr3,.mrl{margin-right:30px}.mb0,.mbn{margin-bottom:0 !important}.mb1,.mbs{margin-bottom:10px !important}.mb2,.mbm{margin-bottom:20px !important}.mb3,.mbl{margin-bottom:30px !important}.ml0,.mln{margin-left:0}.ml1,.mls{margin-left:10px}.ml2,.mlm{margin-left:20px}.ml3,.mll{margin-left:30px}.pt0,.ptn{padding-top:0}.pt1,.pts{padding-top:10px}.pt2,.ptm{padding-top:20px}.pt3,.ptl{padding-top:30px}.pr0,.prn{padding-right:0}.pr1,.prs{padding-right:10px}.pr2,.prm{padding-right:20px}.pr3,.prl{padding-right:30px}.pb0,.pbn{padding-bottom:0}.pb1,.pbs{padding-bottom:10px}.pb2,.pbm{padding-bottom:20px}.pb3,.pbl{padding-bottom:30px}.pl0,.pln{padding-left:0}.pl1,.pls{padding-left:10px}.pl2,.plm{padding-left:20px}.pl3,.pll{padding-left:30px}.visually-hidden{position:absolute;left:-7000px;overflow:hidden}[dir=rtl] .visually-hidden{right:-7000px;left:auto}.desktop-hidden{display:none}form,fieldset{border:none}input,button,select,label,.btn{font-family:inherit;vertical-align:middle}textarea{font-family:inherit;resize:vertical}.ie67 .clearfix,.ie67 .line,.ie67 .mod,.ie67 .row,.ie67 .col{zoom:1}.ie67 .btn,.ie67 .col,.ie67 .inbl{display:inline;zoom:1}.ie8 img{width:auto}@media print{p,blockquote{orphans:2;widows:2}blockquote,ul,ol{page-break-inside:avoid}h1,h2,h3,caption{page-break-after:avoid}}@media(orientation:landscape)and(max-device-width:768px){html,body{-webkit-text-size-adjust:100%}}[class*=grid] > *{float:left}[class*=grid] > * + *{margin-left:2%}.grid2 > *{width:49%}.grid3 > *{width:32%}.grid4 > *{width:23.5%}.grid5 > *{width:18.4%}.grid6 > *{width:15%}.grid2-1 > *:first-child,.grid1-2 > * + *{width:66%}.grid1-2 > *:first-child,.grid2-1 > * + *{width:32%}.grid1-3 > *:first-child,.grid3-1 > * + *{width:23.5%}.grid3-1 > *:first-child,.grid1-3 > * + *{width:74.5%}table,.table{max-width:100%;border-collapse:collapse;table-layout:fixed;vertical-align:top}table{width:100%}.table{display:table}caption{padding:10px;font-style:italic;color:#555}table{border:1px solid #CCC}tr > * + *{border-left:1px solid #CCC}th,td{padding:.3em .8em;border-bottom:1px solid #CCC;text-align:left}td{color:#333}.alternate{border:0}.alternate tbody{border:1px solid #CCC}.alternate thead tr > * + *{border-left:0}.alternate tbody tr > * + *{border-left:1px solid #CCC}.alternate-vert{border:0;border-right:1px solid #CCC}.alternate-vert tr >:first-child{border-bottom:0}.alternate-vert tr > * + *{border-top:1px solid #CCC}.striped tbody tr:nth-child(odd){background:#EEE;background:rgba(0,0,0,.05)}.striped-vert tr >:first-child{background:#EEE;background:rgba(0,0,0,.05)}.btn{display:inline-block}label{display:inline-block;vertical-align:middle;cursor:pointer}legend{border:0;white-space:normal}button,input,select{margin:0;font-family:"Century Gothic",helvetica,arial,sans-serif;font-size:100%;vertical-align:middle}textarea{min-height:5em;overflow:auto;font-size:1.75em;vertical-align:top;resize:vertical}}ol.styled{counter-reset:styled}ol.styled > li{counter-increment:styled;margin-bottom:.3em;list-style-type:none}ol.styled > li:before{content:counter(styled);display:inline-block;width:1em;height:1em;margin-right:.4em;padding:2px;border-radius:50%;text-align:center;text-indent:-.1em;font-size:.9em;line-height:1;vertical-align:middle;color:#FFF;background:rgba(0,0,0,.5)}@media(min-width:1280px){.large-hidden,.tablet-hidden{display:none !important}.large-visible{display:block !important}.large-no-float{float:none}.large-inbl{display:inline-block;float:none;vertical-align:top}.large-row{display:table;width:100% !important;table-layout:fixed}.large-col{display:table-cell;vertical-align:top}.large-w25{width:25% !important}.large-w33{width:33.3333% !important}.large-w50{width:50% !important}.large-w66{width:66.6666% !important}.large-w75{width:75% !important}.large-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.large-ma0,.large-man{margin:0 !important}}@media(max-width:768px){.w60,.w66,.w70,.w75,.w80,.w90,.w100,.w600p,.w700p,.w800p,.w960p,.mw960p,.medium-wauto{width:auto}.medium-hidden,.tablet-hidden{display:none !important}.medium-visible{display:block !important}.medium-no-float{float:none}.medium-inbl{display:inline-block;float:none;vertical-align:top}.medium-row{display:table;width:100% !important;table-layout:fixed}.medium-col{display:table-cell;vertical-align:top}.medium-w25{width:25% !important}.medium-w33{width:33.3333% !important}.medium-w50{width:50% !important}.medium-w66{width:66.6666% !important}.medium-w75{width:75% !important}.medium-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.medium-ma0,.medium-man{margin:0 !important}.grid4 > *{width:49% !important}.grid4 >:first-child + * + *{margin-left:0 !important}.grid6 > *{width:32% !important}.grid6 >:first-child + * + * + *{margin-left:0 !important}}@media(max-width:640px){.mod,.item,.col,fieldset{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.w30,.w33,.w40,.w50,.w300p,.w400p,.w500p{width:auto}.row{display:block !important;width:100% !important}.tiny-hidden,.phone-hidden{display:none !important}.tiny-visible{display:block !important}.tiny-no-float{float:none}.tiny-inbl{display:inline-block;float:none;vertical-align:top}.tiny-row{display:table;width:100% !important;table-layout:fixed}.tiny-col{display:table-cell;vertical-align:top}th,td{display:block !important;width:auto !important;text-align:left !important}thead{display:none}.tiny-w25{width:25% !important}.tiny-w33{width:33.3333% !important}.tiny-w50{width:50% !important}.tiny-w66{width:66.6666% !important}.tiny-w75{width:75% !important}.tiny-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.tiny-ma0,.tiny-man{margin:0 !important}} \ No newline at end of file | |||
diff --git a/themes/default/css/messages.css b/themes/default/css/messages.css new file mode 100644 index 00000000..46b54795 --- /dev/null +++ b/themes/default/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 | } | ||
diff --git a/themes/default/css/print.css b/themes/default/css/print.css new file mode 100644 index 00000000..9aefa779 --- /dev/null +++ b/themes/default/css/print.css | |||
@@ -0,0 +1,48 @@ | |||
1 | /* ### Layout ### */ | ||
2 | |||
3 | body { | ||
4 | font-family: Serif; | ||
5 | background-color: #fff; | ||
6 | } | ||
7 | |||
8 | @page { | ||
9 | margin: 1cm; | ||
10 | } | ||
11 | |||
12 | img { | ||
13 | max-width: 100% !important; | ||
14 | } | ||
15 | |||
16 | /* ### Content ### */ | ||
17 | |||
18 | /* Hide useless blocks */ | ||
19 | body > header, | ||
20 | #links, | ||
21 | #sort, | ||
22 | body > footer, | ||
23 | .top_link, | ||
24 | div.tools, | ||
25 | header div, | ||
26 | .messages, | ||
27 | .entrie + .results { | ||
28 | display: none !important; | ||
29 | } | ||
30 | |||
31 | article { | ||
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 */ | ||
41 | abbr[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/default/css/style-default.css b/themes/default/css/style-default.css new file mode 100644 index 00000000..9dc7c0b0 --- /dev/null +++ b/themes/default/css/style-default.css | |||
@@ -0,0 +1,55 @@ | |||
1 | a.back span { | ||
2 | background-image: url('../img/default/left.png'); | ||
3 | } | ||
4 | |||
5 | a.top span { | ||
6 | background-image: url('../img/default/top.png'); | ||
7 | } | ||
8 | |||
9 | a.fav span, | ||
10 | a.fav-off span:hover { | ||
11 | background-image: url('../img/default/star-on.png'); | ||
12 | } | ||
13 | |||
14 | a.fav span:hover, | ||
15 | a.fav-off span { | ||
16 | background-image: url('../img/default/star-off.png'); | ||
17 | } | ||
18 | |||
19 | a.archive span, | ||
20 | a.archive-off span:hover { | ||
21 | background-image: url('../img/default/checkmark-on.png'); | ||
22 | } | ||
23 | |||
24 | a.archive span:hover, | ||
25 | a.archive-off span { | ||
26 | background-image: url('../img/default/checkmark-off.png'); | ||
27 | } | ||
28 | |||
29 | a.twitter span { | ||
30 | background-image: url('../img/default/twitter.png'); | ||
31 | } | ||
32 | |||
33 | a.shaarli span { | ||
34 | background-image: url('../img/default/shaarli.png'); | ||
35 | } | ||
36 | |||
37 | a.flattr span { | ||
38 | background-image: url('../img/default/flattr.png'); | ||
39 | } | ||
40 | |||
41 | a.email span { | ||
42 | background-image: url('../img/default/envelop.png'); | ||
43 | } | ||
44 | |||
45 | a.delete span { | ||
46 | background-image: url('../img/default/remove.png'); | ||
47 | } | ||
48 | |||
49 | a.link span { | ||
50 | background-image: url('../img/default/link.png'); | ||
51 | } | ||
52 | |||
53 | a.bad-display span { | ||
54 | background-image: url('../img/default/bad-display.png'); | ||
55 | } \ No newline at end of file | ||
diff --git a/themes/default/css/style.css b/themes/default/css/style.css new file mode 100644 index 00000000..eb04f0c4 --- /dev/null +++ b/themes/default/css/style.css | |||
@@ -0,0 +1,321 @@ | |||
1 | body { | ||
2 | margin: 10px; | ||
3 | font-family: 'Roboto',Verdana,Geneva,sans-serif; | ||
4 | font-size: 16px; | ||
5 | color: #000; | ||
6 | } | ||
7 | |||
8 | header { | ||
9 | text-align: center; | ||
10 | } | ||
11 | |||
12 | header h1 { | ||
13 | font-size: 1.3em; | ||
14 | } | ||
15 | |||
16 | a, | ||
17 | a:hover, | ||
18 | a:visited { | ||
19 | color: #000; | ||
20 | } | ||
21 | |||
22 | .bouton { | ||
23 | border: none; | ||
24 | border-radius: 2px; | ||
25 | color: #fff; | ||
26 | background-color: #000; | ||
27 | } | ||
28 | |||
29 | .bouton:hover { | ||
30 | color: #f1f1f1; | ||
31 | background-color: #222; | ||
32 | cursor: pointer; | ||
33 | } | ||
34 | |||
35 | #main { | ||
36 | margin: 0 auto; | ||
37 | } | ||
38 | |||
39 | #main #links { | ||
40 | padding: 0; | ||
41 | text-align: center; | ||
42 | font-size: 0.9em; | ||
43 | list-style-type: none; | ||
44 | } | ||
45 | |||
46 | #main #links li { | ||
47 | display: inline; | ||
48 | } | ||
49 | |||
50 | #main #links li .current { | ||
51 | -webkit-border-radius: 2px; | ||
52 | border-radius: 2px; | ||
53 | color: #fff; | ||
54 | background-color: #000; | ||
55 | } | ||
56 | |||
57 | #main #sort { | ||
58 | padding: 0; | ||
59 | text-align: center; | ||
60 | list-style-type: none; | ||
61 | opacity: 0.5; | ||
62 | } | ||
63 | |||
64 | #main #sort li { | ||
65 | display: inline; | ||
66 | font-size: 0.9em; | ||
67 | } | ||
68 | |||
69 | #main #sort li + li { | ||
70 | margin-left: 10px; | ||
71 | } | ||
72 | |||
73 | #main #sort a { | ||
74 | padding: 2px 2px 0; | ||
75 | vertical-align: middle; | ||
76 | } | ||
77 | |||
78 | #main #sort img { | ||
79 | vertical-align: baseline; | ||
80 | } | ||
81 | #main #sort img:hover { | ||
82 | cursor: pointer; | ||
83 | } | ||
84 | |||
85 | #links a { | ||
86 | padding: 5px 10px; | ||
87 | text-decoration: none; | ||
88 | } | ||
89 | |||
90 | #links a:hover { | ||
91 | -webkit-border-radius: 2px; | ||
92 | border-radius: 2px; | ||
93 | color: #f1f1f1; | ||
94 | background-color: #040707; | ||
95 | } | ||
96 | |||
97 | /*** ***/ | ||
98 | |||
99 | /*** LINKS DISPLAY ***/ | ||
100 | |||
101 | #main .tool { | ||
102 | text-decoration: none; | ||
103 | cursor: pointer; | ||
104 | } | ||
105 | |||
106 | #main #content { | ||
107 | margin-top: 20px; | ||
108 | } | ||
109 | |||
110 | #main #content h2 { | ||
111 | text-decoration: none; | ||
112 | font-size: 1.3em; | ||
113 | } | ||
114 | |||
115 | #main #content .entrie { | ||
116 | margin-top: 15px; | ||
117 | padding-bottom: 15px; | ||
118 | border-bottom: 1px dashed #222; | ||
119 | overflow: hidden; | ||
120 | } | ||
121 | |||
122 | /* First entry */ | ||
123 | #main #content .results + .entrie { | ||
124 | clear: both; | ||
125 | margin-top: 0; | ||
126 | } | ||
127 | |||
128 | #main .entrie .tools { | ||
129 | float: right; | ||
130 | text-align: right; | ||
131 | list-style-type: none; | ||
132 | opacity: 0.5; | ||
133 | } | ||
134 | |||
135 | #main .entrie .tools .tool span { | ||
136 | display: inline-block; | ||
137 | width: 16px; | ||
138 | height: 16px; | ||
139 | /* Hide textual content */ | ||
140 | overflow: hidden; | ||
141 | text-align: left; | ||
142 | text-indent: -9999px; | ||
143 | } | ||
144 | |||
145 | /*** ***/ | ||
146 | |||
147 | /*** ARTICLE PAGE ***/ | ||
148 | |||
149 | #article { | ||
150 | margin: 0 auto; | ||
151 | } | ||
152 | |||
153 | #article header { | ||
154 | border-bottom: 1px solid #222; | ||
155 | } | ||
156 | |||
157 | #article header { | ||
158 | text-align: left; | ||
159 | } | ||
160 | |||
161 | #article header h1 small { | ||
162 | float: right; | ||
163 | font-size: 0.6em; | ||
164 | } | ||
165 | |||
166 | #article header a { | ||
167 | text-decoration: none; | ||
168 | } | ||
169 | |||
170 | .backhome { | ||
171 | display: inline; | ||
172 | } | ||
173 | |||
174 | .results { | ||
175 | padding: 15px 0; | ||
176 | overflow: hidden; | ||
177 | } | ||
178 | |||
179 | .nb-results { | ||
180 | float: left; | ||
181 | font-size: 0.9em; | ||
182 | line-height: 24px; | ||
183 | vertical-align: middle; | ||
184 | } | ||
185 | |||
186 | #article_toolbar { | ||
187 | position: fixed; | ||
188 | bottom: 0; | ||
189 | left: 0; | ||
190 | width: 100%; | ||
191 | height: 50px; | ||
192 | padding-top: 17px; | ||
193 | text-align: center; | ||
194 | color: #fff; | ||
195 | opacity: 0.8; | ||
196 | background: #fff; | ||
197 | } | ||
198 | |||
199 | #article_toolbar li { | ||
200 | display: inline; | ||
201 | padding-right: 30px; | ||
202 | } | ||
203 | |||
204 | #article_toolbar .tool { | ||
205 | padding: 0 2px; | ||
206 | } | ||
207 | |||
208 | #article_toolbar .tool span { | ||
209 | display: inline-block; | ||
210 | width: 16px; | ||
211 | height: 16px; | ||
212 | /* Hide textual content */ | ||
213 | overflow: hidden; | ||
214 | text-align: left; | ||
215 | text-indent: -9999px; | ||
216 | } | ||
217 | |||
218 | /*** ***/ | ||
219 | |||
220 | /*** PAGINATION ***/ | ||
221 | |||
222 | .pagination { | ||
223 | float: right; | ||
224 | text-align: right; | ||
225 | } | ||
226 | |||
227 | .pagination a { | ||
228 | height: 25px; | ||
229 | margin: 2px; | ||
230 | padding: 4px 8px; | ||
231 | border: 1px solid #d5d5d5; | ||
232 | text-decoration: none; | ||
233 | font-size: 11px; | ||
234 | font-weight: bold; | ||
235 | color: #333; | ||
236 | } | ||
237 | |||
238 | .pagination a:hover, | ||
239 | .pagination a:active { | ||
240 | background-color: #efefef; | ||
241 | } | ||
242 | |||
243 | .pagination .current { | ||
244 | height: 25px; | ||
245 | margin: 2px; | ||
246 | padding: 4px 8px; | ||
247 | border: 1px solid #d5d5d5; | ||
248 | text-decoration: none; | ||
249 | font-size: 11px; | ||
250 | font-weight: bold; | ||
251 | color: #000; | ||
252 | background-color: #ccc; | ||
253 | } | ||
254 | |||
255 | .pagination .disabled { | ||
256 | display: none; | ||
257 | } | ||
258 | |||
259 | #bookmarklet { | ||
260 | padding: 5px; | ||
261 | border: 1px dashed #808080; | ||
262 | background: #fff; | ||
263 | cursor: move; | ||
264 | } | ||
265 | |||
266 | .top_link { | ||
267 | display: none; | ||
268 | z-index: 2000; | ||
269 | position: fixed; | ||
270 | right: 15px; | ||
271 | bottom: 15px; | ||
272 | padding: 20px; | ||
273 | -webkit-border-radius: 40px; | ||
274 | -moz-border-radius: 40px; | ||
275 | border-radius: 40px; | ||
276 | opacity: 0.9; | ||
277 | background: #ccc; | ||
278 | } | ||
279 | |||
280 | footer { | ||
281 | clear: both; | ||
282 | } | ||
283 | |||
284 | .reading-time { | ||
285 | font-size: 0.8em; | ||
286 | } | ||
287 | |||
288 | #inputform { | ||
289 | display: none; | ||
290 | margin-top: 5px; | ||
291 | margin-right: auto; | ||
292 | margin-left: auto; | ||
293 | padding-bottom: 5px; | ||
294 | max-width: 300px; | ||
295 | border-radius: 3px; | ||
296 | text-align: center; | ||
297 | color: #fff; | ||
298 | opacity: 0.8; | ||
299 | background-color: rgba(0,0,0,0.9); | ||
300 | } | ||
301 | |||
302 | a.back span, | ||
303 | a.top span, | ||
304 | a.fav span, | ||
305 | a.fav span:hover, | ||
306 | a.fav-off span, | ||
307 | a.fav-off span:hover, | ||
308 | a.archive span, | ||
309 | a.archive span:hover, | ||
310 | a.archive-off span, | ||
311 | a.archive-off span:hover, | ||
312 | a.twitter span, | ||
313 | a.shaarli span, | ||
314 | a.flattr span, | ||
315 | a.email span, | ||
316 | a.delete span, | ||
317 | a.link span, | ||
318 | a.bad-display span, | ||
319 | a.reading-time span { | ||
320 | background-repeat: no-repeat; | ||
321 | } \ No newline at end of file | ||
diff --git a/themes/default/error.twig b/themes/default/error.twig new file mode 100644 index 00000000..c829d12b --- /dev/null +++ b/themes/default/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/default/export.twig b/themes/default/export.twig new file mode 100644 index 00000000..4adb9540 --- /dev/null +++ b/themes/default/export.twig | |||
@@ -0,0 +1 @@ | |||
{{ export }} \ No newline at end of file | |||
diff --git a/themes/default/home.twig b/themes/default/home.twig new file mode 100644 index 00000000..c1b29ec3 --- /dev/null +++ b/themes/default/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&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&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&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&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&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&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&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li> | ||
40 | <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&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="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/default/img/apple-touch-icon-144x144-precomposed.png b/themes/default/img/apple-touch-icon-144x144-precomposed.png new file mode 100644 index 00000000..557b479c --- /dev/null +++ b/themes/default/img/apple-touch-icon-144x144-precomposed.png | |||
Binary files differ | |||
diff --git a/themes/default/img/apple-touch-icon-72x72-precomposed.png b/themes/default/img/apple-touch-icon-72x72-precomposed.png new file mode 100644 index 00000000..e167d3a4 --- /dev/null +++ b/themes/default/img/apple-touch-icon-72x72-precomposed.png | |||
Binary files differ | |||
diff --git a/themes/default/img/apple-touch-icon.png b/themes/default/img/apple-touch-icon.png new file mode 100644 index 00000000..4d222fba --- /dev/null +++ b/themes/default/img/apple-touch-icon.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/backtotop.png b/themes/default/img/default/backtotop.png new file mode 100644 index 00000000..051238ef --- /dev/null +++ b/themes/default/img/default/backtotop.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/bad-display.png b/themes/default/img/default/bad-display.png new file mode 100755 index 00000000..6866799f --- /dev/null +++ b/themes/default/img/default/bad-display.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/checkmark-off.png b/themes/default/img/default/checkmark-off.png new file mode 100644 index 00000000..3db5a06d --- /dev/null +++ b/themes/default/img/default/checkmark-off.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/checkmark-on.png b/themes/default/img/default/checkmark-on.png new file mode 100644 index 00000000..cd3abb2c --- /dev/null +++ b/themes/default/img/default/checkmark-on.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/down.png b/themes/default/img/default/down.png new file mode 100644 index 00000000..b9d536a7 --- /dev/null +++ b/themes/default/img/default/down.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/envelop.png b/themes/default/img/default/envelop.png new file mode 100644 index 00000000..6be1c886 --- /dev/null +++ b/themes/default/img/default/envelop.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/flattr.png b/themes/default/img/default/flattr.png new file mode 100755 index 00000000..0404aaea --- /dev/null +++ b/themes/default/img/default/flattr.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/left.png b/themes/default/img/default/left.png new file mode 100644 index 00000000..a0a53631 --- /dev/null +++ b/themes/default/img/default/left.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/link.png b/themes/default/img/default/link.png new file mode 100755 index 00000000..db62819d --- /dev/null +++ b/themes/default/img/default/link.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/remove.png b/themes/default/img/default/remove.png new file mode 100644 index 00000000..f8ad56a3 --- /dev/null +++ b/themes/default/img/default/remove.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/shaarli.png b/themes/default/img/default/shaarli.png new file mode 100644 index 00000000..1eb30f60 --- /dev/null +++ b/themes/default/img/default/shaarli.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/star-off.png b/themes/default/img/default/star-off.png new file mode 100644 index 00000000..6a0133a7 --- /dev/null +++ b/themes/default/img/default/star-off.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/star-on.png b/themes/default/img/default/star-on.png new file mode 100644 index 00000000..a9f96eaa --- /dev/null +++ b/themes/default/img/default/star-on.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/top.png b/themes/default/img/default/top.png new file mode 100644 index 00000000..954a8c0a --- /dev/null +++ b/themes/default/img/default/top.png | |||
Binary files differ | |||
diff --git a/themes/default/img/default/twitter.png b/themes/default/img/default/twitter.png new file mode 100644 index 00000000..cfcfe419 --- /dev/null +++ b/themes/default/img/default/twitter.png | |||
Binary files differ | |||
diff --git a/themes/default/img/favicon.ico b/themes/default/img/favicon.ico new file mode 100644 index 00000000..0e9ff779 --- /dev/null +++ b/themes/default/img/favicon.ico | |||
Binary files differ | |||
diff --git a/themes/default/img/logo.png b/themes/default/img/logo.png new file mode 100644 index 00000000..5305c77d --- /dev/null +++ b/themes/default/img/logo.png | |||
Binary files differ | |||
diff --git a/themes/default/img/messages/close.png b/themes/default/img/messages/close.png new file mode 100644 index 00000000..731aa018 --- /dev/null +++ b/themes/default/img/messages/close.png | |||
Binary files differ | |||
diff --git a/themes/default/img/messages/cross.png b/themes/default/img/messages/cross.png new file mode 100644 index 00000000..1514d51a --- /dev/null +++ b/themes/default/img/messages/cross.png | |||
Binary files differ | |||
diff --git a/themes/default/img/messages/help.png b/themes/default/img/messages/help.png new file mode 100644 index 00000000..5c870176 --- /dev/null +++ b/themes/default/img/messages/help.png | |||
Binary files differ | |||
diff --git a/themes/default/img/messages/tick.png b/themes/default/img/messages/tick.png new file mode 100644 index 00000000..a9925a06 --- /dev/null +++ b/themes/default/img/messages/tick.png | |||
Binary files differ | |||
diff --git a/themes/default/img/messages/warning.png b/themes/default/img/messages/warning.png new file mode 100644 index 00000000..628cf2da --- /dev/null +++ b/themes/default/img/messages/warning.png | |||
Binary files differ | |||
diff --git a/themes/default/install.twig b/themes/default/install.twig new file mode 100644 index 00000000..6e85e5cb --- /dev/null +++ b/themes/default/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/default/js/restoreScroll.js b/themes/default/js/restoreScroll.js new file mode 100644 index 00000000..331c9e19 --- /dev/null +++ b/themes/default/js/restoreScroll.js | |||
@@ -0,0 +1,25 @@ | |||
1 | function supportsLocalStorage() { | ||
2 | try { | ||
3 | return 'localStorage' in window && window['localStorage'] !== null; | ||
4 | } catch (e) { | ||
5 | return false; | ||
6 | } | ||
7 | } | ||
8 | |||
9 | function savePercent(id, percent) { | ||
10 | if (!supportsLocalStorage()) { return false; } | ||
11 | localStorage["poche.article." + id + ".percent"] = percent; | ||
12 | return true; | ||
13 | } | ||
14 | |||
15 | function 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/default/layout.twig b/themes/default/layout.twig new file mode 100644 index 00000000..fec7054a --- /dev/null +++ b/themes/default/layout.twig | |||
@@ -0,0 +1,31 @@ | |||
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 | {% block menu %}{% endblock %} | ||
21 | {% block precontent %}{% endblock %} | ||
22 | {% block messages %} | ||
23 | {% include '_messages.twig' %} | ||
24 | {% endblock %} | ||
25 | <div id="content" class="w600p center"> | ||
26 | {% block content %}{% endblock %} | ||
27 | </div> | ||
28 | </div> | ||
29 | {% include '_footer.twig' %} | ||
30 | </body> | ||
31 | </html> \ No newline at end of file | ||
diff --git a/themes/default/login.twig b/themes/default/login.twig new file mode 100644 index 00000000..0ae130bc --- /dev/null +++ b/themes/default/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"> | ||
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/default/view.twig b/themes/default/view.twig new file mode 100644 index 00000000..1e54ae38 --- /dev/null +++ b/themes/default/view.twig | |||
@@ -0,0 +1,51 @@ | |||
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="#top" title="{% trans "back to top" %}" class="tool top"><span>{% trans "back to top" %}</span></a></li> | ||
8 | <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> | ||
9 | <li><a title="{% trans "toggle mark as read" %}" class="tool {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li> | ||
10 | <li><a title="{% trans "toggle favorite" %}" class="tool {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li> | ||
11 | <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li> | ||
12 | {% 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 %} | ||
13 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %} | ||
14 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} | ||
15 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><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 %} | ||
16 | <li><a href="mailto:support@inthepoche.com?subject=Wrong%20display%20in%20poche&body={{ entry.url|url_encode }}" title="{% trans "this article appears wrong?" %}" class="tool bad-display"><span>{% trans "this article appears wrong?" %}</span></a></li> | ||
17 | </ul> | ||
18 | </div> | ||
19 | <div id="article"> | ||
20 | <header class="mbm"> | ||
21 | <h1>{{ entry.title|raw }}</h1> | ||
22 | </header> | ||
23 | <article> | ||
24 | {{ content | raw }} | ||
25 | </article> | ||
26 | </div> | ||
27 | <script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/restoreScroll.js"></script> | ||
28 | <script type="text/javascript"> | ||
29 | $(document).ready(function() { | ||
30 | |||
31 | $(window).scroll(function(e){ | ||
32 | var scrollTop = $(window).scrollTop(); | ||
33 | var docHeight = $(document).height(); | ||
34 | var scrollPercent = (scrollTop) / (docHeight); | ||
35 | var scrollPercentRounded = Math.round(scrollPercent*100)/100; | ||
36 | savePercent({{ entry.id|e }}, scrollPercentRounded); | ||
37 | }); | ||
38 | |||
39 | retrievePercent({{ entry.id|e }}); | ||
40 | |||
41 | $(window).resize(function(){ | ||
42 | retrievePercent({{ entry.id|e }}); | ||
43 | }); | ||
44 | |||
45 | // Hide useless "back to top" link when there is no scrollbar | ||
46 | if ($("body").height() <= $(window).height()) { | ||
47 | $('#article_toolbar .tool.top').parent().hide(); | ||
48 | } | ||
49 | }); | ||
50 | </script> | ||
51 | {% endblock %} \ No newline at end of file | ||