diff --git a/src/Wallabag/CoreBundle/Helper/Tools.php b/src/Wallabag/CoreBundle/Helper/Tools.php
index c773af37d..c932f880f 100755
--- a/src/Wallabag/CoreBundle/Helper/Tools.php
+++ b/src/Wallabag/CoreBundle/Helper/Tools.php
@@ -104,23 +104,6 @@ final class Tools
return sha1($string . SALT);
}
- /**
- * Returns the correct header for a status code
- *
- * @param $status_code
- */
- private static function _status($status_code)
- {
- if (strpos(php_sapi_name(), 'apache') !== false) {
-
- header('HTTP/1.0 '.$status_code);
- }
- else {
-
- header('Status: '.$status_code);
- }
- }
-
public static function generateToken()
{
if (ini_get('open_basedir') === '') {
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.css b/src/Wallabag/CoreBundle/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.css
new file mode 100644
index 000000000..5690172f6
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.css
@@ -0,0 +1,560 @@
+/*! jQuery UI - v1.10.4 - 2014-03-09
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.theme.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden {
+ display: none;
+}
+.ui-helper-hidden-accessible {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+.ui-helper-reset {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ line-height: 1.3;
+ text-decoration: none;
+ font-size: 100%;
+ list-style: none;
+}
+.ui-helper-clearfix:before,
+.ui-helper-clearfix:after {
+ content: "";
+ display: table;
+ border-collapse: collapse;
+}
+.ui-helper-clearfix:after {
+ clear: both;
+}
+.ui-helper-clearfix {
+ min-height: 0; /* support: IE7 */
+}
+.ui-helper-zfix {
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ position: absolute;
+ opacity: 0;
+ filter:Alpha(Opacity=0);
+}
+
+.ui-front {
+ z-index: 100;
+}
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled {
+ cursor: default !important;
+}
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ display: block;
+ text-indent: -99999px;
+ overflow: hidden;
+ background-repeat: no-repeat;
+}
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+.ui-autocomplete {
+ position: absolute;
+ top: 0;
+ left: 0;
+ cursor: default;
+}
+.ui-menu {
+ list-style: none;
+ padding: 2px;
+ margin: 0;
+ display: block;
+ outline: none;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+ position: absolute;
+}
+.ui-menu .ui-menu-item {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ /* support: IE10, see #8844 */
+ list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+}
+.ui-menu .ui-menu-divider {
+ margin: 5px -2px 5px -2px;
+ height: 0;
+ font-size: 0;
+ line-height: 0;
+ border-width: 1px 0 0 0;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration: none;
+ display: block;
+ padding: 2px .4em;
+ line-height: 1.5;
+ min-height: 0; /* support: IE7 */
+ font-weight: normal;
+}
+.ui-menu .ui-menu-item a.ui-state-focus,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+
+.ui-menu .ui-state-disabled {
+ font-weight: normal;
+ margin: .4em 0 .2em;
+ line-height: 1.5;
+}
+.ui-menu .ui-state-disabled a {
+ cursor: default;
+}
+
+/* icon support */
+.ui-menu-icons {
+ position: relative;
+}
+.ui-menu-icons .ui-menu-item a {
+ position: relative;
+ padding-left: 2em;
+}
+
+/* left-aligned */
+.ui-menu .ui-icon {
+ position: absolute;
+ top: .2em;
+ left: .2em;
+}
+
+/* right-aligned */
+.ui-menu .ui-menu-icon {
+ position: static;
+ float: right;
+}
+
+/* Component containers
+----------------------------------*/
+.ui-widget {
+ font-family: Verdana,Arial,sans-serif;
+ font-size: 1.1em;
+}
+.ui-widget .ui-widget {
+ font-size: 1em;
+}
+.ui-widget input,
+.ui-widget select,
+.ui-widget textarea,
+.ui-widget button {
+ font-family: Verdana,Arial,sans-serif;
+ font-size: 1em;
+}
+.ui-widget-content {
+ border: 1px solid #aaaaaa;
+ background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
+ color: #222222;
+}
+.ui-widget-content a {
+ color: #222222;
+}
+.ui-widget-header {
+ border: 1px solid #aaaaaa;
+ background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
+ color: #222222;
+ font-weight: bold;
+}
+.ui-widget-header a {
+ color: #222222;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default {
+ border: 1px solid #d3d3d3;
+ background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;
+ font-weight: normal;
+ color: #555555;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited {
+ color: #555555;
+ text-decoration: none;
+}
+.ui-state-hover,
+.ui-widget-content .ui-state-hover,
+.ui-widget-header .ui-state-hover,
+.ui-state-focus,
+.ui-widget-content .ui-state-focus,
+.ui-widget-header .ui-state-focus {
+ border: 1px solid #999999;
+ background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
+ font-weight: normal;
+ color: #212121;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited,
+.ui-state-focus a,
+.ui-state-focus a:hover,
+.ui-state-focus a:link,
+.ui-state-focus a:visited {
+ color: #212121;
+ text-decoration: none;
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active {
+ border: 1px solid #aaaaaa;
+ background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
+ font-weight: normal;
+ color: #212121;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+ color: #212121;
+ text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+ border: 1px solid #fcefa1;
+ background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
+ color: #363636;
+}
+.ui-state-highlight a,
+.ui-widget-content .ui-state-highlight a,
+.ui-widget-header .ui-state-highlight a {
+ color: #363636;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #cd0a0a;
+ background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
+ color: #cd0a0a;
+}
+.ui-state-error a,
+.ui-widget-content .ui-state-error a,
+.ui-widget-header .ui-state-error a {
+ color: #cd0a0a;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+ color: #cd0a0a;
+}
+.ui-priority-primary,
+.ui-widget-content .ui-priority-primary,
+.ui-widget-header .ui-priority-primary {
+ font-weight: bold;
+}
+.ui-priority-secondary,
+.ui-widget-content .ui-priority-secondary,
+.ui-widget-header .ui-priority-secondary {
+ opacity: .7;
+ filter:Alpha(Opacity=70);
+ font-weight: normal;
+}
+.ui-state-disabled,
+.ui-widget-content .ui-state-disabled,
+.ui-widget-header .ui-state-disabled {
+ opacity: .35;
+ filter:Alpha(Opacity=35);
+ background-image: none;
+}
+.ui-state-disabled .ui-icon {
+ filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ width: 16px;
+ height: 16px;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+ background-image: url(images/ui-icons_222222_256x240.png);
+}
+.ui-widget-header .ui-icon {
+ background-image: url(images/ui-icons_222222_256x240.png);
+}
+.ui-state-default .ui-icon {
+ background-image: url(images/ui-icons_888888_256x240.png);
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon {
+ background-image: url(images/ui-icons_454545_256x240.png);
+}
+.ui-state-active .ui-icon {
+ background-image: url(images/ui-icons_454545_256x240.png);
+}
+.ui-state-highlight .ui-icon {
+ background-image: url(images/ui-icons_2e83ff_256x240.png);
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+ background-image: url(images/ui-icons_cd0a0a_256x240.png);
+}
+
+/* positioning */
+.ui-icon-blank { background-position: 16px 16px; }
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-on { background-position: -96px -144px; }
+.ui-icon-radio-off { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-left,
+.ui-corner-tl {
+ border-top-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-right,
+.ui-corner-tr {
+ border-top-right-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-left,
+.ui-corner-bl {
+ border-bottom-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-right,
+.ui-corner-br {
+ border-bottom-right-radius: 4px;
+}
+
+/* Overlays */
+.ui-widget-overlay {
+ background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
+ opacity: .3;
+ filter: Alpha(Opacity=30);
+}
+.ui-widget-shadow {
+ margin: -8px 0 0 -8px;
+ padding: 8px;
+ background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
+ opacity: .3;
+ filter: Alpha(Opacity=30);
+ border-radius: 8px;
+}
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.min.css b/src/Wallabag/CoreBundle/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.min.css
new file mode 100644
index 000000000..4dba92a8a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/_global/public/css/jquery-ui-1.10.4.custom.min.css
@@ -0,0 +1,7 @@
+/*! jQuery UI - v1.10.4 - 2014-03-09
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.theme.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+
+.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-114.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-114.png
new file mode 100755
index 000000000..0e96edd5c
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-114.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-120.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-120.png
new file mode 100755
index 000000000..dc5aab1c4
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-120.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-144.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-144.png
new file mode 100755
index 000000000..1d005db6f
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-144.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-152.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-152.png
new file mode 100755
index 000000000..f915231fa
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-152.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-57.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-57.png
new file mode 100755
index 000000000..5aa19ed96
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-57.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-72.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-72.png
new file mode 100755
index 000000000..b8b48e1bc
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-72.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-76.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-76.png
new file mode 100755
index 000000000..9f9dba27e
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon-76.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon.png
new file mode 100755
index 000000000..9cf29e2b4
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/apple-touch-icon.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/favicon.ico b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/favicon.ico
new file mode 100755
index 000000000..0346558ba
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/appicon/favicon.ico differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/carrot-icon--black.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/carrot-icon--black.png
new file mode 100644
index 000000000..6da7925b5
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/carrot-icon--black.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/carrot-icon--white.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/carrot-icon--white.png
new file mode 100644
index 000000000..a70044b6f
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/carrot-icon--white.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/diaspora-icon--black.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/diaspora-icon--black.png
new file mode 100644
index 000000000..32bca1947
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/diaspora-icon--black.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/diaspora-icon--white.png b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/diaspora-icon--white.png
new file mode 100644
index 000000000..fc48d47c4
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/_global/public/img/icons/diaspora-icon--white.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/js/autoClose.js b/src/Wallabag/CoreBundle/Resources/views/_global/public/js/autoClose.js
new file mode 100644
index 000000000..e9145b7e2
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/_global/public/js/autoClose.js
@@ -0,0 +1,6 @@
+$(document).ready(function() {
+ current_url = window.location.href
+ if (current_url.match("&closewin=true")) {
+ window.close();
+ }
+});
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/js/autoCompleteTags.js b/src/Wallabag/CoreBundle/Resources/views/_global/public/js/autoCompleteTags.js
new file mode 100755
index 000000000..90bc982c2
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/_global/public/js/autoCompleteTags.js
@@ -0,0 +1,47 @@
+jQuery(function($) {
+
+ function split( val ) {
+ return val.split( /,\s*/ );
+ }
+ function extractLast( term ) {
+ return split( term ).pop();
+ }
+
+
+ $("#value").bind("keydown", function(event) {
+ if (event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) {
+ event.preventDefault();
+ }
+ }).autocomplete({
+ source : function(request, response) {
+ $.getJSON("./?view=tags", {
+ term : extractLast(request.term),
+ //id: $(':hidden#entry_id').val()
+ }, response);
+ },
+ search : function() {
+ // custom minLength
+ var term = extractLast(this.value);
+ if (term.length < 1) {
+ return false;
+ }
+ },
+ focus : function() {
+ // prevent value inserted on focus
+ return false;
+ },
+ select : function(event, ui) {
+ var terms = split(this.value);
+ // remove the current input
+ terms.pop();
+ // add the selected item
+ terms.push(ui.item.value);
+ // add placeholder to get the comma-and-space at the end
+ terms.push("");
+ this.value = terms.join(", ");
+ return false;
+ }
+ });
+
+
+});
diff --git a/src/Wallabag/CoreBundle/Resources/views/_global/public/js/jquery-2.0.3.min.js b/src/Wallabag/CoreBundle/Resources/views/_global/public/js/jquery-2.0.3.min.js
new file mode 100644
index 000000000..a4dd0a2f5
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/_global/public/js/jquery-2.0.3.min.js
@@ -0,0 +1 @@
+(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="
").append(x.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ut,type:"GET",isLocal:Kt.test(Xt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":sn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?cn(cn(e,x.ajaxSettings),t):cn(x.ajaxSettings,e)},ajaxPrefilter:un(rn),ajaxTransport:un(on),ajax:function(e,t){"object"==typeof e&&(t=e,e=undefined),t=t||{};var n,r,i,o,s,a,u,l,c=x.ajaxSetup({},t),p=c.context||c,f=c.context&&(p.nodeType||p.jquery)?x(p):x.event,h=x.Deferred(),d=x.Callbacks("once memory"),g=c.statusCode||{},m={},y={},v=0,b="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===v){if(!o){o={};while(t=Qt.exec(i))o[t[1].toLowerCase()]=t[2]}t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===v?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return v||(e=y[n]=y[n]||e,m[e]=t),this},overrideMimeType:function(e){return v||(c.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>v)for(t in e)g[t]=[g[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),k(0,t),this}};if(h.promise(T).complete=d.add,T.success=T.done,T.error=T.fail,c.url=((e||c.url||Ut)+"").replace(Gt,"").replace(en,Xt[1]+"//"),c.type=t.method||t.type||c.method||c.type,c.dataTypes=x.trim(c.dataType||"*").toLowerCase().match(w)||[""],null==c.crossDomain&&(a=tn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===Xt[1]&&a[2]===Xt[2]&&(a[3]||("http:"===a[1]?"80":"443"))===(Xt[3]||("http:"===Xt[1]?"80":"443")))),c.data&&c.processData&&"string"!=typeof c.data&&(c.data=x.param(c.data,c.traditional)),ln(rn,c,t,T),2===v)return T;u=c.global,u&&0===x.active++&&x.event.trigger("ajaxStart"),c.type=c.type.toUpperCase(),c.hasContent=!Zt.test(c.type),r=c.url,c.hasContent||(c.data&&(r=c.url+=(Vt.test(r)?"&":"?")+c.data,delete c.data),c.cache===!1&&(c.url=Jt.test(r)?r.replace(Jt,"$1_="+Yt++):r+(Vt.test(r)?"&":"?")+"_="+Yt++)),c.ifModified&&(x.lastModified[r]&&T.setRequestHeader("If-Modified-Since",x.lastModified[r]),x.etag[r]&&T.setRequestHeader("If-None-Match",x.etag[r])),(c.data&&c.hasContent&&c.contentType!==!1||t.contentType)&&T.setRequestHeader("Content-Type",c.contentType),T.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+("*"!==c.dataTypes[0]?", "+sn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)T.setRequestHeader(l,c.headers[l]);if(c.beforeSend&&(c.beforeSend.call(p,T,c)===!1||2===v))return T.abort();b="abort";for(l in{success:1,error:1,complete:1})T[l](c[l]);if(n=ln(on,c,t,T)){T.readyState=1,u&&f.trigger("ajaxSend",[T,c]),c.async&&c.timeout>0&&(s=setTimeout(function(){T.abort("timeout")},c.timeout));try{v=1,n.send(m,k)}catch(C){if(!(2>v))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,t,o,a){var l,m,y,b,w,C=t;2!==v&&(v=2,s&&clearTimeout(s),n=undefined,i=a||"",T.readyState=e>0?4:0,l=e>=200&&300>e||304===e,o&&(b=pn(c,T,o)),b=fn(c,b,T,l),l?(c.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(x.lastModified[r]=w),w=T.getResponseHeader("etag"),w&&(x.etag[r]=w)),204===e||"HEAD"===c.type?C="nocontent":304===e?C="notmodified":(C=b.state,m=b.data,y=b.error,l=!y)):(y=C,(e||!C)&&(C="error",0>e&&(e=0))),T.status=e,T.statusText=(t||C)+"",l?h.resolveWith(p,[m,C,T]):h.rejectWith(p,[T,C,y]),T.statusCode(g),g=undefined,u&&f.trigger(l?"ajaxSuccess":"ajaxError",[T,c,l?m:y]),d.fireWith(p,[T,C]),u&&(f.trigger("ajaxComplete",[T,c]),--x.active||x.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,t){return x.get(e,undefined,t,"script")}}),x.each(["get","post"],function(e,t){x[t]=function(e,n,r,i){return x.isFunction(n)&&(i=i||r,r=n,n=undefined),x.ajax({url:e,type:t,dataType:i,data:n,success:r})}});function pn(e,t,n){var r,i,o,s,a=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),r===undefined&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):undefined}function fn(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(p){return{state:"parsererror",error:s?p:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),x.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=x("
+
+
+
+
+
+
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 000000000..8b80f65d8
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_menu.twig
@@ -0,0 +1,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 000000000..bf2ae9037
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_pocheit-form.twig
@@ -0,0 +1,10 @@
+
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 000000000..73f7951f8
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_search-form.twig
@@ -0,0 +1,9 @@
+
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 000000000..a31c09259
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/_top.twig
@@ -0,0 +1,7 @@
+
+
+ {% if view == 'home' %}{% block logo %} {% endblock %}
+ {% else %}{{ block('logo') }}
+ {% endif %}
+
+
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 000000000..d18fe1567
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/about.twig
@@ -0,0 +1,84 @@
+{% extends "layout.twig" %}
+
+{% block title %}{% trans "About" %}{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block content %}
+
{% trans "About wallabag" %}
+
+
+ {% trans "Project website" %}
+ https://www.wallabag.org
+
+ {% trans "Main developer" %}
+ Nicolas Lœuillet — {% trans "website" %}
+
+ {% trans "Contributors:" %}
+ {% trans "on Github" %}
+
+ {% trans "Bug reports" %}
+ {% trans "On our support website" %} {% trans "or" %} {% trans "on Github" %}
+
+ {% trans "License" %}
+ MIT
+
+ {% trans "Version" %}
+ {{ constant('WALLABAG') }}
+
+
+
{% 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." %}
+
+
{% trans "Getting help" %}
+
+
+ {% trans "Documentation" %}
+ Offline documentation and online documentation (up to date)
+
+ {% trans "Support" %}
+ http://support.wallabag.org/
+
+
+
{% trans "Helping wallabag" %}
+
+
{% trans "wallabag is free and opensource. You can help us:" %}
+
+
+ {% trans "via Paypal" %}
+
+ {% trans "via Flattr" %}
+
+
+
{% trans "Credits" %}
+
+ PHP Readability
+ https://bitbucket.org/fivefilters/php-readability
+
+ Full Text RSS
+ http://code.fivefilters.org/full-text-rss/src
+
+ logo by Maylis Agniel
+ https://github.com/wallabag/logo
+
+ icons
+ http://icomoon.io
+
+ PHP Simple HTML DOM Parser
+ http://simplehtmldom.sourceforge.net/
+
+ Session
+ https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php
+
+ Twig
+ http://twig.sensiolabs.org
+
+ Flash messages
+ https://github.com/plasticbrain/PHP-Flash-Messages
+
+ Pagination
+ https://github.com/daveismyname/pagination
+
+ PHPePub
+ https://github.com/Grandt/PHPePub/
+
+{% 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 000000000..6031f489c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/config.twig
@@ -0,0 +1,187 @@
+{% extends "layout.twig" %}
+
+{% block title %}{% trans "config" %}{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block content %}
+
{% trans "Saving articles" %}
+
{% trans "There are several ways to save an article:" %} {% trans "(? )" %}
+
+
+
+
Browser Plugins
+
+
Mobile Apps
+
+
{% trans "Bookmarklet" %}
+
+ {% trans "Drag & drop this link to your bookmarks bar:" %} {% trans "bag it!" %}
+
+
+
{% trans "Feeds" %}
+ {% if token == '' %}
+
{% trans "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it ." %}
+ {% else %}
+
+
+ {% trans "Your token:" %} {{token}}
+ {% trans "Your user id:" %} {{user_id}}
+ {% trans "You can regenerate your token: generate! ." %}
+
+ {% endif %}
+
+
{% trans "Change your theme" %}
+
+
+
{% trans "Change your language" %}
+
+
+
{% trans "Import" %}
+
{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}
+
{% 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." %}
+
+
{% trans "You can click here to fetch content for articles with no content." %}
+
{% 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)." %}
+
+
{% trans "Export your wallabag data" %}
+
{% trans "Export JSON" %}
+ Data will be exported in a single JSON file.
+
+
{% trans "Fancy an E-Book ?" %}
+
{% trans "Click to get all your articles in one ebook :" %}
+
+
+
{% trans "This can take a while and can even fail if you have too many articles, depending on your server configuration." %}
+
+
{% trans "Cache" %}
+
{% trans "Delete Cache" %}
+ Deleting the cache may help with display or other problems.
+
+ {% if http_auth == 0 %}
+
{% trans "Change your password" %}
+
+ {% endif %}
+
+
{% trans 'Add user' %}
+
+
+
{% trans "Delete account" %}
+ {% if not only_user %}
+ {% else %}
{% trans "You are the only user, you cannot delete your own account." %}
+
{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}
{% endif %}
+
+
{% trans "Upgrading wallabag" %}
+
+ {% trans "Installed version" %}: {{ constant('WALLABAG') }}
+ {% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}{% trans "A more recent stable version is available." %} {% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})
+ {% if constant('DEBUG_POCHE') == 1 %}{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}{% trans "A more recent development version is available." %} {% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}
+
+
{% trans "You can clear cache to check the latest release." %}
+
+{% 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 000000000..15f15560f
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/edit-tags.twig
@@ -0,0 +1,29 @@
+{% extends "layout.twig" %}
+{% block title %}edit tags{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block content %}
+
+
+
+
+
+
+
{{ entry.title|raw }}21>
+
+{% if tags is empty %}
+
{% trans "no tags" %}
+{% endif %}
+
+{% for tag in tags %}{{ tag.value }} ✘ {% endfor %}
+
+
+
{% trans "return to article" %}
+{% 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 000000000..93515080d
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/home.twig
@@ -0,0 +1,81 @@
+{% extends "layout.twig" %}
+{% block title %}
+{% if view == 'fav' %}
+{% trans "favorites" %}
+{% elseif view == 'archive' %}
+{% trans "archive" %}
+{% else %}
+{% trans "unread" %}
+{% endif %}
+{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block content %}
+ {% if tag %}
+
{% trans "Tag" %}: {{ tag.value }}
+ {% endif %}
+ {% if entries is empty %}
+
{% trans "No articles found." %}
+ {% else %}
+
+ {% include '_display-mode.twig' %}
+ {% include '_sorting.twig' %}
+
+ {% block pager %}
+ {% if nb_results > 1 %}
+
+
{{ nb_results }} {% trans "results" %}{% if search_term is defined %} {% trans %}found for « {{ search_term }} »{% endtrans %}{% endif %}
+ {{ page_links | raw }}
+
+ {% elseif nb_results == 1 %}
+ {% if search_term is defined %}
+
+
{% trans "Only one result found for " %} « {{ search_term }} »
+
+ {% endif %}
+ {% endif %}
+ {% endblock %}
+
+ {% for entry in entries %}
+
+
+ {% if entry.content| getReadingTime > 0 %}
+
{% trans "estimated reading time :" %} {{ entry.content| getReadingTime }} min
+ {% else %}
+
{% trans "estimated reading time :" %} < 1 min
+ {% endif %}
+
+
{{ entry.content|striptags|slice(0, 300) }}...
+
+
+ {% endfor %}
+
+ {{ block('pager') }}
+ {% if view == 'home' %}{% if nb_results > 1 %}
{% trans "Mark all the entries as read" %}
{% endif %}{% endif %}
+ {% if searchterm is defined %}
{% trans "Tag these results as" %} {{ searchterm }} {% endif %}
+
+ {% if searchterm is defined %}
{% trans "Delete results matching" %} {{ searchterm }} {% endif %}
+
+ {% if tag %}
{% trans "Mark all articles from this tag as read" %} {% endif %}
+
+ {% if tag %}
+ {% if constant('EPUB') == 1 %}
{% trans "Download as ePub3" %} {% endif %}
+ {% if constant('MOBI') == 1 %}
{% trans "Download as Mobi" %} {% endif %}
+ {% if constant('PDF') == 1 %}
{% trans "Download as PDF" %} {% endif %}
+ {% elseif searchterm is defined %}
+ {% if constant('EPUB') == 1 %}
{% trans "Download as ePub3" %} {% endif %}
+ {% if constant('MOBI') == 1 %}
{% trans "Download as Mobi" %} {% endif %}
+ {% if constant('PDF') == 1 %}
{% trans "Download as PDF" %} {% endif %}
+ {% else %}
+ {% if constant('EPUB') == 1 %}
{% trans "Download as ePub3" %} {% endif %}
+ {% if constant('MOBI') == 1 %}
{% trans "Download as Mobi" %} {% endif %}
+ {% if constant('PDF') == 1 %}
{% trans "Download as PDF" %} {% endif %}
+ {% endif %}
+{% endif %}
+{% 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 000000000..4078fbb08
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/layout-login.twig
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
{% block title %}{% endblock %} - wallabag
+{% include '_head.twig' %}
+{% include '_bookmarklet.twig' %}
+
+
+ {% include '_top.twig' %}
+
+ {% block menu %}{% endblock %}
+ {% block precontent %}{% endblock %}
+ {% block messages %}
+ {% include '_messages.twig' %}
+ {% endblock %}
+
+ {% block content %}{% endblock %}
+
+
+{% include '_footer.twig' %}
+
+
\ 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 000000000..8de12749f
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/layout.twig
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
{% block title %}{% endblock %} - wallabag
+{% include '_head.twig' %}
+{% include '_bookmarklet.twig' %}
+
+
+ {% include '_top.twig' %}
+
+ {% block menu %}{% endblock %}
+ {% block precontent %}{% endblock %}
+ {% block messages %}
+ {% include '_messages.twig' %}
+ {% if includeImport %}
+ {% include '_import.twig' %}
+ {% endif %}
+ {% endblock %}
+
+ {% block content %}{% endblock %}
+
+
+{% include '_footer.twig' %}
+
+
\ 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 000000000..58290e9c6
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/login.twig
@@ -0,0 +1,34 @@
+{% extends "layout-login.twig" %}
+
+{% block title %}{% trans "login to your wallabag" %}{% endblock %}
+{% block content %}
+ {% if http_auth == 0 %}
+
+ {% endif %}
+{% 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 000000000..7c02a16fb
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/font.css
@@ -0,0 +1,6 @@
+@font-face {
+ font-family: 'PT Sans';
+ font-style: normal;
+ font-weight: 700;
+ src: local('PT Sans Bold'), local('PTSans-Bold'), url(../fonts/ptsans.woff) format('woff');
+}
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 000000000..1df829101
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/main.css
@@ -0,0 +1,1071 @@
+/* ==========================================================================
+ Sommaire
+
+ 1 = Style Guide
+ 2 = Layout
+ 3 = Pictos
+ 4 = Messages
+ 5 = Article
+ 6 = Media queries
+
+ ========================================================================== */
+
+html {
+ min-height: 100%;
+}
+
+body {
+ background-color: #EEE;
+}
+
+.login {
+ background-color: #333;
+}
+
+.login #main {
+ padding: 0;
+ margin: 0;
+}
+
+.login form {
+ background-color: #FFF;
+ padding: 1.5em;
+ box-shadow: 0 1px 8px rgba(0,0,0,0.9);
+ width: 20em;
+ position: absolute;
+ top: 8em;
+ left: 50%;
+ margin-left: -10em;
+}
+
+.login .logo {
+ position: absolute;
+ top: 2em;
+ left: 50%;
+ margin-left: -55px;
+}
+
+/* ==========================================================================
+ 1 = Style Guide
+ ========================================================================== */
+
+::selection {
+ color: #FFF;
+ background-color: #000;
+}
+
+.desktopHide {
+ display: none;
+}
+
+.logo {
+ position: fixed;
+ z-index: 20;
+ top: 0.4em;
+ left: 0.6em;
+}
+
+h2, h3, h4 {
+ font-family: 'PT Sans', sans-serif;
+ text-transform: uppercase;
+}
+
+p, li, label {
+ color: #666;
+}
+
+a {
+ color: #000;
+ font-weight: bold;
+}
+
+a:hover, a:focus {
+ text-decoration: none;
+}
+
+form fieldset {
+ border:0;
+ padding: 0;
+ margin: 0;
+}
+
+form input[type="text"], select, form input[type="password"], form input[type="url"], form input[type="email"] {
+ border: 1px solid #999;
+ padding: 0.5em 1em;
+ min-width: 12em;
+ color: #666;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0){
+ select{
+ -webkit-appearance: none;
+ border-radius: 0;
+ background: #FFF url(../img/bg-select.png) no-repeat right center;
+ }
+}
+
+.inline .row {
+ display: inline-block;
+ margin-right: 0.5em;
+}
+
+.inline label {
+ min-width: 6em;
+}
+
+fieldset label {
+ display: inline-block;
+ min-width: 12.5em;
+ color: #666;
+}
+
+label {
+ margin-right: 0.5em;
+}
+
+form .row {
+ margin-bottom: 0.5em;
+}
+
+form button, input[type="submit"] {
+ cursor:pointer;
+ background-color: #000;
+ color: #FFF;
+ border:0;
+ padding: 0.5em 1em;
+ display: inline-block;
+ border:1px solid #000;
+}
+
+ form button:hover, form button:focus, input[type="submit"]:hover, input[type="submit"]:focus {
+ background-color: #FFF;
+ color: #000;
+ -webkit-transition: all 0.5s ease;
+ -moz-transition: all 0.5s ease;
+ -ms-transition: all 0.5s ease;
+ -o-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+ }
+
+#bookmarklet {
+ cursor: move;
+}
+
+h2:after {
+ content: "";
+ height: 4px;
+ width: 70px;
+ background-color: #000;
+ display: block;
+}
+
+.links {
+ padding: 0;
+ margin: 0;
+}
+ .links li {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ }
+
+
+#links {
+ position: fixed;
+ top: 0;
+ width: 10em;
+ left: 0;
+ text-align: right;
+ background-color: #333;
+ padding-top: 9.5em;
+ height: 100%;
+ box-shadow:inset -4px 0 20px rgba(0,0,0,0.6);
+ z-index: 15;
+}
+
+#main {
+ margin-left: 13em;
+ position: relative;
+ z-index: 10;
+ padding-right: 5%;
+ padding-bottom: 1em;
+}
+
+ #links > li > a {
+ display: block;
+ padding: 0.5em 2em 0.5em 1em;
+ color: #FFF;
+ position: relative;
+ text-transform: uppercase;
+ text-decoration: none;
+ font-weight: normal;
+ font-family: 'PT Sans', sans-serif;
+ -webkit-transition: all 0.5s ease;
+ -moz-transition: all 0.5s ease;
+ -ms-transition: all 0.5s ease;
+ -o-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+ }
+
+ #links > li > a:hover, #links > li > a:focus {
+ background-color: #999;
+ color: #000;
+ }
+
+ #links .current:after {
+ content: "";
+ width: 0;
+ height: 0;
+ position: absolute;
+ border-style: solid;
+ border-width: 10px;
+ border-color: transparent #EEE transparent transparent;
+ right: 0;
+ top: 50%;
+ margin-top: -10px;
+ }
+
+ #links li:last-child {
+ position: fixed;
+ bottom: 1em;
+ width: 10em;
+ }
+
+ #links li:last-child a:before {
+ font-size: 1.2em;
+ position: relative;
+ top: 2px;
+ }
+
+
+#sort {
+ padding: 0;
+ list-style-type: none;
+ opacity: 0.5;
+ display: inline-block;
+}
+
+#sort li {
+ display: inline;
+ font-size: 0.9em;
+}
+
+#sort li + li {
+ margin-left: 10px;
+}
+
+#sort a {
+ padding: 2px 2px 0;
+ vertical-align: middle;
+}
+
+#sort img {
+ vertical-align: baseline;
+}
+#sort img:hover {
+ cursor: pointer;
+}
+
+#display-mode {
+ float: right;
+ vertical-align: middle;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ opacity: 0.5;
+}
+#listmode {
+ width: 16px;
+ display: inline-block;
+ text-decoration: none;
+}
+#listmode a:hover {
+ opacity: 1;
+}
+#listmode.tablemode {
+ background-image: url("../img/baggy/table.png");
+ background-repeat: no-repeat;
+ background-position: bottom;
+}
+#listmode.listmode {
+ background-image: url("../img/baggy/list.png");
+ background-repeat: no-repeat;
+ background-position: bottom;
+}
+
+
+/* ==========================================================================
+ 2 = Layout
+ ========================================================================== */
+
+#content {
+ margin-top: 5em;
+ min-height: 30em;
+}
+
+footer {
+ text-align: right;
+ position: relative;
+ bottom: 0;
+ right: 5em;
+ color: #999;
+ font-size: 0.8em;
+ font-style: italic;
+ z-index: 20;
+}
+
+footer a {
+ color: #999;
+ font-weight: normal;
+}
+
+.list-entries {
+ letter-spacing:-5px;
+}
+
+.listmode .entrie {
+ width: 100%!important;
+ margin-left: 0!important;
+}
+
+.list-entries + .results {
+ margin-bottom: 2em;
+}
+
+.estimatedTime .reading-time {
+ color: #999;
+ font-style: italic;
+ font-weight: normal;
+ font-size: 0.9em;
+}
+
+.estimatedTime small {
+ position: relative;
+ top: -1px;
+}
+
+.entrie {
+ background-color: #FFF;
+ letter-spacing:normal;
+ box-shadow: 0 3px 7px rgba(0,0,0,0.3);
+ display: inline-block;
+ width: 32%;
+ margin-bottom: 1.5em;
+ vertical-align: top;
+ margin-left: 1.5%;
+ position: relative;
+ overflow: hidden;
+ padding: 1.5em 1.5em 3em 1.5em;
+
+ /* Removing CSS transitions because they make the switch from list view to
+ * table view jerky
+ */
+ /* -webkit-transition: all 0.5s ease; */
+ /* -moz-transition: all 0.5s ease; */
+ /* -ms-transition: all 0.5s ease; */
+ /* -o-transition: all 0.5s ease; */
+ /* transition: all 0.5s ease; */
+}
+
+.entrie:before {
+ content: "";
+ width: 0;
+ height: 0;
+ border-style:solid;
+ border-color: transparent transparent #000 transparent;
+ border-width: 10px;
+ position: absolute;
+ bottom: 0.3em;
+ z-index: 10;
+ right: 1.5em;
+ -webkit-transition: all 0.5s ease;
+ -moz-transition: all 0.5s ease;
+ -ms-transition: all 0.5s ease;
+ -o-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+}
+
+.entrie:after {
+ content: "";
+ position: absolute;
+ height: 7px;
+ width: 100%;
+ bottom: 0;
+ left: 0;
+ background-color: #000;
+ -webkit-transition: all 0.5s ease;
+ -moz-transition: all 0.5s ease;
+ -ms-transition: all 0.5s ease;
+ -o-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+}
+
+.entrie:hover {
+ box-shadow: 0 3px 10px rgba(0,0,0,1);
+}
+
+.entrie:hover:after {
+ height: 40px;
+}
+
+.entrie:hover:before {
+ bottom: 2.4em;
+}
+
+.entrie:hover h2 a {
+ color: #666;
+}
+
+.entrie h2 {
+ text-transform: none;
+ margin-bottom: 0;
+ line-height: 1.2;
+}
+
+ .entrie h2:after {
+ content: none;
+ }
+
+
+.entrie h2 a {
+ display: block;
+ text-decoration: none;
+ color: #000;
+ word-wrap: break-word;
+ -webkit-transition: all 0.5s ease;
+ -moz-transition: all 0.5s ease;
+ -ms-transition: all 0.5s ease;
+ -o-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+}
+/*
+.entrie h2 a:after {
+ content: "";
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ left: 0;
+}
+*/
+
+.entrie p {
+ color: #666;
+ font-size: 0.9em;
+ line-height: 1.7;
+}
+
+ .entrie h2 a:first-letter {
+ text-transform: uppercase;
+ }
+
+.entrie:hover .tools {
+ bottom: 0;
+}
+
+.entrie .tools {
+ position: absolute;
+ bottom: -50px;
+ left: 0;
+ width: 100%;
+ z-index: 10;
+ padding-right: 0.5em;
+ text-align: right;
+ -webkit-transition: all 0.5s ease;
+ -moz-transition: all 0.5s ease;
+ -ms-transition: all 0.5s ease;
+ -o-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+}
+
+ .entrie .tools a {
+ color: #666;
+ text-decoration: none;
+ display: block;
+ padding: 0.4em;
+ }
+
+ .entrie .tools a:hover {
+ color: #FFF;
+ }
+
+ .entrie .tools li {
+ display: inline-block;
+ }
+
+.entrie:nth-child(3n+1) {
+ margin-left: 0;
+}
+
+.results {
+ letter-spacing: -5px;
+ padding: 0 0 0.5em;
+}
+
+.results > * {
+ display: inline-block;
+ vertical-align: top;
+ letter-spacing: normal;
+ width: 50%;
+}
+
+.pagination {
+ text-align: right;
+ margin-bottom:50px;
+}
+
+.nb-results {
+ text-align: left;
+ font-style: italic;
+ color: #999;
+}
+
+.pagination > * {
+ display: inline-block;
+ margin-left: 0.5em;
+}
+
+.pagination a {
+ color: #999;
+ text-decoration: none;
+}
+
+ .pagination a:hover, .pagination a:focus {
+ text-decoration: underline;
+ }
+
+.pagination .disabled {
+ display: none;
+}
+
+/* ==========================================================================
+ 2.1 = "save a link" related styles
+ ========================================================================== */
+
+.popup-form {
+ background: rgba(0,0,0,0.5);
+ position: absolute;
+ top: 0;
+ left: 10em;
+ z-index: 20;
+ height: 100%;
+ width: 100%;
+ margin: 0;
+ margin-top: -30% !important; /* TODO: get rid of !important here; overridden by .messages selector */
+ padding: 2em;
+ display: none;
+ border-left: 1px #EEE solid;
+}
+
+ .popup-form form {
+ background-color: #FFF;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 20;
+ border: 10px solid #000;
+ width: 400px;
+ height: 200px;
+ padding: 2em;
+ }
+
+#bagit-form-form .addurl {
+ margin-left: 0;
+}
+
+.closeMessage,
+.close-button {
+ background-color: #000;
+ color: #FFF;
+ font-size: 1.2em;
+ line-height: 1.6;
+ width: 1.6em;
+ height: 1.6em;
+ text-align: center;
+ text-decoration: none;
+}
+ .closeMessage:hover,
+ .closeMessage:focus,
+ .close-button:hover,
+ .close-button:focus {
+ background-color: #999;
+ color: #000;
+ }
+
+.close-button--popup {
+ display: inline-block;
+ position: absolute;
+ top: 0;
+ right: 0;
+ font-size: 1.4em;
+}
+
+.active-current {
+ background-color: #999;
+}
+
+.active-current:after {
+ content: "";
+ width: 0;
+ height: 0;
+ position: absolute;
+ border-style: solid;
+ border-width: 10px;
+ border-color: transparent #EEE transparent transparent;
+ right: 0;
+ top: 50%;
+ margin-top: -10px;
+}
+
+.opacity03 {
+ opacity: 0.3;
+}
+
+.add-to-wallabag-link-after {
+ background-color: #000;
+ color: #fff;
+ padding: 0 3px 2px 3px;
+}
+
+a.add-to-wallabag-link-after {
+ visibility: hidden;
+ position: absolute;
+ opacity: 0;
+ transition-duration: 2s;
+ transition-timing-function: ease-out;
+}
+
+#article article a:hover + a.add-to-wallabag-link-after, a.add-to-wallabag-link-after:hover {
+ opacity: 1;
+ visibility: visible;
+ transition-duration: .3s;
+ transition-timing-function: ease-in;
+}
+
+a.add-to-wallabag-link-after:after {
+ content: "w";
+}
+
+#add-link-result {
+ font-weight: bold;
+ font-size: 0.9em;
+}
+
+/* ==========================================================================
+ 3 = Pictos
+ ========================================================================== */
+
+@font-face {
+ font-family: 'icomoon';
+ src:url('../fonts/icomoon.eot?-s0mcsx');
+ src:url('../fonts/icomoon.eot?#iefix-s0mcsx') format('embedded-opentype'),
+ url('../fonts/icomoon.woff?-s0mcsx') format('woff'),
+ url('../fonts/icomoon.ttf?-s0mcsx') format('truetype'),
+ url('../fonts/icomoon.svg?-s0mcsx#icomoon') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+
+.icon span,
+.icon-image span {
+ position: absolute;
+ top: -9999px;
+}
+
+[class^="icon-"]:before, [class*=" icon-"]:before {
+ font-family: 'icomoon';
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+
+ /* Better Font Rendering =========== */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-flattr:before {
+ content: "\e800";
+}
+.icon-mail:before {
+ content: "\e80a";
+}
+.icon-up-open:before {
+ content: "\e80b";
+}
+.icon-star:before {
+ content: "\e805";
+}
+.icon-check:before {
+ content: "\e804";
+}
+.icon-link:before {
+ content: "\e801";
+}
+.icon-reply:before {
+ content: "\e806";
+}
+.icon-menu:before {
+ content: "\e802";
+}
+.icon-clock:before {
+ content: "\e803";
+}
+.icon-twitter:before {
+ content: "\e807";
+}
+.icon-down-open:before {
+ content: "\e809";
+}
+.icon-trash:before {
+ content: "\e80c";
+}
+.icon-delete:before {
+ content: "\e600";
+}
+.icon-power:before {
+ content: "\e601";
+}
+.icon-arrow-up-thick:before {
+ content: "\e602";
+}
+.icon-rss:before {
+ content: "\e808";
+}
+.icon-print:before {
+ content: "\e80d";
+}
+
+
+/* .icon-image class, for image-based icons
+ ========================================================================== */
+
+.icon-image {
+ background-size: 16px 16px;
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 1em !important;
+ padding-left: 1em !important;
+}
+
+/* Carrot (http://carrot.org) */
+.icon-image--carrot {
+ background-image: url('../../_global/img/icons/carrot-icon--white.png');
+}
+
+/* Diaspora */
+.icon-image--diaspora {
+ background-image: url('../../_global/img/icons/diaspora-icon--black.png');
+}}
+
+/* ==========================================================================
+ Icon selected
+ ========================================================================== */
+
+.icon-star.fav:before {
+ color: #FFF;
+}
+
+.icon-check.archive:before {
+ color: #FFF;
+}
+
+/* ==========================================================================
+ 4 = Messages
+ ========================================================================== */
+
+.messages {
+ text-align: left;
+ margin-top: 1em;
+}
+
+.messages > * { display: inline-block;}
+
+.warning {
+ /* font-size: 3em;
+ color: #999;
+ font-style: italic;
+ position: absolute;
+ top: 50%;
+ left: 0;
+ width: 100%;
+ text-align: center;
+ padding-right: 5%;
+ margin-top: -2em;*/
+ font-weight: bold;
+ display: block;
+ width: 100%;
+}
+
+.more-info {
+ font-size: 0.85em;
+ line-height: 1.5;
+ color: #aaa;
+}
+
+ .more-info a {
+ color: #aaa;
+ }
+
+/* ==========================================================================
+ 5 = Article
+ ========================================================================== */
+
+#article {
+ width: 70%;
+ margin-bottom: 3em;
+ text-align: justify;
+}
+
+#article .tags {
+ margin-bottom: 1em;
+}
+
+#article i {
+ font-style: normal;
+}
+
+blockquote {
+ border:1px solid #999;
+ background-color: #FFF;
+ padding: 1em;
+ margin: 0;
+}
+
+#article h1 {
+ text-align: left;
+}
+
+#article h2, #article h3, #article h4 {
+ text-transform: none;
+}
+
+#article h2:after {
+ content: none;
+}
+
+.topPosF {
+ position: fixed;
+ right: 20%;
+ bottom: 2em;
+ font-size: 1.5em;
+}
+
+#article_toolbar {
+ margin-bottom: 1em;
+}
+
+#article_toolbar li {
+ display: inline-block;
+}
+
+#article_toolbar a {
+ background-color: #000;
+ padding: 0.3em 0.5em 0.2em;
+ color: #FFF;
+ text-decoration: none;
+}
+
+ #article_toolbar a:hover, #article_toolbar a:focus {
+ background-color: #999;
+ }
+
+.shaarli:before {
+ content: "*";
+}
+
+.return {
+ text-decoration: none;
+ margin-top: 1em;
+ display: block;
+}
+
+.return:before {
+ margin-right: 0.5em;
+}
+
+.notags {
+ font-style: italic;
+ color: #999;
+}
+
+.icon-rss {
+ background-color: #000;
+ color: #FFF;
+ padding: 0.2em 0.5em;
+}
+
+.icon-rss:before {
+ position: relative;
+ top: 2px;
+}
+
+.list-tags li {
+ margin-bottom: 0.5em;
+}
+
+.list-tags .icon-rss:hover, .list-tags .icon-rss:focus {
+ background-color: #FFF;
+ color: #000;
+ text-decoration: none;
+}
+
+.list-tags a {
+ text-decoration: none;
+}
+
+.list-tags a:hover, .list-tags a:focus {
+ text-decoration: underline;
+}
+
+pre code {
+ font-family: "Courier New", Courier, monospace;
+ border: 1px solid #ccc;
+ font-size: 0.96em;
+}
+
+
+/* ==========================================================================
+ 6 = Media Queries
+ ========================================================================== */
+
+@media screen and (max-width: 1050px) {
+ .entrie {
+ width: 49%;
+ }
+ .entrie:nth-child(3n+1) {
+ margin-left: 1.5%;
+ }
+ .entrie:nth-child(2n+1) {
+ margin-left: 0;
+ }
+}
+
+@media screen and (max-width: 900px) {
+ #article {
+ width: 80%;
+ }
+ .topPosF {
+ right: 2.5em;
+ }
+}
+
+@media screen and (max-width: 700px) {
+ .entrie {
+ width: 100%;
+ margin-left: 0;
+ }
+ #display-mode {
+ display: none;
+ }
+}
+
+@media screen and (max-width: 500px) {
+ .entrie {
+ width: 100%;
+ margin-left: 0;
+ }
+ body > header {
+ background-color: #333;
+ position: fixed;
+ top: 0;
+ width: 100%;
+ height: 3em;
+ z-index: 11;
+ }
+ #links li:last-child {
+ position: static;
+ width: auto;
+ }
+ #links li:last-child a:before {
+ content: none;
+ }
+ .logo {
+ width: 1.25em;
+ height: 1.25em;
+ left: 0;
+ top: 0;
+ }
+ .login > header {
+ position: static;
+ }
+ .login form {
+ width: 100%;
+ position: static;
+ margin-left: 0;
+ }
+ .login .logo {
+ width: auto;
+ height: auto;
+ top: 0.5em;
+ width: 75px;
+ height: 75px;
+ margin-left: -37.5px;
+ }
+ .desktopHide {
+ display: block;
+ position: fixed;
+ z-index: 20;
+ top: 0;
+ right: 0;
+ border:0;
+ width: 2.5em;
+ height: 2.5em;
+ cursor: pointer;
+ background-color: #999;
+ font-size: 1.2em;
+ }
+ .desktopHide:hover, .desktopHide:focus {
+ background-color: #FFF;
+ }
+ #links {
+ display: none;
+ width: 100%;
+ height: auto;
+ padding-top: 3em;
+ }
+ #links.menu--open {
+ display: block;
+ }
+ footer {
+ position: static;
+ margin-right: 3em;
+ }
+ #main {
+ margin-left: 1.5em;
+ padding-right: 1.5em;
+ position: static;
+ margin-top: 3em;
+ }
+ #article_toolbar .topPosF {
+ display: none;
+ }
+
+ #article {
+ width: 100%;
+ }
+
+ #article h1 {
+ font-size: 1.5em;
+ }
+ #article_toolbar a {
+ padding: 0.3em 0.4em 0.2em;
+ }
+
+ #display-mode {
+ display: none;
+ }
+
+ .popup-form, #bagit-form, #search-form {
+ left: 0;
+ width: 100%;
+ border-left: none;
+ }
+
+ .popup-form form,
+ #bagit-form form,
+ #search-form form {
+ width: 100%;
+ }
+}
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 000000000..42da70b30
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/messages.css
@@ -0,0 +1,19 @@
+.messages.error.install {
+ border: 1px solid #c42608;
+ color: #c00 !important;
+ background: #fff0ef;
+ text-align: left;
+}
+
+.messages.notice.install {
+ border: 1px solid #ebcd41;
+ color: #000;
+ background: #fffcd3;
+ text-align: left;
+}
+
+.messages.success.install {
+ border: 1px solid #6dc70c;
+ background: #e0fbcc !important;
+ text-align: left;
+}
\ 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 000000000..9dd6d295c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/print.css
@@ -0,0 +1,62 @@
+/* ### Layout ### */
+
+body {
+ font-family: Serif;
+ background-color: #fff;
+}
+
+@page {
+ margin: 1cm;
+}
+
+img {
+ max-width: 100% !important;
+}
+
+/* ### Content ### */
+
+/* Hide useless blocks */
+body > header,
+#article_toolbar,
+#links,
+#sort,
+body > footer,
+.top_link,
+div.tools,
+header div,
+.messages,
+.entrie + .results {
+ display: none !important;
+}
+
+article {
+ border: none !important;
+}
+
+/* Add URL after links */
+.vieworiginal a:after {
+ content: " (" attr(href) ")";
+}
+
+/* Add explanation after abbr */
+abbr[title]:after {
+ content: " (" attr(title) ")";
+}
+
+/* Change border on current pager item */
+.pagination span.current {
+ border-style: dashed;
+}
+
+#main {
+ width: 100%;
+ padding: 0;
+ margin: 0;
+ margin-left: 0;
+ padding-right: 0;
+ padding-bottom: 0;
+}
+
+#article {
+ width: 100%;
+}
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 000000000..b203cbb89
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/css/ratatouille.css
@@ -0,0 +1,211 @@
+/*
+ Ratatouille mini Framework css by Thomas LEBEAU
+ Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations
+ and normalize.css
+*/
+
+* {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+body {
+ font-size: 1em;
+ line-height:1.5;
+ margin: 0;
+}
+
+/* ==========================================================================
+ Mise en forme
+ ========================================================================== */
+
+h1:first-child,
+h2:first-child,
+h3:first-child,
+h4:first-child,
+h5:first-child,
+h6:first-child,
+p:first-child,
+ul:first-child,
+ol:first-child,
+dl:first-child{
+ margin-top: 0;
+}
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+}
+
+pre {
+ white-space: pre-wrap;
+}
+
+
+.upper {
+ text-transform: uppercase;
+}
+
+.bold {
+ font-weight: bold;
+}
+
+.inner {
+ margin: 0 auto;
+ max-width: 61.25em;/*980px*/
+}
+
+table, img {
+ max-width: 100%;
+ height :auto;
+}
+
+iframe {
+ max-width: 100%;
+}
+
+.fl {
+ float: left;
+}
+
+.fr {
+ float: right;
+}
+
+table {
+ border-collapse: collapse;
+}
+
+figure {
+ margin: 0;
+}
+
+button,
+input,
+select,
+textarea {
+ font-family: inherit;
+ font-size: 100%;
+ margin: 0;
+}
+
+input[type="search"] {
+ -webkit-appearance: textfield;
+}
+
+/* ==========================================================================
+ Mise en page
+ ========================================================================== */
+
+.dib {
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.dnone {
+ display: none;
+}
+
+.dtable { display:table }
+
+ .dtable > * { display:table-row; }
+
+ .dtable > * > * { display:table-cell; }
+
+.element-invisible {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+
+.small {
+ font-size:0.8em;
+}
+
+.big {
+ font-size: 1.2em;
+}
+
+/*Width*/
+
+.w100 { width:100%; }
+.w90 { width:90%; }
+.w80 { width:80%; }
+.w70 { width:70%; }
+.w60 { width:60%; }
+.w50 { width:50%; }
+.w40 { width:40%; }
+.w30 { width:30%; }
+.w20 { width:20%; }
+.w10 { width:10%; }
+
+
+/* ==========================================================================
+ Internet Explorer
+ ========================================================================== */
+
+/*IE8 and IE9*/
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/*IE8 and IE9*/
+
+audio,
+canvas,
+video {
+ display: inline-block;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0){
+ select{
+ -webkit-appearance: none;
+ border-radius: 0;
+ }
+}
+
+/* ==========================================================================
+ Medias Queries
+ ========================================================================== */
+
+/*Desktop 1080px*/
+
+@media screen and (max-width: 67.50em) {
+}
+
+/*Tablet 800px*/
+
+@media screen and (max-width: 50em) {
+}
+
+/*Mobile 640px*/
+
+@media screen and (max-width: 40em) {
+}
+
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 000000000..563235166
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.eot 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 000000000..b45861363
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+{
+ "fontFamily": "icomoon",
+ "majorVersion": 1,
+ "minorVersion": 0,
+ "version": "Version 1.0",
+ "fontId": "icomoon",
+ "psName": "icomoon",
+ "subFamily": "Regular",
+ "fullName": "icomoon",
+ "description": "Generated by IcoMoon"
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 000000000..bb1f21f88
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.ttf 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 000000000..bab137795
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/icomoon.woff 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 000000000..cf7c62e10
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/fonts/ptsans.woff 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 000000000..63e09844e
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/blank.png 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 000000000..b9d536a7c
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/down.png 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 000000000..bd5aff5ae
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/list.png 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 000000000..859c4cd8f
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/table.png 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 000000000..954a8c0ac
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/baggy/top.png 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 000000000..951204412
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/bg-select.png 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 000000000..32543a449
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-other_themes.png 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 000000000..65dc607b7
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-w.png 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 000000000..40193e1c5
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo-wallabag.svg
@@ -0,0 +1,300 @@
+
+
+
+]>
+
+
+
+
+
+
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 000000000..5305c77da
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.png 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 000000000..865da440d
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/img/logo.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
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 000000000..527719d5a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/closeMessage.js
@@ -0,0 +1,17 @@
+$(function(){
+ //---------------------------------------------------------------------------
+ // Show the close icon when the user hover over a message
+ //---------------------------------------------------------------------------
+ // $('.messages').on('mouseenter', function(){
+ // $(this).find('a.closeMessage').stop(true, true).show();
+ // }).on('mouseleave', function(){
+ // $(this).find('a.closeMessage').stop(true, true).hide();
+ // });
+ //---------------------------------------------------------------------------
+ // Close the message box when the user clicks the close icon
+ //---------------------------------------------------------------------------
+ $('a.closeMessage').on('click', function(){
+ $(this).parents('div.messages').slideUp(300, function(){ $(this).remove(); });
+ return false;
+ });
+});
\ 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 000000000..74cbae683
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/init.js
@@ -0,0 +1,51 @@
+$.fn.ready(function() {
+
+ var $listmode = $('#listmode'),
+ $listentries = $("#list-entries");
+
+ /* ==========================================================================
+ Menu
+ ========================================================================== */
+
+ $("#menu").click(function(){
+ $("#links").toggleClass('menu--open');
+ if ($('#content').hasClass('opacity03')) {
+ $('#content').removeClass('opacity03');
+ }
+ });
+
+ /* ==========================================================================
+ List mode or Table Mode
+ ========================================================================== */
+
+ $listmode.click(function(){
+ if ( $.cookie("listmode") == 1 ) {
+ // Cookie
+ $.removeCookie("listmode");
+
+ $listentries.removeClass("listmode");
+ $listmode.removeClass("tablemode");
+ $listmode.addClass("listmode");
+ }
+ else {
+ // Cookie
+ $.cookie("listmode", 1, {expires: 365});
+
+ $listentries.addClass("listmode");
+ $listmode.removeClass("listmode");
+ $listmode.addClass("tablemode");
+ }
+
+ });
+
+ /* ==========================================================================
+ Cookie listmode
+ ========================================================================== */
+
+ if ( $.cookie("listmode") == 1 ) {
+ $listentries.addClass("listmode");
+ $listmode.removeClass("listmode");
+ $listmode.addClass("tablemode");
+ }
+
+});
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 000000000..927190008
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/jquery.cookie.js
@@ -0,0 +1,117 @@
+/*!
+ * jQuery Cookie Plugin v1.4.0
+ * https://github.com/carhartl/jquery-cookie
+ *
+ * Copyright 2013 Klaus Hartl
+ * Released under the MIT license
+ */
+(function (factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as anonymous module.
+ define(['jquery'], factory);
+ } else {
+ // Browser globals.
+ factory(jQuery);
+ }
+}(function ($) {
+
+ var pluses = /\+/g;
+
+ function encode(s) {
+ return config.raw ? s : encodeURIComponent(s);
+ }
+
+ function decode(s) {
+ return config.raw ? s : decodeURIComponent(s);
+ }
+
+ function stringifyCookieValue(value) {
+ return encode(config.json ? JSON.stringify(value) : String(value));
+ }
+
+ function parseCookieValue(s) {
+ if (s.indexOf('"') === 0) {
+ // This is a quoted cookie as according to RFC2068, unescape...
+ s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
+ }
+
+ try {
+ // Replace server-side written pluses with spaces.
+ // If we can't decode the cookie, ignore it, it's unusable.
+ s = decodeURIComponent(s.replace(pluses, ' '));
+ } catch(e) {
+ return;
+ }
+
+ try {
+ // If we can't parse the cookie, ignore it, it's unusable.
+ return config.json ? JSON.parse(s) : s;
+ } catch(e) {}
+ }
+
+ function read(s, converter) {
+ var value = config.raw ? s : parseCookieValue(s);
+ return $.isFunction(converter) ? converter(value) : value;
+ }
+
+ var config = $.cookie = function (key, value, options) {
+
+ // Write
+ if (value !== undefined && !$.isFunction(value)) {
+ options = $.extend({}, config.defaults, options);
+
+ if (typeof options.expires === 'number') {
+ var days = options.expires, t = options.expires = new Date();
+ t.setDate(t.getDate() + days);
+ }
+
+ return (document.cookie = [
+ encode(key), '=', stringifyCookieValue(value),
+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
+ options.path ? '; path=' + options.path : '',
+ options.domain ? '; domain=' + options.domain : '',
+ options.secure ? '; secure' : ''
+ ].join(''));
+ }
+
+ // Read
+
+ var result = key ? undefined : {};
+
+ // To prevent the for loop in the first place assign an empty array
+ // in case there are no cookies at all. Also prevents odd result when
+ // calling $.cookie().
+ var cookies = document.cookie ? document.cookie.split('; ') : [];
+
+ for (var i = 0, l = cookies.length; i < l; i++) {
+ var parts = cookies[i].split('=');
+ var name = decode(parts.shift());
+ var cookie = parts.join('=');
+
+ if (key && key === name) {
+ // If second argument (value) is a function it's a converter...
+ result = read(cookie, value);
+ break;
+ }
+
+ // Prevent storing a cookie that we couldn't decode.
+ if (!key && (cookie = read(cookie)) !== undefined) {
+ result[name] = cookie;
+ }
+ }
+
+ return result;
+ };
+
+ config.defaults = {};
+
+ $.removeCookie = function (key, options) {
+ if ($.cookie(key) !== undefined) {
+ // Must not alter options, thus extending a fresh object...
+ $.cookie(key, '', $.extend({}, options, { expires: -1 }));
+ return true;
+ }
+ return false;
+ };
+
+}));
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 000000000..331c9e196
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/public/js/restoreScroll.js
@@ -0,0 +1,25 @@
+function supportsLocalStorage() {
+ try {
+ return 'localStorage' in window && window['localStorage'] !== null;
+ } catch (e) {
+ return false;
+ }
+}
+
+function savePercent(id, percent) {
+ if (!supportsLocalStorage()) { return false; }
+ localStorage["poche.article." + id + ".percent"] = percent;
+ return true;
+}
+
+function retrievePercent(id) {
+ if (!supportsLocalStorage()) { return false; }
+
+ var bheight = $(document).height();
+ var percent = localStorage["poche.article." + id + ".percent"];
+ var scroll = bheight * percent;
+
+ $('html,body').animate({scrollTop: scroll}, 'fast');
+
+ return true;
+}
\ 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 000000000..19cd24bb3
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/baggy/screenshot.jpg 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 000000000..65930eb25
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/tags.twig
@@ -0,0 +1,13 @@
+{% extends "layout.twig" %}
+{% block title %}Tags{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block content %}
+
{% trans "Tags" %}
+
+{% 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 000000000..31665e18e
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/theme.ini
@@ -0,0 +1,3 @@
+name = Baggy
+description = Responsive black and white theme especially adapted to smartphones.
+requirements[] = 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 000000000..1afd9df6a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/baggy/view.twig
@@ -0,0 +1,102 @@
+{% extends "layout.twig" %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %}
+{% block content %}
+ {% include '_highlight.twig' %}
+
+
+
+ {{ entry.title|raw }}
+
+
+
+ {{ content | raw }}
+
+
+
+
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/README.md b/src/Wallabag/CoreBundle/Resources/views/dark/README.md
new file mode 100644
index 000000000..92077994a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/dark/README.md
@@ -0,0 +1,3 @@
+# dark theme
+
+theme created by Nicolas Lœuillet aka nico_somb
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/dark b/src/Wallabag/CoreBundle/Resources/views/dark/dark
new file mode 120000
index 000000000..5743bc497
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/dark/dark
@@ -0,0 +1 @@
+../../src/Wallabag/CoreBundle/Resources/views/dark
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/css/style-dark.css b/src/Wallabag/CoreBundle/Resources/views/dark/public/css/style-dark.css
new file mode 100644
index 000000000..41782c485
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/dark/public/css/style-dark.css
@@ -0,0 +1,74 @@
+body {
+ color: #d4d4d4;
+ background-color: #262627;
+}
+
+a,
+a:hover,
+a:visited {
+ color: #d4d4d4;
+}
+
+a.back span {
+ background-image: url('../img/dark/left.png');
+}
+
+a.top span {
+ background-image: url('../img/dark/top.png');
+}
+
+a.fav span,
+a.fav-off span:hover {
+ background-image: url('../img/dark/star-on.png');
+}
+
+a.fav span:hover,
+a.fav-off span {
+ background-image: url('../img/dark/star-off.png');
+}
+
+a.archive span,
+a.archive-off span:hover {
+ background-image: url('../img/dark/checkmark-on.png');
+}
+
+a.archive span:hover,
+a.archive-off span {
+ background-image: url('../img/dark/checkmark-off.png');
+}
+
+a.twitter span {
+ background-image: url('../img/dark/twitter.png');
+}
+
+a.shaarli span {
+ background-image: url('../img/dark/shaarli.png');
+}
+
+a.flattr span {
+ background-image: url('../img/dark/flattr.png');
+}
+
+a.email span {
+ background-image: url('../img/dark/envelop.png');
+}
+
+a.delete span {
+ background-image: url('../img/dark/remove.png');
+}
+
+a.link span {
+ background-image: url('../img/dark/link.png');
+}
+
+a.bad-display span {
+ background-image: url('../img/dark/bad-display.png');
+}
+
+.pagination a {
+ color: #aaa;
+}
+
+#article_toolbar {
+ background: #262627;
+}
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/backtotop.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/backtotop.png
new file mode 100644
index 000000000..c885086dc
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/backtotop.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/bad-display.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/bad-display.png
new file mode 100644
index 000000000..66ea2e160
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/bad-display.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/checkmark-off.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/checkmark-off.png
new file mode 100644
index 000000000..661ea997a
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/checkmark-off.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/checkmark-on.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/checkmark-on.png
new file mode 100644
index 000000000..5ee8c8d30
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/checkmark-on.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/down.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/down.png
new file mode 100644
index 000000000..4150e17cb
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/down.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/envelop.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/envelop.png
new file mode 100644
index 000000000..73d9b0b96
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/envelop.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/flattr.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/flattr.png
new file mode 100644
index 000000000..b457d080b
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/flattr.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/left.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/left.png
new file mode 100644
index 000000000..c2f7a20ec
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/left.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/link.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/link.png
new file mode 100644
index 000000000..a5b8d8d2b
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/link.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/remove.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/remove.png
new file mode 100644
index 000000000..0c3dcfdff
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/remove.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/rss.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/rss.png
new file mode 100644
index 000000000..21bad1a17
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/rss.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/shaarli.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/shaarli.png
new file mode 100644
index 000000000..e68ac8b54
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/shaarli.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/star-off.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/star-off.png
new file mode 100644
index 000000000..8194bc2dc
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/star-off.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/star-on.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/star-on.png
new file mode 100644
index 000000000..109c3aec7
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/star-on.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/top.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/top.png
new file mode 100644
index 000000000..d137bd240
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/top.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/twitter.png b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/twitter.png
new file mode 100644
index 000000000..6ce8a4d96
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/public/img/dark/twitter.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/public/public b/src/Wallabag/CoreBundle/Resources/views/dark/public/public
new file mode 120000
index 000000000..fd316b377
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/dark/public/public
@@ -0,0 +1 @@
+../../themes/default/public
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/screenshot.jpg b/src/Wallabag/CoreBundle/Resources/views/dark/screenshot.jpg
new file mode 100644
index 000000000..daaad6c9e
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dark/screenshot.jpg differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dark/theme.ini b/src/Wallabag/CoreBundle/Resources/views/dark/theme.ini
new file mode 100644
index 000000000..4b020d363
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/dark/theme.ini
@@ -0,0 +1,2 @@
+name = Dark
+requirements[] = default
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_bookmarklet.twig b/src/Wallabag/CoreBundle/Resources/views/default/_bookmarklet.twig
new file mode 100644
index 000000000..619963539
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_bookmarklet.twig
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_footer.twig b/src/Wallabag/CoreBundle/Resources/views/default/_footer.twig
new file mode 100644
index 000000000..213a4acad
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_footer.twig
@@ -0,0 +1,4 @@
+
+ {% trans "powered by" %} wallabag
+ {% if constant('DEBUG_POCHE') == 1 %}{% trans "debug mode is on so cache is off." %} {% trans "your wallabag version:" %}{{constant('WALLABAG')}}. {% trans "storage:" %} {{constant('STORAGE')}}
{% endif %}
+
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_head.twig b/src/Wallabag/CoreBundle/Resources/views/default/_head.twig
new file mode 100755
index 000000000..277e38334
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_head.twig
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_highlight.twig b/src/Wallabag/CoreBundle/Resources/views/default/_highlight.twig
new file mode 100755
index 000000000..cdb7c6bf3
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_highlight.twig
@@ -0,0 +1,4 @@
+ {# include excelent highlight.js library for code highligting, see http://highlightjs.org/ #}
+
+
+
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_import.twig b/src/Wallabag/CoreBundle/Resources/views/default/_import.twig
new file mode 100755
index 000000000..c59b7a154
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_import.twig
@@ -0,0 +1,15 @@
+
+
+
{% trans "Download required for " %} {{ import.recordsDownloadRequired }} {% trans "records" %}.
+
{% trans "Downloading next " %} {{ import.recordsUnderDownload }} {% trans "articles, please wait" %}...
+
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_menu.twig b/src/Wallabag/CoreBundle/Resources/views/default/_menu.twig
new file mode 100644
index 000000000..eedf84f10
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_menu.twig
@@ -0,0 +1,14 @@
+
+ {% include '_pocheit-form.twig' %}
+ {% include '_search-form.twig' %}
+
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_messages.twig b/src/Wallabag/CoreBundle/Resources/views/default/_messages.twig
new file mode 100644
index 000000000..679aa0981
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_messages.twig
@@ -0,0 +1 @@
+ {{ messages | raw }}
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_pocheit-form.twig b/src/Wallabag/CoreBundle/Resources/views/default/_pocheit-form.twig
new file mode 100755
index 000000000..8c982db09
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_pocheit-form.twig
@@ -0,0 +1,8 @@
+
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_search-form.twig b/src/Wallabag/CoreBundle/Resources/views/default/_search-form.twig
new file mode 100755
index 000000000..0cf6097a5
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_search-form.twig
@@ -0,0 +1,9 @@
+
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_sorting.twig b/src/Wallabag/CoreBundle/Resources/views/default/_sorting.twig
new file mode 100755
index 000000000..3ce9b949f
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_sorting.twig
@@ -0,0 +1,6 @@
+{% if entries|length > 1 %}
+
+ {% trans "by date" %}
+ {% trans "by title" %}
+
+{% endif %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/_top.twig b/src/Wallabag/CoreBundle/Resources/views/default/_top.twig
new file mode 100755
index 000000000..45806f01a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/_top.twig
@@ -0,0 +1,7 @@
+
+
+ {% if view == 'home' %}{% block logo %} {% endblock %}
+ {% else %}{{ block('logo') }}
+ {% endif %}
+
+
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/about.twig b/src/Wallabag/CoreBundle/Resources/views/default/about.twig
new file mode 100755
index 000000000..50ffd8ef4
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/about.twig
@@ -0,0 +1,74 @@
+{% extends "layout.twig" %}
+
+{% block title %}{% trans "About wallabag" %}{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block content %}
+
{% trans "About wallabag" %}
+
+
+ {% trans "Project website" %}
+ http://www.wallabag.org
+
+ {% trans "Main developer" %}
+ Nicolas Lœuillet — {% trans "website" %}
+
+ {% trans "Contributors:" %}
+ {% trans "on Github" %}
+
+ {% trans "Bug reports" %}
+ {% trans "On our support website" %} {% trans "or" %} {% trans "on Github" %}
+
+ {% trans "License" %}
+ MIT
+
+ {% trans "Version" %}
+ {{ constant('WALLABAG') }}
+
+
+
{% 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." %}
+
+
{% trans "Helping wallabag" %}
+
+
{% trans "wallabag is free and opensource. You can help us:" %}
+
+
+ {% trans "via Paypal" %}
+
+ {% trans "via Flattr" %}
+
+
+
{% trans "Credits" %}
+
+ PHP Readability
+ https://bitbucket.org/fivefilters/php-readability
+
+ Full Text RSS
+ http://code.fivefilters.org/full-text-rss/src
+
+ logo by Maylis Agniel
+ https://github.com/wallabag/logo
+
+ icons
+ http://icomoon.io
+
+ PHP Simple HTML DOM Parser
+ http://simplehtmldom.sourceforge.net/
+
+ Session
+ https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php
+
+ Twig
+ http://twig.sensiolabs.org
+
+ Flash messages
+ https://github.com/plasticbrain/PHP-Flash-Messages
+
+ Pagination
+ https://github.com/daveismyname/pagination
+
+ PHPePub
+ https://github.com/Grandt/PHPePub/
+
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/config.twig b/src/Wallabag/CoreBundle/Resources/views/default/config.twig
new file mode 100755
index 000000000..b7d91937b
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/config.twig
@@ -0,0 +1,188 @@
+{% extends "layout.twig" %}
+
+{% block title %}{% trans "config" %}{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block content %}
+
{% trans "Saving articles" %}
+
{% trans "There are several ways to save an article:" %} {% trans "(? )" %}
+
+
+
+
Browser Plugins
+
+
Mobile Apps
+
+
{% trans "Bookmarklet" %}
+
+ {% trans "Drag & drop this link to your bookmarks bar:" %} {% trans "bag it!" %}
+
+
+
{% trans "Feeds" %}
+ {% if token == '' %}
+
{% trans "Your feed token is currently empty and must first be generated to enable feeds. Click here to generate it ." %}
+ {% else %}
+
+
+ {% trans "Your token:" %} {{token}}
+ {% trans "Your user id:" %} {{user_id}}
+ {% trans "You can regenerate your token: generate! ." %}
+
+ {% endif %}
+
+
{% trans "Change your theme" %}
+
+
+
{% trans "Change your language" %}
+
+
+
{% trans "Import" %}
+
{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}
+
{% 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." %}
+
+
{% trans "You can click here to fetch content for articles with no content." %}
+
{% 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)." %}
+
+
{% trans "Export your wallabag data" %}
+
{% trans "Export JSON" %}
+ Data will be exported in a single JSON file.
+
+
{% trans "Fancy an E-Book ?" %}
+
{% trans "Click to get all your articles in one ebook :" %}
+
+
+
+
{% trans "This can take a while and can even fail if you have too many articles, depending on your server configuration." %}
+
+
{% trans "Cache" %}
+
{% trans "Delete Cache" %}
+ Deleting the cache may help with display or other problems.
+
+ {% if http_auth == 0 %}
+
{% trans "Change your password" %}
+
+ {% endif %}
+
+
{% trans 'Add user' %}
+
+
+
{% trans "Delete account" %}
+ {% if not only_user %}
+ {% else %}
{% trans "You are the only user, you cannot delete your own account." %}
+
{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}
{% endif %}
+
+
{% trans "Upgrading wallabag" %}
+
+ {% trans "Installed version" %}: {{ constant('WALLABAG') }}
+ {% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}{% trans "A more recent stable version is available." %} {% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})
+ {% if constant('DEBUG_POCHE') == 1 %}{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}{% trans "A more recent development version is available." %} {% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}
+
+
{% trans "You can clear cache to check the latest release." %}
+
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/edit-tags.twig b/src/Wallabag/CoreBundle/Resources/views/default/edit-tags.twig
new file mode 100755
index 000000000..c29427e0a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/edit-tags.twig
@@ -0,0 +1,35 @@
+{% extends "layout.twig" %}
+{% block title %}edit tags{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block content %}
+
+
+
+
+
+
+
+ {{ entry.title|raw }}
+
+
+
+{% if tags is empty %}
+{% trans "no tags" %}
+{% endif %}
+
+{% for tag in tags %}{{ tag.value }} ✘ {% endfor %}
+
+
+
+
« {% trans "return to article" %}
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/error.twig b/src/Wallabag/CoreBundle/Resources/views/default/error.twig
new file mode 100644
index 000000000..528a09858
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/error.twig
@@ -0,0 +1,14 @@
+{% extends "layout.twig" %}
+{% block title %}{% trans "plop" %}{% endblock %}
+{% block content %}
+
Errors
+
+ {% for message in msg %}
+ {{message}}
+ {% endfor %}
+
+
Don't forget the documentation .
+
+ {% trans "You can check your configuration here ." %}
+
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/export.twig b/src/Wallabag/CoreBundle/Resources/views/default/export.twig
new file mode 100644
index 000000000..4adb95402
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/export.twig
@@ -0,0 +1 @@
+{{ export }}
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/home.twig b/src/Wallabag/CoreBundle/Resources/views/default/home.twig
new file mode 100755
index 000000000..b90005598
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/home.twig
@@ -0,0 +1,82 @@
+{% extends "layout.twig" %}
+{% block title %}
+{% if view == 'fav' %}
+{% trans "favoris" %}
+{% elseif view == 'archive' %}
+{% trans "archive" %}
+{% else %}
+{% trans "unread" %}
+{% endif %}
+{% endblock %}
+{% block menu %}
+{% include '_menu.twig' %}
+{% endblock %}
+{% block precontent %}
+
+{% include '_sorting.twig' %}
+{% endblock %}
+{% block content %}
+
+ {% if includeImport %}
+ {% include '_import.twig' %}
+ {% endif %}
+
+ {% if tag %}
+
{% trans "Tag" %}: {{ tag.value }}
+ {% endif %}
+
+ {% if entries is empty %}
+
{% trans "No articles found." %}
+ {% else %}
+ {% block pager %}
+ {% if nb_results > 1 %}
+
+
{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}
+ {{ page_links | raw }}
+
+ {% elseif nb_results == 1 %}
+ {% if searchterm is defined %}
+
+
{% trans "Only one result found for " %} « {{ searchterm }} »
+
+ {% endif %}
+ {% endif %}
+ {% endblock %}
+ {% for entry in entries %}
+
+
+
+
{{ entry.content|striptags|slice(0, 300) }}...
+
+ {% endfor %}
+
+ {{ block('pager') }}
+ {% if view == 'home' %}{% if nb_results > 1 %}
{% trans "Mark all the entries as read" %}
{% endif %}{% endif %}
+ {% if searchterm is defined %}
{% trans "Tag these results as" %} {{ searchterm }} {% endif %}
+
+ {% if searchterm is defined %}
{% trans "Delete results matching" %} {{ searchterm }} {% endif %}
+
+ {% if tag %}
{% trans "Mark all articles from this tag as read" %} {% endif %}
+
+ {% if tag %}
+ {% if constant('EPUB') == 1 %}
{% trans "Download as ePub3" %} {% endif %}
+ {% if constant('MOBI') == 1 %}
{% trans "Download as Mobi" %} {% endif %}
+ {% if constant('PDF') == 1 %}
{% trans "Download as PDF" %} {% endif %}
+ {% elseif searchterm is defined %}
+ {% if constant('EPUB') == 1 %}
{% trans "Download as ePub3" %} {% endif %}
+ {% if constant('MOBI') == 1 %}
{% trans "Download as Mobi" %} {% endif %}
+ {% if constant('PDF') == 1 %}
{% trans "Download as PDF" %} {% endif %}
+ {% else %}
+ {% if constant('EPUB') == 1 %}
{% trans "Download as ePub3" %} {% endif %}
+ {% if constant('MOBI') == 1 %}
{% trans "Download as Mobi" %} {% endif %}
+ {% if constant('PDF') == 1 %}
{% trans "Download as PDF" %} {% endif %}
+ {% endif %}
+
+ {% endif %}
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/install.twig b/src/Wallabag/CoreBundle/Resources/views/default/install.twig
new file mode 100644
index 000000000..c89c7e47e
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/install.twig
@@ -0,0 +1,28 @@
+{% extends "layout.twig" %}
+{% block title %}{% trans "installation" %}{% endblock %}
+{% block content %}
+
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/layout.twig b/src/Wallabag/CoreBundle/Resources/views/default/layout.twig
new file mode 100644
index 000000000..dfebc3eac
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/layout.twig
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
{% block title %}{% endblock %} - wallabag
+{% include '_head.twig' %}
+{% include '_bookmarklet.twig' %}
+
+
+ {% include '_top.twig' %}
+
+ {% block menu %}{% endblock %}
+ {% block precontent %}{% endblock %}
+ {% block messages %}
+ {% include '_messages.twig' %}
+ {% endblock %}
+
+ {% block content %}{% endblock %}
+
+
+{% include '_footer.twig' %}
+
+
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/login.twig b/src/Wallabag/CoreBundle/Resources/views/default/login.twig
new file mode 100644
index 000000000..b9f8b497c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/login.twig
@@ -0,0 +1,34 @@
+{% extends "layout.twig" %}
+
+{% block title %}{% trans "login to your wallabag" %}{% endblock %}
+{% block content %}
+ {% if http_auth == 0 %}
+
+ {% endif %}
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/animated-overlay.gif b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/animated-overlay.gif
new file mode 100644
index 000000000..d441f75eb
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/animated-overlay.gif differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 000000000..9f10cb65d
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_flat_75_ffffff_40x100.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644
index 000000000..b89b914b9
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_flat_75_ffffff_40x100.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_55_fbf9ee_1x400.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 000000000..780d3ffdc
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_55_fbf9ee_1x400.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_65_ffffff_1x400.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 000000000..da53255b3
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_65_ffffff_1x400.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_75_dadada_1x400.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 000000000..f6306608b
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_75_dadada_1x400.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_75_e6e6e6_1x400.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 000000000..7d3470653
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_75_e6e6e6_1x400.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_95_fef1ec_1x400.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 000000000..533c49006
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_glass_95_fef1ec_1x400.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 000000000..bf3a9481a
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_222222_256x240.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_222222_256x240.png
new file mode 100644
index 000000000..c1cb1170c
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_222222_256x240.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_2e83ff_256x240.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 000000000..84b601bf0
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_2e83ff_256x240.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_454545_256x240.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_454545_256x240.png
new file mode 100644
index 000000000..b6db1acdd
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_454545_256x240.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_888888_256x240.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_888888_256x240.png
new file mode 100644
index 000000000..feea0e202
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_888888_256x240.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_cd0a0a_256x240.png b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 000000000..ed5b6b093
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/css/images/ui-icons_cd0a0a_256x240.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/knacss.css b/src/Wallabag/CoreBundle/Resources/views/default/public/css/knacss.css
new file mode 100644
index 000000000..ca0696b7a
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/public/css/knacss.css
@@ -0,0 +1 @@
+html{font-size:62.5%}body{font-family:"Century Gothic",helvetica,arial,sans-serif;font-size:1.4em;line-height:1.5;color:#000;background-color:#FFF}p,ul,ol,dl,blockquote,pre,td,th,label,textarea,caption,details,figure,hgroup{margin:.75em 0 0;font-size:1em;line-height:1.5}h1,.h1-like{margin:.8077em 0 0 0;font-size:1.8571em;font-weight:normal;line-height:1.6154em}h2,.h2-like{margin:.875em 0 0 0;font-size:1.7143em;font-weight:normal;line-height:1.75em}h3,.h3-like{margin:.9545em 0 0 0;font-size:1.5714em;font-weight:normal;line-height:1.909em}h4,.h4-like{margin:1.05em 0 0 0;font-size:1.4286em;font-weight:normal;line-height:1.05em}h5,.h5-like{margin:1.1667em 0 0 0;font-size:1.2857em;font-weight:normal;line-height:1.1667em}h6,.h6-like{margin:1.3125em 0 0 0;font-size:1.1429em;font-weight:normal;line-height:1.3125em}.smaller{font-size:.7143em}.small{font-size:.8571em}.big{font-size:1.1429em}.bigger{font-size:1.2857em}.biggest{font-size:1.4286em}html,body,textarea,figure,label{margin:0;padding:0}ul,ol{padding-left:2em}code,pre,samp,kbd{font-family:consolas,'DejaVu Sans Mono',courier,monospace;line-height:1em;white-space:pre-wrap}code,kbd,mark{border-radius:2px}em{font-style:italic}strong{font-weight:bold}kbd{padding:0 2px;border:1px solid #999}code{padding:2px 4px;color:#B11;background:rgba(0,0,0,.04)}mark{padding:2px 4px;background:#FF0}table{margin-bottom:1.5em}p:first-child,ul:first-child,ol:first-child,dl:first-child,blockquote:first-child,pre:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}li p,li ul,li ol{margin-top:0;margin-bottom:0}img,table,td,blockquote,code,pre,textarea,input,video{max-width:100%}div,textarea,table,td,th,code,pre,samp{word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;-o-hyphens:auto;hyphens:auto}img{height:auto;vertical-align:middle}#map_canvas img,.gmnoprint img{max-width:none}a img{border:0}body > script{display:none !important}.skip-links{position:absolute}.skip-links a{position:absolute;left:-7000px;padding:.5em;text-decoration:none;color:#FFF;background:#000}.skip-links a:focus{position:static}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mod,.item{overflow:hidden}.row{display:table;width:100%;table-layout:fixed}.row > *,.col{display:table-cell;vertical-align:top}.clear,.line,.row{clear:both}.clearfix:after,.line:after,.mod:after{content:"";display:table;clear:both}.left{float:left}img.left{margin-right:1em}.right{float:right}img.right{margin-left:1em}img.left,img.right{margin-bottom:5px}.center{margin-right:auto;margin-left:auto}.txtleft{text-align:left}.txtright{text-align:right}.txtcenter{text-align:center}.inbl{display:inline-block;margin-right:-.25em;vertical-align:top}.w10{width:10%}.w20{width:20%}.w25{width:25%}.w30{width:30%}.w33{width:33.333%}.w40{width:40%}.w50{width:50%}.w60{width:60%}.w66{width:66.666%}.w70{width:70%}.w75{width:75%}.w80{width:80%}.w90{width:90%}.w100{width:100%}.w50p{width:50px}.w100p{width:100px}.w150p{width:150px}.w200p{width:200px}.w300p{width:300px}.w400p{width:400px}.w500p{width:500px}.w600p{width:600px}.w700p{width:700px}.w800p{width:800px}.w960p{width:960px}.mw960p{max-width:960px}.m-reset,.ma0{margin:0 !important}.p-reset,.pa0{padding:0 !important}.ma1,.mas{margin:10px !important}.ma2,.mam{margin:20px !important}.ma3,.mal{margin:30px !important}.pa1,.pas{padding:10px}.pa2,.pam{padding:20px}.pa3,.pal{padding:30px}.mt0,.mtn{margin-top:0 !important}.mt1,.mts{margin-top:10px !important}.mt2,.mtm{margin-top:20px !important}.mt3,.mtl{margin-top:30px !important}.mr0,.mrn{margin-right:0}.mr1,.mrs{margin-right:10px}.mr2,.mrm{margin-right:20px}.mr3,.mrl{margin-right:30px}.mb0,.mbn{margin-bottom:0 !important}.mb1,.mbs{margin-bottom:10px !important}.mb2,.mbm{margin-bottom:20px !important}.mb3,.mbl{margin-bottom:30px !important}.ml0,.mln{margin-left:0}.ml1,.mls{margin-left:10px}.ml2,.mlm{margin-left:20px}.ml3,.mll{margin-left:30px}.pt0,.ptn{padding-top:0}.pt1,.pts{padding-top:10px}.pt2,.ptm{padding-top:20px}.pt3,.ptl{padding-top:30px}.pr0,.prn{padding-right:0}.pr1,.prs{padding-right:10px}.pr2,.prm{padding-right:20px}.pr3,.prl{padding-right:30px}.pb0,.pbn{padding-bottom:0}.pb1,.pbs{padding-bottom:10px}.pb2,.pbm{padding-bottom:20px}.pb3,.pbl{padding-bottom:30px}.pl0,.pln{padding-left:0}.pl1,.pls{padding-left:10px}.pl2,.plm{padding-left:20px}.pl3,.pll{padding-left:30px}.visually-hidden{position:absolute;left:-7000px;overflow:hidden}[dir=rtl] .visually-hidden{right:-7000px;left:auto}.desktop-hidden{display:none}form,fieldset{border:none}input,button,select,label,.btn{font-family:inherit;vertical-align:middle}textarea{font-family:inherit;resize:vertical}.ie67 .clearfix,.ie67 .line,.ie67 .mod,.ie67 .row,.ie67 .col{zoom:1}.ie67 .btn,.ie67 .col,.ie67 .inbl{display:inline;zoom:1}.ie8 img{width:auto}@media print{p,blockquote{orphans:2;widows:2}blockquote,ul,ol{page-break-inside:avoid}h1,h2,h3,caption{page-break-after:avoid}}@media(orientation:landscape)and(max-device-width:768px){html,body{-webkit-text-size-adjust:100%}}[class*=grid] > *{float:left}[class*=grid] > * + *{margin-left:2%}.grid2 > *{width:49%}.grid3 > *{width:32%}.grid4 > *{width:23.5%}.grid5 > *{width:18.4%}.grid6 > *{width:15%}.grid2-1 > *:first-child,.grid1-2 > * + *{width:66%}.grid1-2 > *:first-child,.grid2-1 > * + *{width:32%}.grid1-3 > *:first-child,.grid3-1 > * + *{width:23.5%}.grid3-1 > *:first-child,.grid1-3 > * + *{width:74.5%}table,.table{max-width:100%;border-collapse:collapse;table-layout:fixed;vertical-align:top}table{width:100%}.table{display:table}caption{padding:10px;font-style:italic;color:#555}table{border:1px solid #CCC}tr > * + *{border-left:1px solid #CCC}th,td{padding:.3em .8em;border-bottom:1px solid #CCC;text-align:left}td{color:#333}.alternate{border:0}.alternate tbody{border:1px solid #CCC}.alternate thead tr > * + *{border-left:0}.alternate tbody tr > * + *{border-left:1px solid #CCC}.alternate-vert{border:0;border-right:1px solid #CCC}.alternate-vert tr >:first-child{border-bottom:0}.alternate-vert tr > * + *{border-top:1px solid #CCC}.striped tbody tr:nth-child(odd){background:#EEE;background:rgba(0,0,0,.05)}.striped-vert tr >:first-child{background:#EEE;background:rgba(0,0,0,.05)}.btn{display:inline-block}label{display:inline-block;vertical-align:middle;cursor:pointer}legend{border:0;white-space:normal}button,input,select{margin:0;font-family:"Century Gothic",helvetica,arial,sans-serif;font-size:100%;vertical-align:middle}textarea{min-height:5em;overflow:auto;font-size:1.75em;vertical-align:top;resize:vertical}}ol.styled{counter-reset:styled}ol.styled > li{counter-increment:styled;margin-bottom:.3em;list-style-type:none}ol.styled > li:before{content:counter(styled);display:inline-block;width:1em;height:1em;margin-right:.4em;padding:2px;border-radius:50%;text-align:center;text-indent:-.1em;font-size:.9em;line-height:1;vertical-align:middle;color:#FFF;background:rgba(0,0,0,.5)}@media(min-width:1280px){.large-hidden,.tablet-hidden{display:none !important}.large-visible{display:block !important}.large-no-float{float:none}.large-inbl{display:inline-block;float:none;vertical-align:top}.large-row{display:table;width:100% !important;table-layout:fixed}.large-col{display:table-cell;vertical-align:top}.large-w25{width:25% !important}.large-w33{width:33.3333% !important}.large-w50{width:50% !important}.large-w66{width:66.6666% !important}.large-w75{width:75% !important}.large-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.large-ma0,.large-man{margin:0 !important}}@media(max-width:768px){.w60,.w66,.w70,.w75,.w80,.w90,.w100,.w600p,.w700p,.w800p,.w960p,.mw960p,.medium-wauto{width:auto}.medium-hidden,.tablet-hidden{display:none !important}.medium-visible{display:block !important}.medium-no-float{float:none}.medium-inbl{display:inline-block;float:none;vertical-align:top}.medium-row{display:table;width:100% !important;table-layout:fixed}.medium-col{display:table-cell;vertical-align:top}.medium-w25{width:25% !important}.medium-w33{width:33.3333% !important}.medium-w50{width:50% !important}.medium-w66{width:66.6666% !important}.medium-w75{width:75% !important}.medium-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.medium-ma0,.medium-man{margin:0 !important}.grid4 > *{width:49% !important}.grid4 >:first-child + * + *{margin-left:0 !important}.grid6 > *{width:32% !important}.grid6 >:first-child + * + * + *{margin-left:0 !important}}@media(max-width:640px){.mod,.item,.col,fieldset{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.w30,.w33,.w40,.w50,.w300p,.w400p,.w500p{width:auto}.row{display:block !important;width:100% !important}.tiny-hidden,.phone-hidden{display:none !important}.tiny-visible{display:block !important}.tiny-no-float{float:none}.tiny-inbl{display:inline-block;float:none;vertical-align:top}.tiny-row{display:table;width:100% !important;table-layout:fixed}.tiny-col{display:table-cell;vertical-align:top}th,td{display:block !important;width:auto !important;text-align:left !important}thead{display:none}.tiny-w25{width:25% !important}.tiny-w33{width:33.3333% !important}.tiny-w50{width:50% !important}.tiny-w66{width:66.6666% !important}.tiny-w75{width:75% !important}.tiny-w100{display:block !important;float:none !important;clear:none !important;width:auto !important;margin-right:0 !important;margin-left:0 !important;border:0}.tiny-ma0,.tiny-man{margin:0 !important}}
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/messages.css b/src/Wallabag/CoreBundle/Resources/views/default/public/css/messages.css
new file mode 100644
index 000000000..46b547956
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/public/css/messages.css
@@ -0,0 +1,75 @@
+.messages {
+ display: block;
+ clear: both;
+ width: 400px;
+ margin: 10px auto 10px;
+ padding: 10px 0;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.messages a.closeMessage {
+ display: none;
+ float: right;
+ width: 16px;
+ height: 16px;
+ margin: -14px -8px 0 0;
+ background: url(../img/messages/close.png) no-repeat;
+}
+
+/*.messages:hover a.closeMessage { visibility:visible; }*/
+
+.messages p {
+ margin: 3px 0 3px 10px !important;
+ padding: 0 10px 0 23px !important;
+ font-size: 14px;
+ line-height: 16px;
+}
+
+.messages.error {
+ border: 1px solid #c42608;
+ color: #c00 !important;
+ background: #fff0ef;
+}
+
+.messages.error p {
+ color: #c00 !important;
+ background: url(../img/messages/cross.png) no-repeat 0 50%;
+}
+
+.messages.success {
+ border: 1px solid #6dc70c;
+ background: #e0fbcc;
+}
+
+.messages.success p {
+ color: #2b6301 !important;
+ background: url(../img/messages/tick.png) no-repeat 0 50%;
+}
+
+.messages.warning {
+ border: 1px solid #ebcd41;
+ color: #000;
+ background: #fffcd3;
+}
+
+.messages.warning p {
+ color: #5f4e01;
+ background: url(../img/messages/warning.png) no-repeat 0 50%;
+}
+
+.messages.information,
+.messages.info {
+ border: 1px solid #82aee7;
+ background: #dfebfb;
+}
+
+.messages.information p,
+.messages.info p {
+ color: #064393;
+ background: url(../img/messages/help.png) no-repeat 0 50%;
+}
+
+.messages.information a {
+ text-decoration: underline;
+}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/print.css b/src/Wallabag/CoreBundle/Resources/views/default/public/css/print.css
new file mode 100644
index 000000000..625478e19
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/public/css/print.css
@@ -0,0 +1,53 @@
+/* ### Layout ### */
+
+body {
+ font-family: Serif;
+ background-color: #fff;
+}
+
+@page {
+ margin: 1cm;
+}
+
+img {
+ max-width: 100% !important;
+}
+
+/* ### Content ### */
+
+/* Hide useless blocks */
+body > header,
+#links,
+#sort,
+body > footer,
+.top_link,
+div.tools,
+header div,
+.messages,
+.entrie + .results,
+#article_toolbar {
+ display: none !important;
+}
+
+article {
+ border: none !important;
+}
+
+pre code {
+ line-height: 1.6em;
+}
+
+/* Add URL after links */
+.vieworiginal a:after {
+ content: " (" attr(href) ")";
+}
+
+/* Add explanation after abbr */
+abbr[title]:after {
+ content: " (" attr(title) ")";
+}
+
+/* Change border on current pager item */
+.pagination span.current {
+ border-style: dashed;
+}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/style-default.css b/src/Wallabag/CoreBundle/Resources/views/default/public/css/style-default.css
new file mode 100755
index 000000000..4406d48f4
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/public/css/style-default.css
@@ -0,0 +1,69 @@
+a.back span {
+ background-image: url('../img/default/left.png');
+}
+
+a.top span {
+ background-image: url('../img/default/top.png');
+}
+
+a.fav span,
+a.fav-off span:hover {
+ background-image: url('../img/default/star-on.png');
+}
+
+a.fav span:hover,
+a.fav-off span {
+ background-image: url('../img/default/star-off.png');
+}
+
+a.archive span,
+a.archive-off span:hover {
+ background-image: url('../img/default/checkmark-on.png');
+}
+
+a.archive span:hover,
+a.archive-off span {
+ background-image: url('../img/default/checkmark-off.png');
+}
+
+a.twitter span {
+ background-image: url('../img/default/twitter.png');
+}
+
+a.shaarli span {
+ background-image: url('../img/default/shaarli.png');
+}
+
+a.flattr span {
+ background-image: url('../img/default/flattr.png');
+}
+
+a.carrot span {
+ background-image: url('../../_global/img/icons/carrot-icon--black.png');
+ background-size: 16px 16px;
+}
+
+a.diaspora span {
+ background-image: url('../../_global/img/icons/diaspora-icon--black.png');
+ background-size: 16px 16px;
+}
+
+a.email span {
+ background-image: url('../img/default/envelop.png');
+}
+
+a.delete span {
+ background-image: url('../img/default/remove.png');
+}
+
+a.link span {
+ background-image: url('../img/default/link.png');
+}
+
+a.bad-display span {
+ background-image: url('../img/default/bad-display.png');
+}
+
+a.print span {
+ background-image: url('../img/default/print.png');
+}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/css/style.css b/src/Wallabag/CoreBundle/Resources/views/default/public/css/style.css
new file mode 100755
index 000000000..b25373d6c
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/public/css/style.css
@@ -0,0 +1,447 @@
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 400;
+ src: local('Roboto Regular'), local('Roboto-Regular'), url(../fonts/Roboto.woff) format('woff');
+}
+
+
+
+body {
+ margin: 10px;
+ font-family: 'Roboto',Verdana,Geneva,sans-serif;
+ font-size: 16px;
+ color: #000;
+}
+
+header {
+ text-align: center;
+}
+
+header h1 {
+ font-size: 1.3em;
+}
+
+a,
+a:hover,
+a:visited {
+ color: #000;
+}
+
+.bouton {
+ border: none;
+ border-radius: 2px;
+ color: #fff;
+ background-color: #000;
+}
+
+.bouton:hover {
+ color: #f1f1f1;
+ background-color: #222;
+ cursor: pointer;
+}
+
+#main {
+ margin: 0 auto;
+}
+
+#main #links {
+ padding: 0;
+ text-align: center;
+ font-size: 0.9em;
+ list-style-type: none;
+}
+
+#main #links li {
+ display: inline;
+}
+
+#main #links li .current {
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+ color: #fff;
+ background-color: #000;
+}
+
+#main #sort {
+ padding: 0;
+ text-align: center;
+ list-style-type: none;
+ opacity: 0.5;
+}
+
+#main #sort li {
+ display: inline;
+ font-size: 0.9em;
+}
+
+#main #sort li + li {
+ margin-left: 10px;
+}
+
+#main #sort a {
+ padding: 2px 2px 0;
+ vertical-align: middle;
+}
+
+#main #sort img {
+ vertical-align: baseline;
+}
+#main #sort img:hover {
+ cursor: pointer;
+}
+
+#links a {
+ padding: 5px 10px;
+ text-decoration: none;
+}
+
+#links a:hover {
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+ color: #f1f1f1;
+ background-color: #040707;
+}
+
+/*** ***/
+
+/*** LINKS DISPLAY ***/
+
+#main .tool {
+ text-decoration: none;
+ cursor: pointer;
+}
+
+#main #content {
+ margin-top: 20px;
+}
+
+#main #content h2 {
+ text-decoration: none;
+ font-size: 1.3em;
+}
+
+#main #content .entrie {
+ margin-top: 15px;
+ padding-bottom: 15px;
+ border-bottom: 1px dashed #222;
+ overflow: hidden;
+}
+
+/* First entry */
+#main #content .results + .entrie {
+ clear: both;
+ margin-top: 0;
+}
+
+#main .entrie .tools {
+ float: right;
+ text-align: right;
+ list-style-type: none;
+ opacity: 0.5;
+}
+
+#main .entrie .tools .tool span {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ /* Hide textual content */
+ overflow: hidden;
+ text-align: left;
+ text-indent: -9999px;
+}
+
+/*** ***/
+
+/*** ARTICLE PAGE ***/
+
+#article {
+ margin: 0 auto;
+}
+
+#article header {
+ border-bottom: 1px solid #222;
+}
+
+#article header {
+ text-align: left;
+}
+
+#article header h1 small {
+ float: right;
+ font-size: 0.6em;
+}
+
+#article header a {
+ text-decoration: none;
+}
+
+#article .tags {
+ font-size: 0.8em;
+ color: #888;
+ padding-bottom: 5px;
+}
+
+.backhome {
+ display: inline;
+}
+
+.results {
+ padding: 15px 0;
+ overflow: hidden;
+}
+
+.nb-results {
+ float: left;
+ font-size: 0.9em;
+ line-height: 24px;
+ vertical-align: middle;
+}
+
+#article_toolbar {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ min-height: 50px;
+ padding-top: 17px;
+ text-align: center;
+ color: #fff;
+ opacity: 0.8;
+ background: #fff;
+}
+
+#article_toolbar li {
+ display: inline;
+ padding-right: 30px;
+}
+
+#article_toolbar .tool {
+ padding: 0 2px;
+}
+
+#article_toolbar .tool span {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ /* Hide textual content */
+ overflow: hidden;
+ text-align: left;
+ text-indent: -9999px;
+}
+
+/*** ***/
+
+/*** PAGINATION ***/
+
+.pagination {
+ float: right;
+ text-align: right;
+}
+
+.pagination a {
+ height: 25px;
+ margin: 2px;
+ padding: 4px 8px;
+ border: 1px solid #d5d5d5;
+ text-decoration: none;
+ font-size: 11px;
+ font-weight: bold;
+ color: #333;
+}
+
+.pagination a:hover,
+.pagination a:active {
+ background-color: #efefef;
+}
+
+.pagination .current {
+ height: 25px;
+ margin: 2px;
+ padding: 4px 8px;
+ border: 1px solid #d5d5d5;
+ text-decoration: none;
+ font-size: 11px;
+ font-weight: bold;
+ color: #000;
+ background-color: #ccc;
+}
+
+.pagination .disabled {
+ display: none;
+}
+
+#bookmarklet {
+ padding: 5px;
+ border: 1px dashed #808080;
+ background: #fff;
+ cursor: move;
+}
+
+.top_link {
+ display: none;
+ z-index: 2000;
+ position: fixed;
+ right: 15px;
+ bottom: 15px;
+ padding: 20px;
+ -webkit-border-radius: 40px;
+ -moz-border-radius: 40px;
+ border-radius: 40px;
+ opacity: 0.9;
+ background: #ccc;
+}
+
+footer {
+ clear: both;
+}
+
+.reading-time {
+ font-size: 0.8em;
+}
+
+#inputform {
+ display: none;
+ margin-top: 5px;
+ margin-right: auto;
+ margin-left: auto;
+ padding-bottom: 5px;
+ max-width: 300px;
+ border-radius: 3px;
+ text-align: center;
+ color: #fff;
+ opacity: 0.8;
+ background-color: rgba(0,0,0,0.9);
+}
+
+a.back span,
+a.top span,
+a.fav span,
+a.fav span:hover,
+a.fav-off span,
+a.fav-off span:hover,
+a.archive span,
+a.archive span:hover,
+a.archive-off span,
+a.archive-off span:hover,
+a.twitter span,
+a.shaarli span,
+a.flattr span,
+a.email span,
+a.delete span,
+a.link span,
+a.bad-display span,
+a.reading-time span,
+a.print span {
+ background-repeat: no-repeat;
+}
+
+.arrow-down {
+ width: 0px;
+ height: 0px;
+ border-style: solid;
+ border-width: 10px 10px 0 10px;
+ border-color: #000 transparent transparent transparent;
+
+ position: absolute;
+ margin-top: 1.5em;
+ margin-left: -30px;
+}
+
+.two-column {
+ display: block;
+ width: 50%;
+ paddig-right: 20px;
+ float: left;
+ vertical-align: top;
+}
+
+
+/* ==========================================================================
+ "save a link" popup div related styles
+ ========================================================================== */
+
+#bagit-form {
+ display: none;
+ padding-left: 30px;
+ width: 450px;
+
+}
+
+a#bagit-form-close {
+ color: #FFF;
+ display: inline-block;
+ float: right;
+ background: url("../img/messages/close.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
+ height: 16px;
+ margin: -14px -8px 0 0;
+ width: 16px;
+ text-decoration: none;
+}
+
+
+.add-to-wallabag-link-after {
+ background-color: #000;
+ color: #fff;
+ padding: 0 4px 1px 3px;
+ font-weight: bold;
+ font-size: 0.7em;
+ border-radius: 4px;
+}
+.add-to-wallabag-link-after:hover, .add-to-wallabag-link-after:active {
+ color: #fff;
+}
+.add-to-wallabag-link-after:visited {
+ color: #999;
+}
+a.add-to-wallabag-link-after {
+ visibility: hidden;
+ position: absolute;
+ opacity: 0;
+ transition-duration: 2s;
+ transition-timing-function: ease-out;
+}
+#article article a:hover + a.add-to-wallabag-link-after, a.add-to-wallabag-link-after:hover {
+ opacity: 1;
+ visibility: visible;
+ transition-duration: .3s;
+ transition-timing-function: ease-in;
+}
+a.add-to-wallabag-link-after:after {
+ content: "w";
+}
+
+
+#add-link-result {
+ display: inline;
+ padding-left: 10px;
+}
+
+/* ==========================================================================
+ "Search" popup div related styles
+ ========================================================================== */
+
+/* Search form message needs a little more width, depending on translations */
+#search-form {
+ width: 420px;
+}
+
+.opacity03 {
+ /*opacity: 0.3;*/
+}
+
+#readLeftPercent {
+ display: inline-block;
+ /* Show textual content */
+ overflow: visible;
+ text-align: left;
+ text-indent: 0;
+ color: black;
+ width: 50px;
+}
+
+pre code {
+ font-family: "Courier New", Courier, monospace;
+ border: 1px solid #ddd;
+ font-size: 0.96em;
+}
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/fonts/Roboto.woff b/src/Wallabag/CoreBundle/Resources/views/default/public/fonts/Roboto.woff
new file mode 100644
index 000000000..1440b1be6
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/default/public/fonts/Roboto.woff differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/default/public/highlightjs/highlight.pack.js b/src/Wallabag/CoreBundle/Resources/views/default/public/highlightjs/highlight.pack.js
new file mode 100644
index 000000000..10a21c34b
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/default/public/highlightjs/highlight.pack.js
@@ -0,0 +1 @@
+var hljs=new function(){function j(v){return v.replace(/&/gm,"&").replace(//gm,">")}function t(v){return v.nodeName.toLowerCase()}function h(w,x){var v=w&&w.exec(x);return v&&v.index==0}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNode.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^lang(uage)?-/,"")});return v.filter(function(x){return i(x)||x=="no-highlight"})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}return v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSibling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(t(A)=="br"){z+=1}else{if(A.nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);v.push({event:"stop",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0].offset!=y[0].offset){return(w[0].offset
"}function E(G){F+=""+t(G)+">"}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.length){var D=B();F+=j(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse().forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x);z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop()}v(D.splice(0,1)[0])}}return F+j(C.substr(x))}function m(y){function v(z){return(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":""))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){var z={};var E=function(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(function(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})};if(typeof D.k=="string"){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k=z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b="\\b("+D.bK.split(" ").join("|")+")\\b"}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w(D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i)}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if(F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c=B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(function(F){return F.bK?"\\.?("+F.b+")\\.?":F.b}).concat([D.tE,D.i]).map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){return null}};D.continuation={}}x(y)}function c(S,L,J,R){function v(U,V){for(var T=0;T";U+=Z+'">';return U+X+Y}function N(){if(!I.k){return j(C)}var T="";var W=0;I.lR.lastIndex=0;var U=I.lR.exec(C);while(U){T+=j(C.substr(W,U.index-W));var V=E(I,U);if(V){H+=V[1];T+=w(V[0],j(U[0]))}else{T+=j(U[0])}W=I.lR.lastIndex;U=I.lR.exec(C)}return T+j(C.substr(W))}function F(){if(I.sL&&!f[I.sL]){return j(C)}var T=I.sL?c(I.sL,C,true,I.continuation.top):e(C);if(I.r>0){H+=T.r}if(I.subLanguageMode=="continuous"){I.continuation.top=T.top}return w(T.language,T.value,false,true)}function Q(){return I.sL!==undefined?F():N()}function P(V,U){var T=V.cN?w(V.cN,"",true):"";if(V.rB){D+=T;C=""}else{if(V.eB){D+=j(U)+T;C=""}else{D+=T;C=U}}I=Object.create(V,{parent:{value:I}})}function G(T,X){C+=T;if(X===undefined){D+=Q();return 0}var V=v(X,I);if(V){D+=Q();P(V,X);return V.rB?0:X.length}var W=z(I,X);if(W){var U=I;if(!(U.rE||U.eE)){C+=X}D+=Q();do{if(I.cN){D+=""}H+=I.r;I=I.parent}while(I!=W.parent);if(U.eE){D+=j(X)}C="";if(W.starts){P(W.starts,"")}return U.rE?0:X.length}if(A(X,I)){throw new Error('Illegal lexeme "'+X+'" for mode "'+(I.cN||"")+'"')}C+=X;return X.length||1}var M=i(S);if(!M){throw new Error('Unknown language: "'+S+'"')}m(M);var I=R||M;var D="";for(var K=I;K!=M;K=K.parent){if(K.cN){D+=w(K.cN,D,true)}}var C="";var H=0;try{var B,y,x=0;while(true){I.t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.index+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+=""}}return{r:H,value:D,language:S,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){return{r:0,value:j(L)}}else{throw O}}}function e(y,x){x=x||b.languages||Object.keys(f);var v={r:0,value:j(y)};var w=v;x.forEach(function(z){if(!i(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.language){v.second_best=w}return v}function g(v){if(b.tabReplace){v=v.replace(/^((<[^>]+>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR){v=v.replace(/\n/g," ")}return v}function p(z){var y=b.useBR?z.innerHTML.replace(/\n/g,"").replace(/ | ]*>/g,"\n").replace(/<[^>]*>/g,""):z.textContent;var A=r(z);if(A=="no-highlight"){return}var v=A?c(A,y,true):e(y);var w=u(z);if(w.length){var x=document.createElementNS("http://www.w3.org/1999/xhtml","pre");x.innerHTML=v.value;v.value=q(w,u(x),y)}v.value=g(v.value);z.innerHTML=v.value;z.className+=" hljs "+(!A&&v.language||"");z.result={language:v.language,re:v.r};if(v.second_best){z.second_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPrefix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorAll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener("DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};function d(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y]=v})}}function k(){return Object.keys(f)}function i(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=e;this.fixMarkup=g;this.highlightBlock=p;this.configure=s;this.initHighlighting=l;this.initHighlightingOnLoad=a;this.registerLanguage=d;this.listLanguages=k;this.getLanguage=i;this.inherit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]};this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/};this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]};this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]};this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0};this.RM={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"title",b:this.UIR,r:0}}();hljs.registerLanguage("bash",function(b){var a={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]};var d={cN:"string",b:/"/,e:/"/,c:[b.BE,a,{cN:"variable",b:/\$\(/,e:/\)/,c:[b.BE]}]};var c={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[b.inherit(b.TM,{b:/\w[\w\d_]*/})],r:0},b.HCM,b.NM,d,c,a]}});hljs.registerLanguage("cs",function(b){var a="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await ascending descending from get group into join let orderby partial select set value var where yield";return{aliases:["csharp"],k:a,i:/::/,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",v:[{b:"///",r:0},{b:""},{b:"?",e:">"}]}]},b.CLCM,b.CBCM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},b.ASM,b.QSM,b.CNM,{bK:"protected public private internal",e:/[{;=]/,k:a,c:[{bK:"class namespace interface",starts:{c:[b.TM]}},{b:b.IR+"\\s*\\(",rB:true,c:[b.TM]}]}]}});hljs.registerLanguage("ruby",function(f){var j="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var i="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor";var b={cN:"yardoctag",b:"@[A-Za-z]+"};var c={cN:"value",b:"#<",e:">"};var k={cN:"comment",v:[{b:"#",e:"$",c:[b]},{b:"^\\=begin",e:"^\\=end",c:[b],r:10},{b:"^__END__",e:"\\n$"}]};var d={cN:"subst",b:"#\\{",e:"}",k:i};var e={cN:"string",c:[f.BE,d],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:"%[qw]?\\(",e:"\\)"},{b:"%[qw]?\\[",e:"\\]"},{b:"%[qw]?{",e:"}"},{b:"%[qw]?<",e:">"},{b:"%[qw]?/",e:"/"},{b:"%[qw]?%",e:"%"},{b:"%[qw]?-",e:"-"},{b:"%[qw]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]};var a={cN:"params",b:"\\(",e:"\\)",k:i};var h=[e,c,k,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[f.inherit(f.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+f.IR+"::)?"+f.IR}]},k]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[f.inherit(f.TM,{b:j}),a,k]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[e,{b:j}],r:0},{cN:"symbol",b:f.UIR+"(\\!|\\?)?:",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+f.RSR+")\\s*",c:[c,k,{cN:"regexp",c:[f.BE,d],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];d.c=h;a.c=h;var g=[{r:1,cN:"output",b:"^\\s*=> ",e:"$",rB:true,c:[{cN:"status",b:"^\\s*=>"},{b:" ",e:"$",c:h}]},{r:1,cN:"input",b:"^[^ ][^=>]*>+ ",e:"$",rB:true,c:[{cN:"prompt",b:"^[^ ][^=>]*>+"},{b:" ",e:"$",c:h}]}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:i,c:g.concat(h)}});hljs.registerLanguage("diff",function(a){return{aliases:["patch"],c:[{cN:"chunk",r:10,v:[{b:/^\@\@ +\-\d+,\d+ +\+\d+,\d+ +\@\@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("javascript",function(a){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBCM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBCM,a.RM,{b:/,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:true,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("xml",function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"};var b={eW:true,i:/,r:0,c:[d,{cN:"attribute",b:c,r:0},{b:"=",r:0,c:[{cN:"value",v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:true,c:[{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"",rE:true,sL:"css"}},{cN:"tag",b:"
+
+{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/README.md b/src/Wallabag/CoreBundle/Resources/views/dmagenta/README.md
new file mode 100644
index 000000000..6abc37e37
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/dmagenta/README.md
@@ -0,0 +1,3 @@
+# dmagenta (dark magenta) theme
+
+theme created by Nicolas Lœuillet aka nico_somb
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/css/style-dmagenta.css b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/css/style-dmagenta.css
new file mode 100644
index 000000000..4dc592d21
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/css/style-dmagenta.css
@@ -0,0 +1,78 @@
+body {
+ color: #d4d4d4;
+ background-color: #372d37;
+}
+
+a,
+a:hover,
+a:visited {
+ color: #8d748d;
+}
+
+a.back span {
+ background-image: url('../img/dmagenta/left.png');
+}
+
+a.top span {
+ background-image: url('../img/dmagenta/top.png');
+}
+
+a.fav span,
+a.fav-off span:hover {
+ background-image: url('../img/dmagenta/star-on.png');
+}
+
+a.fav span:hover,
+a.fav-off span {
+ background-image: url('../img/dmagenta/star-off.png');
+}
+
+a.archive span,
+a.archive-off span:hover {
+ background-image: url('../img/dmagenta/checkmark-on.png');
+}
+
+a.archive span:hover,
+a.archive-off span {
+ background-image: url('../img/dmagenta/checkmark-off.png');
+}
+
+a.twitter span {
+ background-image: url('../img/dmagenta/twitter.png');
+}
+
+a.flattr span {
+ background-image: url('../img/dmagenta/flattr.png');
+}
+
+a.shaarli span {
+ background-image: url('../img/dmagenta/shaarli.png');
+}
+
+a.email span {
+ background-image: url('../img/dmagenta/envelop.png');
+}
+
+a.delete span {
+ background-image: url('../img/dmagenta/remove.png');
+}
+
+a.link span {
+ background-image: url('../img/dmagenta/link.png');
+}
+
+a.bad-display span {
+ background-image: url('../img/dmagenta/bad-display.png');
+}
+
+.pagination a {
+ color: #aaa;
+}
+
+#main #links li .current {
+ background-color: #2d372d;
+}
+
+#article_toolbar {
+ background: #372d37;
+}
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/backtotop.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/backtotop.png
new file mode 100755
index 000000000..051238ef9
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/backtotop.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/bad-display.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/bad-display.png
new file mode 100755
index 000000000..6866799fc
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/bad-display.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/checkmark-off.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/checkmark-off.png
new file mode 100644
index 000000000..3db5a06dc
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/checkmark-off.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/checkmark-on.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/checkmark-on.png
new file mode 100644
index 000000000..cd3abb2c0
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/checkmark-on.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/down.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/down.png
new file mode 100644
index 000000000..b9d536a7c
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/down.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/envelop.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/envelop.png
new file mode 100644
index 000000000..6be1c8864
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/envelop.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/flattr.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/flattr.png
new file mode 100755
index 000000000..0404aaeaf
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/flattr.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/left.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/left.png
new file mode 100644
index 000000000..a0a53631e
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/left.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/link.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/link.png
new file mode 100755
index 000000000..db62819d5
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/link.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/remove.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/remove.png
new file mode 100644
index 000000000..f8ad56a3e
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/remove.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/rss.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/rss.png
new file mode 100644
index 000000000..21bad1a17
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/rss.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/shaarli.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/shaarli.png
new file mode 100644
index 000000000..1eb30f60b
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/shaarli.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/star-off.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/star-off.png
new file mode 100644
index 000000000..6a0133a79
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/star-off.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/star-on.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/star-on.png
new file mode 100644
index 000000000..a9f96eaac
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/star-on.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/top.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/top.png
new file mode 100644
index 000000000..954a8c0ac
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/top.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/twitter.png b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/twitter.png
new file mode 100644
index 000000000..cfcfe4195
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/public/img/dmagenta/twitter.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/screenshot.jpg b/src/Wallabag/CoreBundle/Resources/views/dmagenta/screenshot.jpg
new file mode 100644
index 000000000..ab8f1ec22
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/dmagenta/screenshot.jpg differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/dmagenta/theme.ini b/src/Wallabag/CoreBundle/Resources/views/dmagenta/theme.ini
new file mode 100644
index 000000000..78fa3a9c9
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/dmagenta/theme.ini
@@ -0,0 +1,2 @@
+name = Dmagenta
+requirements[] = default
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/README.md b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/README.md
new file mode 100644
index 000000000..81be1f8cd
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/README.md
@@ -0,0 +1,6 @@
+# solarized-dark (Solarized Dark) theme
+
+
+Theme created by NumEricR
+
+http://github.com/NumEricR/poche-themes
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/Solarized-LICENSE.txt b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/Solarized-LICENSE.txt
new file mode 100644
index 000000000..a842f6638
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/Solarized-LICENSE.txt
@@ -0,0 +1,19 @@
+Copyright (c) 2011 Ethan Schoonover
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/css/style-solarized-dark.css b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/css/style-solarized-dark.css
new file mode 100644
index 000000000..77a97d382
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/css/style-solarized-dark.css
@@ -0,0 +1,232 @@
+/*
+ * Solarized Dark - by NumEricR
+ * http://github.com/NumEricR/poche-themes
+ * ==================================================
+ *
+ * Based on Solarized's palette - (c) 2011 Ethan Schoonover
+ * See http://ethanschoonover.com/solarized#usage-development
+ * See http://ethanschoonover.com/solarized#the-values
+ *
+ * Background: #002b36 base 03
+ * Highlight: #073642 base 02
+ * Primary content: #839496 base 0
+ * Intermediate: #657b83 base 00
+ * Emphasized content: #93a1a1 base 1
+ * Secondary content: #586e75 base 01
+ * Green: #859900
+ * Orange: #cb4b16
+ * Red: #dc322f
+ * Blue: #268bd2
+ *
+ * ================================================== */
+
+/* Background */
+
+body,
+#article_toolbar {
+ background-color: #002b36;
+}
+
+/* Highlight */
+/* 2 different selectors for selection pseudo-elmt */
+/* See https://developer.mozilla.org/en-US/docs/Web/CSS/::selection */
+::-moz-selection {
+ background-color: #073642;
+}
+::selection {
+ background-color: #073642;
+}
+
+/* Primary content */
+
+body,
+a,
+a:hover,
+a:visited,
+td {
+ color: #839496;
+}
+
+/* Secondary content */
+
+.tools p,
+.vieworiginal a,
+.vieworiginal a:hover,
+.vieworiginal a:visited {
+ color: #586e75;
+}
+
+#main #content .entrie,
+#article header,
+#article article {
+ border-bottom-color: #586e75;
+}
+
+/* Emphasized content */
+
+.entrie h2 a:hover,
+footer,
+footer a {
+ color: #93a1a1;
+}
+
+/* Colored content */
+
+#main .messages.success,
+#main .messages.warning,
+#main .messages.error,
+#main .messages.information,
+#main .messages.info {
+ background-color: #073642;
+}
+
+#main .messages.success {
+ border-color: #859900;
+}
+
+#main .messages.success p {
+ color: #859900 !important; /* Overwrites !important used on messages.css */
+}
+
+#main .messages.warning {
+ border-color: #cb4b16;
+}
+
+#main .messages.warning p {
+ color: #cb4b16;
+}
+
+#main .messages.error {
+ border-color: #dc322f;
+}
+
+#main .messages.error p {
+ color: #dc322f !important; /* Overwrites !important used on messages.css */
+}
+
+#main .messages.information,
+#main .messages.info {
+ border-color: #268bd2;
+}
+
+#main .messages.information p,
+#main .messages.info p {
+ color: #268bd2;
+}
+
+/* Miscellaneous */
+
+.bouton,
+.bouton:hover,
+#main #links li a.current,
+#links a:hover,
+.pagination span.current,
+.pagination a:hover,
+.pagination a:active {
+ color: #002b36;
+ background-color: #586e75;
+}
+
+.bouton:hover {
+ background-color: #657b83;
+}
+
+#login,
+#password,
+#password_repeat,
+#bookmarklet,
+.top_link {
+ background-color: #073642;
+}
+
+#login,
+#password,
+#password_repeat,
+#bookmarklet {
+ padding: 5px;
+ border: 1px solid #586e75;
+ color: #839496;
+}
+
+#bookmarklet {
+ border-style: dashed;
+}
+
+.pagination a {
+ border-color: #586e75;
+ color: #586e75;
+}
+
+.pagination span.current {
+ border-color: #073642;
+}
+
+/* Images */
+
+a.back span {
+ background-image: url('../img/solarized-dark/left.png');
+}
+
+a.top span {
+ background-image: url('../img/solarized-dark/top.png');
+}
+
+a.fav span,
+a.fav-off span:hover {
+ background-image: url('../img/solarized-dark/star-on.png');
+}
+
+a.fav span:hover,
+a.fav-off span {
+ background-image: url('../img/solarized-dark/star-off.png');
+}
+
+a.archive span,
+a.archive-off span:hover {
+ background-image: url('../img/solarized-dark/checkmark-on.png');
+}
+
+a.archive span:hover,
+a.archive-off span {
+ background-image: url('../img/solarized-dark/checkmark-off.png');
+}
+
+a.twitter span {
+ background-image: url('../img/solarized-dark/twitter.png');
+}
+
+a.flattr span {
+ background-image: url('../img/solarized-dark/flattr.png');
+}
+
+a.shaarli span {
+ background-image: url('../img/solarized-dark/shaarli.png');
+}
+
+a.email span {
+ background-image: url('../img/solarized-dark/envelop.png');
+}
+
+a.delete span {
+ background-image: url('../img/solarized-dark/remove.png');
+}
+
+a.link span {
+ background-image: url('../img/solarized-dark/link.png');
+}
+
+a.bad-display span {
+ background-image: url('../img/solarized-dark/bad-display.png');
+}
+
+.arrow-down {
+ width: 0px;
+ height: 0px;
+ border-style: solid;
+ border-width: 10px 10px 0 10px;
+ border-color: #586E75 transparent transparent transparent;
+
+ position: absolute;
+ margin-top: 1.5em;
+ margin-left: -30px;
+}
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/backtotop.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/backtotop.png
new file mode 100644
index 000000000..1501c2a5d
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/backtotop.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/bad-display.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/bad-display.png
new file mode 100644
index 000000000..b2c3ca173
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/bad-display.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-off.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-off.png
new file mode 100644
index 000000000..fd7d92fa9
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-off.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-on.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-on.png
new file mode 100644
index 000000000..592965dd4
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/checkmark-on.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/down.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/down.png
new file mode 100644
index 000000000..5de303157
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/down.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/envelop.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/envelop.png
new file mode 100644
index 000000000..d34688859
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/envelop.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/flattr.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/flattr.png
new file mode 100644
index 000000000..73e3f4218
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/flattr.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/left.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/left.png
new file mode 100644
index 000000000..a953d831d
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/left.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/link.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/link.png
new file mode 100644
index 000000000..5e859a0e3
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/link.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/remove.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/remove.png
new file mode 100644
index 000000000..66a5c1ab4
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/remove.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/rss.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/rss.png
new file mode 100644
index 000000000..21bad1a17
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/rss.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/shaarli.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/shaarli.png
new file mode 100644
index 000000000..1eb30f60b
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/shaarli.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/star-off.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/star-off.png
new file mode 100644
index 000000000..1c603ecca
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/star-off.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/star-on.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/star-on.png
new file mode 100644
index 000000000..bc37772a5
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/star-on.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/top.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/top.png
new file mode 100644
index 000000000..b3f44f31d
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/top.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/twitter.png b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/twitter.png
new file mode 100644
index 000000000..c4a253341
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/public/img/solarized-dark/twitter.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/screenshot.jpg b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/screenshot.jpg
new file mode 100644
index 000000000..2ad879435
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/screenshot.jpg differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized-dark/theme.ini b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/theme.ini
new file mode 100644
index 000000000..c99481464
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/solarized-dark/theme.ini
@@ -0,0 +1,2 @@
+name = Solarized Dark
+requirements[] = default
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/README.md b/src/Wallabag/CoreBundle/Resources/views/solarized/README.md
new file mode 100644
index 000000000..255e3cddf
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/solarized/README.md
@@ -0,0 +1,6 @@
+# solarized (Solarized) theme
+
+
+Theme created by NumEricR
+
+http://github.com/NumEricR/poche-themes
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/Solarized-LICENSE.txt b/src/Wallabag/CoreBundle/Resources/views/solarized/Solarized-LICENSE.txt
new file mode 100644
index 000000000..a842f6638
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/solarized/Solarized-LICENSE.txt
@@ -0,0 +1,19 @@
+Copyright (c) 2011 Ethan Schoonover
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/css/style-solarized.css b/src/Wallabag/CoreBundle/Resources/views/solarized/public/css/style-solarized.css
new file mode 100644
index 000000000..cf16338f4
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/solarized/public/css/style-solarized.css
@@ -0,0 +1,232 @@
+/*
+ * Solarized - by NumEricR
+ * http://github.com/NumEricR/poche-themes
+ * ==================================================
+ *
+ * Based on Solarized's palette - (c) 2011 Ethan Schoonover
+ * See http://ethanschoonover.com/solarized#usage-development
+ * See http://ethanschoonover.com/solarized#the-values
+ *
+ * Background: #fdf6e3 base 3
+ * Highlight: #eee8d5 base 2
+ * Primary content: #657b83 base 00
+ * Intermediate: #839496 base 0
+ * Emphasized content: #586e75 base 01
+ * Secondary content: #93a1a1 base 1
+ * Green: #859900
+ * Orange: #cb4b16
+ * Red: #dc322f
+ * Blue: #268bd2
+ *
+ * ================================================== */
+
+/* Background */
+
+body,
+#article_toolbar {
+ background-color: #fdf6e3;
+}
+
+/* Highlight */
+/* 2 different selectors for selection pseudo-elmt */
+/* See https://developer.mozilla.org/en-US/docs/Web/CSS/::selection */
+::-moz-selection {
+ background-color: #eee8d5;
+}
+::selection {
+ background-color: #eee8d5;
+}
+
+/* Primary content */
+
+body,
+a,
+a:hover,
+a:visited,
+td {
+ color: #657b83;
+}
+
+/* Secondary content */
+
+.tools p,
+.vieworiginal a,
+.vieworiginal a:hover,
+.vieworiginal a:visited {
+ color: #93a1a1;
+}
+
+#main #content .entrie,
+#article header,
+#article article {
+ border-bottom-color: #93a1a1;
+}
+
+/* Emphasized content */
+
+.entrie h2 a:hover,
+footer,
+footer a {
+ color: #586e75;
+}
+
+/* Colored content */
+
+#main .messages.success,
+#main .messages.warning,
+#main .messages.error,
+#main .messages.information,
+#main .messages.info {
+ background-color: #eee8d5;
+}
+
+#main .messages.success {
+ border-color: #859900;
+}
+
+#main .messages.success p {
+ color: #859900 !important; /* Overwrites !important used on messages.css */
+}
+
+#main .messages.warning {
+ border-color: #cb4b16;
+}
+
+#main .messages.warning p {
+ color: #cb4b16;
+}
+
+#main .messages.error {
+ border-color: #dc322f;
+}
+
+#main .messages.error p {
+ color: #dc322f !important; /* Overwrites !important used on messages.css */
+}
+
+#main .messages.information,
+#main .messages.info {
+ border-color: #268bd2;
+}
+
+#main .messages.information p,
+#main .messages.info p {
+ color: #268bd2;
+}
+
+/* Miscellaneous */
+
+.bouton,
+.bouton:hover,
+#main #links li a.current,
+#links a:hover,
+.pagination span.current,
+.pagination a:hover,
+.pagination a:active {
+ color: #fdf6e3;
+ background-color: #93a1a1;
+}
+
+.bouton:hover {
+ background-color: #657b83;
+}
+
+#login,
+#password,
+#password_repeat,
+#bookmarklet,
+.top_link {
+ background-color: #eee8d5;
+}
+
+#login,
+#password,
+#password_repeat,
+#bookmarklet {
+ padding: 5px;
+ border: 1px solid #93a1a1;
+ color: #657b83;
+}
+
+#bookmarklet {
+ border-style: dashed;
+}
+
+.pagination a {
+ border-color: #93a1a1;
+ color: #93a1a1;
+}
+
+.pagination span.current {
+ border-color: #eee8d5;
+}
+
+/* Images */
+
+a.back span {
+ background-image: url('../img/solarized/left.png');
+}
+
+a.top span {
+ background-image: url('../img/solarized/top.png');
+}
+
+a.fav span,
+a.fav-off span:hover {
+ background-image: url('../img/solarized/star-on.png');
+}
+
+a.fav span:hover,
+a.fav-off span {
+ background-image: url('../img/solarized/star-off.png');
+}
+
+a.archive span,
+a.archive-off span:hover {
+ background-image: url('../img/solarized/checkmark-on.png');
+}
+
+a.archive span:hover,
+a.archive-off span {
+ background-image: url('../img/solarized/checkmark-off.png');
+}
+
+a.twitter span {
+ background-image: url('../img/solarized/twitter.png');
+}
+
+a.shaarli span {
+ background-image: url('../img/solarized/shaarli.png');
+}
+
+a.flattr span {
+ background-image: url('../img/solarized/flattr.png');
+}
+
+a.email span {
+ background-image: url('../img/solarized/envelop.png');
+}
+
+a.delete span {
+ background-image: url('../img/solarized/remove.png');
+}
+
+a.link span {
+ background-image: url('../img/solarized/link.png');
+}
+
+a.bad-display span {
+ background-image: url('../img/solarized/bad-display.png');
+}
+
+.arrow-down {
+ width: 0px;
+ height: 0px;
+ border-style: solid;
+ border-width: 10px 10px 0 10px;
+ border-color: #93A1A1 transparent transparent transparent;
+
+ position: absolute;
+ margin-top: 1.5em;
+ margin-left: -30px;
+}
\ No newline at end of file
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/backtotop.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/backtotop.png
new file mode 100644
index 000000000..a3e523187
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/backtotop.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/bad-display.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/bad-display.png
new file mode 100644
index 000000000..ae99ab378
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/bad-display.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/checkmark-off.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/checkmark-off.png
new file mode 100644
index 000000000..20cd26b3e
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/checkmark-off.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/checkmark-on.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/checkmark-on.png
new file mode 100644
index 000000000..87a2b799e
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/checkmark-on.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/down.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/down.png
new file mode 100644
index 000000000..622ff87b5
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/down.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/envelop.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/envelop.png
new file mode 100644
index 000000000..1caf7d435
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/envelop.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/flattr.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/flattr.png
new file mode 100644
index 000000000..18e00f86c
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/flattr.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/left.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/left.png
new file mode 100644
index 000000000..9780faeec
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/left.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/link.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/link.png
new file mode 100644
index 000000000..d0e12862d
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/link.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/remove.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/remove.png
new file mode 100644
index 000000000..d5113d176
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/remove.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/rss.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/rss.png
new file mode 100644
index 000000000..21bad1a17
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/rss.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/shaarli.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/shaarli.png
new file mode 100644
index 000000000..1eb30f60b
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/shaarli.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/star-off.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/star-off.png
new file mode 100644
index 000000000..afd7d80c8
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/star-off.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/star-on.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/star-on.png
new file mode 100644
index 000000000..3a7725123
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/star-on.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/top.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/top.png
new file mode 100644
index 000000000..d20001a49
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/top.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/twitter.png b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/twitter.png
new file mode 100644
index 000000000..109d71516
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/public/img/solarized/twitter.png differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/screenshot.jpg b/src/Wallabag/CoreBundle/Resources/views/solarized/screenshot.jpg
new file mode 100644
index 000000000..07d402e38
Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/solarized/screenshot.jpg differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/solarized/theme.ini b/src/Wallabag/CoreBundle/Resources/views/solarized/theme.ini
new file mode 100644
index 000000000..703997b9e
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/solarized/theme.ini
@@ -0,0 +1,2 @@
+name = Solarized
+requirements[] = default
diff --git a/web/themes/_global b/web/themes/_global
index 2292e6c89..56b6a9554 120000
--- a/web/themes/_global
+++ b/web/themes/_global
@@ -1 +1 @@
-../../src/Wallabag/Wallabag/Resources/views/_global/public
\ No newline at end of file
+../../src/Wallabag/CoreBundle/Resources/views/_global/public
\ No newline at end of file
diff --git a/web/themes/baggy b/web/themes/baggy
index c5ee4ca53..c36c831a9 120000
--- a/web/themes/baggy
+++ b/web/themes/baggy
@@ -1 +1 @@
-../../src/Wallabag/Wallabag/Resources/views/baggy/public
\ No newline at end of file
+../../src/Wallabag/CoreBundle/Resources/views/baggy/public
\ No newline at end of file
diff --git a/web/themes/dark b/web/themes/dark
index 714fa7862..fa4ed880b 120000
--- a/web/themes/dark
+++ b/web/themes/dark
@@ -1 +1 @@
-../../src/Wallabag/Wallabag/Resources/views/dark/public
\ No newline at end of file
+../../src/Wallabag/CoreBundle/Resources/views/dark/public
\ No newline at end of file
diff --git a/web/themes/default b/web/themes/default
index 233e51eb6..ee26b90df 120000
--- a/web/themes/default
+++ b/web/themes/default
@@ -1 +1 @@
-../../src/Wallabag/Wallabag/Resources/views/default/public
\ No newline at end of file
+../../src/Wallabag/CoreBundle/Resources/views/default/public
\ No newline at end of file
diff --git a/web/themes/dmagenta b/web/themes/dmagenta
index d1ac2b112..bcd8ef759 120000
--- a/web/themes/dmagenta
+++ b/web/themes/dmagenta
@@ -1 +1 @@
-../../src/Wallabag/Wallabag/Resources/views/dmagenta/public
\ No newline at end of file
+../../src/Wallabag/CoreBundle/Resources/views/dmagenta/public/
\ No newline at end of file
diff --git a/web/themes/solarized b/web/themes/solarized
index 4f53143d9..c44d5cef5 120000
--- a/web/themes/solarized
+++ b/web/themes/solarized
@@ -1 +1 @@
-../../src/Wallabag/Wallabag/Resources/views/solarized/public
\ No newline at end of file
+../../src/Wallabag/CoreBundle/Resources/views/solarized/public
\ No newline at end of file
diff --git a/web/themes/solarized-dark b/web/themes/solarized-dark
index 64d5be737..0d548c411 120000
--- a/web/themes/solarized-dark
+++ b/web/themes/solarized-dark
@@ -1 +1 @@
-../../src/Wallabag/Wallabag/Resources/views/solarized-dark/public
\ No newline at end of file
+../../src/Wallabag/CoreBundle/Resources/views/solarized-dark/public
\ No newline at end of file