aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Resources/views/baggy
diff options
context:
space:
mode:
authorNicolas Lœuillet <nicolas@loeuillet.org>2015-01-28 13:58:12 +0100
committerNicolas Lœuillet <nicolas@loeuillet.org>2015-01-28 13:58:12 +0100
commit19f2f11ee810cfd580cc23dabfafa658b5c4e99e (patch)
tree3403968dc56ea4b40efa266837c37f38408ca4a1 /src/Wallabag/CoreBundle/Resources/views/baggy
parent9e11bfa4a632374df5b1e6bb380c769b6231225c (diff)
downloadwallabag-19f2f11ee810cfd580cc23dabfafa658b5c4e99e.tar.gz
wallabag-19f2f11ee810cfd580cc23dabfafa658b5c4e99e.tar.zst
wallabag-19f2f11ee810cfd580cc23dabfafa658b5c4e99e.zip
fix themes symlinks
Diffstat (limited to 'src/Wallabag/CoreBundle/Resources/views/baggy')
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/README.md3
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/_display-mode.twig5
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/_head.twig39
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/_menu.twig17
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/_pocheit-form.twig10
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/_search-form.twig9
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/_top.twig7
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/about.twig84
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/config.twig187
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/edit-tags.twig29
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/home.twig81
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/layout-login.twig31
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/layout.twig34
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/login.twig34
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/css/font.css6
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/css/main.css1071
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/css/messages.css19
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/css/print.css62
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/css/ratatouille.css211
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.eotbin0 -> 3896 bytes
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.svg41
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.ttfbin0 -> 3732 bytes
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.woffbin0 -> 3664 bytes
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/ptsans.woffbin0 -> 24816 bytes
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/blank.pngbin0 -> 141 bytes
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/down.pngbin0 -> 216 bytes
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/list.pngbin0 -> 201 bytes
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/table.pngbin0 -> 229 bytes
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/top.pngbin0 -> 212 bytes
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/img/bg-select.pngbin0 -> 1095 bytes
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-other_themes.pngbin0 -> 3922 bytes
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-w.pngbin0 -> 4916 bytes
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-wallabag.svg300
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.pngbin0 -> 1350 bytes
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.svg8
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/js/closeMessage.js17
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/js/init.js51
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/public/js/jquery.cookie.js117
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/public/js/restoreScroll.js25
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/screenshot.jpgbin0 -> 256315 bytes
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/tags.twig13
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/baggy/theme.ini3
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/views/baggy/view.twig102
43 files changed, 2616 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/README.md b/src/Wallabag/CoreBundle/Resources/views/baggy/README.md
new file mode 100755
index 00000000..1f0054a4
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/README.md
@@ -0,0 +1,3 @@
1# Baggy Theme
2
3theme created by Thomas LEBEAU alias Courgette http://thomaslebeau.fr/ \ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/_display-mode.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/_display-mode.twig
new file mode 100755
index 00000000..382dd5f1
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_display-mode.twig
@@ -0,0 +1,5 @@
1<div id="display-mode">
2 <a href="javascript: void(null);" id="listmode" class="listmode">
3 <img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/blank.png" alt="{% trans "toggle view mode" %}" title="{% trans "toggle view mode" %}" width="16" height="16">
4 </a>
5</div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/_head.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/_head.twig
new file mode 100755
index 00000000..a88d4186
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_head.twig
@@ -0,0 +1,39 @@
1 <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-152.png" sizes="152x152">
2 <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-152.png" sizes="152x152">
3
4 <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-144.png" sizes="144x144">
5 <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-144.png" sizes="144x144">
6
7 <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-120.png" sizes="120x120">
8 <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-120.png" sizes="120x120">
9
10 <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-114.png" sizes="114x114">
11 <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-114.png" sizes="114x114">
12
13 <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-76.png" sizes="76x76">
14 <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-76.png" sizes="76x76">
15
16 <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-72.png" sizes="72x72">
17 <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-72.png" sizes="72x72">
18
19 <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-57.png" sizes="57x57">
20 <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-57.png" sizes="57x57">
21
22 <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon.png">
23 <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon.png">
24
25 <link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}themes/_global/img/appicon/favicon.ico" sizes="16x16">
26
27 <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/ratatouille.css" media="all">
28 <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/font.css" media="all">
29 <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/main.css" media="all">
30 <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/messages.css" media="all">
31 <link rel="stylesheet" href="{{ poche_url }}themes/{{theme}}/css/print.css" media="print">
32
33 <script src="{{ poche_url }}themes/_global/js/jquery-2.0.3.min.js"></script>
34 <script src="{{ poche_url }}themes/_global/js/autoClose.js"></script>
35 <script src="{{ poche_url }}themes/{{theme}}/js/jquery.cookie.js"></script>
36 <script src="{{ poche_url }}themes/{{theme}}/js/init.js"></script>
37 <script src="{{ poche_url }}themes/_global/js/saveLink.js"></script>
38 <script src="{{ poche_url }}themes/_global/js/popupForm.js"></script>
39 <script src="{{ poche_url }}themes/{{theme}}/js/closeMessage.js"></script>
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/_menu.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/_menu.twig
new file mode 100644
index 00000000..8b80f65d
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_menu.twig
@@ -0,0 +1,17 @@
1 <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button>
2 <ul id="links" class="links">
3 <li><a href="./" {% if view == 'home' %}class="current"{% endif %}>{% trans "unread" %}</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=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li>
7 <li style="position: relative;"><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a>
8 {% include '_pocheit-form.twig' %}
9 </li>
10 <li style="position: relative;"><a href="javascript: void(null);" id="search">{% trans "search" %}</a>
11 {% include '_search-form.twig' %}
12 </li>
13 <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li>
14 <li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li>
15 <li><a class="icon icon-power" href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li>
16 </ul>
17
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/_pocheit-form.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/_pocheit-form.twig
new file mode 100755
index 00000000..bf2ae903
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_pocheit-form.twig
@@ -0,0 +1,10 @@
1<div id="bagit-form" class="messages info popup-form">
2 <form method="get" action="index.php" target="_blank" id="bagit-form-form">
3 <h2>{% trans "Save a link" %}</h2>
4 <a href="javascript: void(null);" id="bagit-form-close" class="close-button--popup close-button">&times;</a>
5 <input type="hidden" name="autoclose" value="1" />
6 <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" />
7 <span id="add-link-result"></span>
8 <input type="submit" value="{% trans "save link!" %}" />
9 </form>
10</div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/_search-form.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/_search-form.twig
new file mode 100644
index 00000000..73f7951f
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_search-form.twig
@@ -0,0 +1,9 @@
1<div id="search-form" class="messages info popup-form">
2<form method="get" action="index.php">
3 <h2>{%trans "Search" %}</h2>
4 <a href="javascript: void(null);" id="search-form-close" class="close-button--popup close-button">&times;</a>
5 <input type="hidden" name="view" value="search"></input>
6 <input required placeholder="{% trans "Enter your search here" %}" type="text" name="search" id="searchfield"><br>
7 <input id="submit-search" type="submit" value="{% trans "Search" %}"></input>
8</form>
9</div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/_top.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/_top.twig
new file mode 100755
index 00000000..a31c0925
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_top.twig
@@ -0,0 +1,7 @@
1 <header class="w600p center mbm">
2 <h1 class="logo">
3 {% if view == 'home' %}{% block logo %}<img width="100" height="100" src="{{ poche_url }}themes/{{theme}}/img/logo-w.png" alt="wallabag logo" />{% endblock %}
4 {% else %}<a href="./" title="{% trans "return home" %}" >{{ block('logo') }}</a>
5 {% endif %}
6 </h1>
7 </header>
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/about.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/about.twig
new file mode 100755
index 00000000..d18fe156
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/about.twig
@@ -0,0 +1,84 @@
1{% extends "layout.twig" %}
2
3{% block title %}{% trans "About" %}{% endblock %}
4{% block menu %}
5{% include '_menu.twig' %}
6{% endblock %}
7{% block content %}
8 <h2>{% trans "About wallabag" %}</h2>
9
10 <dl>
11 <dt>{% trans "Project website" %}</dt>
12 <dd><a href="https://www.wallabag.org">https://www.wallabag.org</a></dd>
13
14 <dt>{% trans "Main developer" %}</dt>
15 <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd>
16
17 <dt>{% trans "Contributors:" %}</dt>
18 <dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd>
19
20 <dt>{% trans "Bug reports" %}</dt>
21 <dd><a href="https://support.wallabag.org">{% trans "On our support website" %}</a> {% trans "or" %} <a href="https://github.com/wallabag/wallabag/issues">{% trans "on Github" %}</a></dd>
22
23 <dt>{% trans "License" %}</dt>
24 <dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd>
25
26 <dt>{% trans "Version" %}</dt>
27 <dd>{{ constant('WALLABAG') }}</dd>
28 </dl>
29
30 <p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p>
31
32 <h2>{% trans "Getting help" %}</h2>
33
34 <dl>
35 <dt>{% trans "Documentation" %}</dt>
36 <dd><a href="docs/">Offline documentation</a> and <a href="https://doc.wallabag.org/">online documentation</a> (up to date)</dd>
37
38 <dt>{% trans "Support" %}</dt>
39 <dd><a href="http://support.wallabag.org/">http://support.wallabag.org/</a></dd>
40 </dl>
41
42 <h2>{% trans "Helping wallabag" %}</h2>
43
44 <p>{% trans "wallabag is free and opensource. You can help us:" %}</p>
45
46 <dl>
47 <dt><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb">{% trans "via Paypal" %}</a></dt>
48
49 <dt><a href="https://flattr.com/thing/1265480">{% trans "via Flattr" %}</a></dt>
50 </dl>
51
52 <h2>{% trans "Credits" %}</h2>
53 <dl>
54 <dt>PHP Readability</dt>
55 <dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd>
56
57 <dt>Full Text RSS</dt>
58 <dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd>
59
60 <dt>logo by Maylis Agniel</dt>
61 <dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd>
62
63 <dt>icons</dt>
64 <dd><a href="http://icomoon.io">http://icomoon.io</a></dd>
65
66 <dt>PHP Simple HTML DOM Parser</dt>
67 <dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd>
68
69 <dt>Session</dt>
70 <dd><a href="https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php">https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php</a></dd>
71
72 <dt>Twig</dt>
73 <dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd>
74
75 <dt>Flash messages</dt>
76 <dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd>
77
78 <dt>Pagination</dt>
79 <dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd>
80
81 <dt>PHPePub</dt>
82 <dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd>
83 </dl>
84{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/config.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/config.twig
new file mode 100755
index 00000000..6031f489
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/config.twig
@@ -0,0 +1,187 @@
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 "Saving articles" %}</h2>
9 <p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p>
10 <p>
11 <form method="get" action="index.php">
12 <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br>
13 <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" />
14 <input type="submit" value="{% trans "bag it!" %}" />
15 </form>
16 </p>
17 <h3>Browser Plugins</h3>
18 <ul>
19 <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li>
20 <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li>
21 </ul>
22 <h3>Mobile Apps</h3>
23 <ul>
24 <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li>
25 <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li>
26 <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li>
27 </ul>
28 <h3>{% trans "Bookmarklet" %}</h3>
29 <p>
30 {% trans "Drag &amp; drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a>
31 </p>
32
33 <h2>{% trans "Feeds" %}</h2>
34 {% if token == '' %}
35 <p>{% trans "Your feed token is currently empty and must first be generated to enable feeds. Click <a href='?feed&amp;action=generate'>here to generate it</a>." %}</p>
36 {% else %}
37 <ul>
38 <li><a href="?feed&amp;type=home&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Unread feed" %}</a></li>
39 <li><a href="?feed&amp;type=fav&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li>
40 <li><a href="?feed&amp;type=archive&amp;user_id={{ user_id }}&amp;token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li>
41 </ul>
42 <p class="more-info">
43 {% trans "Your token:" %} <strong>{{token}}</strong><br>
44 {% trans "Your user id:" %} <strong>{{user_id}}</strong><br>
45 {% trans "You can regenerate your token: <a href='?feed&amp;action=generate'>generate!</a>." %}
46 </p>
47 {% endif %}
48
49 <h2>{% trans "Change your theme" %}</h2>
50 <form method="post" action="?updatetheme" name="changethemeform">
51 <fieldset class="w500p inline">
52 <div class="row">
53 <label class="col w150p" for="theme">{% trans "Theme:" %}</label>
54 <select class="col" id="theme" name="theme">
55 {% for key, theme in themes %}
56 <option value="{{ key }}" {{ theme.current ? 'selected' : '' }}>{{ theme.name }}</option>
57 {% endfor %}
58 </select>
59 </div>
60 <div class="row mts txtcenter">
61 <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
62 </div>
63 </fieldset>
64 <input type="hidden" name="returnurl" value="{{ referer }}">
65 <input type="hidden" name="token" value="{{ token }}">
66 </form>
67
68 <h2>{% trans "Change your language" %}</h2>
69 <form method="post" action="?updatelanguage" name="changelanguageform">
70 <fieldset class="w500p inline">
71 <div class="row">
72 <label class="col w150p" for="language">{% trans "Language:" %}</label>
73 <select class="col" id="language" name="language">
74 {% for language in languages %}
75 <option value="{{ language.value }}" {{ language.current ? 'selected' : '' }}>{{ language.name }}</option>
76 {% endfor %}
77 </select>
78 </div>
79 <div class="row mts txtcenter">
80 <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
81 </div>
82 </fieldset>
83 <input type="hidden" name="returnurl" value="{{ referer }}">
84 <input type="hidden" name="token" value="{{ token }}">
85 </form>
86
87 <h2><a name="import"></a>{% trans "Import" %}</h2>
88 <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p>
89 <p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p>
90 <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data">
91 <fieldset class="w500p">
92 <div class="row">
93 <label class="col w150p" for="file">{% trans "File:" %}</label>
94 <input class="col" type="file" id="file" name="file" tabindex="4" required="required">
95 </div>
96 <div class="row mts txtcenter">
97 <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button>
98 </div>
99 </fieldset>
100 </form>
101 <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p>
102 <p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p>
103
104 <h2>{% trans "Export your wallabag data" %}</h2>
105 <p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br>
106 <span class="more-info">Data will be exported in a single JSON file.</span></p>
107
108 <h2>{% trans "Fancy an E-Book ?" %}</h2>
109 <p>{% trans "Click to get all your articles in one ebook :" %}
110 <ul>
111 <li><a href="./?epub&amp;method=all" title="{% trans 'Generate ePub file' %}">ePub 3</a></li>
112 <li><a href="./?mobi&amp;method=all" title="{% trans 'Generate Mobi file' %}">Mobi</a></li>
113 <li><a href="./?pdf&amp;method=all" title="{% trans 'Generate PDF file' %}">PDF</a></li>
114 </ul>
115
116 <span class="more-info">{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p>
117
118 <h2><a name="cache"></a>{% trans "Cache" %}</h2>
119 <p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br>
120 <span class="more-info">Deleting the cache may help with display or other problems.</span></p>
121
122 {% if http_auth == 0 %}
123 <h2>{% trans "Change your password" %}</h2>
124 <form method="post" action="?config" name="loginform">
125 <fieldset class="w500p">
126 <div class="row">
127 <label class="col w150p" for="password">{% trans "New password:" %}</label>
128 <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2">
129 </div>
130 <div class="row">
131 <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label>
132 <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3">
133 </div>
134 <div class="row mts txtcenter">
135 <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button>
136 </div>
137 </fieldset>
138 <input type="hidden" name="returnurl" value="{{ referer }}">
139 <input type="hidden" name="token" value="{{ token }}">
140 </form>
141 {% endif %}
142
143 <h2>{% trans 'Add user' %}</h2>
144 <form method="post" action="?newuser">
145 <fieldset class="w500p">
146 <div class="row">
147 <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label>
148 <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required>
149 </div>
150 <div class="row">
151 <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label>
152 <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required>
153 </div>
154 <div class="row">
155 <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label>
156 <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}">
157 </div>
158 <div class="row mts txtcenter">
159 <button type="submit">{% trans "Add user" %}</button>
160 </div>
161 </fieldset>
162 </form>
163
164 <h2>{% trans "Delete account" %}</h2>
165 {% if not only_user %}<form method="post" action="?deluser">
166 <p>{% trans "You can delete your account by entering your password and validating." %}<br /><b>{% trans "Be careful, data will be erased forever (that is a very long time)." %}</b></p>
167 <fieldset class="w500p">
168 <div class="row">
169 <label class="col w150p" for="password4deletinguser">{% trans "Type here your password" %}</label>
170 <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}">
171 </div>
172 <div class="row mts txtcenter">
173 <button type="submit">{% trans "Delete account" %}</button>
174 </div>
175 </form>
176 {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p>
177 <p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %}
178
179 <h2>{% trans "Upgrading wallabag" %}</h2>
180 <ul>
181 <li>{% trans "Installed version" %}: <strong>{{ constant('WALLABAG') }}</strong></li>
182 <li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li>
183 {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li>
184 </ul>
185 <p class="more-info">{% trans "You can clear cache to check the latest release." %}</p>
186
187{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/edit-tags.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/edit-tags.twig
new file mode 100755
index 00000000..15f15560
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/edit-tags.twig
@@ -0,0 +1,29 @@
1{% extends "layout.twig" %}
2{% block title %}edit tags{% endblock %}
3{% block menu %}
4{% include '_menu.twig' %}
5{% endblock %}
6{% block content %}
7
8<script src="{{ poche_url }}themes/_global/js/jquery-ui-1.10.4.custom.min.js"></script>
9<script src="{{ poche_url }}themes/_global/js/autoCompleteTags.js"></script>
10<link rel="stylesheet" href="{{ poche_url }}themes/_global/css/jquery-ui-1.10.4.custom.min.css" media="all">
11
12<div id="article">
13 <h2>{{ entry.title|raw }}</21>
14</div>
15{% if tags is empty %}
16<div class="notags">{% trans "no tags" %}</div>
17{% endif %}
18<ul>
19{% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&amp;tag_id={{ tag.id }}&amp;id={{ entry_id }}">✘</a></li>{% endfor %}
20</ul>
21<form method="post" action="./?action=add_tag">
22 <input type="hidden" name="entry_id" value="{{ entry_id }}" />
23 <label for="value">{% trans "Add tags:" %}</label><input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" />
24 <input type="submit" value="Tag" />
25 <p>{% trans "Start typing for auto complete." %}<br>
26 {% trans "You can enter multiple tags, separated by commas." %}</p>
27</form>
28<a class="icon icon-reply return" href="./?view=view&id={{ entry_id }}">{% trans "return to article" %}</a>
29{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/home.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/home.twig
new file mode 100755
index 00000000..93515080
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/home.twig
@@ -0,0 +1,81 @@
1{% extends "layout.twig" %}
2{% block title %}
3{% if view == 'fav' %}
4{% trans "favorites" %}
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 content %}
15 {% if tag %}
16 <h3>{% trans "Tag" %}: <b>{{ tag.value }}</b></h3>
17 {% endif %}
18 {% if entries is empty %}
19 <div class="messages warning"><p>{% trans "No articles found." %}</p></div>
20 {% else %}
21 <div>
22 {% include '_display-mode.twig' %}
23 {% include '_sorting.twig' %}
24 </div>
25 {% block pager %}
26 {% if nb_results > 1 %}
27 <div class="results">
28 <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %}</div>
29 {{ page_links | raw }}
30 </div>
31 {% elseif nb_results == 1 %}
32 {% if search_term is defined %}
33 <div class="results">
34 <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div>
35 </div>
36 {% endif %}
37 {% endif %}
38 {% endblock %}
39 <div id="list-entries" class="list-entries">
40 {% for entry in entries %}
41 <div id="entry-{{ entry.id|e }}" class="entrie">
42 <h2><a href="index.php?view=view&amp;id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
43 {% if entry.content| getReadingTime > 0 %}
44 <div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min</span></div>
45 {% else %}
46 <div class="estimatedTime"><span class="tool reading-time">{% trans "estimated reading time :" %} <small class="inferieur">&lt;</small> 1 min</span></div>
47 {% endif %}
48 <ul class="tools links">
49 <li><a title="{% trans "Toggle mark as read" %}" class="tool icon-check icon {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "Toggle mark as read" %}</span></a></li>
50 <li><a title="{% trans "toggle favorite" %}" class="tool icon-star icon {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="./?action=toggle_fav&amp;id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
51 <li><a title="{% trans "delete" %}" class="tool delete icon-trash icon" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
52 <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.url | e | getDomain }}</span></a></li>
53 </ul>
54 <p>{{ entry.content|striptags|slice(0, 300) }}...</p>
55 </div>
56
57 {% endfor %}
58 </div>
59 {{ block('pager') }}
60 {% if view == 'home' %}{% if nb_results > 1 %}<p><a title="{% trans "Mark all the entries as read" %}" href="./?action=archive_all">{% trans "Mark all the entries as read" %}</a></p>{% endif %}{% endif %}
61 {% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">{% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}<br />
62
63 {% if searchterm is defined %}<a title="{% trans "Delete results matching" %} {{ searchterm }}" href="./?action=delete&search={{ searchterm }}">{% trans "Delete results matching" %} {{ searchterm }}</a>{% endif %}<br />
64
65 {% if tag %}<a title="{% trans "Mark all articles from this tag as read" %}" href="./?action=toggle_archive&amp;tag_id={{ tag.id }}">{% trans "Mark all articles from this tag as read" %}</a><br />{% endif %}
66
67 {% if tag %}
68 {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this tag in an epub file" %}" href="./?epub&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as ePub3" %}</a>{% endif %}
69 {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this tag in a mobi file" %}" href="./?mobi&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as Mobi" %}</a>{% endif %}
70 {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this tag in a pdf file" %}" href="./?pdf&amp;method=tag&amp;value={{ tag.value }}">{% trans "Download as PDF" %}</a>{% endif %}
71 {% elseif searchterm is defined %}
72 {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as ePub3" %}</a>{% endif %}
73 {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this search in a mobi file" %}" href="./?mobi&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as Mobi" %}</a>{% endif %}
74 {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this search in a pdf file" %}" href="./?pdf&amp;method=search&amp;value={{ searchterm }}">{% trans "Download as PDF" %}</a>{% endif %}
75 {% else %}
76 {% if constant('EPUB') == 1 %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&amp;method=category&amp;value={{ view }}">{% trans "Download as ePub3" %}</a>{% endif %}
77 {% if constant('MOBI') == 1 %}<a title="{% trans "Download the articles from this category in a mobi file" %}" href="./?mobi&amp;method=category&amp;value={{ view }}">{% trans "Download as Mobi" %}</a>{% endif %}
78 {% if constant('PDF') == 1 %}<a title="{% trans "Download the articles from this category in a pdf file" %}" href="./?pdf&amp;method=category&amp;value={{ view }}">{% trans "Download as PDF" %}</a>{% endif %}
79 {% endif %}
80{% endif %}
81{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/layout-login.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/layout-login.twig
new file mode 100644
index 00000000..4078fbb0
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/layout-login.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 %} - wallabag</title>
14{% include '_head.twig' %}
15{% include '_bookmarklet.twig' %}
16 </head>
17 <body class="login">
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/src/Wallabag/CoreBundle/Resources/views/baggy/layout.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/layout.twig
new file mode 100755
index 00000000..8de12749
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/layout.twig
@@ -0,0 +1,34 @@
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 %} - wallabag</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 {% if includeImport %}
25 {% include '_import.twig' %}
26 {% endif %}
27 {% endblock %}
28 <div id="content" class="w600p center">
29 {% block content %}{% endblock %}
30 </div>
31 </div>
32{% include '_footer.twig' %}
33 </body>
34</html> \ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/login.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/login.twig
new file mode 100644
index 00000000..58290e9c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/login.twig
@@ -0,0 +1,34 @@
1{% extends "layout-login.twig" %}
2
3{% block title %}{% trans "login to your wallabag" %}{% endblock %}
4{% block content %}
5 {% if http_auth == 0 %}
6 <form method="post" action="?login" name="loginform">
7 <fieldset class="w500p center">
8 <h2 class="mbs txtcenter">{% trans "Login to wallabag" %}</h2>
9 {% if constant('MODE_DEMO') == 1 %}<p>{% trans "you are in demo mode, some features may be disabled." %}</p>{% endif %}
10 <div class="row">
11 <label class="col w150p" for="login">{% trans "Username" %}</label>
12 <input class="col" type="text" id="login" name="login" placeholder="{% trans "Username" %}" tabindex="1" autofocus {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
13 </div>
14
15 <div class="row">
16 <label class="col w150p" for="password">{% trans "Password" %}</label>
17 <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2" {% if constant('MODE_DEMO') == 1 %}value="poche"{% endif %} />
18 </div>
19 <div class="row">
20
21 <div class="col">
22 <input type="checkbox" id="longlastingsession" name="longlastingsession" tabindex="3" /> <label for="longlastingsession">{% trans "Stay signed in" %}</label><br />
23 <small class="inbl">{% trans "(Do not check on public computers)" %}</small>
24 </div>
25 </div>
26 <div class="row mts txtcenter">
27 <button class="bouton" type="submit" tabindex="4">{% trans "Sign in" %}</button>
28 </div>
29 </fieldset>
30 <input type="hidden" name="returnurl" value="{{ referer }}">
31 <input type="hidden" name="token" value="{{ token }}">
32 </form>
33 {% endif %}
34{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/font.css b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/font.css
new file mode 100755
index 00000000..7c02a16f
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/font.css
@@ -0,0 +1,6 @@
1@font-face {
2 font-family: 'PT Sans';
3 font-style: normal;
4 font-weight: 700;
5 src: local('PT Sans Bold'), local('PTSans-Bold'), url(../fonts/ptsans.woff) format('woff');
6}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/main.css b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/main.css
new file mode 100755
index 00000000..1df82910
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/main.css
@@ -0,0 +1,1071 @@
1/* ==========================================================================
2 Sommaire
3
4 1 = Style Guide
5 2 = Layout
6 3 = Pictos
7 4 = Messages
8 5 = Article
9 6 = Media queries
10
11 ========================================================================== */
12
13html {
14 min-height: 100%;
15}
16
17body {
18 background-color: #EEE;
19}
20
21.login {
22 background-color: #333;
23}
24
25.login #main {
26 padding: 0;
27 margin: 0;
28}
29
30.login form {
31 background-color: #FFF;
32 padding: 1.5em;
33 box-shadow: 0 1px 8px rgba(0,0,0,0.9);
34 width: 20em;
35 position: absolute;
36 top: 8em;
37 left: 50%;
38 margin-left: -10em;
39}
40
41.login .logo {
42 position: absolute;
43 top: 2em;
44 left: 50%;
45 margin-left: -55px;
46}
47
48/* ==========================================================================
49 1 = Style Guide
50 ========================================================================== */
51
52::selection {
53 color: #FFF;
54 background-color: #000;
55}
56
57.desktopHide {
58 display: none;
59}
60
61.logo {
62 position: fixed;
63 z-index: 20;
64 top: 0.4em;
65 left: 0.6em;
66}
67
68h2, h3, h4 {
69 font-family: 'PT Sans', sans-serif;
70 text-transform: uppercase;
71}
72
73p, li, label {
74 color: #666;
75}
76
77a {
78 color: #000;
79 font-weight: bold;
80}
81
82a:hover, a:focus {
83 text-decoration: none;
84}
85
86form fieldset {
87 border:0;
88 padding: 0;
89 margin: 0;
90}
91
92form input[type="text"], select, form input[type="password"], form input[type="url"], form input[type="email"] {
93 border: 1px solid #999;
94 padding: 0.5em 1em;
95 min-width: 12em;
96 color: #666;
97}
98
99@media screen and (-webkit-min-device-pixel-ratio:0){
100 select{
101 -webkit-appearance: none;
102 border-radius: 0;
103 background: #FFF url(../img/bg-select.png) no-repeat right center;
104 }
105}
106
107.inline .row {
108 display: inline-block;
109 margin-right: 0.5em;
110}
111
112.inline label {
113 min-width: 6em;
114}
115
116fieldset label {
117 display: inline-block;
118 min-width: 12.5em;
119 color: #666;
120}
121
122label {
123 margin-right: 0.5em;
124}
125
126form .row {
127 margin-bottom: 0.5em;
128}
129
130form button, input[type="submit"] {
131 cursor:pointer;
132 background-color: #000;
133 color: #FFF;
134 border:0;
135 padding: 0.5em 1em;
136 display: inline-block;
137 border:1px solid #000;
138}
139
140 form button:hover, form button:focus, input[type="submit"]:hover, input[type="submit"]:focus {
141 background-color: #FFF;
142 color: #000;
143 -webkit-transition: all 0.5s ease;
144 -moz-transition: all 0.5s ease;
145 -ms-transition: all 0.5s ease;
146 -o-transition: all 0.5s ease;
147 transition: all 0.5s ease;
148 }
149
150#bookmarklet {
151 cursor: move;
152}
153
154h2:after {
155 content: "";
156 height: 4px;
157 width: 70px;
158 background-color: #000;
159 display: block;
160}
161
162.links {
163 padding: 0;
164 margin: 0;
165}
166 .links li {
167 list-style: none;
168 margin: 0;
169 padding: 0;
170 }
171
172
173#links {
174 position: fixed;
175 top: 0;
176 width: 10em;
177 left: 0;
178 text-align: right;
179 background-color: #333;
180 padding-top: 9.5em;
181 height: 100%;
182 box-shadow:inset -4px 0 20px rgba(0,0,0,0.6);
183 z-index: 15;
184}
185
186#main {
187 margin-left: 13em;
188 position: relative;
189 z-index: 10;
190 padding-right: 5%;
191 padding-bottom: 1em;
192}
193
194 #links > li > a {
195 display: block;
196 padding: 0.5em 2em 0.5em 1em;
197 color: #FFF;
198 position: relative;
199 text-transform: uppercase;
200 text-decoration: none;
201 font-weight: normal;
202 font-family: 'PT Sans', sans-serif;
203 -webkit-transition: all 0.5s ease;
204 -moz-transition: all 0.5s ease;
205 -ms-transition: all 0.5s ease;
206 -o-transition: all 0.5s ease;
207 transition: all 0.5s ease;
208 }
209
210 #links > li > a:hover, #links > li > a:focus {
211 background-color: #999;
212 color: #000;
213 }
214
215 #links .current:after {
216 content: "";
217 width: 0;
218 height: 0;
219 position: absolute;
220 border-style: solid;
221 border-width: 10px;
222 border-color: transparent #EEE transparent transparent;
223 right: 0;
224 top: 50%;
225 margin-top: -10px;
226 }
227
228 #links li:last-child {
229 position: fixed;
230 bottom: 1em;
231 width: 10em;
232 }
233
234 #links li:last-child a:before {
235 font-size: 1.2em;
236 position: relative;
237 top: 2px;
238 }
239
240
241#sort {
242 padding: 0;
243 list-style-type: none;
244 opacity: 0.5;
245 display: inline-block;
246}
247
248#sort li {
249 display: inline;
250 font-size: 0.9em;
251}
252
253#sort li + li {
254 margin-left: 10px;
255}
256
257#sort a {
258 padding: 2px 2px 0;
259 vertical-align: middle;
260}
261
262#sort img {
263 vertical-align: baseline;
264}
265#sort img:hover {
266 cursor: pointer;
267}
268
269#display-mode {
270 float: right;
271 vertical-align: middle;
272 margin-top: 10px;
273 margin-bottom: 10px;
274 opacity: 0.5;
275}
276#listmode {
277 width: 16px;
278 display: inline-block;
279 text-decoration: none;
280}
281#listmode a:hover {
282 opacity: 1;
283}
284#listmode.tablemode {
285 background-image: url("../img/baggy/table.png");
286 background-repeat: no-repeat;
287 background-position: bottom;
288}
289#listmode.listmode {
290 background-image: url("../img/baggy/list.png");
291 background-repeat: no-repeat;
292 background-position: bottom;
293}
294
295
296/* ==========================================================================
297 2 = Layout
298 ========================================================================== */
299
300#content {
301 margin-top: 5em;
302 min-height: 30em;
303}
304
305footer {
306 text-align: right;
307 position: relative;
308 bottom: 0;
309 right: 5em;
310 color: #999;
311 font-size: 0.8em;
312 font-style: italic;
313 z-index: 20;
314}
315
316footer a {
317 color: #999;
318 font-weight: normal;
319}
320
321.list-entries {
322 letter-spacing:-5px;
323}
324
325.listmode .entrie {
326 width: 100%!important;
327 margin-left: 0!important;
328}
329
330.list-entries + .results {
331 margin-bottom: 2em;
332}
333
334.estimatedTime .reading-time {
335 color: #999;
336 font-style: italic;
337 font-weight: normal;
338 font-size: 0.9em;
339}
340
341.estimatedTime small {
342 position: relative;
343 top: -1px;
344}
345
346.entrie {
347 background-color: #FFF;
348 letter-spacing:normal;
349 box-shadow: 0 3px 7px rgba(0,0,0,0.3);
350 display: inline-block;
351 width: 32%;
352 margin-bottom: 1.5em;
353 vertical-align: top;
354 margin-left: 1.5%;
355 position: relative;
356 overflow: hidden;
357 padding: 1.5em 1.5em 3em 1.5em;
358
359 /* Removing CSS transitions because they make the switch from list view to
360 * table view jerky
361 */
362 /* -webkit-transition: all 0.5s ease; */
363 /* -moz-transition: all 0.5s ease; */
364 /* -ms-transition: all 0.5s ease; */
365 /* -o-transition: all 0.5s ease; */
366 /* transition: all 0.5s ease; */
367}
368
369.entrie:before {
370 content: "";
371 width: 0;
372 height: 0;
373 border-style:solid;
374 border-color: transparent transparent #000 transparent;
375 border-width: 10px;
376 position: absolute;
377 bottom: 0.3em;
378 z-index: 10;
379 right: 1.5em;
380 -webkit-transition: all 0.5s ease;
381 -moz-transition: all 0.5s ease;
382 -ms-transition: all 0.5s ease;
383 -o-transition: all 0.5s ease;
384 transition: all 0.5s ease;
385}
386
387.entrie:after {
388 content: "";
389 position: absolute;
390 height: 7px;
391 width: 100%;
392 bottom: 0;
393 left: 0;
394 background-color: #000;
395 -webkit-transition: all 0.5s ease;
396 -moz-transition: all 0.5s ease;
397 -ms-transition: all 0.5s ease;
398 -o-transition: all 0.5s ease;
399 transition: all 0.5s ease;
400}
401
402.entrie:hover {
403 box-shadow: 0 3px 10px rgba(0,0,0,1);
404}
405
406.entrie:hover:after {
407 height: 40px;
408}
409
410.entrie:hover:before {
411 bottom: 2.4em;
412}
413
414.entrie:hover h2 a {
415 color: #666;
416}
417
418.entrie h2 {
419 text-transform: none;
420 margin-bottom: 0;
421 line-height: 1.2;
422}
423
424 .entrie h2:after {
425 content: none;
426 }
427
428
429.entrie h2 a {
430 display: block;
431 text-decoration: none;
432 color: #000;
433 word-wrap: break-word;
434 -webkit-transition: all 0.5s ease;
435 -moz-transition: all 0.5s ease;
436 -ms-transition: all 0.5s ease;
437 -o-transition: all 0.5s ease;
438 transition: all 0.5s ease;
439}
440/*
441.entrie h2 a:after {
442 content: "";
443 position: absolute;
444 top: 0;
445 width: 100%;
446 height: 100%;
447 left: 0;
448}
449*/
450
451.entrie p {
452 color: #666;
453 font-size: 0.9em;
454 line-height: 1.7;
455}
456
457 .entrie h2 a:first-letter {
458 text-transform: uppercase;
459 }
460
461.entrie:hover .tools {
462 bottom: 0;
463}
464
465.entrie .tools {
466 position: absolute;
467 bottom: -50px;
468 left: 0;
469 width: 100%;
470 z-index: 10;
471 padding-right: 0.5em;
472 text-align: right;
473 -webkit-transition: all 0.5s ease;
474 -moz-transition: all 0.5s ease;
475 -ms-transition: all 0.5s ease;
476 -o-transition: all 0.5s ease;
477 transition: all 0.5s ease;
478}
479
480 .entrie .tools a {
481 color: #666;
482 text-decoration: none;
483 display: block;
484 padding: 0.4em;
485 }
486
487 .entrie .tools a:hover {
488 color: #FFF;
489 }
490
491 .entrie .tools li {
492 display: inline-block;
493 }
494
495.entrie:nth-child(3n+1) {
496 margin-left: 0;
497}
498
499.results {
500 letter-spacing: -5px;
501 padding: 0 0 0.5em;
502}
503
504.results > * {
505 display: inline-block;
506 vertical-align: top;
507 letter-spacing: normal;
508 width: 50%;
509}
510
511.pagination {
512 text-align: right;
513 margin-bottom:50px;
514}
515
516.nb-results {
517 text-align: left;
518 font-style: italic;
519 color: #999;
520}
521
522.pagination > * {
523 display: inline-block;
524 margin-left: 0.5em;
525}
526
527.pagination a {
528 color: #999;
529 text-decoration: none;
530}
531
532 .pagination a:hover, .pagination a:focus {
533 text-decoration: underline;
534 }
535
536.pagination .disabled {
537 display: none;
538}
539
540/* ==========================================================================
541 2.1 = "save a link" related styles
542 ========================================================================== */
543
544.popup-form {
545 background: rgba(0,0,0,0.5);
546 position: absolute;
547 top: 0;
548 left: 10em;
549 z-index: 20;
550 height: 100%;
551 width: 100%;
552 margin: 0;
553 margin-top: -30% !important; /* TODO: get rid of !important here; overridden by .messages selector */
554 padding: 2em;
555 display: none;
556 border-left: 1px #EEE solid;
557}
558
559 .popup-form form {
560 background-color: #FFF;
561 position: absolute;
562 top: 0;
563 left: 0;
564 z-index: 20;
565 border: 10px solid #000;
566 width: 400px;
567 height: 200px;
568 padding: 2em;
569 }
570
571#bagit-form-form .addurl {
572 margin-left: 0;
573}
574
575.closeMessage,
576.close-button {
577 background-color: #000;
578 color: #FFF;
579 font-size: 1.2em;
580 line-height: 1.6;
581 width: 1.6em;
582 height: 1.6em;
583 text-align: center;
584 text-decoration: none;
585}
586 .closeMessage:hover,
587 .closeMessage:focus,
588 .close-button:hover,
589 .close-button:focus {
590 background-color: #999;
591 color: #000;
592 }
593
594.close-button--popup {
595 display: inline-block;
596 position: absolute;
597 top: 0;
598 right: 0;
599 font-size: 1.4em;
600}
601
602.active-current {
603 background-color: #999;
604}
605
606.active-current:after {
607 content: "";
608 width: 0;
609 height: 0;
610 position: absolute;
611 border-style: solid;
612 border-width: 10px;
613 border-color: transparent #EEE transparent transparent;
614 right: 0;
615 top: 50%;
616 margin-top: -10px;
617}
618
619.opacity03 {
620 opacity: 0.3;
621}
622
623.add-to-wallabag-link-after {
624 background-color: #000;
625 color: #fff;
626 padding: 0 3px 2px 3px;
627}
628
629a.add-to-wallabag-link-after {
630 visibility: hidden;
631 position: absolute;
632 opacity: 0;
633 transition-duration: 2s;
634 transition-timing-function: ease-out;
635}
636
637#article article a:hover + a.add-to-wallabag-link-after, a.add-to-wallabag-link-after:hover {
638 opacity: 1;
639 visibility: visible;
640 transition-duration: .3s;
641 transition-timing-function: ease-in;
642}
643
644a.add-to-wallabag-link-after:after {
645 content: "w";
646}
647
648#add-link-result {
649 font-weight: bold;
650 font-size: 0.9em;
651}
652
653/* ==========================================================================
654 3 = Pictos
655 ========================================================================== */
656
657@font-face {
658 font-family: 'icomoon';
659 src:url('../fonts/icomoon.eot?-s0mcsx');
660 src:url('../fonts/icomoon.eot?#iefix-s0mcsx') format('embedded-opentype'),
661 url('../fonts/icomoon.woff?-s0mcsx') format('woff'),
662 url('../fonts/icomoon.ttf?-s0mcsx') format('truetype'),
663 url('../fonts/icomoon.svg?-s0mcsx#icomoon') format('svg');
664 font-weight: normal;
665 font-style: normal;
666}
667
668.icon span,
669.icon-image span {
670 position: absolute;
671 top: -9999px;
672}
673
674[class^="icon-"]:before, [class*=" icon-"]:before {
675 font-family: 'icomoon';
676 speak: none;
677 font-style: normal;
678 font-weight: normal;
679 font-variant: normal;
680 text-transform: none;
681 line-height: 1;
682
683 /* Better Font Rendering =========== */
684 -webkit-font-smoothing: antialiased;
685 -moz-osx-font-smoothing: grayscale;
686}
687
688.icon-flattr:before {
689 content: "\e800";
690}
691.icon-mail:before {
692 content: "\e80a";
693}
694.icon-up-open:before {
695 content: "\e80b";
696}
697.icon-star:before {
698 content: "\e805";
699}
700.icon-check:before {
701 content: "\e804";
702}
703.icon-link:before {
704 content: "\e801";
705}
706.icon-reply:before {
707 content: "\e806";
708}
709.icon-menu:before {
710 content: "\e802";
711}
712.icon-clock:before {
713 content: "\e803";
714}
715.icon-twitter:before {
716 content: "\e807";
717}
718.icon-down-open:before {
719 content: "\e809";
720}
721.icon-trash:before {
722 content: "\e80c";
723}
724.icon-delete:before {
725 content: "\e600";
726}
727.icon-power:before {
728 content: "\e601";
729}
730.icon-arrow-up-thick:before {
731 content: "\e602";
732}
733.icon-rss:before {
734 content: "\e808";
735}
736.icon-print:before {
737 content: "\e80d";
738}
739
740
741/* .icon-image class, for image-based icons
742 ========================================================================== */
743
744.icon-image {
745 background-size: 16px 16px;
746 background-repeat: no-repeat;
747 background-position: center;
748 padding-right: 1em !important;
749 padding-left: 1em !important;
750}
751
752/* Carrot (http://carrot.org) */
753.icon-image--carrot {
754 background-image: url('../../_global/img/icons/carrot-icon--white.png');
755}
756
757/* Diaspora */
758.icon-image--diaspora {
759 background-image: url('../../_global/img/icons/diaspora-icon--black.png');
760}}
761
762/* ==========================================================================
763 Icon selected
764 ========================================================================== */
765
766.icon-star.fav:before {
767 color: #FFF;
768}
769
770.icon-check.archive:before {
771 color: #FFF;
772}
773
774/* ==========================================================================
775 4 = Messages
776 ========================================================================== */
777
778.messages {
779 text-align: left;
780 margin-top: 1em;
781}
782
783.messages > * { display: inline-block;}
784
785.warning {
786 /* font-size: 3em;
787 color: #999;
788 font-style: italic;
789 position: absolute;
790 top: 50%;
791 left: 0;
792 width: 100%;
793 text-align: center;
794 padding-right: 5%;
795 margin-top: -2em;*/
796 font-weight: bold;
797 display: block;
798 width: 100%;
799}
800
801.more-info {
802 font-size: 0.85em;
803 line-height: 1.5;
804 color: #aaa;
805}
806
807 .more-info a {
808 color: #aaa;
809 }
810
811/* ==========================================================================
812 5 = Article
813 ========================================================================== */
814
815#article {
816 width: 70%;
817 margin-bottom: 3em;
818 text-align: justify;
819}
820
821#article .tags {
822 margin-bottom: 1em;
823}
824
825#article i {
826 font-style: normal;
827}
828
829blockquote {
830 border:1px solid #999;
831 background-color: #FFF;
832 padding: 1em;
833 margin: 0;
834}
835
836#article h1 {
837 text-align: left;
838}
839
840#article h2, #article h3, #article h4 {
841 text-transform: none;
842}
843
844#article h2:after {
845 content: none;
846}
847
848.topPosF {
849 position: fixed;
850 right: 20%;
851 bottom: 2em;
852 font-size: 1.5em;
853}
854
855#article_toolbar {
856 margin-bottom: 1em;
857}
858
859#article_toolbar li {
860 display: inline-block;
861}
862
863#article_toolbar a {
864 background-color: #000;
865 padding: 0.3em 0.5em 0.2em;
866 color: #FFF;
867 text-decoration: none;
868}
869
870 #article_toolbar a:hover, #article_toolbar a:focus {
871 background-color: #999;
872 }
873
874.shaarli:before {
875 content: "*";
876}
877
878.return {
879 text-decoration: none;
880 margin-top: 1em;
881 display: block;
882}
883
884.return:before {
885 margin-right: 0.5em;
886}
887
888.notags {
889 font-style: italic;
890 color: #999;
891}
892
893.icon-rss {
894 background-color: #000;
895 color: #FFF;
896 padding: 0.2em 0.5em;
897}
898
899.icon-rss:before {
900 position: relative;
901 top: 2px;
902}
903
904.list-tags li {
905 margin-bottom: 0.5em;
906}
907
908.list-tags .icon-rss:hover, .list-tags .icon-rss:focus {
909 background-color: #FFF;
910 color: #000;
911 text-decoration: none;
912}
913
914.list-tags a {
915 text-decoration: none;
916}
917
918.list-tags a:hover, .list-tags a:focus {
919 text-decoration: underline;
920}
921
922pre code {
923 font-family: "Courier New", Courier, monospace;
924 border: 1px solid #ccc;
925 font-size: 0.96em;
926}
927
928
929/* ==========================================================================
930 6 = Media Queries
931 ========================================================================== */
932
933@media screen and (max-width: 1050px) {
934 .entrie {
935 width: 49%;
936 }
937 .entrie:nth-child(3n+1) {
938 margin-left: 1.5%;
939 }
940 .entrie:nth-child(2n+1) {
941 margin-left: 0;
942 }
943}
944
945@media screen and (max-width: 900px) {
946 #article {
947 width: 80%;
948 }
949 .topPosF {
950 right: 2.5em;
951 }
952}
953
954@media screen and (max-width: 700px) {
955 .entrie {
956 width: 100%;
957 margin-left: 0;
958 }
959 #display-mode {
960 display: none;
961 }
962}
963
964@media screen and (max-width: 500px) {
965 .entrie {
966 width: 100%;
967 margin-left: 0;
968 }
969 body > header {
970 background-color: #333;
971 position: fixed;
972 top: 0;
973 width: 100%;
974 height: 3em;
975 z-index: 11;
976 }
977 #links li:last-child {
978 position: static;
979 width: auto;
980 }
981 #links li:last-child a:before {
982 content: none;
983 }
984 .logo {
985 width: 1.25em;
986 height: 1.25em;
987 left: 0;
988 top: 0;
989 }
990 .login > header {
991 position: static;
992 }
993 .login form {
994 width: 100%;
995 position: static;
996 margin-left: 0;
997 }
998 .login .logo {
999 width: auto;
1000 height: auto;
1001 top: 0.5em;
1002 width: 75px;
1003 height: 75px;
1004 margin-left: -37.5px;
1005 }
1006 .desktopHide {
1007 display: block;
1008 position: fixed;
1009 z-index: 20;
1010 top: 0;
1011 right: 0;
1012 border:0;
1013 width: 2.5em;
1014 height: 2.5em;
1015 cursor: pointer;
1016 background-color: #999;
1017 font-size: 1.2em;
1018 }
1019 .desktopHide:hover, .desktopHide:focus {
1020 background-color: #FFF;
1021 }
1022 #links {
1023 display: none;
1024 width: 100%;
1025 height: auto;
1026 padding-top: 3em;
1027 }
1028 #links.menu--open {
1029 display: block;
1030 }
1031 footer {
1032 position: static;
1033 margin-right: 3em;
1034 }
1035 #main {
1036 margin-left: 1.5em;
1037 padding-right: 1.5em;
1038 position: static;
1039 margin-top: 3em;
1040 }
1041 #article_toolbar .topPosF {
1042 display: none;
1043 }
1044
1045 #article {
1046 width: 100%;
1047 }
1048
1049 #article h1 {
1050 font-size: 1.5em;
1051 }
1052 #article_toolbar a {
1053 padding: 0.3em 0.4em 0.2em;
1054 }
1055
1056 #display-mode {
1057 display: none;
1058 }
1059
1060 .popup-form, #bagit-form, #search-form {
1061 left: 0;
1062 width: 100%;
1063 border-left: none;
1064 }
1065
1066 .popup-form form,
1067 #bagit-form form,
1068 #search-form form {
1069 width: 100%;
1070 }
1071}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/messages.css b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/messages.css
new file mode 100755
index 00000000..42da70b3
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/messages.css
@@ -0,0 +1,19 @@
1.messages.error.install {
2 border: 1px solid #c42608;
3 color: #c00 !important;
4 background: #fff0ef;
5 text-align: left;
6}
7
8.messages.notice.install {
9 border: 1px solid #ebcd41;
10 color: #000;
11 background: #fffcd3;
12 text-align: left;
13}
14
15.messages.success.install {
16 border: 1px solid #6dc70c;
17 background: #e0fbcc !important;
18 text-align: left;
19} \ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/print.css b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/print.css
new file mode 100755
index 00000000..9dd6d295
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/print.css
@@ -0,0 +1,62 @@
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#article_toolbar,
21#links,
22#sort,
23body > footer,
24.top_link,
25div.tools,
26header div,
27.messages,
28.entrie + .results {
29 display: none !important;
30}
31
32article {
33 border: none !important;
34}
35
36/* Add URL after links */
37.vieworiginal a:after {
38 content: " (" attr(href) ")";
39}
40
41/* Add explanation after abbr */
42abbr[title]:after {
43 content: " (" attr(title) ")";
44}
45
46/* Change border on current pager item */
47.pagination span.current {
48 border-style: dashed;
49}
50
51#main {
52 width: 100%;
53 padding: 0;
54 margin: 0;
55 margin-left: 0;
56 padding-right: 0;
57 padding-bottom: 0;
58}
59
60#article {
61 width: 100%;
62}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/ratatouille.css b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/ratatouille.css
new file mode 100644
index 00000000..b203cbb8
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/ratatouille.css
@@ -0,0 +1,211 @@
1/*
2 Ratatouille mini Framework css by Thomas LEBEAU
3 Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations
4 and normalize.css
5*/
6
7* {
8 -webkit-box-sizing: border-box;
9 -moz-box-sizing: border-box;
10 box-sizing: border-box;
11}
12
13html {
14 font-family: sans-serif; /* 1 */
15 -ms-text-size-adjust: 100%; /* 2 */
16 -webkit-text-size-adjust: 100%; /* 2 */
17}
18
19body {
20 font-size: 1em;
21 line-height:1.5;
22 margin: 0;
23}
24
25/* ==========================================================================
26 Mise en forme
27 ========================================================================== */
28
29h1:first-child,
30h2:first-child,
31h3:first-child,
32h4:first-child,
33h5:first-child,
34h6:first-child,
35p:first-child,
36ul:first-child,
37ol:first-child,
38dl:first-child{
39 margin-top: 0;
40}
41
42code,
43kbd,
44pre,
45samp {
46 font-family: monospace, serif;
47}
48
49pre {
50 white-space: pre-wrap;
51}
52
53
54.upper {
55 text-transform: uppercase;
56}
57
58.bold {
59 font-weight: bold;
60}
61
62.inner {
63 margin: 0 auto;
64 max-width: 61.25em;/*980px*/
65}
66
67table, img {
68 max-width: 100%;
69 height :auto;
70}
71
72iframe {
73 max-width: 100%;
74}
75
76.fl {
77 float: left;
78}
79
80.fr {
81 float: right;
82}
83
84table {
85 border-collapse: collapse;
86}
87
88figure {
89 margin: 0;
90}
91
92button,
93input,
94select,
95textarea {
96 font-family: inherit;
97 font-size: 100%;
98 margin: 0;
99}
100
101input[type="search"] {
102 -webkit-appearance: textfield;
103}
104
105/* ==========================================================================
106 Mise en page
107 ========================================================================== */
108
109.dib {
110 display: inline-block;
111 vertical-align: middle;
112}
113
114.dnone {
115 display: none;
116}
117
118.dtable { display:table }
119
120 .dtable > * { display:table-row; }
121
122 .dtable > * > * { display:table-cell; }
123
124.element-invisible {
125 border: 0;
126 clip: rect(0 0 0 0);
127 height: 1px;
128 margin: -1px;
129 overflow: hidden;
130 padding: 0;
131 position: absolute;
132 width: 1px;
133}
134
135.small {
136 font-size:0.8em;
137}
138
139.big {
140 font-size: 1.2em;
141}
142
143/*Width*/
144
145.w100 { width:100%; }
146.w90 { width:90%; }
147.w80 { width:80%; }
148.w70 { width:70%; }
149.w60 { width:60%; }
150.w50 { width:50%; }
151.w40 { width:40%; }
152.w30 { width:30%; }
153.w20 { width:20%; }
154.w10 { width:10%; }
155
156
157/* ==========================================================================
158 Internet Explorer
159 ========================================================================== */
160
161/*IE8 and IE9*/
162
163article,
164aside,
165details,
166figcaption,
167figure,
168footer,
169header,
170hgroup,
171main,
172nav,
173section,
174summary {
175 display: block;
176}
177
178/*IE8 and IE9*/
179
180audio,
181canvas,
182video {
183 display: inline-block;
184}
185
186@media screen and (-webkit-min-device-pixel-ratio:0){
187 select{
188 -webkit-appearance: none;
189 border-radius: 0;
190 }
191}
192
193/* ==========================================================================
194 Medias Queries
195 ========================================================================== */
196
197/*Desktop 1080px*/
198
199@media screen and (max-width: 67.50em) {
200}
201
202/*Tablet 800px*/
203
204@media screen and (max-width: 50em) {
205}
206
207/*Mobile 640px*/
208
209@media screen and (max-width: 40em) {
210}
211
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.eot b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.eot
new file mode 100644
index 00000000..56323516
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.eot
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.svg b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.svg
new file mode 100644
index 00000000..b4586136
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.svg
@@ -0,0 +1,41 @@
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>
5<json>
6{
7 "fontFamily": "icomoon",
8 "majorVersion": 1,
9 "minorVersion": 0,
10 "version": "Version 1.0",
11 "fontId": "icomoon",
12 "psName": "icomoon",
13 "subFamily": "Regular",
14 "fullName": "icomoon",
15 "description": "Generated by IcoMoon"
16}
17</json>
18</metadata>
19<defs>
20<font id="icomoon" horiz-adv-x="512">
21<font-face units-per-em="512" ascent="480" descent="-32" />
22<missing-glyph horiz-adv-x="512" />
23<glyph unicode="&#x20;" d="" horiz-adv-x="256" />
24<glyph unicode="&#xe600;" d="M256 389.333c-94.272 0-170.667-76.416-170.667-170.666s76.394-170.667 170.667-170.667 170.667 76.416 170.667 170.667-76.394 170.666-170.667 170.666zM335.082 169.749c8.341-8.341 8.341-21.824 0-30.166-4.16-4.16-9.622-6.25-15.082-6.25s-10.923 2.091-15.082 6.25l-48.918 48.918-48.917-48.918c-4.16-4.16-9.621-6.25-15.083-6.25s-10.923 2.091-15.083 6.25c-8.341 8.341-8.341 21.824 0 30.166l48.917 48.918-48.917 48.917c-8.341 8.341-8.341 21.824 0 30.166s21.824 8.341 30.166 0l48.917-48.917 48.918 48.917c8.341 8.341 21.824 8.341 30.166 0s8.341-21.824 0-30.166l-48.918-48.917 48.918-48.918z" />
25<glyph unicode="&#xe601;" d="M245.333 73.109c-37.035 0-71.85 14.421-98.048 40.598-26.176 26.197-40.618 61.014-40.618 98.070s14.442 71.872 40.618 98.070c8.341 8.341 21.824 8.341 30.166 0s8.341-21.824 0-30.166c-18.133-18.154-28.118-42.261-28.118-67.904s9.984-49.771 28.118-67.904c18.133-18.134 42.219-28.096 67.882-28.096s49.749 9.984 67.883 28.096c18.154 18.134 28.118 42.24 28.118 67.904s-9.984 49.771-28.118 67.904c-8.341 8.341-8.341 21.824 0 30.166s21.824 8.341 30.166 0c26.176-26.219 40.618-61.035 40.618-98.070s-14.442-71.872-40.618-98.070c-26.197-26.176-61.014-40.597-98.048-40.597zM245.333 234.667c-11.797 0-21.333 9.558-21.333 21.333v106.667c0 11.776 9.536 21.333 21.334 21.333s21.334-9.558 21.334-21.333v-106.667c0-11.776-9.536-21.333-21.334-21.333z" />
26<glyph unicode="&#xe602;" d="M256 401.664l-136.832-136.832c-16.662-16.661-16.662-43.67 0-60.331s43.669-16.661 60.331 0l33.834 33.835v-154.496c0-23.552 19.094-42.666 42.667-42.666 23.552 0 42.666 19.115 42.666 42.666v154.496l33.834-33.835c8.341-8.341 19.243-12.502 30.166-12.502s21.824 4.16 30.166 12.502c16.661 16.661 16.661 43.67 0 60.331l-136.832 136.832z" />
27<glyph unicode="&#xe800;" d="M0 25.856v263.168q0 91.648 43.52 142.336t132.608 50.688h280.576q-2.56-2.56-26.624-27.136t-51.2-51.712-55.808-55.808-48.64-47.616-21.504-18.944q-7.68 0-7.68 8.192v79.872h-24.576q-30.208 0-48.128-3.072t-32.256-13.312-19.968-29.184-6.144-49.152v-134.144zM34.304-34.048q2.56 2.56 27.136 27.136t51.2 51.712 55.808 56.32 48.64 47.616 20.992 18.432q7.68 0 7.68-8.192v-79.872h24.576q59.392 0 82.944 18.432t23.040 76.288v134.144l114.688 114.176v-263.168q0-91.648-43.008-142.336t-133.12-50.688h-280.576z" horiz-adv-x="491" />
28<glyph unicode="&#xe801;" d="M150.528 104.192q7.168 7.168 17.408 7.168t18.432-7.168q16.384-17.408 0-35.84l-21.504-20.48q-28.672-28.672-67.584-28.672-39.936 0-68.608 28.672t-28.672 67.584q0 39.936 28.672 68.608l75.776 75.776q35.84 34.816 73.728 39.424t65.536-22.016q8.192-8.192 8.192-18.432t-8.192-18.432q-18.432-16.384-35.84 0-25.6 24.576-67.584-17.408l-75.776-74.752q-13.312-13.312-13.312-32.768t13.312-31.744q13.312-13.312 32.256-13.312t32.256 13.312zM380.928 398.080q28.672-28.672 28.672-67.584 0-39.936-28.672-68.608l-80.896-80.896q-37.888-36.864-76.8-36.864-31.744 0-57.344 25.6-7.168 7.168-7.168 17.408t7.168 18.432q7.168 7.168 17.92 7.168t17.92-7.168q25.6-24.576 62.464 12.288l80.896 79.872q14.336 14.336 14.336 32.768 0 19.456-14.336 31.744-12.288 13.312-28.672 15.872t-30.72-10.752l-25.6-25.6q-8.192-7.168-18.432-7.168t-17.408 7.168q-17.408 17.408 0 35.84l25.6 25.6q27.648 27.648 65.024 26.112t66.048-31.232z" horiz-adv-x="410" />
29<glyph unicode="&#xe802;" d="M438.784 96v-36.352q0-7.68-5.12-12.8t-13.312-5.632h-401.92q-7.68 0-12.8 5.632t-5.632 12.8v36.352q0 7.68 5.632 12.8t12.8 5.632h401.92q7.68 0 13.312-5.632t5.12-12.8zM438.784 242.432v-36.864q0-7.168-5.12-12.8t-13.312-5.12h-401.92q-7.68 0-12.8 5.12t-5.632 12.8v36.864q0 7.168 5.632 12.8t12.8 5.12h401.92q7.68 0 13.312-5.12t5.12-12.8zM438.784 388.352v-36.352q0-7.68-5.12-12.8t-13.312-5.632h-401.92q-7.68 0-12.8 5.632t-5.632 12.8v36.352q0 7.68 5.632 13.312t12.8 5.12h401.92q7.68 0 13.312-5.12t5.12-13.312z" horiz-adv-x="439" />
30<glyph unicode="&#xe803;" d="M235.52 459.52q97.28 0 166.4-69.12t69.12-166.4-69.12-166.4-166.4-69.12-166.4 69.12-69.12 166.4 69.12 166.4 166.4 69.12zM235.52 39.68q76.8 0 130.56 54.272t53.76 130.048q0 76.8-53.76 130.56t-130.56 53.76q-75.776 0-130.048-53.76t-54.272-130.56q0-75.776 54.272-130.048t130.048-54.272zM253.952 357.12v-124.928l76.8-76.8-25.6-25.6-87.040 87.040v140.288h35.84z" horiz-adv-x="471" />
31<glyph unicode="&#xe804;" d="M127.488 44.8q-17.408 0-28.672 14.336l-92.16 120.832q-8.192 12.288-6.144 26.624t13.312 23.552 26.112 7.168 24.064-14.336l60.416-78.848 151.552 242.688q8.192 12.288 22.016 15.36t27.136-4.096q12.288-8.192 15.36-22.016t-4.096-27.136l-179.2-286.72q-10.24-16.384-28.672-16.384z" horiz-adv-x="342" />
32<glyph unicode="&#xe805;" d="M225.28 449.28l61.44-172.032h163.84l-134.144-100.352 48.128-178.176-139.264 106.496-139.264-106.496 48.128 178.176-134.144 100.352h163.84z" horiz-adv-x="451" />
33<glyph unicode="&#xe806;" d="M460.8 49.92q-44.032 77.824-106.496 100.864t-168.96 23.040v-111.616l-185.344 171.008 185.344 164.864v-98.304q46.080 0 86.016-13.824t67.072-35.84 49.152-48.64 35.328-53.248 22.528-48.64 12.288-35.328z" horiz-adv-x="461" />
34<glyph unicode="&#xe807;" d="M471.040 370.432q-18.432-27.648-48.128-50.176v-12.288q0-66.56-30.72-128t-95.232-103.936-148.48-42.496q-81.92 0-148.48 43.008 7.168-1.024 23.552-1.024 67.584 0 119.808 40.96-31.744 1.024-56.32 19.456t-33.792 48.128q5.12-2.048 17.408-2.048 13.312 0 25.6 3.072-33.792 7.168-55.296 33.792t-21.504 61.44v1.024q18.432-10.24 43.008-12.288-43.008 29.696-43.008 80.896 0 24.576 13.312 48.128 78.848-96.256 199.68-100.352-3.072 9.216-3.072 21.504 0 39.936 28.16 68.096t69.12 28.16q41.984 0 69.632-29.696 30.72 6.144 61.44 22.528-10.24-33.792-41.984-53.248 28.672 4.096 55.296 15.36z" horiz-adv-x="471" />
35<glyph unicode="&#xe808;" d="M109.568 96q0-23.040-15.872-38.912t-38.912-15.872-38.912 15.872-15.872 38.912 15.872 38.912 38.912 15.872 38.912-15.872 15.872-38.912zM256 60.672q0.512-7.68-4.608-13.312-5.632-6.144-13.824-6.144h-38.4q-7.168 0-12.288 4.608t-5.632 11.776q-6.144 65.536-52.736 112.128t-112.128 52.736q-7.168 0.512-11.776 5.632t-4.608 12.288v38.4q0 8.192 6.144 13.312 4.608 5.12 12.288 5.12h1.536q45.568-3.584 87.040-23.040t74.24-51.712q32.256-32.256 51.712-74.24t23.040-87.552zM402.432 60.16q0.512-7.68-5.12-13.312-5.12-5.632-13.312-5.632h-40.96q-7.168 0-12.8 5.12t-5.632 11.776q-3.072 61.44-28.672 116.736t-66.048 96.256-96.256 66.048-116.224 29.184q-7.168 0-12.288 5.632t-5.12 12.288v40.96q0 7.68 5.632 13.312 5.12 5.12 12.8 5.12h0.512q75.264-4.096 143.36-34.304t121.856-83.968q53.248-53.248 83.968-121.856t34.304-143.36z" horiz-adv-x="402" />
36<glyph unicode="&#xe809;" d="M0 314.112l75.776 75.776 180.224-179.712 180.224 179.712 75.776-75.776-256-256-75.776 75.776z" />
37<glyph unicode="&#xe80a;" d="M475.648 50.432v219.136q-9.216-10.24-19.968-18.944-76.288-58.368-121.856-96.256-14.336-12.288-23.552-19.456t-24.576-13.824-29.184-6.656h-1.024q-13.312 0-29.184 6.656t-24.576 13.824-23.552 19.456q-45.056 37.888-121.856 96.256-10.752 8.704-19.968 18.944v-219.136q0-4.096 3.072-6.656t6.144-2.56h420.864q3.584 0 6.144 2.56t3.072 6.656zM475.648 350.464v7.168t-0.512 3.584-0.512 3.584-1.536 2.56-2.56 2.048-4.096 1.024h-420.864q-3.584 0-6.144-3.072t-3.072-6.144q0-48.128 41.984-81.408 55.296-43.52 114.688-90.624 2.048-1.024 10.24-8.192t12.8-10.752 12.8-9.216 14.336-7.68 12.288-2.56h1.024q5.632 0 12.288 2.56t14.336 7.68 12.8 9.216 12.8 10.752 10.24 8.192q59.392 47.104 114.688 90.624 15.36 12.288 28.672 33.28t13.312 37.376zM512 361.216v-310.784q0-18.944-13.312-32.256t-32.256-13.824h-420.864q-18.432 0-32.256 13.824t-13.312 32.256v310.784q0 18.944 13.312 32.256t32.256 13.312h420.864q18.944 0 32.256-13.312t13.312-32.256z" />
38<glyph unicode="&#xe80b;" d="M0 133.888l256 256 256-256-75.776-75.776-180.224 179.712-180.224-179.712z" />
39<glyph unicode="&#xe80c;" d="M25.6 279.296q62.464-35.84 168.96-35.84t168.96 35.84l-27.648-248.832q-1.024-7.168-17.92-18.432t-51.2-22.016-72.192-10.752-71.68 10.752-51.2 22.016-18.432 18.432zM275.456 432.896q48.128-9.216 80.896-28.16t32.768-36.352v-5.12q0-29.696-57.344-50.688t-137.216-20.992-137.216 20.992-57.344 50.688v5.12q0 17.408 32.768 36.352t80.896 28.16l21.504 24.576q11.264 13.312 35.84 13.312h47.104q26.624 0 35.84-13.312zM247.808 375.552h43.008q-47.104 56.32-53.248 64.512-7.168 8.192-16.384 8.192h-52.224q-11.264 0-16.384-8.192l-54.272-64.512h43.008l32.768 33.792h41.984z" horiz-adv-x="389" />
40<glyph unicode="&#xe80d;" d="M128 448h256v-64h-256zM480 352h-448c-17.6 0-32-14.4-32-32v-160c0-17.6 14.398-32 32-32h96v-128h256v128h96c17.6 0 32 14.4 32 32v160c0 17.6-14.4 32-32 32zM352 32h-192v160h192v-160zM487.2 304c0-12.813-10.387-23.2-23.199-23.2-12.813 0-23.201 10.387-23.201 23.2s10.388 23.2 23.201 23.2c12.813 0 23.199-10.387 23.199-23.2z" />
41</font></defs></svg> \ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.ttf b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.ttf
new file mode 100644
index 00000000..bb1f21f8
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.ttf
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.woff b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.woff
new file mode 100644
index 00000000..bab13779
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.woff
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/ptsans.woff b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/ptsans.woff
new file mode 100644
index 00000000..cf7c62e1
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/ptsans.woff
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/blank.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/blank.png
new file mode 100755
index 00000000..63e09844
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/blank.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/down.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/down.png
new file mode 100644
index 00000000..b9d536a7
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/down.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/list.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/list.png
new file mode 100755
index 00000000..bd5aff5a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/list.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/table.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/table.png
new file mode 100755
index 00000000..859c4cd8
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/table.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/top.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/top.png
new file mode 100644
index 00000000..954a8c0a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/top.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/bg-select.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/bg-select.png
new file mode 100644
index 00000000..95120441
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/bg-select.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-other_themes.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-other_themes.png
new file mode 100755
index 00000000..32543a44
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-other_themes.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-w.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-w.png
new file mode 100755
index 00000000..65dc607b
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-w.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-wallabag.svg b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-wallabag.svg
new file mode 100644
index 00000000..40193e1c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-wallabag.svg
@@ -0,0 +1,300 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
3<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
4 <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
5]>
6<svg version="1.1"
7 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
8 x="0px" y="0px" width="800px" height="800px" viewBox="0 0 800 800" overflow="visible" enable-background="new 0 0 800 800"
9 xml:space="preserve">
10<defs>
11</defs>
12<image overflow="visible" width="800" height="800" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
13bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp
14bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6
15eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz
16NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo
17dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw
18dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
19IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS
20ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD
21cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl
22SUQ9InhtcC5paWQ6MkMyNzEzMDQ4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiIHhtcE1NOkRvY3Vt
23ZW50SUQ9InhtcC5kaWQ6MkMyNzEzMDU4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiPiA8eG1wTU06
24RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQzI3MTMwMjhBODMxMUUzQkY2
25QkJEOEMyMjk5NEE2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQzI3MTMwMzhBODMxMUUz
26QkY2QkJEOEMyMjk5NEE2QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w
27bWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtTNJDcAADxbSURBVHja7N37ddPK2gfgybf2/9ungm0q
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
92AYR+HKbl6cafc3WZAsfX9HVZ9xc5BwMCCIAAQj5mKYj8tRFKuu4puUwBIy7fN/7cCOdgQAABEEAo
93I5hsfn28EUymYbf5JYuNP39NX5cbwaPVZ3U4BwMCCIAAAp1xDgbGyJPQAQAAAQQAABBAAAAABBAA
94AEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAAAQQAAAAAEEAAAQQAAAAAQQAABAAAEAABBAAAAA
95AQQAABBAAAAABBAAAEAAAQAAEEAAAAABBAAAEEAAAAAEEAAAQAABAADYyR+aAKC2yXo5XC+z9Pen
96G/+3XC//rpdF+vPlANb3MC3TW9b17411LX2bztJ6/pm+Vr6mr0PapgCdO7i6utIKwDgPgAcHdX90
97vl6er5ejHX7mYr18SMVrSaZpfV+mPz9kldbzvLACPYaO1zW26cf0tRbnYEAAARBAHipST8OvV8V3
98FQPIiwKK8xg23qbwUcdlCiInma9n7PE42zF43BR7Q16FGr0/zsGAAAIggNzlOIWPJsTi/FnId7jS
99cQofkwZ+V+3ivAMxSH5paD1DWs9zAQRAAAHYN4DEK+Tzhl8+xxDSRG9AKevadPioFUKcgwEBBEAA
100uanJno/bCvMn4XreRA6+hf2Gl5USQmLo+NFC+Ng5hDgHAwIIgACy6TAV5W1apMK8b6cpbLVpmQJX
10132LPx6zF3791sHQOBsbIc0AA7i/K2zZruRje9j0cd/A6MdDNM1jXtts79qy89fEBEEAAdi2WuwoG
102r3te1y5f//lI1nUe2hviBVA0Q7CA8R4A7x+CdRK6vYp90GNTdH0iGMu6PjgXxDkYGCM9IAC3e9rx
1036816Ws/pSF4zOhzJegIIIABka0wBpOshUY/tXgACCAAMNfAACCAAAAACCAAAIIAAAAACCAAAgAAC
104AAAIIAAAAAIIAAAggAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAIAAAgAACCAAAAACCAAA
105IIAAAAACCAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAA
106AgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggA
107ACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAAAAIIAAAggAAAAAggAJCT
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
2367W8lmdX4nG+zbHWcVTdZBBCLALL7ifyko9epW9RNdizezzLaFicNB4/bgshJJusqgLT3ef7R4j5U
2379axNCjtuXaWr1N9CO0Vnzr2p1ZX+Ly3vF18K6BGZ7Nmr3MjxSt1k6XsxCZ0cPN/x+1/uUTC0+f2b
238V/gmO35/DsVBLIzetlzITNJr5D78jHpOQ3NDGB/6zPwo8Op/W0OG5unzm2vxfZLeX9vbq+pVyLU3
239pNpvuzjmvw159rDDfwkg5HJlbBfTzNdn1/fX9wniKHR/5XAmhAzKJPwch97la+ZcbPZx3MmtByBu
240o7NUDHf9mrntF/H9dN1zV11Ymvp4IIAAYz8pbp4chZBhhI8+C9+zUF5PyFC3RU4BMacQchr6G2o7
241DXkMWQQBBPivWeh//slhyGsODGUWvAqsX7dJDnNCzjLYL3J4DzEEHff8HhxnEUCALExT0ZaDo5DH
242PBjKLPA2i25+Fpxve3z904w+02c9b4dc9kvHWQQQoHe5XTE+tUmKc5xZQRPfy8xm+WX79NEes9D/
243Ff+bIWDeUyj+lNk+4TiLAAL0WpjkdrecaTCZuCRxe73N8H29tml+0fU2yrUnqo99dacHA3b4udUL
244ggACdG6SaeEYPbd5iipsc5xzcRTc8WfTLHR7seE40/afhm57g3IN6I6zZOMPTQCjctxA4bhYL5/X
245y/KWYuf5HgVP9fyUS5spa7G4mu/5O1br5WK9fL2xveO+8zjs/iydm/vheUHtuUyfp0XDn6dK7BV6
2461cF6TML+PVCXadvd3C/iPvd0z/3i+S1t3JYmeuLO035xmd73YVr3w422qHucfRWgb57G6EnoGajz
247dNw6Tgb2OnXs85Tzbe92FAunuk977nJ4gCeh13O2xz70z5bhZbLH63Q17n4W9ntS9bYP5tv3CeL/
248dHhxY5/3eLJFuJjUPL5W7d2FyZ7H2U9hu16kwz2Os4fqJosnoQNdme9x9TBejXsWfu/1uM0ife+q
249xusc2kxZm+wREuO+8yhs1ztxma7Sng90H4rr9SRsd0V+mT5P53tssy7apO5V/8u0fifh4d7Py/R9
250bzLeL/bppYnr9WLLY+dyj+PsLEDPBBAYj7pjf8/D7l32lzWLhKc2U9bqFlerVCztOrzuTY2fmWbe
251hotQbwhM3UAWQvs9i4c1270KH8sdf+59jZ/pqvCue5x9n5YujrOemYMAAnRaPO5qGeqPF74I5nMM
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
284CzWKtl8KKk3CLUFuLPvFroXcxbr2cxttevWHJhjI0UeQpAyXisXmjPjCg32I24xxMva0xs98t6vQ
285N3fBAgAo06zGz7htLwIIAAC1vKzxM27bS+/MAQEo9QBu7heMWbxBxSe1HyXSAwIAUJZZqHeL8AtN
286Rw5MQgcA6D5ATNNS3Wp5scXPxTt9xVsOz2u+7mdNTw50wwGUegA3BAtKcxJuf5ZNZRXuvjX5bM/X
287jr/3UfyD2o++6QEBAGjfabh+aOJ9pqHerXW38dEmIBd6QABKPYDrAYFSxKFT33p8/VVIvR+R2o++
288mYQOANCuo55f/5VNgAACADAej3t87XdhuwnuIIAAAAxEX08fPw/XE99BAAEAGJHvPYUPQ6/Ikkno
289AKUewE1Ch1LE2+7+CHfffrdpb9bL+7v+U+1H3/SAAAC06zKFgrYt1suT+8IH5MBzQAAA2neevp61
290FDw+brwGZM0QLIBSD+CGYEGJZuH6aejx6z5Dslbr5SIFj+UuP6j2QwABQACBcZqmZZb+/le4+0no
291MWT8G657O+Kfa99ZS+2HAAIAAIyGSegAAIAAAgAACCAAAAACCAAAIIAAAAAIIAAAgAACAAAIIAAA
292AAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAI
293IAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAAIIAA
294AAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAA
295CCAAAIAAAgAAIIAAAAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCA
296AAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAggAAAAAIIAACAAAIA
297AAggAACAAAIAACCAAAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAg
298gAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAEBt/y/AAEmyIDWRykGwAAAAAElFTkSuQmCC">
299</image>
300</svg>
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.png b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.png
new file mode 100755
index 00000000..5305c77d
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.png
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.svg b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.svg
new file mode 100644
index 00000000..865da440
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.svg
@@ -0,0 +1,8 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="64" height="64">
3 <circle cx="32" cy="32" r="29.5" style="fill:#000" />
4 <path d="m 16,18 33,0 0,26 -16.5,6 -16.5,-6 z" fill="#fff" />
5 <rect width="9" height="2.5" x="17.5" y="24.5" fill="#000" />
6 <rect width="9" height="2.5" x="28" y="24.5" fill="#000" />
7 <rect width="9" height="2.5" x="38.5" y="24.5" fill="#000" />
8</svg>
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/closeMessage.js b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/closeMessage.js
new file mode 100644
index 00000000..527719d5
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/closeMessage.js
@@ -0,0 +1,17 @@
1$(function(){
2 //---------------------------------------------------------------------------
3 // Show the close icon when the user hover over a message
4 //---------------------------------------------------------------------------
5 // $('.messages').on('mouseenter', function(){
6 // $(this).find('a.closeMessage').stop(true, true).show();
7 // }).on('mouseleave', function(){
8 // $(this).find('a.closeMessage').stop(true, true).hide();
9 // });
10 //---------------------------------------------------------------------------
11 // Close the message box when the user clicks the close icon
12 //---------------------------------------------------------------------------
13 $('a.closeMessage').on('click', function(){
14 $(this).parents('div.messages').slideUp(300, function(){ $(this).remove(); });
15 return false;
16 });
17}); \ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/init.js b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/init.js
new file mode 100755
index 00000000..74cbae68
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/init.js
@@ -0,0 +1,51 @@
1$.fn.ready(function() {
2
3 var $listmode = $('#listmode'),
4 $listentries = $("#list-entries");
5
6 /* ==========================================================================
7 Menu
8 ========================================================================== */
9
10 $("#menu").click(function(){
11 $("#links").toggleClass('menu--open');
12 if ($('#content').hasClass('opacity03')) {
13 $('#content').removeClass('opacity03');
14 }
15 });
16
17 /* ==========================================================================
18 List mode or Table Mode
19 ========================================================================== */
20
21 $listmode.click(function(){
22 if ( $.cookie("listmode") == 1 ) {
23 // Cookie
24 $.removeCookie("listmode");
25
26 $listentries.removeClass("listmode");
27 $listmode.removeClass("tablemode");
28 $listmode.addClass("listmode");
29 }
30 else {
31 // Cookie
32 $.cookie("listmode", 1, {expires: 365});
33
34 $listentries.addClass("listmode");
35 $listmode.removeClass("listmode");
36 $listmode.addClass("tablemode");
37 }
38
39 });
40
41 /* ==========================================================================
42 Cookie listmode
43 ========================================================================== */
44
45 if ( $.cookie("listmode") == 1 ) {
46 $listentries.addClass("listmode");
47 $listmode.removeClass("listmode");
48 $listmode.addClass("tablemode");
49 }
50
51});
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/jquery.cookie.js b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/jquery.cookie.js
new file mode 100755
index 00000000..92719000
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/jquery.cookie.js
@@ -0,0 +1,117 @@
1/*!
2 * jQuery Cookie Plugin v1.4.0
3 * https://github.com/carhartl/jquery-cookie
4 *
5 * Copyright 2013 Klaus Hartl
6 * Released under the MIT license
7 */
8(function (factory) {
9 if (typeof define === 'function' && define.amd) {
10 // AMD. Register as anonymous module.
11 define(['jquery'], factory);
12 } else {
13 // Browser globals.
14 factory(jQuery);
15 }
16}(function ($) {
17
18 var pluses = /\+/g;
19
20 function encode(s) {
21 return config.raw ? s : encodeURIComponent(s);
22 }
23
24 function decode(s) {
25 return config.raw ? s : decodeURIComponent(s);
26 }
27
28 function stringifyCookieValue(value) {
29 return encode(config.json ? JSON.stringify(value) : String(value));
30 }
31
32 function parseCookieValue(s) {
33 if (s.indexOf('"') === 0) {
34 // This is a quoted cookie as according to RFC2068, unescape...
35 s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
36 }
37
38 try {
39 // Replace server-side written pluses with spaces.
40 // If we can't decode the cookie, ignore it, it's unusable.
41 s = decodeURIComponent(s.replace(pluses, ' '));
42 } catch(e) {
43 return;
44 }
45
46 try {
47 // If we can't parse the cookie, ignore it, it's unusable.
48 return config.json ? JSON.parse(s) : s;
49 } catch(e) {}
50 }
51
52 function read(s, converter) {
53 var value = config.raw ? s : parseCookieValue(s);
54 return $.isFunction(converter) ? converter(value) : value;
55 }
56
57 var config = $.cookie = function (key, value, options) {
58
59 // Write
60 if (value !== undefined && !$.isFunction(value)) {
61 options = $.extend({}, config.defaults, options);
62
63 if (typeof options.expires === 'number') {
64 var days = options.expires, t = options.expires = new Date();
65 t.setDate(t.getDate() + days);
66 }
67
68 return (document.cookie = [
69 encode(key), '=', stringifyCookieValue(value),
70 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
71 options.path ? '; path=' + options.path : '',
72 options.domain ? '; domain=' + options.domain : '',
73 options.secure ? '; secure' : ''
74 ].join(''));
75 }
76
77 // Read
78
79 var result = key ? undefined : {};
80
81 // To prevent the for loop in the first place assign an empty array
82 // in case there are no cookies at all. Also prevents odd result when
83 // calling $.cookie().
84 var cookies = document.cookie ? document.cookie.split('; ') : [];
85
86 for (var i = 0, l = cookies.length; i < l; i++) {
87 var parts = cookies[i].split('=');
88 var name = decode(parts.shift());
89 var cookie = parts.join('=');
90
91 if (key && key === name) {
92 // If second argument (value) is a function it's a converter...
93 result = read(cookie, value);
94 break;
95 }
96
97 // Prevent storing a cookie that we couldn't decode.
98 if (!key && (cookie = read(cookie)) !== undefined) {
99 result[name] = cookie;
100 }
101 }
102
103 return result;
104 };
105
106 config.defaults = {};
107
108 $.removeCookie = function (key, options) {
109 if ($.cookie(key) !== undefined) {
110 // Must not alter options, thus extending a fresh object...
111 $.cookie(key, '', $.extend({}, options, { expires: -1 }));
112 return true;
113 }
114 return false;
115 };
116
117}));
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/restoreScroll.js b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/restoreScroll.js
new file mode 100644
index 00000000..331c9e19
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/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/src/Wallabag/CoreBundle/Resources/views/baggy/screenshot.jpg b/src/Wallabag/CoreBundle/Resources/views/baggy/screenshot.jpg
new file mode 100755
index 00000000..19cd24bb
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/screenshot.jpg
Binary files differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/tags.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/tags.twig
new file mode 100755
index 00000000..65930eb2
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/tags.twig
@@ -0,0 +1,13 @@
1{% extends "layout.twig" %}
2{% block title %}Tags{% endblock %}
3{% block menu %}
4{% include '_menu.twig' %}
5{% endblock %}
6{% block content %}
7<h2>{% trans "Tags" %}</h2>
8<ul class="list-tags">
9{% for tag in tags %}<li>{% if token != '' %}<a class="icon icon-rss" href="?feed&amp;type=tag&amp;user_id={{ user_id }}&amp;tag_id={{ tag.id }}&amp;token={{ token }}" target="_blank"><span>rss</span></a>{% endif %} <a href="./?view=tag&amp;id={{ tag.id }}">{{ tag.value }}</a> ({{ tag.entriescount }})
10</li>
11{% endfor %}
12</ul>
13{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/theme.ini b/src/Wallabag/CoreBundle/Resources/views/baggy/theme.ini
new file mode 100644
index 00000000..31665e18
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/theme.ini
@@ -0,0 +1,3 @@
1name = Baggy
2description = Responsive black and white theme especially adapted to smartphones.
3requirements[] = default
diff --git a/src/Wallabag/CoreBundle/Resources/views/baggy/view.twig b/src/Wallabag/CoreBundle/Resources/views/baggy/view.twig
new file mode 100755
index 00000000..1afd9df6
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/view.twig
@@ -0,0 +1,102 @@
1{% extends "layout.twig" %}
2{% block menu %}
3{% include '_menu.twig' %}
4{% endblock %}
5{% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %}
6{% block content %}
7 {% include '_highlight.twig' %}
8 <div id="article_toolbar">
9 <ul class="links">
10 <li class="topPosF"><a href="#top" title="{% trans "Back to top" %}" class="tool top icon icon-arrow-up-thick"><span>{% trans "Back to top" %}</span></a></li>
11 <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.url | e | getDomain }}</span></a></li>
12 <li><a title="{% trans "Mark as read" %}" class="tool icon icon-check {% if entry.is_read == 0 %}archive-off{% else %}archive{% endif %}" href="javascript: void(null);" id="markAsRead"><span>{% trans "Toggle mark as read" %}</span></a></li>
13 <li><a title="{% trans "Favorite" %}" class="tool icon icon-star {% if entry.is_fav == 0 %}fav-off{% else %}fav{% endif %}" href="javascript: void(null);" id="setFav"><span>{% trans "Toggle favorite" %}</span></a></li>
14 <li><a title="{% trans "Delete" %}" class="tool delete icon icon-trash" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "Delete" %}</span></a></li>
15 {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %}
16 {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %}
17 {% 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 %}
18 {% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %}
19 {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr icon icon-flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span> ({{ flattr.numFlattrs }})</a></li>{% endif %}{% endif %}
20 {% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans "carrot" %}"><span>Carrot</span></a></li>{% endif %}
21 {% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %}
22 {% if constant('EPUB') == 1 %}<li><a href="./?epub&amp;method=id&amp;value={{ entry.id|e }}" title="Generate ePub file">EPUB</a></li>{% endif %}
23 {% if constant('MOBI') == 1 %}<li><a href="./?mobi&amp;method=id&amp;value={{ entry.id|e }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
24 {% if constant('PDF') == 1 %}<li><a href="./?pdf&amp;method=id&amp;value={{ entry.id|e }}" title="Generate PDF file">PDF</a></li>{% endif %}
25 <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display icon icon-delete"><span>{% trans "Does this article appear wrong?" %}</span></a></li>
26 </ul>
27 </div>
28 <div id="article">
29 <header class="mbm">
30 <h1>{{ entry.title|raw }}</h1>
31 </header>
32 <aside class="tags">
33 tags: {% for tag in tags %}<a href="./?view=tag&amp;id={{ tag.id }}">{{ tag.value }}</a> {% endfor %}<a href="./?view=edit-tags&amp;id={{ entry.id|e }}" title="{% trans "Edit tags" %}">✎</a>
34 </aside>
35 <article>
36 {{ content | raw }}
37 </article>
38 </div>
39 <script src="{{ poche_url }}themes/_global/js/restoreScroll.js"></script>
40 <script type="text/javascript">
41 $(document).ready(function() {
42
43 // toggle read property of current article
44 $('#markAsRead').click(function(){
45 $("body").css("cursor", "wait");
46 $.ajax( { url: './?action=toggle_archive&id={{ entry.id|e }}' }).done(
47 function( data ) {
48 if ( data == '1' ) {
49 if ( $('#markAsRead').hasClass("archive-off") ) {
50 $('#markAsRead').removeClass("archive-off");
51 $('#markAsRead').addClass("archive");
52 }
53 else {
54 $('#markAsRead').removeClass("archive");
55 $('#markAsRead').addClass("archive-off");
56 }
57 }
58 else {
59 alert('Error! Pls check if you are logged in.');
60 }
61 });
62 $("body").css("cursor", "auto");
63 });
64
65 // toggle favorite property of current article
66 $('#setFav').click(function(){
67 $("body").css("cursor", "wait");
68 $.ajax( { url: './?action=toggle_fav&id={{ entry.id|e }}' }).done(
69 function( data ) {
70 if ( data == '1' ) {
71 if ( $('#setFav').hasClass("fav-off") ) {
72 $('#setFav').removeClass("fav-off");
73 $('#setFav').addClass("fav");
74 }
75 else {
76 $('#setFav').removeClass("fav");
77 $('#setFav').addClass("fav-off");
78 }
79 }
80 else {
81 alert('Error! Pls check if you are logged in.');
82 }
83 });
84 $("body").css("cursor", "auto");
85 });
86
87 $(window).scroll(function(e){
88 var scrollTop = $(window).scrollTop();
89 var docHeight = $(document).height();
90 var scrollPercent = (scrollTop) / (docHeight);
91 var scrollPercentRounded = Math.round(scrollPercent*100)/100;
92 savePercent({{ entry.id|e }}, scrollPercentRounded);
93 });
94
95 retrievePercent({{ entry.id|e }});
96
97 $(window).resize(function(){
98 retrievePercent({{ entry.id|e }});
99 });
100 });
101 </script>
102{% endblock %}