From eb6c2659c877b927d5461d9de309dd16e8ae8155 Mon Sep 17 00:00:00 2001 From: Thomas Lange Date: Mon, 5 Jul 2021 21:42:20 +0200 Subject: Add dark color mode for admin theme This commit adds a dark color mode for the admin theme. The dark color mode can be enabled/disabled by clicking the hyperlink in the footer. It is not perfect yet (it uses cookies and needs a full page reload), but it works just fine for the moment. Hope your eyes can enjoy it! --- theme/admin/html/main.php | 25 +- theme/admin/html/migration.php | 3 +- theme/admin/lang/de.php | 6 + theme/admin/lang/en.php | 6 + theme/admin/rsrc/css/dark.css | 1169 ++++++++++++++++++++++++++++++ theme/admin/rsrc/css/dark.scss | 61 ++ theme/admin/rsrc/css/import/_main.scss | 743 ------------------- theme/admin/rsrc/css/import/_styles.scss | 743 +++++++++++++++++++ theme/admin/rsrc/css/main.css | 9 +- theme/admin/rsrc/css/main.scss | 8 +- 10 files changed, 2023 insertions(+), 750 deletions(-) create mode 100644 theme/admin/rsrc/css/dark.css create mode 100644 theme/admin/rsrc/css/dark.scss delete mode 100644 theme/admin/rsrc/css/import/_main.scss create mode 100644 theme/admin/rsrc/css/import/_styles.scss diff --git a/theme/admin/html/main.php b/theme/admin/html/main.php index 45cdc41..a0a1412 100644 --- a/theme/admin/html/main.php +++ b/theme/admin/html/main.php @@ -1,10 +1,25 @@ + '/', 'samesite' => 'Lax']; + + if($toogle === 'dark') { + $_COOKIE['dark_mode'] = TRUE; + setcookie('dark_mode', TRUE, $options); + } else { + unset($_COOKIE['dark_mode']); + setcookie('dark_mode', NULL, array_merge($options, ['expires' => -1])); + } +} + +$theme = isset($_COOKIE['dark_mode']) ? 'dark' : 'main'; +?> - + " /> <?=escapeHTML($NAME)?> | Administration @@ -47,6 +62,14 @@
  • Releases
  • Documentation
  • Bugreport
  • +
  • + + text('dark_colors')?> + + + text('bright_colors')?> + +
  • diff --git a/theme/admin/html/migration.php b/theme/admin/html/migration.php index 14405c4..1b5be2c 100644 --- a/theme/admin/html/migration.php +++ b/theme/admin/html/migration.php @@ -1,10 +1,11 @@ + - + " /> <?=$Language->text('maintenance_mode')?> diff --git a/theme/admin/lang/de.php b/theme/admin/lang/de.php index 716a0a0..54e8352 100644 --- a/theme/admin/lang/de.php +++ b/theme/admin/lang/de.php @@ -13,6 +13,12 @@ #=============================================================================== $LANGUAGE['date_format'] = '[D].[M].[Y]'; +#=============================================================================== +# Theme color switch +#=============================================================================== +$LANGUAGE['bright_colors'] = 'Helle Farben'; +$LANGUAGE['dark_colors'] = 'Dunkle Farben'; + #=============================================================================== # Item last text #=============================================================================== diff --git a/theme/admin/lang/en.php b/theme/admin/lang/en.php index adf10ff..9232b25 100644 --- a/theme/admin/lang/en.php +++ b/theme/admin/lang/en.php @@ -13,6 +13,12 @@ #=============================================================================== $LANGUAGE['date_format'] = '[Y]-[M]-[D]'; +#=============================================================================== +# Theme color switch +#=============================================================================== +$LANGUAGE['bright_colors'] = 'Bright colors'; +$LANGUAGE['dark_colors'] = 'Dark colors'; + #=============================================================================== # Item last text #=============================================================================== diff --git a/theme/admin/rsrc/css/dark.css b/theme/admin/rsrc/css/dark.css new file mode 100644 index 0000000..93a8b34 --- /dev/null +++ b/theme/admin/rsrc/css/dark.css @@ -0,0 +1,1169 @@ +@charset "UTF-8"; +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content background and border color +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Header and navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text colors +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Misc +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Forms +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Information message box +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import stylesheet +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import variables +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Line height +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Font families +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text font sizes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Heading font sizes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content widths +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Selection +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +::selection { + background: #BBB; + color: #000; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Hyperlinks +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +a { + color: #5EA4D3; + text-decoration: none; +} +a:focus { + background: #42474E; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Headings +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +h1, h2, h3 { + margin-bottom: 0; + text-transform: uppercase; +} +h1 + p, h2 + p, h3 + p { + margin-top: 0; +} +h1 .fa, h2 .fa, h3 .fa { + margin-right: 0.25rem; +} + +h1 { + margin-top: 0; + font-size: 0.8rem; +} + +h2 { + font-size: 0.7rem; +} + +h3 { + font-size: 0.65rem; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Document +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +html, body { + margin: 0; + padding: 0; +} + +html { + font-size: 1.25rem; + color: #9DAAB7; + background: #4D535B; + -webkit-hyphens: auto; + hyphens: auto; +} + +body { + font-family: "Ruda", "sans-serif"; + font-size: 0.7rem; + line-height: 1.2rem; + display: flex; + min-height: 100vh; + flex-direction: column; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Main content +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-content { + flex: 1; + width: 100%; + background: #3D434B; + box-sizing: border-box; + padding: 0.75rem; +} +#main-content.wide { + max-width: 90rem; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Width +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-content, .header-content { + max-width: 50rem; + margin: 0 auto; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Header +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-header { + font-size: 0.6rem; +} + +#header-text { + font-size: 0.8rem; + text-transform: uppercase; +} +#header-desc { + line-height: 1rem; +} +#header-text, #header-desc { + text-shadow: 0 -1px #4E718F, 1px 0 #4E718F, 0 1px #4E718F, -1px 0 #4E718F; + color: #333; + font-weight: bold; +} +#header-logo { + display: block; + max-height: 5rem; + float: left; + margin-right: 0.5rem; +} + +.header-line { + padding: 0.25rem 0.75rem; + overflow: hidden; + background: #32373E; +} +.header-line + .header-line { + border: 0.05rem solid #1D232B; + border-left: none; + border-right: none; +} +.header-line.background { + background: #5E819F; + position: sticky; + top: 0; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-footer { + font-size: 0.6rem; + background: #32373E; + border-top: 0.05rem solid #1D232B; + padding: 0.5rem 0.75rem; + text-align: center; +} +#main-footer ul { + margin: 0; + padding: 0; + list-style: none; +} +#main-footer ul li { + display: inline; +} +#main-footer ul li .fa { + margin-right: 0.125rem; +} +#main-footer ul li:after { + content: " – "; + font-weight: bold; +} +#main-footer ul li:last-child:after { + content: none; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Main Navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-navi ul { + list-style: none; + margin: 0; + padding: 0; +} +#main-navi ul li { + display: inline; +} +#main-navi ul li .fa { + margin-right: 0.25rem; +} +#main-navi ul li:last-child { + float: right; +} +#main-navi ul li:first-child { + float: none; +} +#main-navi a { + padding: 0.1rem 0.3rem; + background: #2D333B; + border: 0.05rem solid #1D232B; + color: inherit; + text-decoration: none; + text-align: center; + display: inline-block; +} +#main-navi a:hover, #main-navi a:focus { + text-decoration: none; + background: #1D232B; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Site Navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#site-navi { + clear: both; + display: flex; + box-sizing: border-box; + justify-content: space-between; + margin-top: 0.75rem; +} +#site-navi > div { + display: flex; + align-items: center; + border: 0.05rem solid #1D232B; + background: #32373E; +} +#site-navi > div > a { + display: block; +} +#site-navi .disabled { + pointer-events: none; + color: #1D232B; +} +#site-navi ol { + list-style: none; + margin: 0; + padding: 0; +} +#site-navi ol li { + float: left; + display: inline-block; +} +#site-navi ol li + li { + border-left: 0.05rem solid #1D232B; +} +#site-navi ol li.active a { + background: #42474E; + font-weight: 600; + pointer-events: none; +} +#site-navi a { + padding: 0 0.5rem; + text-decoration: none; + color: inherit; + display: inline-block; +} +#site-navi a:hover, #site-navi a:focus { + background: #1D232B; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Actions +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.actions { + margin: 0 0 0.5rem 0; + padding: 0; + list-style: none; + font-size: 0.6rem; + float: right; + text-align: center; +} +.actions .fa { + margin-right: 0.1rem; +} +.actions li { + display: inline-block; + font-weight: bold; + background: #32373E; + border: 0.05rem solid #1D232B; +} +.actions a { + color: inherit; + display: block; + padding: 0 0.25rem; +} + +.actions-before { + float: left; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Elements +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +pre { + margin-bottom: 1rem; + overflow: auto; + -moz-tab-size: 4; + tab-size: 4; + background: #32373E; + padding: 0.5rem; + border: 0.05rem solid #1D232B; +} + +code, pre { + font-family: "monospace"; +} + +code { + color: #FFB830; +} + +p { + margin-top: 0; +} + +img { + border: none; + max-width: 100%; +} + +.warning { + color: #FFB830; +} + +.hidden { + display: none; +} + +.no-visual-list { + margin: 0; + padding: 0; + list-style: none; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Item Element +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.item { + display: flex; + flex-direction: column; + border: 0.05rem solid #1D232B; + margin-bottom: 0.75rem; + clear: both; +} +.item header { + padding: 0.5rem 0.75rem; + border-bottom: 0.05rem solid #1D232B; + position: sticky; + top: 0; +} +.item header h2 { + margin-top: 0; +} +.item footer { + border-top: 0.05rem solid #1D232B; +} +.item footer ul { + margin: 0; + padding: 0; + list-style: none; +} +.item footer ul li { + display: inline-block; + float: left; +} +.item footer ul li:last-child { + float: right; +} +.item footer a { + color: inherit; + display: inline-block; + padding: 0.25rem 2rem; +} +.item footer a:hover, .item footer a:active { + background: #42474E; +} +.item header, .item footer { + background: #32373E; + overflow: hidden; +} +.item blockquote { + margin: 0; + padding: 0.75rem; + overflow: hidden; + font-family: inherit; + flex-grow: 1; +} +.item blockquote p { + margin-bottom: 0; +} +.item-id { + float: right; + color: #8D9AA7; + font-size: 0.7rem; + font-weight: normal; +} +.item-meta { + margin: 0; + padding: 0; + list-style: none; +} +.item-meta-right { + float: right; +} +.item-meta li { + display: inline-block; +} +.item-meta li + li:before { + content: " – "; +} +.item-meta li.item-meta-right:before { + content: none; +} +.item-image { + float: left; + display: block; + margin-right: 0.75rem; + width: 10rem; + height: 7rem; + object-fit: cover; + background: #32373E; + border: 0.05rem solid #1D232B; +} +.item-container.grid { + width: 100%; + display: grid; + grid-template-columns: auto auto auto; + grid-column-gap: 1rem; + grid-row-gap: 1rem; + column-gap: 1rem; + row-gap: 1rem; +} +.item-container.grid .item { + margin-bottom: 0; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Argument list +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.arguments { + list-style: none; + margin: 0; + padding: 0.25rem 0.75rem; + background: #32373E; + font-size: 0.6rem; + text-align: center; + border-top: 0.05rem solid #1D232B; +} +.arguments li { + display: inline; +} +.arguments li > code { + font-family: inherit; + color: #8D9AA7; +} +.arguments li:after { + content: " · "; + font-weight: bold; +} +.arguments li:last-child:after { + content: none; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Grids +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.form-grid { + display: grid; + grid-template-columns: 8rem auto 8rem auto; + border-left: 0.05rem solid #1D232B; + border-bottom: 0.05rem solid #1D232B; +} +.form-grid.two-columns { + grid-template-columns: auto auto; +} +.form-grid.no-bottom-border { + border-bottom: none; +} +.form-grid > label { + display: flex; + align-items: center; + background: #4D535B; +} +.form-grid > label .fa { + margin-left: 0.5rem; + margin-right: 1rem; +} +.form-grid-item, +.form-grid > label { + padding: 0.5rem; + border-top: 0.05rem solid #1D232B; + border-right: 0.05rem solid #1D232B; +} +.form-grid-item.first { + grid-column-start: 2; + grid-column-end: 5; +} + +.form-border-box { + border: 0.05rem solid #1D232B; +} +.form-border-box.padding { + padding: 0.5rem; +} +.form-border-box.background { + background: #4D535B; +} +.form-border-box.nobordertop { + border-top: none; +} +.form-border-box + .form-border-box { + border-top: none; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#emoticon-list-wrapper { + display: flex; + width: 100%; + justify-content: center; + box-sizing: border-box; +} + +#button-list-wrapper { + border-bottom: 0.05rem solid #1D232B; + background: #32373E; + overflow: hidden; +} + +.button-list { + margin: 0; + padding: 0; + list-style: none; +} + +.button-list.emoticons > li { + font-size: 1.25rem; + display: inline-block; + padding: 0.2rem; + border-bottom: 0.2rem solid transparent; + border-radius: 0.1rem; + cursor: pointer; +} +.button-list.emoticons > li:hover, .button-list.emoticons > li:active { + border-bottom: 0.2rem solid #1D232B; +} + +.button-list.markdown > li { + float: left; + padding: 0.25rem; + cursor: pointer; + width: 1.75rem; + box-sizing: border-box; + text-align: center; +} +.button-list.markdown > li:hover, .button-list.markdown > li:active { + color: #CDDAE7; +} + +#content-editor { + border: none; + margin: 0; +} +#content-editor-wrapper { + border-top: none; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form elements +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +input, select, textarea { + width: 100%; + background: #32373E; + color: #8D9AA7; + font-family: inherit; + font-size: 0.7rem; + padding: 0.25rem; + border: 0.05rem solid #1D232B; + box-sizing: border-box; +} +input:focus, select:focus, textarea:focus { + outline: none; +} + +textarea { + font-family: "Kadwa", "sans-serif"; + box-sizing: border-box; + display: block; + resize: vertical; + min-height: 15rem; + line-height: 1.2rem; + padding: 0.5rem; + -webkit-hyphens: none; + hyphens: none; +} + +input[type=submit] { + text-transform: uppercase; + border-radius: 0.1rem; +} + +label { + text-transform: uppercase; + font-weight: normal; +} +label:after { + content: ":"; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#insert-button, #update-button, #delete-button { + color: #CCC; + border: 0.05rem solid #404040; +} + +#insert-button { + background: #396644; +} +#insert-button:active, #insert-button:focus { + background: #27452e; +} + +#update-button { + background: #597186; +} +#update-button:active, #update-button:focus { + background: #455767; +} + +#delete-button { + background: #8F4F55; +} +#delete-button:active, #delete-button:focus { + background: #6e3d41; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form message list +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#message-list { + margin: 0; + padding: 0.5rem; + list-style: none; + background: #8C434A; + color: #BBB; + font-size: 0.6rem; +} +#message-list-wrapper { + margin-bottom: 0.5rem; + border: 0.1rem solid #6a3238; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Search form +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#search-form { + margin-bottom: 1rem; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import other files +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@media only screen and (max-width: 90em) { + .item-container.grid { + grid-template-columns: auto auto; + } +} +@media only screen and (min-width: 62.5em) { + #main-content { + border: 0.05rem solid #1D232B; + border-top: none; + border-bottom: none; + } +} +@media only screen and (max-width: 62.5em) { + .item-container.grid { + grid-template-columns: auto; + } +} +@media only screen and (max-width: 50em) { + html { + font-size: 1.125rem; + /*18px*/ + } +} +@media only screen and (max-width: 37.5em) { + #main-content { + padding: 0.5rem; + } + + #main-navi { + font-size: 1rem; + } + #main-navi ul li span { + display: none; + } + #main-navi ul li .fa { + margin-right: 0; + } + #main-navi a { + padding: 0.5rem; + } + + #emoticon-list-wrapper { + display: none; + } + + .item-container.grid { + grid-column-gap: 0.75rem; + grid-row-gap: 0.75rem; + column-gap: 0.75rem; + row-gap: 0.75rem; + } + + .form-grid { + grid-template-columns: auto auto; + } + .form-grid-item.first { + grid-column-start: 2; + grid-column-end: 3; + } + + .actions { + float: none; + display: flex; + width: 100%; + flex-grow: 1; + justify-content: center; + overflow: hidden; + box-sizing: border-box; + } + .actions-before { + float: none; + } + .actions li { + flex-grow: 1; + } + .actions li + li { + border-left: none; + } +} +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Fontello +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.fa:before { + font-family: "Fontello"; + font-style: normal; + font-weight: normal; + speak: never; + display: inline-block; + text-decoration: inherit; + text-align: center; + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + /* Font smoothing. That was taken from TWBS */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Font Awesome icons +# ------------------ +# Copyright (C) 2016 by Dave Gandy +# Author: Dave Gandy +# License: SIL +# Homepage: http://fortawesome.github.com/Font-Awesome/ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.fa-pencil:before { + content: ""; +} + +.fa-comment:before { + content: ""; +} + +.fa-chat:before { + content: ""; +} + +.fa-users:before { + content: ""; +} + +.fa-cancel:before { + content: ""; +} + +.fa-plus:before { + content: ""; +} + +.fa-list:before { + content: ""; +} + +.fa-arrow-down:before { + content: ""; +} + +.fa-arrow-up:before { + content: ""; +} + +.fa-arrows-cw:before { + content: ""; +} + +.fa-tag:before { + content: ""; +} + +.fa-tags:before { + content: ""; +} + +.fa-star:before { + content: ""; +} + +.fa-star-empty:before { + content: ""; +} + +.fa-eye:before { + content: ""; +} + +.fa-ok:before { + content: ""; +} + +.fa-info-circled:before { + content: ""; +} + +.fa-home:before { + content: ""; +} + +.fa-attach:before { + content: ""; +} + +.fa-cog:before { + content: ""; +} + +.fa-check:before { + content: ""; +} + +.fa-floppy:before { + content: ""; +} + +.fa-eye-off:before { + content: ""; +} + +.fa-folder-open:before { + content: ""; +} + +.fa-wrench:before { + content: ""; +} + +.fa-search:before { + content: ""; +} + +.fa-envelope-o:before { + content: ""; +} + +.fa-user:before { + content: ""; +} + +.fa-trash-o:before { + content: ""; +} + +.fa-clock-o:before { + content: ""; +} + +.fa-book:before { + content: ""; +} + +.fa-bold:before { + content: ""; +} + +.fa-italic:before { + content: ""; +} + +.fa-picture-o:before { + content: ""; +} + +.fa-pencil-square-o:before { + content: ""; +} + +.fa-arrow-left:before { + content: ""; +} + +.fa-arrow-right:before { + content: ""; +} + +.fa-exclamation-triangle:before { + content: ""; +} + +.fa-key:before { + content: ""; +} + +.fa-sign-out:before { + content: ""; +} + +.fa-external-link:before { + content: ""; +} + +.fa-sign-in:before { + content: ""; +} + +.fa-github-square:before { + content: ""; +} + +.fa-uncheck:before { + content: ""; +} + +.fa-link:before { + content: ""; +} + +.fa-menu:before { + content: ""; +} + +.fa-list-ul:before { + content: ""; +} + +.fa-list-ol:before { + content: ""; +} + +.fa-dashboard:before { + content: ""; +} + +.fa-comment-empty:before { + content: ""; +} + +.fa-chat-empty:before { + content: ""; +} + +.fa-file-text-o:before { + content: ""; +} + +.fa-quote-left:before { + content: ""; +} + +.fa-quote-right:before { + content: ""; +} + +.fa-smile:before { + content: ""; +} + +.fa-frown:before { + content: ""; +} + +.fa-meh:before { + content: ""; +} + +.fa-keyboard:before { + content: ""; +} + +.fa-code:before { + content: ""; +} + +.fa-attention-alt:before { + content: ""; +} + +.fa-sort-name-up:before { + content: ""; +} + +.fa-sort-name-down:before { + content: ""; +} + +.fa-sort-up:before { + content: ""; +} + +.fa-sort-down:before { + content: ""; +} + +.fa-sort-number-up:before { + content: ""; +} + +.fa-sort-number-down:before { + content: ""; +} + +.fa-sun:before { + content: ""; +} + +.fa-moon:before { + content: ""; +} + +.fa-box:before { + content: ""; +} + +.fa-bug:before { + content: ""; +} + +.fa-language:before { + content: ""; +} + +.fa-database:before { + content: ""; +} + +.fa-file-archive:before { + content: ""; +} + +.fa-header:before { + content: ""; +} + +.fa-newspaper-o:before { + content: ""; +} + +.fa-at:before { + content: ""; +} + +.fa-toggle-off:before { + content: ""; +} + +.fa-toggle-on:before { + content: ""; +} + +.fa-user-secret:before { + content: ""; +} + +.fa-server:before { + content: ""; +} + +.fa-commenting:before { + content: ""; +} + +.fa-commenting-o:before { + content: ""; +} + +.fa-user-circle-o:before { + content: ""; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@font-face { + font-family: "Fontello"; + font-weight: 400; + font-style: normal; + src: url("../font/fontello.woff2") format("woff2"); +} +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Font "Kadwa": SIL Open Font License (OFL) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@font-face { + font-family: "Kadwa"; + font-weight: 400; + src: url("../font/kadwa-n-400.woff2") format("woff2"); +} +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Font "Ruda": SIL Open Font License (OFL) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@font-face { + font-family: "Ruda"; + font-weight: 400; + src: url("../font/ruda-n-400.woff2") format("woff2"); +} +@font-face { + font-family: "Ruda"; + font-weight: 700; + src: url("../font/ruda-n-700.woff2") format("woff2"); +} +#theme-toogle-dark { + display: none; +} diff --git a/theme/admin/rsrc/css/dark.scss b/theme/admin/rsrc/css/dark.scss new file mode 100644 index 0000000..4388715 --- /dev/null +++ b/theme/admin/rsrc/css/dark.scss @@ -0,0 +1,61 @@ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content background and border color +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$htmlBackgroundColor: #4D535B; +$backgroundColorEmphasize: #32373E; +$backgroundColor: #3D434B; +$borderColor: #1D232B; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Header and navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$headerBarTextColor: #333; +$navigationLinkBackgroundColor: #2D333B; +$navigationLinkFocusedBackgroundColor: #1D232B; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text colors +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$textColor: #9DAAB7; +$textColorLight: #8D9AA7; +$textColorStrong: #CDDAE7; +$formElementTextColor: #8D9AA7; +$codeTextColor: #FFB830; +$linkColor: #5EA4D3; +$linkColorFocused: #42474E; +$warningTextColor: #FFB830; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Misc +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$itemLinkHoverBackgroundColor: #42474E; +$paginationActiveBackgroundColor: #42474E; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Forms +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$formBackgroundColorEmphasize: #4D535B; +$formButtonBorderColor: #404040; +$formButtonTextColor: #CCC; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$insertButtonBackgroundColor: #396644; +$updateButtonBackgroundColor: #597186; +$deleteButtonBackgroundColor: #8F4F55; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Information message box +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$messageListTextColor: #BBB; +$messageListBackgroundColor: #8C434A; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import stylesheet +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@import "import/styles"; + +#theme-toogle-dark { + display: none; +} diff --git a/theme/admin/rsrc/css/import/_main.scss b/theme/admin/rsrc/css/import/_main.scss deleted file mode 100644 index 5e4a6fe..0000000 --- a/theme/admin/rsrc/css/import/_main.scss +++ /dev/null @@ -1,743 +0,0 @@ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import variables -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@import "variables"; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Selection -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -::selection { - background: #BBB; - color: #000; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Hyperlinks -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -a { - color: $linkColor; - text-decoration: none; - - &:focus { - background: $linkColorFocused; - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Headings -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -h1, h2, h3 { - margin-bottom: 0; - text-transform: uppercase; - - +p { - margin-top: 0; - } - - .fa { - margin-right: 0.25rem; - } -} - -h1 { - margin-top: 0; - font-size: $fontSizeH1; -} - -h2 { - font-size: $fontSizeH2; -} - -h3 { - font-size: $fontSizeH3; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Document -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -html, body { - margin: 0; - padding: 0; -} - -html { - font-size: 1.25rem; - color: $textColor; - background: $htmlBackgroundColor; - -webkit-hyphens: auto; - hyphens: auto; -} - -body { - font-family: $fontFamily; - font-size: $fontSize; - line-height: $lineHeight; - display: flex; - min-height: 100vh; - flex-direction: column; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Main content -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#main-content { - flex: 1; - width: 100%; - background: $backgroundColor; - box-sizing: border-box; - padding: 0.75rem; - // border definition in _responsive.scss - - &.wide { - max-width: $contentWidthWide; - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Width -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#main-content, .header-content { - max-width: $contentWidth; - margin: 0 auto; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Header -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#main-header { - font-size: $fontSizeSmall; -} - -#header { - &-text { - font-size: $fontSizeLarge; - text-transform: uppercase; - } - - &-desc { - line-height: 1rem; - } - &-text, &-desc { - text-shadow: 0 -1px #4E718F, 1px 0 #4E718F, 0 1px #4E718F, -1px 0 #4E718F; - color: $headerBarTextColor; - font-weight: bold; - } - - &-logo { - display: block; - max-height: 5rem; - float: left; - margin-right: 0.5rem; - } -} - -.header-line { - padding: 0.25rem 0.75rem; - overflow: hidden; - background: $backgroundColorEmphasize; - - +.header-line { - border: 0.05rem solid $borderColor; - border-left: none; - border-right: none; - } - - &.background { - background: #5E819F; - position: sticky; - top: 0; - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Footer -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#main-footer { - font-size: $fontSizeSmall; - background: $backgroundColorEmphasize; - border-top: 0.05rem solid $borderColor; - padding: 0.5rem 0.75rem; - text-align: center; - - ul { - margin: 0; - padding: 0; - list-style: none; - - li { - display: inline; - - .fa { - margin-right: 0.125rem; - } - } - - li:after { - content: " – "; - font-weight: bold; - } - - li:last-child:after { - content: none; - } - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Main Navigation -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#main-navi { - ul { - list-style: none; - margin: 0; - padding: 0; - - li { - display: inline; - - .fa { - margin-right: 0.25rem; - } - } - - li:last-child { - float: right; - } - - li:first-child { - float: none; - } - } - - a { - padding: 0.1rem 0.3rem; - background: $navigationLinkBackgroundColor; - border: 0.05rem solid $borderColor; - color: inherit; - text-decoration: none; - text-align: center; - display: inline-block; - - &:hover, &:focus { - text-decoration: none; - background: $navigationLinkFocusedBackgroundColor; - } - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Site Navigation -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#site-navi { - clear: both; - display: flex; - box-sizing: border-box; - justify-content: space-between; - margin-top: 0.75rem; - - > div { - display: flex; - align-items: center; - border: 0.05rem solid $borderColor; - background: $backgroundColorEmphasize; - - > a { - display: block; - } - } - - .disabled { - pointer-events: none; - color: $borderColor; - } - - ol { - list-style: none; - margin: 0; - padding: 0; - - li { - float: left; - display: inline-block; - - + li { - border-left: 0.05rem solid $borderColor; - } - - &.active a { - background: $paginationActiveBackgroundColor; - font-weight: 600; - pointer-events: none; - } - } - } - - a { - padding: 0 0.5rem; - text-decoration: none; - color: inherit; - display: inline-block; - - &:hover, &:focus { - background: $navigationLinkFocusedBackgroundColor; - } - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Actions -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -.actions { - margin: 0 0 0.5rem 0; - padding: 0; - list-style: none; - font-size: $fontSizeSmall; - float: right; - text-align: center; - - .fa { - margin-right: 0.1rem; - } - - li { - display: inline-block; - font-weight: bold; - background: $backgroundColorEmphasize; - border: 0.05rem solid $borderColor; - } - - a { - color: inherit; - display: block; - padding: 0 0.25rem; - } -} - -.actions-before { - float: left; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Elements -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -pre { - margin-bottom: 1rem; - overflow: auto; - -moz-tab-size: 4; - tab-size: 4; - background: $backgroundColorEmphasize; - padding: 0.5rem; - border: 0.05rem solid $borderColor; -} - -code, pre { - font-family: $fontFamilyMonospaced; -} - -code { - color: $codeTextColor; -} - -p { - margin-top: 0; -} - -img { - border: none; - max-width: 100%; -} - -.warning { - color: $warningTextColor; -} - -.hidden { - display: none; -} - -.no-visual-list { - margin: 0; - padding: 0; - list-style: none; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Item Element -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -.item { - display: flex; - flex-direction: column; - border: 0.05rem solid $borderColor; - margin-bottom: 0.75rem; - clear: both; - - header { - padding: 0.5rem 0.75rem; - border-bottom: 0.05rem solid $borderColor; - position: sticky; - top: 0; - - h2 { - margin-top: 0; - } - } - - footer { - border-top: 0.05rem solid $borderColor; - - ul { - margin: 0; - padding: 0; - list-style: none; - - li { - display: inline-block; - float: left; - - &:last-child { - float: right; - } - } - } - - a { - color: inherit; - display: inline-block; - padding: 0.25rem 2rem; - - &:hover, &:active { - background: $itemLinkHoverBackgroundColor; - } - } - } - - header, footer { - background: $backgroundColorEmphasize; - overflow: hidden; - } - - blockquote { - margin: 0; - padding: 0.75rem; - overflow: hidden; - font-family: inherit; - flex-grow: 1; - - p { - margin-bottom: 0; - } - } - - &-id { - float: right; - color: $textColorLight; - font-size: 0.7rem; - font-weight: normal; - } - - &-meta { - margin: 0; - padding: 0; - list-style: none; - - &-right { - float: right; - } - - li { - display: inline-block; - - +li:before { - content: " – "; - } - - &.item-meta-right:before { - content: none; - } - } - } - - &-image { - float: left; - display: block; - margin-right: 0.75rem; - width: 10rem; - height: 7rem; - object-fit: cover; - background: $backgroundColorEmphasize; - border: 0.05rem solid $borderColor; - } - - &-container.grid { - width: 100%; - display: grid; - grid-template-columns: auto auto auto; - grid-column-gap: 1rem; - grid-row-gap: 1rem; - column-gap: 1rem; - row-gap: 1rem; - - .item { - margin-bottom: 0; - } - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Argument list -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -.arguments { - list-style: none; - margin: 0; - padding: 0.25rem 0.75rem; - background: $backgroundColorEmphasize; - font-size: $fontSizeSmall; - text-align: center; - border-top: 0.05rem solid $borderColor; - - li { - display: inline; - - > code { - font-family: inherit; - color: $textColorLight; - } - - &:after { - content: " · "; - font-weight: bold; - } - - &:last-child:after { - content: none; - } - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Grids -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -.form-grid { - display: grid; - grid-template-columns: 8rem auto 8rem auto; - - border-left: 0.05rem solid $borderColor; - border-bottom: 0.05rem solid $borderColor; - - &.two-columns { - grid-template-columns: auto auto; - } - - &.no-bottom-border { - border-bottom: none; - } - - > label { - display: flex; - align-items: center; - background: $formBackgroundColorEmphasize; - - .fa { - margin-left: 0.5rem; - margin-right: 1rem; - } - } - - &-item, - > label { - padding: 0.5rem; - border-top: 0.05rem solid $borderColor; - border-right: 0.05rem solid $borderColor; - } - - &-item.first { - grid-column-start: 2; - grid-column-end: 5; - } -} - -.form-border-box { - border: 0.05rem solid $borderColor; - - &.padding { - padding: 0.5rem; - } - - &.background { - background: $formBackgroundColorEmphasize; - } - - &.nobordertop { - border-top: none; - } - - +.form-border-box { - border-top: none; - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form buttons -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#emoticon-list-wrapper { - display: flex; - width: 100%; - justify-content: center; - box-sizing: border-box; -} - -#button-list-wrapper { - border-bottom: 0.05rem solid $borderColor; - background: $backgroundColorEmphasize; - overflow: hidden; -} - -.button-list { - margin: 0; - padding: 0; - list-style: none; -} - -.button-list.emoticons > li { - font-size: 1.25rem; - display: inline-block; - padding: 0.2rem; - border-bottom: 0.2rem solid transparent; - border-radius: 0.1rem; - cursor: pointer; - - &:hover, &:active { - border-bottom: 0.2rem solid $borderColor; - } -} - -.button-list.markdown > li { - float: left; - padding: 0.25rem; - cursor: pointer; - width: 1.75rem; - box-sizing: border-box; - text-align: center; - - &:hover, &:active { - color: $textColorStrong; - } -} - -#content-editor { - border: none; - margin: 0; - - &-wrapper { - border-top: none; - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form elements -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -input, select, textarea { - width: 100%; - background: $backgroundColorEmphasize; - color: $formElementTextColor; - font-family: inherit; - font-size: 0.7rem; - padding: 0.25rem; - border: 0.05rem solid $borderColor; - box-sizing: border-box; - - &:focus { - outline: none; - } -} - -textarea { - font-family: $fontFamilyTextarea; - box-sizing: border-box; - display: block; - resize: vertical; - min-height: 15rem; - line-height: 1.2rem; - padding: 0.5rem; - -webkit-hyphens: none; - hyphens: none; -} - -input { - &[type="submit"] { - text-transform: uppercase; - border-radius: 0.1rem; - } -} - -label { - text-transform: uppercase; - font-weight: normal; - - &:after { - content: ":"; - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form buttons -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#insert-button, #update-button, #delete-button { - color: $formButtonTextColor; - border: 0.05rem solid $formButtonBorderColor; -} - -#insert-button { - background: $insertButtonBackgroundColor; - - &:active, &:focus { - background: darken($insertButtonBackgroundColor, 10%) - } -} - -#update-button { - background: $updateButtonBackgroundColor; - - &:active, &:focus { - background: darken($updateButtonBackgroundColor, 10%) - } -} - -#delete-button { - background: $deleteButtonBackgroundColor; - - &:active, &:focus { - background: darken($deleteButtonBackgroundColor, 10%) - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form message list -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#message-list { - margin: 0; - padding: 0.5rem; - list-style: none; - background: $messageListBackgroundColor; - color: $messageListTextColor; - font-size: $fontSizeSmall; - - &-wrapper { - margin-bottom: 0.5rem; - border: 0.1rem solid darken($messageListBackgroundColor, 10%); - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Search form -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#search-form { - margin-bottom: 1rem; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import other files -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@import "responsive"; -@import "fontello"; -@import "fonts"; diff --git a/theme/admin/rsrc/css/import/_styles.scss b/theme/admin/rsrc/css/import/_styles.scss new file mode 100644 index 0000000..8ef18bc --- /dev/null +++ b/theme/admin/rsrc/css/import/_styles.scss @@ -0,0 +1,743 @@ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import variables +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@import "variables"; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Selection +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +::selection { + background: #BBB; + color: #000; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Hyperlinks +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +a { + color: $linkColor; + text-decoration: none; + + &:focus { + background: $linkColorFocused; + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Headings +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +h1, h2, h3 { + margin-bottom: 0; + text-transform: uppercase; + + +p { + margin-top: 0; + } + + .fa { + margin-right: 0.25rem; + } +} + +h1 { + margin-top: 0; + font-size: $fontSizeH1; +} + +h2 { + font-size: $fontSizeH2; +} + +h3 { + font-size: $fontSizeH3; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Document +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +html, body { + margin: 0; + padding: 0; +} + +html { + font-size: 1.25rem; + color: $textColor; + background: $htmlBackgroundColor; + -webkit-hyphens: auto; + hyphens: auto; +} + +body { + font-family: $fontFamily; + font-size: $fontSize; + line-height: $lineHeight; + display: flex; + min-height: 100vh; + flex-direction: column; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Main content +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-content { + flex: 1; + width: 100%; + background: $backgroundColor; + box-sizing: border-box; + padding: 0.75rem; + // border definition in _responsive.scss + + &.wide { + max-width: $contentWidthWide; + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Width +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-content, .header-content { + max-width: $contentWidth; + margin: 0 auto; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Header +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-header { + font-size: $fontSizeSmall; +} + +#header { + &-text { + font-size: $fontSizeLarge; + text-transform: uppercase; + } + + &-desc { + line-height: 1rem; + } + &-text, &-desc { + text-shadow: 0 -1px #4E718F, 1px 0 #4E718F, 0 1px #4E718F, -1px 0 #4E718F; + color: $headerBarTextColor; + font-weight: bold; + } + + &-logo { + display: block; + max-height: 5rem; + float: left; + margin-right: 0.5rem; + } +} + +.header-line { + padding: 0.25rem 0.75rem; + overflow: hidden; + background: $backgroundColorEmphasize; + + +.header-line { + border: 0.05rem solid $borderColor; + border-left: none; + border-right: none; + } + + &.background { + background: #5E819F; + position: sticky; + top: 0; + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-footer { + font-size: $fontSizeSmall; + background: $backgroundColorEmphasize; + border-top: 0.05rem solid $borderColor; + padding: 0.5rem 0.75rem; + text-align: center; + + ul { + margin: 0; + padding: 0; + list-style: none; + + li { + display: inline; + + .fa { + margin-right: 0.125rem; + } + } + + li:after { + content: " – "; + font-weight: bold; + } + + li:last-child:after { + content: none; + } + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Main Navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-navi { + ul { + list-style: none; + margin: 0; + padding: 0; + + li { + display: inline; + + .fa { + margin-right: 0.25rem; + } + } + + li:last-child { + float: right; + } + + li:first-child { + float: none; + } + } + + a { + padding: 0.1rem 0.3rem; + background: $navigationLinkBackgroundColor; + border: 0.05rem solid $borderColor; + color: inherit; + text-decoration: none; + text-align: center; + display: inline-block; + + &:hover, &:focus { + text-decoration: none; + background: $navigationLinkFocusedBackgroundColor; + } + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Site Navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#site-navi { + clear: both; + display: flex; + box-sizing: border-box; + justify-content: space-between; + margin-top: 0.75rem; + + > div { + display: flex; + align-items: center; + border: 0.05rem solid $borderColor; + background: $backgroundColorEmphasize; + + > a { + display: block; + } + } + + .disabled { + pointer-events: none; + color: $borderColor; + } + + ol { + list-style: none; + margin: 0; + padding: 0; + + li { + float: left; + display: inline-block; + + + li { + border-left: 0.05rem solid $borderColor; + } + + &.active a { + background: $paginationActiveBackgroundColor; + font-weight: 600; + pointer-events: none; + } + } + } + + a { + padding: 0 0.5rem; + text-decoration: none; + color: inherit; + display: inline-block; + + &:hover, &:focus { + background: $navigationLinkFocusedBackgroundColor; + } + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Actions +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.actions { + margin: 0 0 0.5rem 0; + padding: 0; + list-style: none; + font-size: $fontSizeSmall; + float: right; + text-align: center; + + .fa { + margin-right: 0.1rem; + } + + li { + display: inline-block; + font-weight: bold; + background: $backgroundColorEmphasize; + border: 0.05rem solid $borderColor; + } + + a { + color: inherit; + display: block; + padding: 0 0.25rem; + } +} + +.actions-before { + float: left; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Elements +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +pre { + margin-bottom: 1rem; + overflow: auto; + -moz-tab-size: 4; + tab-size: 4; + background: $backgroundColorEmphasize; + padding: 0.5rem; + border: 0.05rem solid $borderColor; +} + +code, pre { + font-family: $fontFamilyMonospaced; +} + +code { + color: $codeTextColor; +} + +p { + margin-top: 0; +} + +img { + border: none; + max-width: 100%; +} + +.warning { + color: $warningTextColor; +} + +.hidden { + display: none; +} + +.no-visual-list { + margin: 0; + padding: 0; + list-style: none; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Item Element +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.item { + display: flex; + flex-direction: column; + border: 0.05rem solid $borderColor; + margin-bottom: 0.75rem; + clear: both; + + header { + padding: 0.5rem 0.75rem; + border-bottom: 0.05rem solid $borderColor; + position: sticky; + top: 0; + + h2 { + margin-top: 0; + } + } + + footer { + border-top: 0.05rem solid $borderColor; + + ul { + margin: 0; + padding: 0; + list-style: none; + + li { + display: inline-block; + float: left; + + &:last-child { + float: right; + } + } + } + + a { + color: inherit; + display: inline-block; + padding: 0.25rem 2rem; + + &:hover, &:active { + background: $itemLinkHoverBackgroundColor; + } + } + } + + header, footer { + background: $backgroundColorEmphasize; + overflow: hidden; + } + + blockquote { + margin: 0; + padding: 0.75rem; + overflow: hidden; + font-family: inherit; + flex-grow: 1; + + p { + margin-bottom: 0; + } + } + + &-id { + float: right; + color: $textColorLight; + font-size: 0.7rem; + font-weight: normal; + } + + &-meta { + margin: 0; + padding: 0; + list-style: none; + + &-right { + float: right; + } + + li { + display: inline-block; + + +li:before { + content: " – "; + } + + &.item-meta-right:before { + content: none; + } + } + } + + &-image { + float: left; + display: block; + margin-right: 0.75rem; + width: 10rem; + height: 7rem; + object-fit: cover; + background: $backgroundColorEmphasize; + border: 0.05rem solid $borderColor; + } + + &-container.grid { + width: 100%; + display: grid; + grid-template-columns: auto auto auto; + grid-column-gap: 1rem; + grid-row-gap: 1rem; + column-gap: 1rem; + row-gap: 1rem; + + .item { + margin-bottom: 0; + } + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Argument list +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.arguments { + list-style: none; + margin: 0; + padding: 0.25rem 0.75rem; + background: $backgroundColorEmphasize; + font-size: $fontSizeSmall; + text-align: center; + border-top: 0.05rem solid $borderColor; + + li { + display: inline; + + > code { + font-family: inherit; + color: $textColorLight; + } + + &:after { + content: " · "; + font-weight: bold; + } + + &:last-child:after { + content: none; + } + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Grids +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.form-grid { + display: grid; + grid-template-columns: 8rem auto 8rem auto; + + border-left: 0.05rem solid $borderColor; + border-bottom: 0.05rem solid $borderColor; + + &.two-columns { + grid-template-columns: auto auto; + } + + &.no-bottom-border { + border-bottom: none; + } + + > label { + display: flex; + align-items: center; + background: $formBackgroundColorEmphasize; + + .fa { + margin-left: 0.5rem; + margin-right: 1rem; + } + } + + &-item, + > label { + padding: 0.5rem; + border-top: 0.05rem solid $borderColor; + border-right: 0.05rem solid $borderColor; + } + + &-item.first { + grid-column-start: 2; + grid-column-end: 5; + } +} + +.form-border-box { + border: 0.05rem solid $borderColor; + + &.padding { + padding: 0.5rem; + } + + &.background { + background: $formBackgroundColorEmphasize; + } + + &.nobordertop { + border-top: none; + } + + +.form-border-box { + border-top: none; + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#emoticon-list-wrapper { + display: flex; + width: 100%; + justify-content: center; + box-sizing: border-box; +} + +#button-list-wrapper { + border-bottom: 0.05rem solid $borderColor; + background: $backgroundColorEmphasize; + overflow: hidden; +} + +.button-list { + margin: 0; + padding: 0; + list-style: none; +} + +.button-list.emoticons > li { + font-size: 1.25rem; + display: inline-block; + padding: 0.2rem; + border-bottom: 0.2rem solid transparent; + border-radius: 0.1rem; + cursor: pointer; + + &:hover, &:active { + border-bottom: 0.2rem solid $borderColor; + } +} + +.button-list.markdown > li { + float: left; + padding: 0.25rem; + cursor: pointer; + width: 1.75rem; + box-sizing: border-box; + text-align: center; + + &:hover, &:active { + color: $textColorStrong; + } +} + +#content-editor { + border: none; + margin: 0; + + &-wrapper { + border-top: none; + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form elements +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +input, select, textarea { + width: 100%; + background: $backgroundColorEmphasize; + color: $textColorLight; + font-family: inherit; + font-size: 0.7rem; + padding: 0.25rem; + border: 0.05rem solid $borderColor; + box-sizing: border-box; + + &:focus { + outline: none; + } +} + +textarea { + font-family: $fontFamilyTextarea; + box-sizing: border-box; + display: block; + resize: vertical; + min-height: 15rem; + line-height: 1.2rem; + padding: 0.5rem; + -webkit-hyphens: none; + hyphens: none; +} + +input { + &[type="submit"] { + text-transform: uppercase; + border-radius: 0.1rem; + } +} + +label { + text-transform: uppercase; + font-weight: normal; + + &:after { + content: ":"; + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#insert-button, #update-button, #delete-button { + color: $formButtonTextColor; + border: 0.05rem solid $formButtonBorderColor; +} + +#insert-button { + background: $insertButtonBackgroundColor; + + &:active, &:focus { + background: darken($insertButtonBackgroundColor, 10%) + } +} + +#update-button { + background: $updateButtonBackgroundColor; + + &:active, &:focus { + background: darken($updateButtonBackgroundColor, 10%) + } +} + +#delete-button { + background: $deleteButtonBackgroundColor; + + &:active, &:focus { + background: darken($deleteButtonBackgroundColor, 10%) + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form message list +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#message-list { + margin: 0; + padding: 0.5rem; + list-style: none; + background: $messageListBackgroundColor; + color: $messageListTextColor; + font-size: $fontSizeSmall; + + &-wrapper { + margin-bottom: 0.5rem; + border: 0.1rem solid darken($messageListBackgroundColor, 10%); + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Search form +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#search-form { + margin-bottom: 1rem; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import other files +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@import "responsive"; +@import "fontello"; +@import "fonts"; diff --git a/theme/admin/rsrc/css/main.css b/theme/admin/rsrc/css/main.css index 866a7a0..c3b9d39 100644 --- a/theme/admin/rsrc/css/main.css +++ b/theme/admin/rsrc/css/main.css @@ -421,7 +421,7 @@ img { } .item-id { float: right; - color: #666; + color: #444; font-size: 0.7rem; font-weight: normal; } @@ -482,7 +482,7 @@ img { } .arguments li > code { font-family: inherit; - color: #666; + color: #444; } .arguments li:after { content: " · "; @@ -603,7 +603,7 @@ img { input, select, textarea { width: 100%; background: #EEE; - color: #404040; + color: #444; font-family: inherit; font-size: 0.7rem; padding: 0.25rem; @@ -1164,3 +1164,6 @@ label:after { font-weight: 700; src: url("../font/ruda-n-700.woff2") format("woff2"); } +#theme-toogle-bright { + display: none; +} diff --git a/theme/admin/rsrc/css/main.scss b/theme/admin/rsrc/css/main.scss index 40334c7..a3ae746 100644 --- a/theme/admin/rsrc/css/main.scss +++ b/theme/admin/rsrc/css/main.scss @@ -17,7 +17,7 @@ $navigationLinkFocusedBackgroundColor: #CCC; # Text colors ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ $textColor: #333; -$textColorLight: #666; +$textColorLight: #444; $textColorStrong: #000; $formElementTextColor: #404040; $codeTextColor: #008B45; @@ -54,4 +54,8 @@ $messageListBackgroundColor: #C45C66; /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Import stylesheet ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@import "import/main"; +@import "import/styles"; + +#theme-toogle-bright { + display: none; +} -- cgit v1.2.3