From 32da2a70ef278bd42f66eb82c3fbf1905a417b87 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Mon, 23 Feb 2015 22:55:06 +0100 Subject: Add LiipThemeBundle Re-defined the config / user relation to be OneToOne bidirectionnal. ConfigType is now a service so I can inject the list of available themes that are also used by LiipThemeBundle Force sqlite for test In case of people use a different driver in parameter.yml (yes I do :)) --- .../views/themes/baggy/public/css/font.css | 6 + .../views/themes/baggy/public/css/main.css | 1071 ++++++++++++++++++++ .../views/themes/baggy/public/css/messages.css | 19 + .../views/themes/baggy/public/css/print.css | 62 ++ .../views/themes/baggy/public/css/ratatouille.css | 211 ++++ .../views/themes/baggy/public/fonts/icomoon.eot | Bin 0 -> 3896 bytes .../views/themes/baggy/public/fonts/icomoon.svg | 41 + .../views/themes/baggy/public/fonts/icomoon.ttf | Bin 0 -> 3732 bytes .../views/themes/baggy/public/fonts/icomoon.woff | Bin 0 -> 3664 bytes .../views/themes/baggy/public/fonts/ptsans.woff | Bin 0 -> 24816 bytes .../views/themes/baggy/public/img/baggy/blank.png | Bin 0 -> 141 bytes .../views/themes/baggy/public/img/baggy/down.png | Bin 0 -> 216 bytes .../views/themes/baggy/public/img/baggy/list.png | Bin 0 -> 201 bytes .../views/themes/baggy/public/img/baggy/table.png | Bin 0 -> 229 bytes .../views/themes/baggy/public/img/baggy/top.png | Bin 0 -> 212 bytes .../views/themes/baggy/public/img/bg-select.png | Bin 0 -> 1095 bytes .../themes/baggy/public/img/logo-other_themes.png | Bin 0 -> 3922 bytes .../views/themes/baggy/public/img/logo-w.png | Bin 0 -> 4916 bytes .../themes/baggy/public/img/logo-wallabag.svg | 300 ++++++ .../views/themes/baggy/public/img/logo.png | Bin 0 -> 1350 bytes .../views/themes/baggy/public/img/logo.svg | 8 + .../views/themes/baggy/public/js/closeMessage.js | 17 + .../Resources/views/themes/baggy/public/js/init.js | 51 + .../views/themes/baggy/public/js/jquery.cookie.js | 117 +++ .../views/themes/baggy/public/js/restoreScroll.js | 25 + 25 files changed, 1928 insertions(+) create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/font.css create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/messages.css create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/print.css create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/ratatouille.css create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.eot create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.svg create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.ttf create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.woff create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/ptsans.woff create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/blank.png create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/down.png create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/list.png create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/table.png create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/top.png create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/bg-select.png create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-other_themes.png create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-w.png create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-wallabag.svg create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo.png create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo.svg create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/closeMessage.js create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/init.js create mode 100755 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/jquery.cookie.js create mode 100644 src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/restoreScroll.js (limited to 'src/Wallabag/CoreBundle/Resources/views/themes/baggy/public') diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/font.css b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/font.css new file mode 100755 index 00000000..7c02a16f --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/css/main.css b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css new file mode 100755 index 00000000..1df82910 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/css/messages.css b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/messages.css new file mode 100755 index 00000000..42da70b3 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/css/print.css b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/print.css new file mode 100755 index 00000000..9dd6d295 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/css/ratatouille.css b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/ratatouille.css new file mode 100644 index 00000000..b203cbb8 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/fonts/icomoon.eot b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.eot new file mode 100644 index 00000000..56323516 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.eot differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.svg b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.svg new file mode 100644 index 00000000..b4586136 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/fonts/icomoon.ttf b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.ttf new file mode 100644 index 00000000..bb1f21f8 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.ttf differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.woff b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.woff new file mode 100644 index 00000000..bab13779 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/icomoon.woff differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/ptsans.woff b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/ptsans.woff new file mode 100644 index 00000000..cf7c62e1 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/fonts/ptsans.woff differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/blank.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/blank.png new file mode 100755 index 00000000..63e09844 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/blank.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/down.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/down.png new file mode 100644 index 00000000..b9d536a7 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/down.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/list.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/list.png new file mode 100755 index 00000000..bd5aff5a Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/list.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/table.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/table.png new file mode 100755 index 00000000..859c4cd8 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/table.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/top.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/top.png new file mode 100644 index 00000000..954a8c0a Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/baggy/top.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/bg-select.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/bg-select.png new file mode 100644 index 00000000..95120441 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/bg-select.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-other_themes.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-other_themes.png new file mode 100755 index 00000000..32543a44 Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-other_themes.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-w.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-w.png new file mode 100755 index 00000000..65dc607b Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-w.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-wallabag.svg b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-wallabag.svg new file mode 100644 index 00000000..40193e1c --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo-wallabag.svg @@ -0,0 +1,300 @@ + + + +]> + + + + + + diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo.png b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo.png new file mode 100755 index 00000000..5305c77d Binary files /dev/null and b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo.png differ diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo.svg b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo.svg new file mode 100644 index 00000000..865da440 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/img/logo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/closeMessage.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/closeMessage.js new file mode 100644 index 00000000..527719d5 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/js/init.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/init.js new file mode 100755 index 00000000..74cbae68 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/js/jquery.cookie.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/jquery.cookie.js new file mode 100755 index 00000000..92719000 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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/themes/baggy/public/js/restoreScroll.js b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/js/restoreScroll.js new file mode 100644 index 00000000..331c9e19 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/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 -- cgit v1.2.3