diff options
| author | 2014-02-15 17:32:41 +0100 | |
|---|---|---|
| committer | 2014-02-15 17:32:41 +0100 | |
| commit | 208aa9c6d89b12321bd14ad7ee8322af5e4f3ce9 (patch) | |
| tree | 3258a22df6bf606377bfbbf5f4fa4d94d585a790 | |
| parent | 7fd04c046a3c70b9ec52a04dd9b397f39b26c487 (diff) | |
Creation of a basic template
It is not supposed to be used... but it could. This is a minimalistic theme
(about 725 lines). In the future, it could be great to based all official
themes on this one.
See #320
| -rw-r--r-- | p/themes/template/loader.gif | bin | 0 -> 4167 bytes | |||
| -rw-r--r-- | p/themes/template/metadata.json | 7 | ||||
| -rw-r--r-- | p/themes/template/template.css | 725 |
3 files changed, 732 insertions, 0 deletions
diff --git a/p/themes/template/loader.gif b/p/themes/template/loader.gif Binary files differnew file mode 100644 index 000000000..5ff26f0e3 --- /dev/null +++ b/p/themes/template/loader.gif diff --git a/p/themes/template/metadata.json b/p/themes/template/metadata.json new file mode 100644 index 000000000..d29c2b8e8 --- /dev/null +++ b/p/themes/template/metadata.json @@ -0,0 +1,7 @@ +{ + "name": "Template", + "author": "Marien Fressinaud", + "description": "A basic template for FreshRSS", + "version": 0.1, + "files": ["template.css"] +} diff --git a/p/themes/template/template.css b/p/themes/template/template.css new file mode 100644 index 000000000..22d59685b --- /dev/null +++ b/p/themes/template/template.css @@ -0,0 +1,725 @@ +@charset "UTF-8"; + +/*=== Links */ +a { + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +/*=== Lists */ +ul, ol, dd { + margin: 0; + padding: 0; +} + +/* TITRES */ +h1, h2, h3 { + min-height: 40px; + line-height: 40px; +} + +/* IMG */ +figcaption { + display: inline-block; +} +img { + height: auto; + max-width: 100%; +} + +/* VIDEOS */ +iframe, embed, object, video { + max-width: 100%; +} + +/* FORMULAIRES */ +legend { + display: block; + width: 100%; + clear: both; +} +label { + display: block; + min-height: 25px; + line-height: 25px; +} +input { + width: 180px; +} +textarea { + width: 360px; + height: 100px; +} +input, select, textarea { + display: inline-block; + max-width: 100%; + min-height: 25px; +} +input[type="radio"], +input[type="checkbox"] { + width: 15px !important; + min-height: 15px !important; +} +input:focus.extend { + width: 300px; +} + +.form-group { + margin: 0; +} +.form-group:after { + content: ""; + display: block; + clear: both; +} +.form-group.form-actions { + min-width: 250px; +} +.form-group .group-name { + display: block; + float: left; + width: 200px; +} +.form-group .group-controls { + min-width: 250px; + min-height: 25px; + margin: 0 0 0 220px; +} +.form-group .group-controls .control { + display: block; + min-height: 30px; + line-height: 25px; +} + +.stick { + display: inline-block; + white-space: nowrap; +} + +.btn { + display: inline-block; + min-height: 37px; + min-width: 15px; + line-height: 20px; + cursor: pointer; + overflow: hidden; +} +a.btn { + min-height: 25px; + line-height: 25px; +} +.btn-important { + background: #aaa; +} + +/* NAVIGATION */ +.nav-list .nav-header, +.nav-list .item { + display: block; + height: 35px; + line-height: 35px; +} +.nav-list .item > * { + display: block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.nav-head { + display: block; +} +.nav-head .item { + display: inline-block; +} + +/* HORIZONTAL-LIST */ +.horizontal-list { + display: table; + table-layout: fixed; + width: 100%; +} +.horizontal-list .item { + display: table-cell; +} + +/* DROPDOWN */ +.dropdown { + position: relative; + display: inline-block; +} +.dropdown-target { + display: none; +} + +.dropdown-menu { + display: none; + min-width: 200px; + margin: 5px 0 0; + position: absolute; + right: 0px; + background: #fff; + border: 1px solid #aaa; +} +.dropdown-header { + display: block; +} +.dropdown-menu > .item { + display: block; + min-height: 30px; + line-height: 30px; +} +.dropdown-menu > .item > a { + display: block; + line-height: 30px; +} +.dropdown-menu > .item.share > a { + display: list-item; + list-style-position: inside; + list-style-type: decimal; +} +.dropdown-menu > .item[aria-checked="true"] > a:before { + content: '✓ '; +} +.dropdown-menu .input { + display: block; + height: 40px; + line-height: 30px; +} +.dropdown-menu .input select, +.dropdown-menu .input input { + display: block; + height: 20px; + width: 95%; +} +.dropdown-menu .input select { + width: 70%; + height: auto; +} +.dropdown-target:target ~ .dropdown-menu { + display: block; + z-index: 10; +} +.dropdown-close { + display: inline; +} +.dropdown-close a { + font-size: 0; + position: fixed; + top: 0; bottom: 0; + left: 0; right: 0; + display: block; + z-index: -10; +} + +.separator { + display: block; + height: 0; + border-bottom: 1px solid #aaa; +} + +/* ALERTS */ +.alert { + display: block; + width: 90%; +} +.alert-head { + margin: 0; +} + +/* ICÔNES */ +.icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + line-height: 16px; +} + +/* Prompt (centré) */ +.prompt form { + width: 10em; +} +.prompt input { + width: 100%; +} + + + +/* STRUCTURE */ +.header { + display: table; + width: 100%; + table-layout: fixed; +} +.header > .item { + display: table-cell; +} +.header > .item.title { + width: 250px; + white-space: nowrap; +} +.logo { + display: inline-block; + height: 32px; + width: 32px; +} +.header > .item.title h1 { + display: inline-block; +} +.header > .item.configure { + width: 100px; +} + +#global { + display: table; + width: 100%; + height: 100%; + table-layout: fixed; +} +.aside { + display: table-cell; + height: 100%; + width: 250px; +} + +.nav-login { + display: none; +} + +.nav_menu { + width: 100%; +} +.nav_menu .search { + display: none; +} + +.favicon { + height: 16px; + width: 16px; +} + +.categories { + padding: 0; + list-style: none; +} +.category { + display: block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.category .btn:first-child { + position: relative; +} +.category.stick .btn:first-child { + width: 160px; +} +.category .btn:first-child:not([data-unread="0"]):after { + content: attr(data-unread); + position: absolute; +} +.category + .feeds:not(.active) { + display: none; +} +.categories .feeds { + width: 100%; + padding: 0; + list-style: none; +} +.categories .feeds .item .feed { + display: inline-block; + margin: 0; + width: 165px; + line-height: 35px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + vertical-align: middle; +} +.feed:not([data-unread="0"]):before { + content: "(" attr(data-unread) ") "; +} +.categories .feeds .dropdown-menu { + left: 0; +} +.categories .feeds .item .dropdown-toggle > .icon { + visibility: hidden; + cursor: pointer; +} +.categories .feeds .item .dropdown-target:target ~ .dropdown-toggle > .icon, +.categories .feeds .item:hover .dropdown-toggle > .icon, +.categories .feeds .item.active .dropdown-toggle > .icon { + visibility: visible; +} + +.day { + min-height: 50px; + line-height: 50px; +} +.day .name { + position: absolute; + right: 0; + width: 50%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +#new-article { + display: none; + min-height: 40px; +} +#new-article > a { + display: block; + line-height: 40px; +} + +.horizontal-list > .item:not(.title):not(.website) > a { + display: block; +} + +.flux_header { + position: relative; + height: 25px; +} +.flux .item { + line-height: 40px; + white-space: nowrap; +} +.flux_header > .item { + overflow: hidden; + text-overflow: ellipsis; +} +.flux .item.manage { + width: 40px; +} +.flux .item.website { + width: 200px; +} +.flux .item.title a { + color: #000; +} +.flux.not_read .item.title, +.flux.current .item.title { + font-weight: bold; +} +.flux:not(.current):hover .item.title { + position: absolute; + top: 0; + max-width: calc(100% - 325px); + background: #fff; +} +.flux .item.date { + width: 145px; +} +.link { + width: 40px; +} + +#stream.global .box-category { + display: inline-block; + width: 280px; + border: 1px solid #aaa; + vertical-align: top; +} +#stream.global .category { + width: 100%; +} +#stream.global .btn { + display: block; + width: auto; + height: 35px; + line-height: 35px; +} +#stream.global .box-category .feeds { + display: block; + max-height: 250px; + overflow: auto; +} +#stream.global .box-category .feed { + width: 220px; +} + +.content { + min-height: 150px; + max-width: 550px; + line-height: 170%; + word-wrap: break-word; +} + +img.big { + display: block; +} +.content hr { + height: 1px; +} +.content pre { + overflow: auto; +} +.content q, .content blockquote { + display: block; +} + +#panel { + display: none; + position: fixed; + top: 10px; bottom: 10px; + left: 100px; right: 100px; + overflow: auto; + background: #fff; +} +#panel .close { + position: fixed; + top: 0; bottom: 0; + left: 0; right: 0; + display: block; +} +#panel .close img { + display: none; +} + +#overlay { + display: none; + position: fixed; + top: 0; bottom: 0; + left: 0; right: 0; + background: rgba(0, 0, 0, 0.9); +} + +.hide_posts > :not(.active) > .flux_content { + display: none; +} + +/*** PAGINATION ***/ +.pagination { + display: table; + width: 100%; + line-height: 200%; + table-layout: fixed; +} +.pagination .item { + display: table-cell; + line-height: 40px; +} +.pagination .pager-first, +.pagination .pager-previous, +.pagination .pager-next, +.pagination .pager-last { + width: 100px; +} +.pagination .item a { + display: block; +} + +#nav_entries { + display: table; + width: 250px; + height: 40px; + position: fixed; + bottom: 0; + left: 0; + line-height: 40px; + table-layout: fixed; +} +#nav_entries .item { + display: table-cell; + width: 30%; +} +#nav_entries a { + display: block; +} +#nav_entries .i_up { + vertical-align: top; +} + +.loading { + background: url("loader.gif") center center no-repeat; + font-size: 0; +} + +#bigMarkAsRead { + display: block; + text-align: center; +} +.bigTick { + font-size: 72pt; + line-height: 1.6em; +} + +/*** NOTIFICATION ***/ +#notification { + position: absolute; + top: 10px; + left: 25%; right: 25%; + min-height: 30px; + line-height: 30px; + z-index: 10; + border: 1px solid #aaa; +} +#notification.closed { + display: none; +} +#notification a.close { + display: inline-block; + width: 16px; + height: 16px; + float: right; + line-height: 16px; +} + +.toggle_aside, .btn.toggle_aside { + display: none; +} + +.actualizeProgress { + position: fixed; + top: 10px; + left: 25%; right: 25%; + border: 1px solid #aaa; +} +.actualizeProgress progress { + max-width: 100%; +} + +.log { + overflow: auto; +} +.log .date { + display: block; +} + +@media(max-width: 840px) { + .header, + .aside .btn-important, + .aside .feeds .dropdown, + .flux_header .item.website span, + .item.date { + display: none; + } + .flux_header .item.website { + width: 40px; + } + + .nav-login { + display: block; + } + + .pagination .pager-previous, .pagination .pager-next { + width: 100px; + } + + .toggle_aside, .btn.toggle_aside { + display: inline-block; + } + .aside { + position: fixed; + top: 0; left: 0; + width: 0; + overflow: hidden; + z-index: 10; + } + .aside:target { + width: 80%; + overflow: auto; + } + .aside .toggle_aside { + position: absolute; + right: 0; + display: inline-block; + width: 26px; + height: 26px; + line-height: 26px; + } + + #nav_entries { + width: 100%; + } + + .nav_menu .search { + display: inline-block; + max-width: 97%; + } + .nav_menu .search input { + max-width: 97%; + width: 90px; + } + .nav_menu .search input:focus { + width: 400px; + } + + #panel { + left: 5px; right: 5px; + } + #panel .close { + top: 10px; right: 0; + left: auto; bottom: auto; + display: inline-block; + width: 26px; + height: 26px; + } + #panel .close img { + display: block; + } + + .day .date { + display: none; + } + .day .name { + height: 2.6em; + } + + .flux:not(.current):hover .item.title { + position: relative; + width: auto; + } + + .notification, + .actualizeProgress { + left: 10px; + right: 10px; + } +} + +@media print { + .header, + .aside, + .nav_menu, + .day, + .flux_header, + .flux_content .bottom, + .pagination { + display: none; + } + + html, body { + background: #fff; + color: #000; + font-family: Serif; + font-size: 12pt; + } + + #global, + .flux_content { + display: block !important; + } + + .flux_content .content { + width: 100% !important; + text-align: justify; + } + + .flux_content .content a { + color: #000; + } + .flux_content .content a:after { + content: " (" attr(href) ") "; + text-decoration: underline; + } +} + +.stat > table { + width: 100%; +}
\ No newline at end of file |
