diff options
| author | 2022-11-30 20:43:33 +0100 | |
|---|---|---|
| committer | 2022-11-30 20:43:33 +0100 | |
| commit | be17cc614492c99adebe0456bf1d10d5a79bbe8a (patch) | |
| tree | f1abfa8f7e17561b6ab079eec271226b51fda371 | |
| parent | 6261dc9cf41aaaa0eb2a05fbe81bc107ab91bbdd (diff) | |
Improved: Pafat theme with vars (#4909)
* font color grey and white
* background-color wip
* font-color
* border-color
* active category marker
* several fixes
* fix header and flux left border
* RTL CSS
* fix .flux.current
* fix reader view
* fix link:hover color
* RTL CSS
| -rw-r--r-- | p/themes/Pafat/pafat.css | 466 | ||||
| -rw-r--r-- | p/themes/Pafat/pafat.rtl.css | 466 |
2 files changed, 536 insertions, 396 deletions
diff --git a/p/themes/Pafat/pafat.css b/p/themes/Pafat/pafat.css index d1185164a..c863929cf 100644 --- a/p/themes/Pafat/pafat.css +++ b/p/themes/Pafat/pafat.css @@ -2,15 +2,100 @@ /*=== GENERAL */ /*============*/ +:root { + --font-color-white: #fff; + --font-color-grey-light: #c5c6ca; + --font-color-grey: #666; + --font-color-hover: #000; + --font-color-link-title: #333; + --font-color-link-general: #2980b9; + --font-color-link-general-hover: #038; + + --font-color-unread-articles: #428bca; + + --font-color-article: #41444f; + + --font-color-blockquote: #41444f; + --font-color-code: #d14; + + --background-color-white: #fff; + --background-color-grey-light: #fafafa; + --background-color-grey: #f4f4f4; + --background-color-grey-hover: #f0f0f0; + --background-color-grey-button-active: #eee; + + --background-color-dark: #41444f; + + --background-color-navlist-active: #3498db; + + --background-color-favorite: #fff6da; + --background-color-favorite-hover: #fff9e8; + + --background-color-button-important: #5cb85c; + --background-color-button-important-hover: #47a447; + + --background-color-button-attention: #d9534f; + --background-color-button-attention-hover: #d2322d; + + --background-color-active-feed: #5cb85c; + + --background-color-mainstream: #428bca; + --background-color-mainstream-active: #3276b1; + --background-color-favorites: #f0ad4e; + --background-color-favorites-active: #ed9c28; + --background-color-category: #5bc0de; + --background-color-category-active: #39b3d7; + + --background-color-new-article: #428bca; + --background-color-new-article-hover: #3276b1; + + --color-empty-feed: #f39c12; + --color-error-feed: #bd362f; + + --color-warning-icon-folder: #f0ad4e; + + --notification-good-background-color: #ffe; + --notification-good-border-color: #eeb; + --notification-good-font-color: #c95; + --notification-bad-background-color: #fdd; + --notification-bad-font-color: #844; + --notification-bad-border-color: #ecc; + --notification-box-shadow-color: #ddd; + + --alert-warn-background-color: #ffe; + --alert-warn-border-color: #eeb; + --alert-warn-font-color: #c95; + --alert-success-background-color: #dfd; + --alert-success-border-color: #cec; + --alert-success-font-color: #484; + --alert-error-background-color: #fdd; + --alert-error-font-color: #844; + --alert-error-border-color: #ecc; + + --invalid-box-border-color: #f00; + --invalid-box-shadow-color: #fdd; + + --border-color-white: #fff; + + --border-color-grey-dark: #aaa; + --border-color-grey-light: #ddd; + + --border-left-article: #5cb85c; + --border-left-article-current: #39b3d7; + --border-left-article-unread: #d9534f; + --border-left-article-favorite: #428bca; +} + + html, body { - background: #fafafa; - color: #666; + background-color: var(--background-color-grey-light); + color: var(--font-color-grey); font-family: "OpenSans", "Cantarell", "Helvetica", "Arial", "PingFang SC", "Microsoft YaHei", sans-serif; } /*=== Links */ a { - color: #2980b9; + color: var(--font-color-link-general); outline: none; } @@ -19,7 +104,7 @@ legend { margin: 20px 0 5px; padding: 5px 0; font-size: 1.4em; - border-bottom: 1px solid #ddd; + border-bottom: 1px solid var(--border-color-grey-light); } label { @@ -35,9 +120,9 @@ textarea { input, select, textarea { padding: 7px; - background: #fdfdfd; - color: #666; - border: 1px solid #bbb; + background-color: var(--background-color-white); + color: var(--font-color-grey); + border: 1px solid var(--border-color-grey-dark); border-radius: 3px; vertical-align: middle; } @@ -47,17 +132,12 @@ option { } input:focus, select:focus, textarea:focus { - outline-color: #aaa; + border-color: var(--border-color-grey-dark); } input:invalid, select:invalid { - border-color: #f00; - box-shadow: 0 0 2px 2px #fdd inset; - outline-color: #fdd; -} - -input:disabled, select:disabled { - background: #eee; + border-color: var(--invalid-box-border-color); + box-shadow: 0 0 2px 2px var(--invalid-box-shadow-color) inset; } input.extend { @@ -70,11 +150,11 @@ table { } th, td { - border: 1px solid #ddd; + border: 1px solid var(--border-color-grey-light); } th { - background: #f6f6f6; + background-color: var(--background-color-grey); } form td, @@ -88,8 +168,8 @@ form th { /*=== Forms */ .form-group.form-actions { padding: 5px 0; - background: #f4f4f4; - border-top: 1px solid #ddd; + background-color: var(--background-color-grey); + border-top: 1px solid var(--border-color-grey-light); } .form-group.form-actions .btn { @@ -148,11 +228,11 @@ form th { .btn { margin: 0; padding: 1px 5px; - background: #fff; + background-color: var(--background-color-white); display: inline-block; - color: #666; + color: var(--font-color-grey); font-size: 0.9rem; - border: 1px solid #aaa; + border: 1px solid var(--border-color-grey-dark); border-radius: 3px; min-height: 29px; min-width: 15px; @@ -172,27 +252,26 @@ a.btn { } .btn:hover { - background: #f0f0f0; + background-color: var(--background-color-grey-hover); text-decoration: none; } .btn.active, .btn:active, .dropdown-target:target ~ .btn.dropdown-toggle { - background: #eee; + background-color: var(--background-color-grey-button-active); } .btn-important { - background: #5cb85c; - color: #fff; - border-color: #5cb85c; + background-color: var(--background-color-button-important); + color: var(--font-color-white); + border: none; font-weight: normal; } .btn-important:hover, .btn-important:active { - background: #47a447; - border-color: #47a447; - box-shadow: none; + background-color: var(--background-color-button-important-hover); + border: none; } .btn-important .icon { @@ -200,20 +279,18 @@ a.btn { } .btn-attention { - background: #d9534f; - color: #fff; - border: 1px solid #d9534f; - outline-color: #aaa; + background-color: var(--background-color-button-attention); + color: var(--font-color-white); + border: none; } .btn-attention:hover { - background: #d2322d; - border-color: #d2322d; + background-color: var(--background-color-button-attention-hover); + border: none; } .btn-attention:active { - background: #d2322d; - box-shadow: none; + background-color: var(--background-color-button-attention-hover); } /*=== Navigation */ @@ -224,21 +301,19 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover { - background: #fafafa; +.nav-list .item a:hover { + color: var(--font-color-link-general-hover); + background-color: var(--background-color-grey-hover); } -.nav-list .item:hover a { - color: #038; -} - -.nav-list .item.active { - background: #3498db; - color: #fff; +.nav-list .item.active, +.nav-list .item.active a:hover { + background-color: var(--background-color-navlist-active); + color: var(--font-color-white); } .nav-list .item.active a { - color: #fff; + color: var(--font-color-white); } .nav-list .item > a { @@ -251,9 +326,9 @@ a.btn { .nav-list .nav-header { padding: 0 10px; - background: #f4f4f4; - color: #888; - border-bottom: 1px solid #ddd; + background-color: var(--background-color-grey); + color: var(--font-color-grey); + border-bottom: 1px solid var(--border-color-grey-light); font-weight: bold; } @@ -267,20 +342,20 @@ a.btn { margin: 5px 0 0; padding: 0.5rem 0 0.25rem 0; font-size: 0.8rem; - border: 1px solid #aaa; + border: 1px solid var(--border-color-grey-dark); border-radius: 5px; text-align: left; } .dropdown-menu::after { - border-color: #aaa; + border-color: var(--border-color-grey-dark); right: 8px; } .dropdown-header, .dropdown-section .dropdown-section-title { padding: 0 5px 5px; - color: #888; + color: var(--font-color-grey); font-weight: bold; text-align: left; } @@ -290,7 +365,7 @@ a.btn { .dropdown-menu .item > .as-link { padding: 0 22px; line-height: 2.5; - color: #666; + color: var(--font-color-grey); font-size: 0.8rem; } @@ -307,8 +382,8 @@ a.btn { .dropdown-menu .item > a:hover, .dropdown-menu .item > button:hover, .dropdown-menu .item > label:hover:not(.noHover) { - background: #eee; - color: #666; + background-color: var(--background-color-grey-hover); + color: var(--font-color-grey); } .dropdown-menu > .item[aria-checked="true"] > a::before { @@ -326,19 +401,19 @@ a.btn { .item ~ .dropdown-header, .dropdown-section ~ .dropdown-section, .item.separator { - border-top-color: #ddd; + border-top-color: var(--border-color-grey-light); } /*=== Alerts */ .alert { margin: 15px auto; padding: 10px 15px; - background: #f4f4f4; - color: #aaa; + background-color: var(--background-color-grey); + color: var(--font-color-grey); font-size: 0.9em; - border: 1px solid #ccc; - border-right: 1px solid #aaa; - border-bottom: 1px solid #aaa; + border: 1px solid var(--border-color-grey-light); + border-right: 1px solid var(--border-color-grey-dark); + border-bottom: 1px solid var(--border-color-grey-dark); border-radius: 5px; } @@ -352,52 +427,43 @@ a.btn { } .alert-warn { - background: #ffe; - color: #c95; - border: 1px solid #eeb; + background: var(--alert-warn-background-color); + color: var(--alert-warn-font-color); + border: 1px solid var(--alert-warn-border-color); } .alert-success { - background: #dfd; - color: #484; - border: 1px solid #cec; + background-color: var(--alert-success-background-color); + color: var(--alert-success-font-color); + border: 1px solid var(--alert-success-border-color); } .alert-error { - background: #fdd; - color: #844; - border: 1px solid #ecc; + background: var(--alert-error-background-color); + color: var(--alert-error-font-color); + border: 1px solid var(--alert-error-border-color); } /*=== Pagination */ -.pagination { - background: #fff; - color: #41444f; -} - -.pagination .item a { - color: #41444f; -} - .pagination:first-child .item { - border-bottom: 1px solid #aaa; + border-bottom: 1px solid var(--border-color-grey-dark); } .pagination:last-child .item { - border-top: 1px solid #aaa; + border-top: 1px solid var(--border-color-grey-dark); } /*=== Boxes */ .box { - border: 1px solid #aaa; + border: 1px solid var(--border-color-grey-dark); border-radius: 5px; } .box .box-title { margin: 0; padding: 5px 10px; - background: #f6f6f6; - border-bottom: 1px solid #aaa; + background-color: var(--background-color-grey); + border-bottom: 1px solid var(--border-color-grey-dark); border-radius: 5px 5px 0 0; } @@ -426,8 +492,8 @@ a.btn { .tree-folder-title { padding: 0.125rem 0.5rem; - background: #5bc0de; - color: #fff; + background-color: var(--background-color-category); + color: var(--font-color-white); font-size: 0.9rem; border-top: 1px solid transparent; border-bottom: 1px solid transparent; @@ -436,9 +502,13 @@ a.btn { line-height: 2.15; } +.tree-folder-title:hover { + background-color: var(--background-color-category-active); +} + .tree-folder-title .title { background: inherit; - color: #fff; + color: var(--font-color-white); } .tree-folder-title .title:hover { @@ -452,7 +522,7 @@ a.btn { } .tree-folder-title .title.error::before { - color: #f0ad4e; + color: var(--color-warning-icon-folder); font-size: 1.2rem; font-weight: normal; line-height: 1; @@ -464,10 +534,20 @@ a.btn { } .tree-folder.active .tree-folder-title { - background: #39b3d7; + background-color: var(--background-color-category-active); font-weight: bold; - border-top: 1px solid #666; - border-bottom: 1px solid #666; +} + +.tree-folder.active .tree-folder-title::before { + background-color: var(--background-color-white); + width: 0.5rem; + height: 0.5rem; + content: ""; + position: absolute; + top: 1rem; + left: -0.25rem; + z-index: 10; + transform: rotate(45deg); } .aside_feed .configure-feeds .btn { @@ -484,7 +564,7 @@ a.btn { } .tree-folder-items > .item.active { - background: #5cb85c; + background-color: var(--background-color-active-feed); } .tree-folder-items > .item > a { @@ -492,35 +572,29 @@ a.btn { } .tree-folder-items > .item.active > a { - color: #fff; + color: var(--font-color-white); } /*=== STRUCTURE */ /*===============*/ /*=== Header */ .header { - background: #41444f; + background-color: var(--background-color-dark); } .header > .item { - padding: 10px; - border-bottom: 1px solid #aaa; + border-bottom: 1px solid var(--border-color-grey-dark); vertical-align: middle; text-align: center; } -.header > .item.title { - width: 230px; -} - .header > .item.title .logo { - margin: 0.5em 0; filter: grayscale(100%) brightness(2.5); } a.signin { text-decoration: none; - color: #c5c6ca; + color: var(--font-color-grey-light); } .header > .item.search input { @@ -540,8 +614,8 @@ a.signin { /*=== Body */ .aside { - background: #fff; - border-right: 1px solid #aaa; + background-color: var(--background-color-white); + border-right: 1px solid var(--border-color-grey-dark); } .aside.aside_feed { @@ -557,17 +631,18 @@ a.signin { .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after, .global .box.category .title:not([data-unread="0"])::after { margin: 0.55em 0 0 0; - background-color: white; - color: #428bca; + background-color: var(--background-color-white); + color: var(--font-color-unread-articles); } .aside.aside_feed .feed .item-title:not([data-unread="0"])::after { - background-color: #5bc0de; - color: white; + background-color: var(--background-color-category); + color: var(--font-color-white); } .aside.aside_feed .tree-folder.category.active .feed .item-title:not([data-unread="0"])::after { - background-color: #39b3d7; + background-color: var(--background-color-category-active); + font-size: 0.7rem; } .aside.aside_feed .category .title:not([data-unread="0"])::after { @@ -576,51 +651,53 @@ a.signin { .aside.aside_feed .feed.active .item-title:not([data-unread="0"])::after { background-color: transparent; - color: white; - border: 1px solid #fff; + color: var(--font-color-white); + border: 1px solid var(--border-color-white); font-weight: bold; } .aside_feed .tree-folder.all .tree-folder-title { - background: #428bca; + background-color: var(--background-color-mainstream); } +.aside_feed .tree-folder.all:hover .tree-folder-title, .aside_feed .tree-folder.all.active .tree-folder-title { - background: #3276b1; + background-color: var(--background-color-mainstream-active); } .aside_feed .tree-folder.favorites .tree-folder-title { - background: #f0ad4e; + background-color: var(--background-color-favorites); } +.aside_feed .tree-folder.favorites:hover .tree-folder-title, .aside_feed .tree-folder.favorites.active .tree-folder-title { - background: #ed9c28; + background-color: var(--background-color-favorites-active); } /*=== Aside main page (feeds) */ .feed.item.empty.active { - background: #e67e22; + background: var(--color-empty-feed); } .feed.item.error.active { - background: #bd362f; + background: var(--color-empty-feed); } .feed.item.empty, .feed.item.empty > a { - color: #e67e22; + color: var(--color-empty-feed); } .feed.item.error, .feed.item.error > a { - color: #bd362f; + color: var(--color-error-feed); } .feed.item.empty.active, .feed.item.error.active, .feed.item.empty.active > a, .feed.item.error.active > a { - color: #fff; + color: var(--font-color-white); } .aside_feed .tree-folder-items .dropdown-menu::after { @@ -631,7 +708,7 @@ a.signin { .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon { border-radius: 3px; - background-color: #fff; + background-color: var(--background-color-white); } .aside_feed .tree-folder-title .dropdown-toggle .icon { @@ -676,29 +753,29 @@ a.signin { /*=== New article notification */ #new-article { - background: #428bca; + background-color: var(--background-color-new-article); text-align: center; font-size: 0.9em; } #new-article > a { padding: 0.75rem; - color: #fff; + color: var(--font-color-white); font-weight: bold; } #new-article > a:hover { text-decoration: none; - background: #3276b1; + background-color: var(--background-color-new-article-hover); } /*=== Day indication */ .day { padding: 0 10px; - background: #fff; - color: #666; - border-top: 1px solid #aaa; - border-bottom: 1px solid #aaa; + background-color: var(--background-color-white); + color: var(--font-color-grey); + border-top: 1px solid var(--border-color-grey-dark); + border-bottom: 1px solid var(--border-color-grey-dark); font-weight: bold; line-height: 3; } @@ -713,7 +790,7 @@ a.signin { .day .name { padding: 0 10px 0 0; - color: #666; + color: var(--font-color-grey); font-size: 1.8em; opacity: 0.3; font-style: italic; @@ -723,49 +800,53 @@ a.signin { /*=== Index menu */ .nav_menu { padding: 5px 0; - background: #fafafa; - border-bottom: 1px solid #aaa; + background-color: var(--background-color-grey-light); + border-bottom: 1px solid var(--border-color-grey-dark); text-align: center; } /*=== Feed articles */ .flux { - background: #fafafa; - border-left: 3px solid #5cb85c; + background-color: var(--background-color-grey-light); + border-left: 2px solid var(--border-left-article); } .flux .flux_header:hover { - background: #fff; + background-color: var(--background-color-grey-hover); +} + +.flux .flux_header:hover .title a { + color: var(--font-color-hover); } .flux.current { - background: #fff; - border-left: 3px solid #39b3d7; + background-color: var(--background-color-white); + border-left: 2px solid var(--border-left-article-current); } .flux.not_read { - border-left: 3px solid #d9534f; + border-left: 2px solid var(--border-left-article-unread); } .flux .item.title a, .flux.not_read:not(.current):hover .item.title { - color: #333; + color: var(--font-color-link-title); } .flux.favorite { - border-left: 2px solid #428bca; + border-left: 2px solid var(--border-left-article-favorite); } .flux.favorite:not(.current) { - background: #fff6da; + background-color: var(--background-color-favorite); } .flux.favorite:not(.current) .flux_header:hover { - background: #fff9e8; + background-color: var(--background-color-favorite-hover); } .flux_header { font-size: 0.8rem; - border-top: 1px solid #ddd; + border-top: 1px solid var(--border-color-grey-light); cursor: pointer; } @@ -778,7 +859,7 @@ a.signin { } .flux .item.date { - color: #666; + color: var(--font-color-grey); font-size: 0.7rem; } @@ -793,49 +874,48 @@ a.signin { } .content > h1.title > a { - color: #333; + color: var(--font-color-link-title); } .content hr { margin: 30px 10px; - background: #ddd; + background-color: var(--background-color-grey); height: 1px; border: 0; - box-shadow: 0 2px 5px #ccc; } .content pre { margin: 10px auto; padding: 10px 20px; overflow: auto; - background: #222; - color: #fff; + background-color: var(--background-color-dark); + color: var(--font-color-white); font-size: 0.9rem; border-radius: 3px; } .content code { padding: 2px 5px; - background: #fafafa; - color: #d14; - border: 1px solid #eee; + background-color: var(--background-color-grey-light); + color: var(--font-color-code); + border: 1px solid var(--border-color-grey-light); border-radius: 3px; } .content pre code { background: transparent; - color: #fff; + color: var(--font-color-white); border: none; } .content blockquote { margin: 0; padding: 5px 20px; - background: #fafafa; + background-color: var(--background-color-grey-light); display: block; - color: #41444f; - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; + color: var(--font-color-blockquote); + border-top: 1px solid var(--border-color-grey-light); + border-bottom: 1px solid var(--border-color-grey-light); } .content blockquote p { @@ -845,80 +925,76 @@ a.signin { /*=== Notification and actualize notification */ .notification { font-size: 0.9em; - border: 1px solid #eeb; + border: 1px solid var(--notification-good-border-color); border-radius: 3px; - box-shadow: 0 0 5px #ddd; + box-shadow: 0 0 5px var(--notification-box-shadow-color); text-align: center; font-weight: bold; vertical-align: middle; } .notification.good { - background: #ffe; - color: #c95; - border: 1px solid #eeb; + background-color: var(--notification-good-background-color); + color: var(--notification-good-font-color); + border: 1px solid var(--notification-good-border-color); } .notification.bad { - background: #fdd; - color: #844; - border: 1px solid #ecc; + background-color: var(--notification-bad-background-color); + color: var(--notification-bad-font-color); + border: 1px solid var(--notification-bad-border-color); } .notification.good a.close:hover { - background: #eeb; + background-color: var(--notification-good-border-color); } .notification.bad a.close:hover { - background: #ecc; + background-color: var(--notification-bad-border-color); } /*=== "Load more" part */ #bigMarkAsRead { - background: #fafafa; - color: #666; + background-color: var(--background-color-grey-light); + color: var(--font-color-grey); text-align: center; text-decoration: none; } #bigMarkAsRead:hover { - background: #f0f0f0; - color: #000; -} - -#bigMarkAsRead:hover .bigTick { - /* text-shadow: 0 0 10px #666;*/ + background-color: var(--background-color-grey-hover); + color: var(--font-color-hover); } /*=== Navigation menu (for articles) */ #nav_entries { margin: 0; - background: #fff; - border-top: 1px solid #ddd; + background-color: var(--background-color-white); + border-top: 1px solid var(--border-color-grey-light); text-align: center; line-height: 3; table-layout: fixed; } #nav_entries .item:hover { - background: #eee ; + background-color: var(--background-color-grey-hover); } /*=== READER VIEW */ /*================*/ #stream.reader .flux { - background: #fafafa; - color: #41444f; + background-color: var(--background-color-grey-light); + color: var(--font-color-article); border: none; } #stream.reader .flux .content { - background-color: #fff; - border-color: #ddd; + background-color: var(--background-color-white); + border-color: var(--border-color-grey-light); } #stream.reader .flux .author { margin: 0 0 10px; - color: #666; + color: var(--font-color-grey); font-size: 90%; } @@ -931,19 +1007,17 @@ a.signin { } .box.category:not([data-unread="0"]) .box-title { - background: #5bc0de; + background-color: var(--background-color-category); } .box.category:not([data-unread="0"]) .box-title .title { font-weight: bold; - color: #fff; + color: var(--font-color-white); } .box.category .title:not([data-unread="0"])::after { background: none; - border: 0; - box-shadow: none; - text-shadow: none; + border: none; } /*=== DIVERS */ @@ -975,7 +1049,7 @@ a.signin { .stat > table td, .stat > table th { - border-bottom: 1px solid #ddd; + border-bottom: 1px solid var(--border-color-grey-light); text-align: center; } @@ -991,15 +1065,11 @@ a.signin { transition: width 200ms linear; } - .aside:target { - box-shadow: 3px 0 3px #aaa; - } - .aside .toggle_aside, #panel .close, .dropdown-menu .toggle_aside { - background: #f6f6f6; - border-bottom: 1px solid #ddd; + background-color: var(--background-color-grey); + border-bottom: 1px solid var(--border-color-grey-light); } .aside.aside_feed { @@ -1035,8 +1105,8 @@ a.signin { } .dropdown-target:target ~ .dropdown-toggle::after { - border-top: 1px solid #aaa; - border-left: 1px solid #aaa; + border-top: 1px solid var(--border-color-grey-dark); + border-left: 1px solid var(--border-color-grey-dark); } .day .name { diff --git a/p/themes/Pafat/pafat.rtl.css b/p/themes/Pafat/pafat.rtl.css index 4bba258a8..7677a92db 100644 --- a/p/themes/Pafat/pafat.rtl.css +++ b/p/themes/Pafat/pafat.rtl.css @@ -2,15 +2,100 @@ /*=== GENERAL */ /*============*/ +:root { + --font-color-white: #fff; + --font-color-grey-light: #c5c6ca; + --font-color-grey: #666; + --font-color-hover: #000; + --font-color-link-title: #333; + --font-color-link-general: #2980b9; + --font-color-link-general-hover: #038; + + --font-color-unread-articles: #428bca; + + --font-color-article: #41444f; + + --font-color-blockquote: #41444f; + --font-color-code: #d14; + + --background-color-white: #fff; + --background-color-grey-light: #fafafa; + --background-color-grey: #f4f4f4; + --background-color-grey-hover: #f0f0f0; + --background-color-grey-button-active: #eee; + + --background-color-dark: #41444f; + + --background-color-navlist-active: #3498db; + + --background-color-favorite: #fff6da; + --background-color-favorite-hover: #fff9e8; + + --background-color-button-important: #5cb85c; + --background-color-button-important-hover: #47a447; + + --background-color-button-attention: #d9534f; + --background-color-button-attention-hover: #d2322d; + + --background-color-active-feed: #5cb85c; + + --background-color-mainstream: #428bca; + --background-color-mainstream-active: #3276b1; + --background-color-favorites: #f0ad4e; + --background-color-favorites-active: #ed9c28; + --background-color-category: #5bc0de; + --background-color-category-active: #39b3d7; + + --background-color-new-article: #428bca; + --background-color-new-article-hover: #3276b1; + + --color-empty-feed: #f39c12; + --color-error-feed: #bd362f; + + --color-warning-icon-folder: #f0ad4e; + + --notification-good-background-color: #ffe; + --notification-good-border-color: #eeb; + --notification-good-font-color: #c95; + --notification-bad-background-color: #fdd; + --notification-bad-font-color: #844; + --notification-bad-border-color: #ecc; + --notification-box-shadow-color: #ddd; + + --alert-warn-background-color: #ffe; + --alert-warn-border-color: #eeb; + --alert-warn-font-color: #c95; + --alert-success-background-color: #dfd; + --alert-success-border-color: #cec; + --alert-success-font-color: #484; + --alert-error-background-color: #fdd; + --alert-error-font-color: #844; + --alert-error-border-color: #ecc; + + --invalid-box-border-color: #f00; + --invalid-box-shadow-color: #fdd; + + --border-color-white: #fff; + + --border-color-grey-dark: #aaa; + --border-color-grey-light: #ddd; + + --border-left-article: #5cb85c; + --border-left-article-current: #39b3d7; + --border-left-article-unread: #d9534f; + --border-left-article-favorite: #428bca; +} + + html, body { - background: #fafafa; - color: #666; + background-color: var(--background-color-grey-light); + color: var(--font-color-grey); font-family: "OpenSans", "Cantarell", "Helvetica", "Arial", "PingFang SC", "Microsoft YaHei", sans-serif; } /*=== Links */ a { - color: #2980b9; + color: var(--font-color-link-general); outline: none; } @@ -19,7 +104,7 @@ legend { margin: 20px 0 5px; padding: 5px 0; font-size: 1.4em; - border-bottom: 1px solid #ddd; + border-bottom: 1px solid var(--border-color-grey-light); } label { @@ -35,9 +120,9 @@ textarea { input, select, textarea { padding: 7px; - background: #fdfdfd; - color: #666; - border: 1px solid #bbb; + background-color: var(--background-color-white); + color: var(--font-color-grey); + border: 1px solid var(--border-color-grey-dark); border-radius: 3px; vertical-align: middle; } @@ -47,17 +132,12 @@ option { } input:focus, select:focus, textarea:focus { - outline-color: #aaa; + border-color: var(--border-color-grey-dark); } input:invalid, select:invalid { - border-color: #f00; - box-shadow: 0 0 2px 2px #fdd inset; - outline-color: #fdd; -} - -input:disabled, select:disabled { - background: #eee; + border-color: var(--invalid-box-border-color); + box-shadow: 0 0 2px 2px var(--invalid-box-shadow-color) inset; } input.extend { @@ -70,11 +150,11 @@ table { } th, td { - border: 1px solid #ddd; + border: 1px solid var(--border-color-grey-light); } th { - background: #f6f6f6; + background-color: var(--background-color-grey); } form td, @@ -88,8 +168,8 @@ form th { /*=== Forms */ .form-group.form-actions { padding: 5px 0; - background: #f4f4f4; - border-top: 1px solid #ddd; + background-color: var(--background-color-grey); + border-top: 1px solid var(--border-color-grey-light); } .form-group.form-actions .btn { @@ -148,11 +228,11 @@ form th { .btn { margin: 0; padding: 1px 5px; - background: #fff; + background-color: var(--background-color-white); display: inline-block; - color: #666; + color: var(--font-color-grey); font-size: 0.9rem; - border: 1px solid #aaa; + border: 1px solid var(--border-color-grey-dark); border-radius: 3px; min-height: 29px; min-width: 15px; @@ -172,27 +252,26 @@ a.btn { } .btn:hover { - background: #f0f0f0; + background-color: var(--background-color-grey-hover); text-decoration: none; } .btn.active, .btn:active, .dropdown-target:target ~ .btn.dropdown-toggle { - background: #eee; + background-color: var(--background-color-grey-button-active); } .btn-important { - background: #5cb85c; - color: #fff; - border-color: #5cb85c; + background-color: var(--background-color-button-important); + color: var(--font-color-white); + border: none; font-weight: normal; } .btn-important:hover, .btn-important:active { - background: #47a447; - border-color: #47a447; - box-shadow: none; + background-color: var(--background-color-button-important-hover); + border: none; } .btn-important .icon { @@ -200,20 +279,18 @@ a.btn { } .btn-attention { - background: #d9534f; - color: #fff; - border: 1px solid #d9534f; - outline-color: #aaa; + background-color: var(--background-color-button-attention); + color: var(--font-color-white); + border: none; } .btn-attention:hover { - background: #d2322d; - border-color: #d2322d; + background-color: var(--background-color-button-attention-hover); + border: none; } .btn-attention:active { - background: #d2322d; - box-shadow: none; + background-color: var(--background-color-button-attention-hover); } /*=== Navigation */ @@ -224,21 +301,19 @@ a.btn { font-size: 0.9rem; } -.nav-list .item:hover { - background: #fafafa; +.nav-list .item a:hover { + color: var(--font-color-link-general-hover); + background-color: var(--background-color-grey-hover); } -.nav-list .item:hover a { - color: #038; -} - -.nav-list .item.active { - background: #3498db; - color: #fff; +.nav-list .item.active, +.nav-list .item.active a:hover { + background-color: var(--background-color-navlist-active); + color: var(--font-color-white); } .nav-list .item.active a { - color: #fff; + color: var(--font-color-white); } .nav-list .item > a { @@ -251,9 +326,9 @@ a.btn { .nav-list .nav-header { padding: 0 10px; - background: #f4f4f4; - color: #888; - border-bottom: 1px solid #ddd; + background-color: var(--background-color-grey); + color: var(--font-color-grey); + border-bottom: 1px solid var(--border-color-grey-light); font-weight: bold; } @@ -267,20 +342,20 @@ a.btn { margin: 5px 0 0; padding: 0.5rem 0 0.25rem 0; font-size: 0.8rem; - border: 1px solid #aaa; + border: 1px solid var(--border-color-grey-dark); border-radius: 5px; text-align: right; } .dropdown-menu::after { - border-color: #aaa; + border-color: var(--border-color-grey-dark); left: 8px; } .dropdown-header, .dropdown-section .dropdown-section-title { padding: 0 5px 5px; - color: #888; + color: var(--font-color-grey); font-weight: bold; text-align: right; } @@ -290,7 +365,7 @@ a.btn { .dropdown-menu .item > .as-link { padding: 0 22px; line-height: 2.5; - color: #666; + color: var(--font-color-grey); font-size: 0.8rem; } @@ -307,8 +382,8 @@ a.btn { .dropdown-menu .item > a:hover, .dropdown-menu .item > button:hover, .dropdown-menu .item > label:hover:not(.noHover) { - background: #eee; - color: #666; + background-color: var(--background-color-grey-hover); + color: var(--font-color-grey); } .dropdown-menu > .item[aria-checked="true"] > a::before { @@ -326,19 +401,19 @@ a.btn { .item ~ .dropdown-header, .dropdown-section ~ .dropdown-section, .item.separator { - border-top-color: #ddd; + border-top-color: var(--border-color-grey-light); } /*=== Alerts */ .alert { margin: 15px auto; padding: 10px 15px; - background: #f4f4f4; - color: #aaa; + background-color: var(--background-color-grey); + color: var(--font-color-grey); font-size: 0.9em; - border: 1px solid #ccc; - border-left: 1px solid #aaa; - border-bottom: 1px solid #aaa; + border: 1px solid var(--border-color-grey-light); + border-left: 1px solid var(--border-color-grey-dark); + border-bottom: 1px solid var(--border-color-grey-dark); border-radius: 5px; } @@ -352,52 +427,43 @@ a.btn { } .alert-warn { - background: #ffe; - color: #c95; - border: 1px solid #eeb; + background: var(--alert-warn-background-color); + color: var(--alert-warn-font-color); + border: 1px solid var(--alert-warn-border-color); } .alert-success { - background: #dfd; - color: #484; - border: 1px solid #cec; + background-color: var(--alert-success-background-color); + color: var(--alert-success-font-color); + border: 1px solid var(--alert-success-border-color); } .alert-error { - background: #fdd; - color: #844; - border: 1px solid #ecc; + background: var(--alert-error-background-color); + color: var(--alert-error-font-color); + border: 1px solid var(--alert-error-border-color); } /*=== Pagination */ -.pagination { - background: #fff; - color: #41444f; -} - -.pagination .item a { - color: #41444f; -} - .pagination:first-child .item { - border-bottom: 1px solid #aaa; + border-bottom: 1px solid var(--border-color-grey-dark); } .pagination:last-child .item { - border-top: 1px solid #aaa; + border-top: 1px solid var(--border-color-grey-dark); } /*=== Boxes */ .box { - border: 1px solid #aaa; + border: 1px solid var(--border-color-grey-dark); border-radius: 5px; } .box .box-title { margin: 0; padding: 5px 10px; - background: #f6f6f6; - border-bottom: 1px solid #aaa; + background-color: var(--background-color-grey); + border-bottom: 1px solid var(--border-color-grey-dark); border-radius: 5px 5px 0 0; } @@ -426,8 +492,8 @@ a.btn { .tree-folder-title { padding: 0.125rem 0.5rem; - background: #5bc0de; - color: #fff; + background-color: var(--background-color-category); + color: var(--font-color-white); font-size: 0.9rem; border-top: 1px solid transparent; border-bottom: 1px solid transparent; @@ -436,9 +502,13 @@ a.btn { line-height: 2.15; } +.tree-folder-title:hover { + background-color: var(--background-color-category-active); +} + .tree-folder-title .title { background: inherit; - color: #fff; + color: var(--font-color-white); } .tree-folder-title .title:hover { @@ -452,7 +522,7 @@ a.btn { } .tree-folder-title .title.error::before { - color: #f0ad4e; + color: var(--color-warning-icon-folder); font-size: 1.2rem; font-weight: normal; line-height: 1; @@ -464,10 +534,20 @@ a.btn { } .tree-folder.active .tree-folder-title { - background: #39b3d7; + background-color: var(--background-color-category-active); font-weight: bold; - border-top: 1px solid #666; - border-bottom: 1px solid #666; +} + +.tree-folder.active .tree-folder-title::before { + background-color: var(--background-color-white); + width: 0.5rem; + height: 0.5rem; + content: ""; + position: absolute; + top: 1rem; + right: -0.25rem; + z-index: 10; + transform: rotate(-45deg); } .aside_feed .configure-feeds .btn { @@ -484,7 +564,7 @@ a.btn { } .tree-folder-items > .item.active { - background: #5cb85c; + background-color: var(--background-color-active-feed); } .tree-folder-items > .item > a { @@ -492,35 +572,29 @@ a.btn { } .tree-folder-items > .item.active > a { - color: #fff; + color: var(--font-color-white); } /*=== STRUCTURE */ /*===============*/ /*=== Header */ .header { - background: #41444f; + background-color: var(--background-color-dark); } .header > .item { - padding: 10px; - border-bottom: 1px solid #aaa; + border-bottom: 1px solid var(--border-color-grey-dark); vertical-align: middle; text-align: center; } -.header > .item.title { - width: 230px; -} - .header > .item.title .logo { - margin: 0.5em 0; filter: grayscale(100%) brightness(2.5); } a.signin { text-decoration: none; - color: #c5c6ca; + color: var(--font-color-grey-light); } .header > .item.search input { @@ -540,8 +614,8 @@ a.signin { /*=== Body */ .aside { - background: #fff; - border-left: 1px solid #aaa; + background-color: var(--background-color-white); + border-left: 1px solid var(--border-color-grey-dark); } .aside.aside_feed { @@ -557,17 +631,18 @@ a.signin { .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after, .global .box.category .title:not([data-unread="0"])::after { margin: 0.55em 0 0 0; - background-color: white; - color: #428bca; + background-color: var(--background-color-white); + color: var(--font-color-unread-articles); } .aside.aside_feed .feed .item-title:not([data-unread="0"])::after { - background-color: #5bc0de; - color: white; + background-color: var(--background-color-category); + color: var(--font-color-white); } .aside.aside_feed .tree-folder.category.active .feed .item-title:not([data-unread="0"])::after { - background-color: #39b3d7; + background-color: var(--background-color-category-active); + font-size: 0.7rem; } .aside.aside_feed .category .title:not([data-unread="0"])::after { @@ -576,51 +651,53 @@ a.signin { .aside.aside_feed .feed.active .item-title:not([data-unread="0"])::after { background-color: transparent; - color: white; - border: 1px solid #fff; + color: var(--font-color-white); + border: 1px solid var(--border-color-white); font-weight: bold; } .aside_feed .tree-folder.all .tree-folder-title { - background: #428bca; + background-color: var(--background-color-mainstream); } +.aside_feed .tree-folder.all:hover .tree-folder-title, .aside_feed .tree-folder.all.active .tree-folder-title { - background: #3276b1; + background-color: var(--background-color-mainstream-active); } .aside_feed .tree-folder.favorites .tree-folder-title { - background: #f0ad4e; + background-color: var(--background-color-favorites); } +.aside_feed .tree-folder.favorites:hover .tree-folder-title, .aside_feed .tree-folder.favorites.active .tree-folder-title { - background: #ed9c28; + background-color: var(--background-color-favorites-active); } /*=== Aside main page (feeds) */ .feed.item.empty.active { - background: #e67e22; + background: var(--color-empty-feed); } .feed.item.error.active { - background: #bd362f; + background: var(--color-empty-feed); } .feed.item.empty, .feed.item.empty > a { - color: #e67e22; + color: var(--color-empty-feed); } .feed.item.error, .feed.item.error > a { - color: #bd362f; + color: var(--color-error-feed); } .feed.item.empty.active, .feed.item.error.active, .feed.item.empty.active > a, .feed.item.error.active > a { - color: #fff; + color: var(--font-color-white); } .aside_feed .tree-folder-items .dropdown-menu::after { @@ -631,7 +708,7 @@ a.signin { .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon { border-radius: 3px; - background-color: #fff; + background-color: var(--background-color-white); } .aside_feed .tree-folder-title .dropdown-toggle .icon { @@ -676,29 +753,29 @@ a.signin { /*=== New article notification */ #new-article { - background: #428bca; + background-color: var(--background-color-new-article); text-align: center; font-size: 0.9em; } #new-article > a { padding: 0.75rem; - color: #fff; + color: var(--font-color-white); font-weight: bold; } #new-article > a:hover { text-decoration: none; - background: #3276b1; + background-color: var(--background-color-new-article-hover); } /*=== Day indication */ .day { padding: 0 10px; - background: #fff; - color: #666; - border-top: 1px solid #aaa; - border-bottom: 1px solid #aaa; + background-color: var(--background-color-white); + color: var(--font-color-grey); + border-top: 1px solid var(--border-color-grey-dark); + border-bottom: 1px solid var(--border-color-grey-dark); font-weight: bold; line-height: 3; } @@ -713,7 +790,7 @@ a.signin { .day .name { padding: 0 0 0 10px; - color: #666; + color: var(--font-color-grey); font-size: 1.8em; opacity: 0.3; font-style: italic; @@ -723,49 +800,53 @@ a.signin { /*=== Index menu */ .nav_menu { padding: 5px 0; - background: #fafafa; - border-bottom: 1px solid #aaa; + background-color: var(--background-color-grey-light); + border-bottom: 1px solid var(--border-color-grey-dark); text-align: center; } /*=== Feed articles */ .flux { - background: #fafafa; - border-right: 3px solid #5cb85c; + background-color: var(--background-color-grey-light); + border-right: 2px solid var(--border-left-article); } .flux .flux_header:hover { - background: #fff; + background-color: var(--background-color-grey-hover); +} + +.flux .flux_header:hover .title a { + color: var(--font-color-hover); } .flux.current { - background: #fff; - border-right: 3px solid #39b3d7; + background-color: var(--background-color-white); + border-right: 2px solid var(--border-left-article-current); } .flux.not_read { - border-right: 3px solid #d9534f; + border-right: 2px solid var(--border-left-article-unread); } .flux .item.title a, .flux.not_read:not(.current):hover .item.title { - color: #333; + color: var(--font-color-link-title); } .flux.favorite { - border-right: 2px solid #428bca; + border-right: 2px solid var(--border-left-article-favorite); } .flux.favorite:not(.current) { - background: #fff6da; + background-color: var(--background-color-favorite); } .flux.favorite:not(.current) .flux_header:hover { - background: #fff9e8; + background-color: var(--background-color-favorite-hover); } .flux_header { font-size: 0.8rem; - border-top: 1px solid #ddd; + border-top: 1px solid var(--border-color-grey-light); cursor: pointer; } @@ -778,7 +859,7 @@ a.signin { } .flux .item.date { - color: #666; + color: var(--font-color-grey); font-size: 0.7rem; } @@ -793,49 +874,48 @@ a.signin { } .content > h1.title > a { - color: #333; + color: var(--font-color-link-title); } .content hr { margin: 30px 10px; - background: #ddd; + background-color: var(--background-color-grey); height: 1px; border: 0; - box-shadow: 0 2px 5px #ccc; } .content pre { margin: 10px auto; padding: 10px 20px; overflow: auto; - background: #222; - color: #fff; + background-color: var(--background-color-dark); + color: var(--font-color-white); font-size: 0.9rem; border-radius: 3px; } .content code { padding: 2px 5px; - background: #fafafa; - color: #d14; - border: 1px solid #eee; + background-color: var(--background-color-grey-light); + color: var(--font-color-code); + border: 1px solid var(--border-color-grey-light); border-radius: 3px; } .content pre code { background: transparent; - color: #fff; + color: var(--font-color-white); border: none; } .content blockquote { margin: 0; padding: 5px 20px; - background: #fafafa; + background-color: var(--background-color-grey-light); display: block; - color: #41444f; - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; + color: var(--font-color-blockquote); + border-top: 1px solid var(--border-color-grey-light); + border-bottom: 1px solid var(--border-color-grey-light); } .content blockquote p { @@ -845,80 +925,76 @@ a.signin { /*=== Notification and actualize notification */ .notification { font-size: 0.9em; - border: 1px solid #eeb; + border: 1px solid var(--notification-good-border-color); border-radius: 3px; - box-shadow: 0 0 5px #ddd; + box-shadow: 0 0 5px var(--notification-box-shadow-color); text-align: center; font-weight: bold; vertical-align: middle; } .notification.good { - background: #ffe; - color: #c95; - border: 1px solid #eeb; + background-color: var(--notification-good-background-color); + color: var(--notification-good-font-color); + border: 1px solid var(--notification-good-border-color); } .notification.bad { - background: #fdd; - color: #844; - border: 1px solid #ecc; + background-color: var(--notification-bad-background-color); + color: var(--notification-bad-font-color); + border: 1px solid var(--notification-bad-border-color); } .notification.good a.close:hover { - background: #eeb; + background-color: var(--notification-good-border-color); } .notification.bad a.close:hover { - background: #ecc; + background-color: var(--notification-bad-border-color); } /*=== "Load more" part */ #bigMarkAsRead { - background: #fafafa; - color: #666; + background-color: var(--background-color-grey-light); + color: var(--font-color-grey); text-align: center; text-decoration: none; } #bigMarkAsRead:hover { - background: #f0f0f0; - color: #000; -} - -#bigMarkAsRead:hover .bigTick { - /* text-shadow: 0 0 10px #666;*/ + background-color: var(--background-color-grey-hover); + color: var(--font-color-hover); } /*=== Navigation menu (for articles) */ #nav_entries { margin: 0; - background: #fff; - border-top: 1px solid #ddd; + background-color: var(--background-color-white); + border-top: 1px solid var(--border-color-grey-light); text-align: center; line-height: 3; table-layout: fixed; } #nav_entries .item:hover { - background: #eee ; + background-color: var(--background-color-grey-hover); } /*=== READER VIEW */ /*================*/ #stream.reader .flux { - background: #fafafa; - color: #41444f; + background-color: var(--background-color-grey-light); + color: var(--font-color-article); border: none; } #stream.reader .flux .content { - background-color: #fff; - border-color: #ddd; + background-color: var(--background-color-white); + border-color: var(--border-color-grey-light); } #stream.reader .flux .author { margin: 0 0 10px; - color: #666; + color: var(--font-color-grey); font-size: 90%; } @@ -931,19 +1007,17 @@ a.signin { } .box.category:not([data-unread="0"]) .box-title { - background: #5bc0de; + background-color: var(--background-color-category); } .box.category:not([data-unread="0"]) .box-title .title { font-weight: bold; - color: #fff; + color: var(--font-color-white); } .box.category .title:not([data-unread="0"])::after { background: none; - border: 0; - box-shadow: none; - text-shadow: none; + border: none; } /*=== DIVERS */ @@ -975,7 +1049,7 @@ a.signin { .stat > table td, .stat > table th { - border-bottom: 1px solid #ddd; + border-bottom: 1px solid var(--border-color-grey-light); text-align: center; } @@ -991,15 +1065,11 @@ a.signin { transition: width 200ms linear; } - .aside:target { - box-shadow: -3px 0 3px #aaa; - } - .aside .toggle_aside, #panel .close, .dropdown-menu .toggle_aside { - background: #f6f6f6; - border-bottom: 1px solid #ddd; + background-color: var(--background-color-grey); + border-bottom: 1px solid var(--border-color-grey-light); } .aside.aside_feed { @@ -1035,8 +1105,8 @@ a.signin { } .dropdown-target:target ~ .dropdown-toggle::after { - border-top: 1px solid #aaa; - border-right: 1px solid #aaa; + border-top: 1px solid var(--border-color-grey-dark); + border-right: 1px solid var(--border-color-grey-dark); } .day .name { |
