From 5ccca11a448ea315a6e64453e630694ba2c20e66 Mon Sep 17 00:00:00 2001 From: Thomas Lange Date: Thu, 21 Nov 2024 20:59:05 +0100 Subject: Rename "rsrc" directories to "static" Stop using "rsrc" as name for the directories which contain static files and rename them to "static". This affects the global static directory and the static sub-directories in the theme directories. If you've stored your own files in the old global "rsrc" directory, you must move them to the new "static" directory. --- core/db/database.sql | 2 +- core/namespace/Application.php | 2 +- index.php | 2 +- rsrc/image/content/computer-guy-public-domain.svg | 242 ----- .../image/content/computer-guy-public-domain.svg | 242 +++++ theme/admin/html/main.php | 6 +- theme/admin/html/migration.php | 4 +- theme/admin/rsrc/css/bright.css | 972 --------------------- theme/admin/rsrc/css/bright.scss | 69 -- theme/admin/rsrc/css/dark.css | 972 --------------------- theme/admin/rsrc/css/dark.scss | 69 -- theme/admin/rsrc/css/import/_fontello.scss | 116 --- theme/admin/rsrc/css/import/_fonts.scss | 33 - theme/admin/rsrc/css/import/_responsive.scss | 92 -- theme/admin/rsrc/css/import/_styles.scss | 795 ----------------- theme/admin/rsrc/css/import/_variables.scss | 31 - theme/admin/rsrc/font/fontello.json | 508 ----------- theme/admin/rsrc/font/fontello.woff2 | Bin 16460 -> 0 bytes theme/admin/rsrc/font/kadwa-n-400.woff2 | Bin 18108 -> 0 bytes theme/admin/rsrc/font/ruda-n-400.woff2 | Bin 9120 -> 0 bytes theme/admin/rsrc/font/ruda-n-700.woff2 | Bin 9116 -> 0 bytes theme/admin/rsrc/icon-public-domain.svg | 1 - theme/admin/rsrc/img/noise-bright.png | Bin 9237 -> 0 bytes theme/admin/rsrc/img/noise-dark.png | Bin 6557 -> 0 bytes theme/admin/rsrc/main.js | 191 ---- theme/admin/static/css/bright.css | 972 +++++++++++++++++++++ theme/admin/static/css/bright.scss | 69 ++ theme/admin/static/css/dark.css | 972 +++++++++++++++++++++ theme/admin/static/css/dark.scss | 69 ++ theme/admin/static/css/import/_fontello.scss | 116 +++ theme/admin/static/css/import/_fonts.scss | 33 + theme/admin/static/css/import/_responsive.scss | 92 ++ theme/admin/static/css/import/_styles.scss | 795 +++++++++++++++++ theme/admin/static/css/import/_variables.scss | 31 + theme/admin/static/font/fontello.json | 508 +++++++++++ theme/admin/static/font/fontello.woff2 | Bin 0 -> 16460 bytes theme/admin/static/font/kadwa-n-400.woff2 | Bin 0 -> 18108 bytes theme/admin/static/font/ruda-n-400.woff2 | Bin 0 -> 9120 bytes theme/admin/static/font/ruda-n-700.woff2 | Bin 0 -> 9116 bytes theme/admin/static/icon-public-domain.svg | 1 + theme/admin/static/img/noise-bright.png | Bin 0 -> 9237 bytes theme/admin/static/img/noise-dark.png | Bin 0 -> 6557 bytes theme/admin/static/main.js | 191 ++++ theme/default/html/feed/main.php | 2 +- theme/default/html/main.php | 10 +- theme/default/rsrc/css/import/_fontello.scss | 119 --- theme/default/rsrc/css/import/_fonts.scss | 24 - theme/default/rsrc/css/import/_responsive.scss | 77 -- theme/default/rsrc/css/main.css | 713 --------------- theme/default/rsrc/css/main.scss | 460 ---------- theme/default/rsrc/font/fontello.json | 526 ----------- theme/default/rsrc/font/fontello.woff2 | Bin 16864 -> 0 bytes theme/default/rsrc/font/ruda-n-400.woff2 | Bin 9120 -> 0 bytes theme/default/rsrc/font/ruda-n-700.woff2 | Bin 9116 -> 0 bytes theme/default/rsrc/logo.png | Bin 2595 -> 0 bytes theme/default/rsrc/main.js | 15 - theme/default/static/css/import/_fontello.scss | 119 +++ theme/default/static/css/import/_fonts.scss | 24 + theme/default/static/css/import/_responsive.scss | 77 ++ theme/default/static/css/main.css | 713 +++++++++++++++ theme/default/static/css/main.scss | 460 ++++++++++ theme/default/static/font/fontello.json | 526 +++++++++++ theme/default/static/font/fontello.woff2 | Bin 0 -> 16864 bytes theme/default/static/font/ruda-n-400.woff2 | Bin 0 -> 9120 bytes theme/default/static/font/ruda-n-700.woff2 | Bin 0 -> 9116 bytes theme/default/static/logo.png | Bin 0 -> 2595 bytes theme/default/static/main.js | 15 + 67 files changed, 6039 insertions(+), 6039 deletions(-) delete mode 100644 rsrc/image/content/computer-guy-public-domain.svg create mode 100644 static/image/content/computer-guy-public-domain.svg delete mode 100644 theme/admin/rsrc/css/bright.css delete mode 100644 theme/admin/rsrc/css/bright.scss delete mode 100644 theme/admin/rsrc/css/dark.css delete mode 100644 theme/admin/rsrc/css/dark.scss delete mode 100644 theme/admin/rsrc/css/import/_fontello.scss delete mode 100644 theme/admin/rsrc/css/import/_fonts.scss delete mode 100644 theme/admin/rsrc/css/import/_responsive.scss delete mode 100644 theme/admin/rsrc/css/import/_styles.scss delete mode 100644 theme/admin/rsrc/css/import/_variables.scss delete mode 100644 theme/admin/rsrc/font/fontello.json delete mode 100644 theme/admin/rsrc/font/fontello.woff2 delete mode 100644 theme/admin/rsrc/font/kadwa-n-400.woff2 delete mode 100644 theme/admin/rsrc/font/ruda-n-400.woff2 delete mode 100644 theme/admin/rsrc/font/ruda-n-700.woff2 delete mode 100644 theme/admin/rsrc/icon-public-domain.svg delete mode 100644 theme/admin/rsrc/img/noise-bright.png delete mode 100644 theme/admin/rsrc/img/noise-dark.png delete mode 100644 theme/admin/rsrc/main.js create mode 100644 theme/admin/static/css/bright.css create mode 100644 theme/admin/static/css/bright.scss create mode 100644 theme/admin/static/css/dark.css create mode 100644 theme/admin/static/css/dark.scss create mode 100644 theme/admin/static/css/import/_fontello.scss create mode 100644 theme/admin/static/css/import/_fonts.scss create mode 100644 theme/admin/static/css/import/_responsive.scss create mode 100644 theme/admin/static/css/import/_styles.scss create mode 100644 theme/admin/static/css/import/_variables.scss create mode 100644 theme/admin/static/font/fontello.json create mode 100644 theme/admin/static/font/fontello.woff2 create mode 100644 theme/admin/static/font/kadwa-n-400.woff2 create mode 100644 theme/admin/static/font/ruda-n-400.woff2 create mode 100644 theme/admin/static/font/ruda-n-700.woff2 create mode 100644 theme/admin/static/icon-public-domain.svg create mode 100644 theme/admin/static/img/noise-bright.png create mode 100644 theme/admin/static/img/noise-dark.png create mode 100644 theme/admin/static/main.js delete mode 100644 theme/default/rsrc/css/import/_fontello.scss delete mode 100644 theme/default/rsrc/css/import/_fonts.scss delete mode 100644 theme/default/rsrc/css/import/_responsive.scss delete mode 100644 theme/default/rsrc/css/main.css delete mode 100644 theme/default/rsrc/css/main.scss delete mode 100644 theme/default/rsrc/font/fontello.json delete mode 100644 theme/default/rsrc/font/fontello.woff2 delete mode 100644 theme/default/rsrc/font/ruda-n-400.woff2 delete mode 100644 theme/default/rsrc/font/ruda-n-700.woff2 delete mode 100644 theme/default/rsrc/logo.png delete mode 100644 theme/default/rsrc/main.js create mode 100644 theme/default/static/css/import/_fontello.scss create mode 100644 theme/default/static/css/import/_fonts.scss create mode 100644 theme/default/static/css/import/_responsive.scss create mode 100644 theme/default/static/css/main.css create mode 100644 theme/default/static/css/main.scss create mode 100644 theme/default/static/font/fontello.json create mode 100644 theme/default/static/font/fontello.woff2 create mode 100644 theme/default/static/font/ruda-n-400.woff2 create mode 100644 theme/default/static/font/ruda-n-700.woff2 create mode 100644 theme/default/static/logo.png create mode 100644 theme/default/static/main.js diff --git a/core/db/database.sql b/core/db/database.sql index df114d9..185b09a 100644 --- a/core/db/database.sql +++ b/core/db/database.sql @@ -107,4 +107,4 @@ INSERT INTO `category` (`id`, `time_insert`, `time_update`, `parent`, `slug`, `n INSERT INTO `page` (`id`, `time_insert`, `time_update`, `user`, `slug`, `name`, `body`, `argv`) VALUES (1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 1, 'example-page', 'Example page', 'OK. You discovered that there is also a page functionality. But what is the difference between a **page** and a **post**?\r\n\r\n## The difference\r\nA page is intended for \"timeless\" objects like your imprint, the privacy-policy, the about page, your FAQ\'s and similar stuff. Posts [appear in the RSS feed]({BASE_URL: \"feed/\"}), pages do not. Posts can be assigned {CATEGORY: 1, \"to a category\"}, pages cannot. Posts [can be searched]({BASE_URL: \"search/\"}) by the visitor, pages cannot. Besides this, there is not much more difference between a post and a page currently.', NULL); INSERT INTO `post` (`id`, `time_insert`, `time_update`, `user`, `category`, `slug`, `name`, `body`, `argv`) VALUES -(1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 1, 1, 'hello-world', 'Hello World!', 'Welcome! This is the automatically created first post on your new blog. You can type [*Markdown*](https://daringfireball.net/projects/markdown/) into the content editor to format your content. This system uses [*Parsedown*](https://parsedown.org/) internally, a very fast *Markdown* parser/transformer library written in PHP!\r\n\r\nIn this post you can see several examples to [format your content with *Markdown*](https://daringfireball.net/projects/markdown/syntax) and especially how to use the customizable [*content functions*](https://github.com/Nerdmind/Blog/wiki/Content_functions) provided by this blogging system. After you are familiar with the text formatting and done with the exploration of your new blogging system, you can delete this post and create your own one. ๐Ÿ˜ƒ\r\n\r\n![Demo image: Computer Guy (Public Domain)]({FILE_URL: \"image/content/computer-guy-public-domain.svg\"})\r\n\r\n## How to cross-reference items in your content?\r\nIf you want to reference another item (e.g. a post or a category) in your content, please do not put the URL to it hard coded into the editor. Consider what happens if you change your blog\'s address (or just the base directory) in the future. You would need to change all the hard coded URLs in your content which is inflexible and not cool. Therefore, you can use the following so-called *content functions* to link an item or a resource of your installation dynamically within your content.\r\n\r\n### Example\r\nReference another post:\r\n> Hello there! Check out this post: {POST: 1}\r\n\r\n### Example\r\nReference a category with customized link text:\r\n> Hello there! Check out {CATEGORY: 1, \"the demo category\"}!\r\n\r\n## How to dynamically link to other resources?\r\nYou can link any other resource (e.g. a file) which is located anywhere within your document root dynamically, either relative to your base directory (the installation directory) or relative to the `rsrc` directory where you store your files, images and other stuff. The `BASE_URL` and `FILE_URL` *content functions* will return the pure plain text URL (extended by the first argument).\r\n\r\n### Example\r\n> Hello there. Check out [the README]({BASE_URL: \"readme.md\"})!\r\n\r\n## How to format content with Markdown?\r\nTo see how this post is formatted with *Markdown*, just open this post in the editor in the administration area. ๐Ÿ˜‰', NULL); +(1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 1, 1, 'hello-world', 'Hello World!', 'Welcome! This is the automatically created first post on your new blog. You can type [*Markdown*](https://daringfireball.net/projects/markdown/) into the content editor to format your content. This system uses [*Parsedown*](https://parsedown.org/) internally, a very fast *Markdown* parser/transformer library written in PHP!\r\n\r\nIn this post you can see several examples to [format your content with *Markdown*](https://daringfireball.net/projects/markdown/syntax) and especially how to use the customizable [*content functions*](https://github.com/Nerdmind/Blog/wiki/Content_functions) provided by this blogging system. After you are familiar with the text formatting and done with the exploration of your new blogging system, you can delete this post and create your own one. ๐Ÿ˜ƒ\r\n\r\n![Demo image: Computer Guy (Public Domain)]({FILE_URL: \"image/content/computer-guy-public-domain.svg\"})\r\n\r\n## How to cross-reference items in your content?\r\nIf you want to reference another item (e.g. a post or a category) in your content, please do not put the URL to it hard coded into the editor. Consider what happens if you change your blog\'s address (or just the base directory) in the future. You would need to change all the hard coded URLs in your content which is inflexible and not cool. Therefore, you can use the following so-called *content functions* to link an item or a resource of your installation dynamically within your content.\r\n\r\n### Example\r\nReference another post:\r\n> Hello there! Check out this post: {POST: 1}\r\n\r\n### Example\r\nReference a category with customized link text:\r\n> Hello there! Check out {CATEGORY: 1, \"the demo category\"}!\r\n\r\n## How to dynamically link to other resources?\r\nYou can link any other resource (e.g. a file) which is located anywhere within your document root dynamically, either relative to your base directory (the installation directory) or relative to the `static` directory where you store your files, images and other stuff. The `BASE_URL` and `FILE_URL` *content functions* will return the pure plain text URL (extended by the first argument).\r\n\r\n### Example\r\n> Hello there. Check out [the README]({BASE_URL: \"readme.md\"})!\r\n\r\n## How to format content with Markdown?\r\nTo see how this post is formatted with *Markdown*, just open this post in the editor in the administration area. ๐Ÿ˜‰', NULL); diff --git a/core/namespace/Application.php b/core/namespace/Application.php index 1f1e6f6..2d5a23c 100644 --- a/core/namespace/Application.php +++ b/core/namespace/Application.php @@ -174,7 +174,7 @@ class Application { # Return absolute file URL #=============================================================================== public static function getFileURL($more = ''): string { - return self::getURL("rsrc/{$more}"); + return self::getURL("static/{$more}"); } #=============================================================================== diff --git a/index.php b/index.php index 8f34047..30a7ae3 100644 --- a/index.php +++ b/index.php @@ -47,7 +47,7 @@ Router::addRedirect('(feed|search)', Application::getURL('$1/')); #=============================================================================== # REDIRECT: Favicon #=============================================================================== -Router::addRedirect('favicon.ico', Application::getTemplateURL('rsrc/favicon.ico')); +Router::addRedirect('favicon.ico', Application::getTemplateURL('static/favicon.ico')); #=============================================================================== # BACKWARD COMPATIBILITY: Redirect to the new post feed URL diff --git a/rsrc/image/content/computer-guy-public-domain.svg b/rsrc/image/content/computer-guy-public-domain.svg deleted file mode 100644 index 44b6eef..0000000 --- a/rsrc/image/content/computer-guy-public-domain.svg +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/image/content/computer-guy-public-domain.svg b/static/image/content/computer-guy-public-domain.svg new file mode 100644 index 0000000..44b6eef --- /dev/null +++ b/static/image/content/computer-guy-public-domain.svg @@ -0,0 +1,242 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme/admin/html/main.php b/theme/admin/html/main.php index 2035b47..c6fe12c 100644 --- a/theme/admin/html/main.php +++ b/theme/admin/html/main.php @@ -19,8 +19,8 @@ $theme = isset($_COOKIE['dark_mode']) ? 'dark' : 'bright'; - "> - + "> + <?=escapeHTML($NAME)?> | Administration @@ -28,7 +28,7 @@ $theme = isset($_COOKIE['dark_mode']) ? 'dark' : 'bright';
- +
diff --git a/theme/admin/html/migration.php b/theme/admin/html/migration.php index 921b006..05f33c1 100644 --- a/theme/admin/html/migration.php +++ b/theme/admin/html/migration.php @@ -5,14 +5,14 @@ - "> + "> <?=$Language->text('maintenance_mode')?>
- +
text('maintenance_mode')?>
diff --git a/theme/admin/rsrc/css/bright.css b/theme/admin/rsrc/css/bright.css deleted file mode 100644 index 6ca9bae..0000000 --- a/theme/admin/rsrc/css/bright.css +++ /dev/null @@ -1,972 +0,0 @@ -@charset "UTF-8"; -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Content background and border color -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Header and navigation -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Text colors -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Misc -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Forms -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form buttons -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Information message box -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Scrollbars -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import stylesheet -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import variables -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Line height -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Font families -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Text font sizes -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Heading font sizes -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Content widths -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Selection -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -::selection { - background: #BBB; - color: #000; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Placeholders -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -::placeholder { - color: #444; - opacity: 0.5; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Scrollbars -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -* { - scrollbar-color: #A1A1A1 #E1E1E1; } - *::-webkit-scrollbar { - width: 0.75rem; } - *::-webkit-scrollbar-track { - background: #E1E1E1; } - *::-webkit-scrollbar-thumb { - background: #A1A1A1; - background-clip: padding-box; - border: 0.15rem solid transparent; } - *::-webkit-scrollbar-thumb:hover { - background: #888888; - background-clip: padding-box; - border: 0.15rem solid transparent; } - *::-webkit-scrollbar-corner { - background: transparent; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Hyperlinks -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -a { - color: #0060A0; - text-decoration: none; } - a:hover { - text-decoration: underline; } - a:focus { - background: #CCC; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Headings -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -h1, h2, h3 { - margin-bottom: 0; } - 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: #333; - background: url("../img/noise-bright.png") #DDD; - -webkit-hyphens: auto; - word-break: break-word; - 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: #FFF; - 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 { - 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: #EEE; } - .header-line + .header-line { - border: 0.05rem solid #AAA; - border-left: none; - border-right: none; } - .header-line.background { - background: #5E819F; - position: sticky; - top: 0; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Footer -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#main-footer { - font-size: 0.6rem; - background: #EEE; - border-top: 0.05rem solid #AAA; - 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: #DDD; - border: 0.05rem solid #AAA; - color: inherit; - text-decoration: none; - text-align: center; - display: inline-block; } - #main-navi a:hover, #main-navi a:focus { - text-decoration: none; - background: #CCC; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# 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 #AAA; - background: #EEE; } - #site-navi > div > a { - display: block; } - #site-navi .disabled { - pointer-events: none; - color: #AAA; } - #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 #AAA; } - #site-navi ol li.active a { - background: #CCC; - 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: #CCC; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# 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: #EEE; - border: 0.05rem solid #AAA; } - .actions a { - color: inherit; - display: block; - padding: 0 0.25rem; - text-decoration: none; } - -.actions-before { - float: left; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Elements -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -pre { - margin-bottom: 1rem; - overflow: auto; - -moz-tab-size: 4; - tab-size: 4; - background: #EEE; - padding: 0.5rem; - border: 0.05rem solid #AAA; } - -code, pre { - font-family: "monospace"; } - -code { - color: #008B45; } - -p { - margin-top: 0; } - -img { - border: none; - max-width: 100%; } - -.warning { - color: #B03060; } - -.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 #AAA; - margin-bottom: 0.75rem; - clear: both; } - .item header { - padding: 0.5rem 0.75rem; - border-bottom: 0.05rem solid #AAA; - position: sticky; - top: 0; } - .item header h2 { - margin-top: 0; } - .item footer { - border-top: 0.05rem solid #AAA; } - .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: #DDD; } - .item header, .item footer { - background: #EEE; - 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: #444; - font-size: 0.7rem; - font-weight: normal; } - .item-meta { - margin: 0; - padding: 0; - list-style: none; } - .item-meta li { - display: inline-block; } - .item-meta li + li:before { - content: " โ€“ "; } - .item-meta li.item-meta-right { - float: right; - font-size: 0.6rem; } - .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: #EEE; - border: 0.05rem solid #AAA; } - .item-container.grid { - width: 100%; - display: grid; - grid-template-columns: 1fr 1fr 1fr; - 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: #EEE; - font-size: 0.6rem; - text-align: center; - border-top: 0.05rem solid #AAA; } - .arguments li { - display: inline; } - .arguments li > code { - font-family: inherit; - color: #444; } - .arguments li:after { - content: " ยท "; - font-weight: bold; } - .arguments li:last-child:after { - content: none; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Grids -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -.form-grid { - clear: both; - display: grid; - grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr)); - border-left: 0.05rem solid #AAA; - border-bottom: 0.05rem solid #AAA; } - .form-grid.two-columns { - grid-template-columns: 1fr 2fr; } - .form-grid.no-bottom-border { - border-bottom: none; } - .form-grid > label { - display: flex; - align-items: center; - background: #DDD; } - .form-grid > label .fa { - margin: 0 0.5rem; } - .form-grid-item, - .form-grid > label { - padding: 0.5rem; - border-top: 0.05rem solid #AAA; - border-right: 0.05rem solid #AAA; } - .form-grid-item.first { - grid-column: span 3; } - -.form-border-box { - border: 0.05rem solid #AAA; } - .form-border-box.padding { - padding: 0.5rem; } - .form-border-box.background { - background: #DDD; } - .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 #AAA; - background: #EEE; - 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 #AAA; } - -.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: #000; } - -#content-editor { - border: none; - margin: 0; } - #content-editor-wrapper { - border-top: none; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form elements -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -input, select, textarea { - width: 100%; - background: #EEE; - color: #444; - font-family: inherit; - font-size: 0.7rem; - padding: 0.25rem; - border: 0.05rem solid #AAA; - 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; - cursor: auto; } - -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: #EEE; - border: 0.05rem solid #404040; } - -#insert-button { - background: #4D8D5D; } - #insert-button:active, #insert-button:focus { - background: #3b6c47; } - -#update-button { - background: #6A8AA5; } - #update-button:active, #update-button:focus { - background: #537089; } - -#delete-button { - background: #C45C66; } - #delete-button:active, #delete-button:focus { - background: #ae3f4a; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form message list -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#message-list { - margin: 0; - padding: 0.5rem; - list-style: none; - background: #C45C66; - color: #EEE; - font-size: 0.6rem; } - #message-list-wrapper { - clear: both; - margin-bottom: 0.5rem; - border: 0.1rem solid #ae3f4a; } - #message-list code { - color: inherit; - font-weight: bold; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Search form -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#search-form { - margin-bottom: 1rem; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import other files -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@media only screen and (max-width: 90em) { - .item-container.grid { - grid-template-columns: 1fr 1fr; } } -@media only screen and (min-width: 62.5em) { - #main-content { - border: 0.05rem solid #AAA; - border-top: none; - border-bottom: none; } } -@media only screen and (max-width: 62.5em) { - .item-container.grid { - grid-template-columns: 1fr; } } -@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: 7rem 1fr; } - .form-grid-item, .form-grid-item.first, .form-grid label { - grid-column: unset; } - - .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: '\e800'; } - -.fa-comment:before { - content: '\e801'; } - -.fa-chat:before { - content: '\e802'; } - -.fa-users:before { - content: '\e803'; } - -.fa-cancel:before { - content: '\e804'; } - -.fa-plus:before { - content: '\e805'; } - -.fa-list:before { - content: '\e80b'; } - -.fa-arrow-down:before { - content: '\e80e'; } - -.fa-arrow-up:before { - content: '\e811'; } - -.fa-arrows-cw:before { - content: '\e813'; } - -.fa-tag:before { - content: '\e815'; } - -.fa-tags:before { - content: '\e816'; } - -.fa-star:before { - content: '\e817'; } - -.fa-star-empty:before { - content: '\e818'; } - -.fa-eye:before { - content: '\e81a'; } - -.fa-ok:before { - content: '\e81b'; } - -.fa-info-circled:before { - content: '\e81c'; } - -.fa-home:before { - content: '\e81d'; } - -.fa-attach:before { - content: '\e81e'; } - -.fa-cog:before { - content: '\e81f'; } - -.fa-check:before { - content: '\e821'; } - -.fa-floppy:before { - content: '\e822'; } - -.fa-eye-off:before { - content: '\e823'; } - -.fa-folder-open:before { - content: '\e824'; } - -.fa-wrench:before { - content: '\e825'; } - -.fa-search:before { - content: '\f002'; } - -.fa-envelope-o:before { - content: '\f003'; } - -.fa-user:before { - content: '\f007'; } - -.fa-trash-o:before { - content: '\f014'; } - -.fa-clock-o:before { - content: '\f017'; } - -.fa-book:before { - content: '\f02d'; } - -.fa-bold:before { - content: '\f032'; } - -.fa-italic:before { - content: '\f033'; } - -.fa-picture-o:before { - content: '\f03e'; } - -.fa-pencil-square-o:before { - content: '\f044'; } - -.fa-arrow-left:before { - content: '\f060'; } - -.fa-arrow-right:before { - content: '\f061'; } - -.fa-exclamation-triangle:before { - content: '\f071'; } - -.fa-key:before { - content: '\f084'; } - -.fa-sign-out:before { - content: '\f08b'; } - -.fa-external-link:before { - content: '\f08e'; } - -.fa-sign-in:before { - content: '\f090'; } - -.fa-github-square:before { - content: '\f092'; } - -.fa-uncheck:before { - content: '\f096'; } - -.fa-link:before { - content: '\f0c1'; } - -.fa-menu:before { - content: '\f0c9'; } - -.fa-list-ul:before { - content: '\f0ca'; } - -.fa-list-ol:before { - content: '\f0cb'; } - -.fa-dashboard:before { - content: '\f0e4'; } - -.fa-comment-empty:before { - content: '\f0e5'; } - -.fa-chat-empty:before { - content: '\f0e6'; } - -.fa-file-text-o:before { - content: '\f0f6'; } - -.fa-quote-left:before { - content: '\f10d'; } - -.fa-quote-right:before { - content: '\f10e'; } - -.fa-smile:before { - content: '\f118'; } - -.fa-frown:before { - content: '\f119'; } - -.fa-meh:before { - content: '\f11a'; } - -.fa-keyboard:before { - content: '\f11c'; } - -.fa-code:before { - content: '\f121'; } - -.fa-attention-alt:before { - content: '\f12a'; } - -.fa-sort-name-up:before { - content: '\f15d'; } - -.fa-sort-name-down:before { - content: '\f15e'; } - -.fa-sort-up:before { - content: '\f160'; } - -.fa-sort-down:before { - content: '\f161'; } - -.fa-sort-number-up:before { - content: '\f162'; } - -.fa-sort-number-down:before { - content: '\f163'; } - -.fa-sun:before { - content: '\f185'; } - -.fa-moon:before { - content: '\f186'; } - -.fa-box:before { - content: '\f187'; } - -.fa-bug:before { - content: '\f188'; } - -.fa-language:before { - content: '\f1ab'; } - -.fa-database:before { - content: '\f1c0'; } - -.fa-file-archive:before { - content: '\f1c6'; } - -.fa-header:before { - content: '\f1dc'; } - -.fa-newspaper-o:before { - content: '\f1ea'; } - -.fa-at:before { - content: '\f1fa'; } - -.fa-toggle-off:before { - content: '\f204'; } - -.fa-toggle-on:before { - content: '\f205'; } - -.fa-user-secret:before { - content: '\f21b'; } - -.fa-server:before { - content: '\f233'; } - -.fa-commenting:before { - content: '\f27a'; } - -.fa-commenting-o:before { - content: '\f27b'; } - -.fa-user-circle-o:before { - content: '\f2be'; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# 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-bright { - display: none; } diff --git a/theme/admin/rsrc/css/bright.scss b/theme/admin/rsrc/css/bright.scss deleted file mode 100644 index 3d65448..0000000 --- a/theme/admin/rsrc/css/bright.scss +++ /dev/null @@ -1,69 +0,0 @@ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Content background and border color -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$htmlBackground: url("../img/noise-bright.png") #DDD; -$backgroundColor: #FFF; -$backgroundColorEmphasize: #EEE; -$borderColor: #AAA; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Header and navigation -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$headerBarTextColor: #333; -$headerBarBackgroundColor: #5E819F; -$navigationLinkBackgroundColor: #DDD; -$navigationLinkFocusedBackgroundColor: #CCC; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Text colors -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$textColor: #333; -$textColorLight: #444; -$textColorStrong: #000; -$formElementTextColor: #404040; -$codeTextColor: #008B45; -$linkColor: #0060A0; -$linkColorFocused: #CCC; -$warningTextColor: #B03060; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Misc -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$itemLinkHoverBackgroundColor: #DDD; -$paginationActiveBackgroundColor: #CCC; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Forms -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$formBackgroundColorEmphasize: #DDD; -$formButtonBorderColor: #404040; -$formButtonTextColor: #EEE; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form buttons -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$insertButtonBackgroundColor: #4D8D5D; -$updateButtonBackgroundColor: #6A8AA5; -$deleteButtonBackgroundColor: #C45C66; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Information message box -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$messageListTextColor: #EEE; -$messageListBackgroundColor: #C45C66; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Scrollbars -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$scrollbarColor: #A1A1A1; -$scrollbarHoverColor: #888888; -$scrollbarBackground: #E1E1E1; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import stylesheet -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@import "import/styles"; - -#theme-toogle-bright { - display: none; -} diff --git a/theme/admin/rsrc/css/dark.css b/theme/admin/rsrc/css/dark.css deleted file mode 100644 index 1a46895..0000000 --- a/theme/admin/rsrc/css/dark.css +++ /dev/null @@ -1,972 +0,0 @@ -@charset "UTF-8"; -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Content background and border color -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Header and navigation -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Text colors -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Misc -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Forms -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Form buttons -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Information message box -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Scrollbars -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import stylesheet -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import variables -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Line height -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Font families -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Text font sizes -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Heading font sizes -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Content widths -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Selection -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -::selection { - background: #BBB; - color: #000; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Placeholders -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -::placeholder { - color: #8D9AA7; - opacity: 0.5; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Scrollbars -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -* { - scrollbar-color: #838994 #2E3440; } - *::-webkit-scrollbar { - width: 0.75rem; } - *::-webkit-scrollbar-track { - background: #2E3440; } - *::-webkit-scrollbar-thumb { - background: #838994; - background-clip: padding-box; - border: 0.15rem solid transparent; } - *::-webkit-scrollbar-thumb:hover { - background: #4C566A; - background-clip: padding-box; - border: 0.15rem solid transparent; } - *::-webkit-scrollbar-corner { - background: transparent; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Hyperlinks -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -a { - color: #5EA4D3; - text-decoration: none; } - a:hover { - text-decoration: underline; } - a:focus { - background: #42474E; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Headings -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -h1, h2, h3 { - margin-bottom: 0; } - 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: url("../img/noise-dark.png") #3D434B; - -webkit-hyphens: auto; - word-break: break-word; - 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 { - color: #000; - 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: #3B546A; - 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; - text-decoration: none; } - -.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 li { - display: inline-block; } - .item-meta li + li:before { - content: " โ€“ "; } - .item-meta li.item-meta-right { - float: right; - font-size: 0.6rem; } - .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: 1fr 1fr 1fr; - 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 { - clear: both; - display: grid; - grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr)); - border-left: 0.05rem solid #1D232B; - border-bottom: 0.05rem solid #1D232B; } - .form-grid.two-columns { - grid-template-columns: 1fr 2fr; } - .form-grid.no-bottom-border { - border-bottom: none; } - .form-grid > label { - display: flex; - align-items: center; - background: #4D535B; } - .form-grid > label .fa { - margin: 0 0.5rem; } - .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: span 3; } - -.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; - cursor: auto; } - -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 { - clear: both; - margin-bottom: 0.5rem; - border: 0.1rem solid #6a3238; } - #message-list code { - color: inherit; - font-weight: bold; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Search form -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#search-form { - margin-bottom: 1rem; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import other files -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@media only screen and (max-width: 90em) { - .item-container.grid { - grid-template-columns: 1fr 1fr; } } -@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: 1fr; } } -@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: 7rem 1fr; } - .form-grid-item, .form-grid-item.first, .form-grid label { - grid-column: unset; } - - .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: '\e800'; } - -.fa-comment:before { - content: '\e801'; } - -.fa-chat:before { - content: '\e802'; } - -.fa-users:before { - content: '\e803'; } - -.fa-cancel:before { - content: '\e804'; } - -.fa-plus:before { - content: '\e805'; } - -.fa-list:before { - content: '\e80b'; } - -.fa-arrow-down:before { - content: '\e80e'; } - -.fa-arrow-up:before { - content: '\e811'; } - -.fa-arrows-cw:before { - content: '\e813'; } - -.fa-tag:before { - content: '\e815'; } - -.fa-tags:before { - content: '\e816'; } - -.fa-star:before { - content: '\e817'; } - -.fa-star-empty:before { - content: '\e818'; } - -.fa-eye:before { - content: '\e81a'; } - -.fa-ok:before { - content: '\e81b'; } - -.fa-info-circled:before { - content: '\e81c'; } - -.fa-home:before { - content: '\e81d'; } - -.fa-attach:before { - content: '\e81e'; } - -.fa-cog:before { - content: '\e81f'; } - -.fa-check:before { - content: '\e821'; } - -.fa-floppy:before { - content: '\e822'; } - -.fa-eye-off:before { - content: '\e823'; } - -.fa-folder-open:before { - content: '\e824'; } - -.fa-wrench:before { - content: '\e825'; } - -.fa-search:before { - content: '\f002'; } - -.fa-envelope-o:before { - content: '\f003'; } - -.fa-user:before { - content: '\f007'; } - -.fa-trash-o:before { - content: '\f014'; } - -.fa-clock-o:before { - content: '\f017'; } - -.fa-book:before { - content: '\f02d'; } - -.fa-bold:before { - content: '\f032'; } - -.fa-italic:before { - content: '\f033'; } - -.fa-picture-o:before { - content: '\f03e'; } - -.fa-pencil-square-o:before { - content: '\f044'; } - -.fa-arrow-left:before { - content: '\f060'; } - -.fa-arrow-right:before { - content: '\f061'; } - -.fa-exclamation-triangle:before { - content: '\f071'; } - -.fa-key:before { - content: '\f084'; } - -.fa-sign-out:before { - content: '\f08b'; } - -.fa-external-link:before { - content: '\f08e'; } - -.fa-sign-in:before { - content: '\f090'; } - -.fa-github-square:before { - content: '\f092'; } - -.fa-uncheck:before { - content: '\f096'; } - -.fa-link:before { - content: '\f0c1'; } - -.fa-menu:before { - content: '\f0c9'; } - -.fa-list-ul:before { - content: '\f0ca'; } - -.fa-list-ol:before { - content: '\f0cb'; } - -.fa-dashboard:before { - content: '\f0e4'; } - -.fa-comment-empty:before { - content: '\f0e5'; } - -.fa-chat-empty:before { - content: '\f0e6'; } - -.fa-file-text-o:before { - content: '\f0f6'; } - -.fa-quote-left:before { - content: '\f10d'; } - -.fa-quote-right:before { - content: '\f10e'; } - -.fa-smile:before { - content: '\f118'; } - -.fa-frown:before { - content: '\f119'; } - -.fa-meh:before { - content: '\f11a'; } - -.fa-keyboard:before { - content: '\f11c'; } - -.fa-code:before { - content: '\f121'; } - -.fa-attention-alt:before { - content: '\f12a'; } - -.fa-sort-name-up:before { - content: '\f15d'; } - -.fa-sort-name-down:before { - content: '\f15e'; } - -.fa-sort-up:before { - content: '\f160'; } - -.fa-sort-down:before { - content: '\f161'; } - -.fa-sort-number-up:before { - content: '\f162'; } - -.fa-sort-number-down:before { - content: '\f163'; } - -.fa-sun:before { - content: '\f185'; } - -.fa-moon:before { - content: '\f186'; } - -.fa-box:before { - content: '\f187'; } - -.fa-bug:before { - content: '\f188'; } - -.fa-language:before { - content: '\f1ab'; } - -.fa-database:before { - content: '\f1c0'; } - -.fa-file-archive:before { - content: '\f1c6'; } - -.fa-header:before { - content: '\f1dc'; } - -.fa-newspaper-o:before { - content: '\f1ea'; } - -.fa-at:before { - content: '\f1fa'; } - -.fa-toggle-off:before { - content: '\f204'; } - -.fa-toggle-on:before { - content: '\f205'; } - -.fa-user-secret:before { - content: '\f21b'; } - -.fa-server:before { - content: '\f233'; } - -.fa-commenting:before { - content: '\f27a'; } - -.fa-commenting-o:before { - content: '\f27b'; } - -.fa-user-circle-o:before { - content: '\f2be'; } - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# 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 deleted file mode 100644 index 472095a..0000000 --- a/theme/admin/rsrc/css/dark.scss +++ /dev/null @@ -1,69 +0,0 @@ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Content background and border color -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$htmlBackground: url("../img/noise-dark.png") #3D434B; -$backgroundColorEmphasize: #32373E; -$backgroundColor: #3D434B; -$borderColor: #1D232B; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Header and navigation -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$headerBarTextColor: #000; -$headerBarBackgroundColor: #3B546A; -$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; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Scrollbars -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$scrollbarColor: #838994; -$scrollbarHoverColor: #4C566A; -$scrollbarBackground: #2E3440; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import stylesheet -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@import "import/styles"; - -#theme-toogle-dark { - display: none; -} diff --git a/theme/admin/rsrc/css/import/_fontello.scss b/theme/admin/rsrc/css/import/_fontello.scss deleted file mode 100644 index 7c2e964..0000000 --- a/theme/admin/rsrc/css/import/_fontello.scss +++ /dev/null @@ -1,116 +0,0 @@ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# 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: '\e800'; } -.fa-comment:before { content: '\e801'; } -.fa-chat:before { content: '\e802'; } -.fa-users:before { content: '\e803'; } -.fa-cancel:before { content: '\e804'; } -.fa-plus:before { content: '\e805'; } -.fa-list:before { content: '\e80b'; } -.fa-arrow-down:before { content: '\e80e'; } -.fa-arrow-up:before { content: '\e811'; } -.fa-arrows-cw:before { content: '\e813'; } -.fa-tag:before { content: '\e815'; } -.fa-tags:before { content: '\e816'; } -.fa-star:before { content: '\e817'; } -.fa-star-empty:before { content: '\e818'; } -.fa-eye:before { content: '\e81a'; } -.fa-ok:before { content: '\e81b'; } -.fa-info-circled:before { content: '\e81c'; } -.fa-home:before { content: '\e81d'; } -.fa-attach:before { content: '\e81e'; } -.fa-cog:before { content: '\e81f'; } -.fa-check:before { content: '\e821'; } -.fa-floppy:before { content: '\e822'; } -.fa-eye-off:before { content: '\e823'; } -.fa-folder-open:before { content: '\e824'; } -.fa-wrench:before { content: '\e825'; } -.fa-search:before { content: '\f002'; } -.fa-envelope-o:before { content: '\f003'; } -.fa-user:before { content: '\f007'; } -.fa-trash-o:before { content: '\f014'; } -.fa-clock-o:before { content: '\f017'; } -.fa-book:before { content: '\f02d'; } -.fa-bold:before { content: '\f032'; } -.fa-italic:before { content: '\f033'; } -.fa-picture-o:before { content: '\f03e'; } -.fa-pencil-square-o:before { content: '\f044'; } -.fa-arrow-left:before { content: '\f060'; } -.fa-arrow-right:before { content: '\f061'; } -.fa-exclamation-triangle:before { content: '\f071'; } -.fa-key:before { content: '\f084'; } -.fa-sign-out:before { content: '\f08b'; } -.fa-external-link:before { content: '\f08e'; } -.fa-sign-in:before { content: '\f090'; } -.fa-github-square:before { content: '\f092'; } -.fa-uncheck:before { content: '\f096'; } -.fa-link:before { content: '\f0c1'; } -.fa-menu:before { content: '\f0c9'; } -.fa-list-ul:before { content: '\f0ca'; } -.fa-list-ol:before { content: '\f0cb'; } -.fa-dashboard:before { content: '\f0e4'; } -.fa-comment-empty:before { content: '\f0e5'; } -.fa-chat-empty:before { content: '\f0e6'; } -.fa-file-text-o:before { content: '\f0f6'; } -.fa-quote-left:before { content: '\f10d'; } -.fa-quote-right:before { content: '\f10e'; } -.fa-smile:before { content: '\f118'; } -.fa-frown:before { content: '\f119'; } -.fa-meh:before { content: '\f11a'; } -.fa-keyboard:before { content: '\f11c'; } -.fa-code:before { content: '\f121'; } -.fa-attention-alt:before { content: '\f12a'; } -.fa-sort-name-up:before { content: '\f15d'; } -.fa-sort-name-down:before { content: '\f15e'; } -.fa-sort-up:before { content: '\f160'; } -.fa-sort-down:before { content: '\f161'; } -.fa-sort-number-up:before { content: '\f162'; } -.fa-sort-number-down:before { content: '\f163'; } -.fa-sun:before { content: '\f185'; } -.fa-moon:before { content: '\f186'; } -.fa-box:before { content: '\f187'; } -.fa-bug:before { content: '\f188'; } -.fa-language:before { content: '\f1ab'; } -.fa-database:before { content: '\f1c0'; } -.fa-file-archive:before { content: '\f1c6'; } -.fa-header:before { content: '\f1dc'; } -.fa-newspaper-o:before { content: '\f1ea'; } -.fa-at:before { content: '\f1fa'; } -.fa-toggle-off:before { content: '\f204'; } -.fa-toggle-on:before { content: '\f205'; } -.fa-user-secret:before { content: '\f21b'; } -.fa-server:before { content: '\f233'; } -.fa-commenting:before { content: '\f27a'; } -.fa-commenting-o:before { content: '\f27b'; } -.fa-user-circle-o:before { content: '\f2be'; } diff --git a/theme/admin/rsrc/css/import/_fonts.scss b/theme/admin/rsrc/css/import/_fonts.scss deleted file mode 100644 index 4431bec..0000000 --- a/theme/admin/rsrc/css/import/_fonts.scss +++ /dev/null @@ -1,33 +0,0 @@ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# 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"); -} diff --git a/theme/admin/rsrc/css/import/_responsive.scss b/theme/admin/rsrc/css/import/_responsive.scss deleted file mode 100644 index 9675071..0000000 --- a/theme/admin/rsrc/css/import/_responsive.scss +++ /dev/null @@ -1,92 +0,0 @@ -@media only screen and (max-width: 90em /*1440px*/) { - .item-container.grid { - grid-template-columns: 1fr 1fr; - } -} - -@media only screen and (min-width: 62.5em /*1000px*/) { - #main-content { - border: 0.05rem solid $borderColor; - border-top: none; - border-bottom: none; - } -} - -@media only screen and (max-width: 62.5em /*1000px*/) { - .item-container.grid { - grid-template-columns: 1fr; - } -} - -@media only screen and (max-width: 50em /*800px*/) { - html { - font-size: 1.125rem; /*18px*/ - } -} - -@media only screen and (max-width: 37.5em /*600px*/) { - #main-content { - padding: 0.5rem; - } - - #main-navi { - font-size: 1rem; - - ul { - li { - span { - display: none; - } - - .fa { - margin-right: 0; - } - } - } - - 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: 7rem 1fr; - - &-item, &-item.first, label { - grid-column: unset; - } - } - - .actions { - float: none; - display: flex; - width: 100%; - flex-grow: 1; - justify-content: center; - overflow: hidden; - box-sizing: border-box; - - &-before { - float: none; - } - - li { - flex-grow: 1; - - + li { - border-left: none; - } - } - } -} diff --git a/theme/admin/rsrc/css/import/_styles.scss b/theme/admin/rsrc/css/import/_styles.scss deleted file mode 100644 index 93c0d8f..0000000 --- a/theme/admin/rsrc/css/import/_styles.scss +++ /dev/null @@ -1,795 +0,0 @@ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import variables -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@import "variables"; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Selection -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -::selection { - background: #BBB; - color: #000; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Placeholders -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -::placeholder { - color: $textColorLight; - opacity: 0.5; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Scrollbars -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -* { - // Firefox (TODO: Possibility to add padding?!) - scrollbar-color: $scrollbarColor $scrollbarBackground; - - // Chrome, Edge & Safari - &::-webkit-scrollbar { - width: 0.75rem; - - &-track { - background: $scrollbarBackground; - } - - &-thumb { - background: $scrollbarColor; - background-clip: padding-box; - border: 0.15rem solid transparent; - - &:hover { - background: $scrollbarHoverColor; - background-clip: padding-box; - border: 0.15rem solid transparent; - } - } - - &-corner { - background: transparent; - } - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Hyperlinks -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -a { - color: $linkColor; - text-decoration: none; - - &:hover { - text-decoration: underline; - } - - &:focus { - background: $linkColorFocused; - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Headings -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -h1, h2, h3 { - margin-bottom: 0; - - +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: $htmlBackground; - -webkit-hyphens: auto; - word-break: break-word; - 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 { - 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: $headerBarBackgroundColor; - 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; - text-decoration: none; - } -} - -.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: $fontSize; - font-weight: normal; - } - - &-meta { - margin: 0; - padding: 0; - list-style: none; - - li { - display: inline-block; - - +li:before { - content: " โ€“ "; - } - - &.item-meta-right { - float: right; - font-size: $fontSizeSmall; - } - - &.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: 1fr 1fr 1fr; - 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 { - clear: both; - display: grid; - grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr)); - - border-left: 0.05rem solid $borderColor; - border-bottom: 0.05rem solid $borderColor; - - &.two-columns { - grid-template-columns: 1fr 2fr; - } - - &.no-bottom-border { - border-bottom: none; - } - - > label { - display: flex; - align-items: center; - background: $formBackgroundColorEmphasize; - - .fa { - margin: 0 0.5rem; - } - } - - &-item, - > label { - padding: 0.5rem; - border-top: 0.05rem solid $borderColor; - border-right: 0.05rem solid $borderColor; - } - - &-item.first { - grid-column: span 3; - } -} - -.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: $fontSize; - 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; - cursor: auto; -} - -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 { - clear: both; - margin-bottom: 0.5rem; - border: 0.1rem solid darken($messageListBackgroundColor, 10%); - } - - code { - color: inherit; - font-weight: bold; - } -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Search form -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -#search-form { - margin-bottom: 1rem; -} - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Import other files -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -@import "responsive"; -@import "fontello"; -@import "fonts"; diff --git a/theme/admin/rsrc/css/import/_variables.scss b/theme/admin/rsrc/css/import/_variables.scss deleted file mode 100644 index 70a8424..0000000 --- a/theme/admin/rsrc/css/import/_variables.scss +++ /dev/null @@ -1,31 +0,0 @@ -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Line height -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$lineHeight: 1.2rem; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Font families -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$fontFamily: "Ruda", "sans-serif"; -$fontFamilyTextarea: "Kadwa", "sans-serif"; -$fontFamilyMonospaced: "monospace"; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Text font sizes -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$fontSize: 0.7rem; -$fontSizeSmall: $fontSize - 0.1rem; -$fontSizeLarge: $fontSize + 0.1rem; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Heading font sizes -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$fontSizeH1: 0.80rem; -$fontSizeH2: 0.70rem; -$fontSizeH3: 0.65rem; - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Content widths -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -$contentWidth: 50rem; -$contentWidthWide: 90rem; diff --git a/theme/admin/rsrc/font/fontello.json b/theme/admin/rsrc/font/fontello.json deleted file mode 100644 index 1af78d5..0000000 --- a/theme/admin/rsrc/font/fontello.json +++ /dev/null @@ -1,508 +0,0 @@ -{ - "name": "", - "css_prefix_text": "fa-", - "css_use_suffix": false, - "hinting": true, - "units_per_em": 1000, - "ascent": 850, - "glyphs": [ - { - "uid": "7432077e6a2d6aa19984ca821bb6bbda", - "css": "bug", - "code": 61832, - "src": "fontawesome" - }, - { - "uid": "f2aa28a2548ed3d2be718d087b65ee21", - "css": "key", - "code": 61572, - "src": "fontawesome" - }, - { - "uid": "0ddd3e8201ccc7d41f7b7c9d27eca6c1", - "css": "link", - "code": 61633, - "src": "fontawesome" - }, - { - "uid": "02cca871bb69da75e8ee286b7055832c", - "css": "bold", - "code": 61490, - "src": "fontawesome" - }, - { - "uid": "7034e4d22866af82bef811f52fb1ba46", - "css": "code", - "code": 61729, - "src": "fontawesome" - }, - { - "uid": "8b80d36d4ef43889db10bc1f0dc9a862", - "css": "user", - "code": 61447, - "src": "fontawesome" - }, - { - "uid": "9755f76110ae4d12ac5f9466c9152031", - "css": "book", - "code": 61485, - "src": "fontawesome" - }, - { - "uid": "a8cb1c217f02b073db3670c061cc54d2", - "css": "italic", - "code": 61491, - "src": "fontawesome" - }, - { - "uid": "0c708edd8fae2376b3370aa56d40cf9e", - "css": "header", - "code": 61916, - "src": "fontawesome" - }, - { - "uid": "f48ae54adfb27d8ada53d0fd9e34ee10", - "css": "trash-o", - "code": 61460, - "src": "fontawesome" - }, - { - "uid": "3a00327e61b997b58518bd43ed83c3df", - "css": "sign-in", - "code": 61584, - "src": "fontawesome" - }, - { - "uid": "598a5f2bcf3521d1615de8e1881ccd17", - "css": "clock-o", - "code": 61463, - "src": "fontawesome" - }, - { - "uid": "a2a74f5e7b7d9ba054897d8c795a326a", - "css": "list-ul", - "code": 61642, - "src": "fontawesome" - }, - { - "uid": "f6766a8b042c2453a4e153af03294383", - "css": "list-ol", - "code": 61643, - "src": "fontawesome" - }, - { - "uid": "347c38a8b96a509270fdcabc951e7571", - "css": "database", - "code": 61888, - "src": "fontawesome" - }, - { - "uid": "4fc9b8c122d1b5ca3df42a104a655e8b", - "css": "language", - "code": 61867, - "src": "fontawesome" - }, - { - "uid": "0d20938846444af8deb1920dc85a29fb", - "css": "sign-out", - "code": 61579, - "src": "fontawesome" - }, - { - "uid": "0bda4bc779d4c32623dec2e43bd67ee8", - "css": "dashboard", - "code": 61668, - "src": "fontawesome" - }, - { - "uid": "381da2c2f7fd51f8de877c044d7f439d", - "css": "picture-o", - "code": 61502, - "src": "fontawesome" - }, - { - "uid": "bf882b30900da12fca090d9796bc3030", - "css": "envelope-o", - "code": 61443, - "src": "fontawesome" - }, - { - "uid": "555ef8c86832e686fef85f7af2eb7cde", - "css": "arrow-left", - "code": 61536, - "src": "fontawesome" - }, - { - "uid": "d745d7c05b94e609decabade2cae12cb", - "css": "quote-right", - "code": 61710, - "src": "fontawesome" - }, - { - "uid": "f9c8ea86275ca16128235c6452b67b8e", - "css": "user-secret", - "code": 61979, - "src": "fontawesome" - }, - { - "uid": "5408be43f7c42bccee419c6be53fdef5", - "css": "file-text-o", - "code": 61686, - "src": "fontawesome" - }, - { - "uid": "032bd8bbd70adf90ead98b6813bfe446", - "css": "newspaper-o", - "code": 61930, - "src": "fontawesome" - }, - { - "uid": "ad6b3fbb5324abe71a9c0b6609cbb9f1", - "css": "arrow-right", - "code": 61537, - "src": "fontawesome" - }, - { - "uid": "e15f0d620a7897e2035c18c80142f6d9", - "css": "external-link", - "code": 61582, - "src": "fontawesome" - }, - { - "uid": "0ece9a12de796b8411f868d582bee678", - "css": "github-square", - "code": 61586, - "src": "fontawesome" - }, - { - "uid": "41087bc74d4b20b55059c60a33bf4008", - "css": "pencil-square-o", - "code": 61508, - "src": "fontawesome" - }, - { - "uid": "c76b7947c957c9b78b11741173c8349b", - "css": "exclamation-triangle", - "code": 61553, - "src": "fontawesome" - }, - { - "uid": "9dd9e835aebe1060ba7190ad2b2ed951", - "css": "search", - "code": 61442, - "src": "fontawesome" - }, - { - "uid": "474656633f79ea2f1dad59ff63f6bf07", - "css": "star", - "code": 59415, - "src": "fontawesome" - }, - { - "uid": "d17030afaecc1e1c22349b99f3c4992a", - "css": "star-empty", - "code": 59416, - "src": "fontawesome" - }, - { - "uid": "31972e4e9d080eaa796290349ae6c1fd", - "css": "users", - "code": 59395, - "src": "fontawesome" - }, - { - "uid": "12f4ece88e46abd864e40b35e05b11cd", - "css": "ok", - "code": 59419, - "src": "fontawesome" - }, - { - "uid": "0d6ab6194c0eddda2b8c9cedf2ab248e", - "css": "attach", - "code": 59422, - "src": "fontawesome" - }, - { - "uid": "c5fd349cbd3d23e4ade333789c29c729", - "css": "eye", - "code": 59418, - "src": "fontawesome" - }, - { - "uid": "7fd683b2c518ceb9e5fa6757f2276faa", - "css": "eye-off", - "code": 59427, - "src": "fontawesome" - }, - { - "uid": "3db5347bd219f3bce6025780f5d9ef45", - "css": "tag", - "code": 59413, - "src": "fontawesome" - }, - { - "uid": "a3f89e106175a5c5c4e9738870b12e55", - "css": "tags", - "code": 59414, - "src": "fontawesome" - }, - { - "uid": "ab95e1351ebaec5850101097cbf7097f", - "css": "quote-left", - "code": 61709, - "src": "fontawesome" - }, - { - "uid": "d35a1d35efeb784d1dc9ac18b9b6c2b6", - "css": "pencil", - "code": 59392, - "src": "fontawesome" - }, - { - "uid": "ecb97add13804c190456025e43ec003b", - "css": "keyboard", - "code": 61724, - "src": "fontawesome" - }, - { - "uid": "85528017f1e6053b2253785c31047f44", - "css": "comment", - "code": 59393, - "src": "fontawesome" - }, - { - "uid": "dcedf50ab1ede3283d7a6c70e2fe32f3", - "css": "chat", - "code": 59394, - "src": "fontawesome" - }, - { - "uid": "31951fbb9820ed0690f675b3d495c8da", - "css": "chat-empty", - "code": 61670, - "src": "fontawesome" - }, - { - "uid": "9c1376672bb4f1ed616fdd78a23667e9", - "css": "comment-empty", - "code": 61669, - "src": "fontawesome" - }, - { - "uid": "00391fac5d419345ffcccd95b6f76263", - "css": "attention-alt", - "code": 61738, - "src": "fontawesome" - }, - { - "uid": "c95735c17a10af81448c7fed98a04546", - "css": "folder-open", - "code": 59428, - "src": "fontawesome" - }, - { - "uid": "559647a6f430b3aeadbecd67194451dd", - "css": "menu", - "code": 61641, - "src": "fontawesome" - }, - { - "uid": "e99461abfef3923546da8d745372c995", - "css": "cog", - "code": 59423, - "src": "fontawesome" - }, - { - "uid": "5bb103cd29de77e0e06a52638527b575", - "css": "wrench", - "code": 59429, - "src": "fontawesome" - }, - { - "uid": "1c4068ed75209e21af36017df8871802", - "css": "arrow-down", - "code": 59406, - "src": "fontawesome" - }, - { - "uid": "95376bf082bfec6ce06ea1cda7bd7ead", - "css": "arrow-up", - "code": 59409, - "src": "fontawesome" - }, - { - "uid": "a73c5deb486c8d66249811642e5d719a", - "css": "arrows-cw", - "code": 59411, - "src": "fontawesome" - }, - { - "uid": "aa035df0908c4665c269b7b09a5596f3", - "css": "sun", - "code": 61829, - "src": "fontawesome" - }, - { - "uid": "567e3e257f2cc8fba2c12bf691c9f2d8", - "css": "moon", - "code": 61830, - "src": "fontawesome" - }, - { - "uid": "2a4e6c99b732a57da40e32fa2a7800a4", - "css": "toggle-off", - "code": 61956, - "src": "fontawesome" - }, - { - "uid": "3256ef03b16e7ab51235bc7378b53bb5", - "css": "toggle-on", - "code": 61957, - "src": "fontawesome" - }, - { - "uid": "dd6c6b221a1088ff8a9b9cd32d0b3dd5", - "css": "check", - "code": 59425, - "src": "fontawesome" - }, - { - "uid": "4b900d04e8ab8c82f080c1cfbac5772c", - "css": "uncheck", - "code": 61590, - "src": "fontawesome" - }, - { - "uid": "f4445feb55521283572ee88bc304f928", - "css": "floppy", - "code": 59426, - "src": "fontawesome" - }, - { - "uid": "0cd2582b8c93719d066ee0affd02ac78", - "css": "sort-up", - "code": 61792, - "src": "fontawesome" - }, - { - "uid": "27b13eff5eb0ca15e01a6e65ffe6eeec", - "css": "sort-down", - "code": 61793, - "src": "fontawesome" - }, - { - "uid": "3ed68ae14e9cde775121954242a412b2", - "css": "sort-name-up", - "code": 61789, - "src": "fontawesome" - }, - { - "uid": "6586267200a42008a9fc0a1bf7ac06c7", - "css": "sort-name-down", - "code": 61790, - "src": "fontawesome" - }, - { - "uid": "3a7b6876c1817ce3b801b86c04a9d0af", - "css": "sort-number-up", - "code": 61794, - "src": "fontawesome" - }, - { - "uid": "b04fc30546f597a7e0a14715e6fc81ff", - "css": "sort-number-down", - "code": 61795, - "src": "fontawesome" - }, - { - "uid": "d59ff824282fc6edaeca991deab522aa", - "css": "server", - "code": 62003, - "src": "fontawesome" - }, - { - "uid": "33194d4a025fbf12baca54579afe4c8e", - "css": "at", - "code": 61946, - "src": "fontawesome" - }, - { - "uid": "53c28626072159c49f33b71d67138ad9", - "css": "commenting", - "code": 62074, - "src": "fontawesome" - }, - { - "uid": "9cc990bbcac7aa8504078b3f49df79b1", - "css": "commenting-o", - "code": 62075, - "src": "fontawesome" - }, - { - "uid": "3fce1eca43f917c8f23e532749abae5d", - "css": "user-circle-o", - "code": 62142, - "src": "fontawesome" - }, - { - "uid": "5211af474d3a9848f67f945e2ccaf143", - "css": "cancel", - "code": 59396, - "src": "fontawesome" - }, - { - "uid": "44e04715aecbca7f266a17d5a7863c68", - "css": "plus", - "code": 59397, - "src": "fontawesome" - }, - { - "uid": "e82cedfa1d5f15b00c5a81c9bd731ea2", - "css": "info-circled", - "code": 59420, - "src": "fontawesome" - }, - { - "uid": "d7271d490b71df4311e32cdacae8b331", - "css": "home", - "code": 59421, - "src": "fontawesome" - }, - { - "uid": "04ff8d6592fe548b332b27ed87ce397a", - "css": "box", - "code": 61831, - "src": "fontawesome" - }, - { - "uid": "e80ae555c1413a4ec18b33fb348b4049", - "css": "file-archive", - "code": 61894, - "src": "fontawesome" - }, - { - "uid": "d862a10e1448589215be19702f98f2c1", - "css": "smile", - "code": 61720, - "src": "fontawesome" - }, - { - "uid": "06ddc67d609c477cd5524a7238d7850d", - "css": "frown", - "code": 61721, - "src": "fontawesome" - }, - { - "uid": "2c5055a9c9723725f49f0593a08535af", - "css": "meh", - "code": 61722, - "src": "fontawesome" - }, - { - "uid": "48b87105bd38c20315f1b705b8c7b38c", - "css": "list", - "code": 59403, - "src": "fontawesome" - } - ] -} diff --git a/theme/admin/rsrc/font/fontello.woff2 b/theme/admin/rsrc/font/fontello.woff2 deleted file mode 100644 index c62227f..0000000 Binary files a/theme/admin/rsrc/font/fontello.woff2 and /dev/null differ diff --git a/theme/admin/rsrc/font/kadwa-n-400.woff2 b/theme/admin/rsrc/font/kadwa-n-400.woff2 deleted file mode 100644 index 1566426..0000000 Binary files a/theme/admin/rsrc/font/kadwa-n-400.woff2 and /dev/null differ diff --git a/theme/admin/rsrc/font/ruda-n-400.woff2 b/theme/admin/rsrc/font/ruda-n-400.woff2 deleted file mode 100644 index 6435a0d..0000000 Binary files a/theme/admin/rsrc/font/ruda-n-400.woff2 and /dev/null differ diff --git a/theme/admin/rsrc/font/ruda-n-700.woff2 b/theme/admin/rsrc/font/ruda-n-700.woff2 deleted file mode 100644 index 0066431..0000000 Binary files a/theme/admin/rsrc/font/ruda-n-700.woff2 and /dev/null differ diff --git a/theme/admin/rsrc/icon-public-domain.svg b/theme/admin/rsrc/icon-public-domain.svg deleted file mode 100644 index 88f7227..0000000 --- a/theme/admin/rsrc/icon-public-domain.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/theme/admin/rsrc/img/noise-bright.png b/theme/admin/rsrc/img/noise-bright.png deleted file mode 100644 index a9356b3..0000000 Binary files a/theme/admin/rsrc/img/noise-bright.png and /dev/null differ diff --git a/theme/admin/rsrc/img/noise-dark.png b/theme/admin/rsrc/img/noise-dark.png deleted file mode 100644 index f0ddc0d..0000000 Binary files a/theme/admin/rsrc/img/noise-dark.png and /dev/null differ diff --git a/theme/admin/rsrc/main.js b/theme/admin/rsrc/main.js deleted file mode 100644 index 94fc591..0000000 --- a/theme/admin/rsrc/main.js +++ /dev/null @@ -1,191 +0,0 @@ -//============================================================================== -// Elements which contains the location of the previous and next site -//============================================================================== -const prev = document.getElementById("prev-site"); -const next = document.getElementById("next-site"); - -//============================================================================== -// Handle arrow keys and change the location to the desired direction -//============================================================================== -document.addEventListener("keyup", function(e) { - if(!e.ctrlKey && !e.shiftKey && !e.altKey) { - (e.keyCode === 37 && prev) && (window.location.href = prev.getAttribute("href")); - (e.keyCode === 39 && next) && (window.location.href = next.getAttribute("href")); - } -}, false); - -//============================================================================== -// Markdown tags to replace -//============================================================================== -const markdownTags = { - "bold": ["**", "**"], - "italic": ["*", "*"], - "heading": ["## ", "\n"], - "link": ["[", "](href)"], - "image": ["![", "](href)"], - "code": ["\n~~~\n", "\n~~~\n"], - "quote": ["\n> ", ""], - "list_ul": ["* ", ""], - "list_ol": ["1. ", ""] -}; - -//============================================================================== -// Timeout function for delayed execution of code -//============================================================================== -function delayed(callback) { - window.setTimeout(callback, 20); -} - -//============================================================================== -// Set caret position in editor -//============================================================================== -function setCaretPosition(position) { - document.getElementById("content-editor").setSelectionRange(position, position); - document.getElementById("content-editor").focus(); -} - -//============================================================================== -// Insert emoticon after cursor in editor -//============================================================================== -function insertEmoticon(target, emoticon) { - const selectionStart = target.selectionStart; - const selectionEnd = target.selectionEnd; - - const content = target.value; - target.value = content.slice(0, selectionStart) + emoticon + content.slice(selectionEnd); - - delayed(function() { - setCaretPosition(selectionStart + emoticon.length); - }); -} - -//============================================================================== -// Insert markdown around text in editor -//============================================================================== -function insertMarkdown(target, markdown) { - const selectionStart = target.selectionStart; - const selectionEnd = target.selectionEnd; - - const selectedText = target.value.substring(selectionStart, selectionEnd); - - const content = target.value; - target.value = content.slice(0, selectionStart) + markdownTags[markdown][0] + selectedText + markdownTags[markdown][1] + content.slice(selectionEnd); - - delayed(function() { - setCaretPosition(selectionStart + markdownTags[markdown][0].length + selectedText.length + markdownTags[markdown][1].length); - }); -} - -//============================================================================== -// Keep server-side session active if the user is writing a long text -//============================================================================== -setInterval(function() { - const Request = new XMLHttpRequest(); - Request.open("HEAD", "", true); - Request.send(); -}, 300000); - -//============================================================================== -// Confirmation message for delete button -//============================================================================== -if(document.getElementById("delete-button")) { - document.getElementById("delete-button").onclick = function(e) { - return confirm(e.target.getAttribute("data-text")); - }; -} - -//============================================================================== -// Insert or remove tab indent in editor if [+] is pressed -//============================================================================== -(function() { - if(document.getElementById("content-editor")) { - const element = document.getElementById("content-editor"); - element.addEventListener("keydown", function(e) { - if(e.keyCode === 9 && !e.ctrlKey) { - const selectionStart = element.selectionStart; - const selectionEnd = element.selectionEnd; - - const content = element.value; - - if(e.shiftKey) { - if(content.substring(selectionStart, selectionStart -1) === "\t") { - element.value = content.substring(0, selectionStart - 1) + content.substring(selectionEnd); - setCaretPosition(selectionStart - 1); - } - } - - else { - element.value = content.substring(0, selectionStart) + "\t" + content.substring(selectionEnd); - setCaretPosition(selectionStart + 1); - } - - e.preventDefault(); - } - }, false); - } -})(); - -//============================================================================== -// Emoticon button list -//============================================================================== -(function() { - if(document.getElementById("emoticon-list")) { - const list = document.getElementById("emoticon-list"); - const node = document.getElementById("content-editor"); - const items = list.getElementsByTagName("li"); - - for(let i = 0; i < items.length; ++i) { - items[i].onmousedown = function(e) { - insertEmoticon(node, e.target.getAttribute("data-emoticon")); - }; - } - } -})(); - -//============================================================================== -// Markdown button list -//============================================================================== -(function() { - if(document.getElementById("markdown-list")) { - const list = document.getElementById("markdown-list"); - const node = document.getElementById("content-editor"); - const items = list.getElementsByTagName("li"); - - for(let i = 0; i < items.length; ++i) { - items[i].onmousedown = function(e) { - insertMarkdown(node, e.target.getAttribute("data-markdown")); - }; - } - } -})(); - -//============================================================================== -// Detect unsaved changes in content editor -//============================================================================== -(function() { - if(document.getElementById("content-editor")) { - const editor = document.getElementById("content-editor"); - const initialValue = editor.value; - - function showConfirmationPrompt(e) { - if(editor.value !== initialValue) { - e.returnValue = ''; - e.preventDefault(); - } - } - - window.addEventListener('beforeunload', showConfirmationPrompt); - - const buttons = []; - buttons.push(document.getElementById('insert-button')); - buttons.push(document.getElementById('update-button')); - - for(let i = 0; i < buttons.length; ++i) { - if(buttons[i] !== null) { - buttons[i].addEventListener('click', function() { - window.removeEventListener('beforeunload', showConfirmationPrompt); - }); - } - } - } -})(); diff --git a/theme/admin/static/css/bright.css b/theme/admin/static/css/bright.css new file mode 100644 index 0000000..6ca9bae --- /dev/null +++ b/theme/admin/static/css/bright.css @@ -0,0 +1,972 @@ +@charset "UTF-8"; +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content background and border color +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Header and navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text colors +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Misc +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Forms +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Information message box +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Scrollbars +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import stylesheet +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import variables +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Line height +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Font families +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text font sizes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Heading font sizes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content widths +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Selection +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +::selection { + background: #BBB; + color: #000; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Placeholders +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +::placeholder { + color: #444; + opacity: 0.5; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Scrollbars +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +* { + scrollbar-color: #A1A1A1 #E1E1E1; } + *::-webkit-scrollbar { + width: 0.75rem; } + *::-webkit-scrollbar-track { + background: #E1E1E1; } + *::-webkit-scrollbar-thumb { + background: #A1A1A1; + background-clip: padding-box; + border: 0.15rem solid transparent; } + *::-webkit-scrollbar-thumb:hover { + background: #888888; + background-clip: padding-box; + border: 0.15rem solid transparent; } + *::-webkit-scrollbar-corner { + background: transparent; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Hyperlinks +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +a { + color: #0060A0; + text-decoration: none; } + a:hover { + text-decoration: underline; } + a:focus { + background: #CCC; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Headings +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +h1, h2, h3 { + margin-bottom: 0; } + 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: #333; + background: url("../img/noise-bright.png") #DDD; + -webkit-hyphens: auto; + word-break: break-word; + 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: #FFF; + 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 { + 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: #EEE; } + .header-line + .header-line { + border: 0.05rem solid #AAA; + border-left: none; + border-right: none; } + .header-line.background { + background: #5E819F; + position: sticky; + top: 0; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#main-footer { + font-size: 0.6rem; + background: #EEE; + border-top: 0.05rem solid #AAA; + 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: #DDD; + border: 0.05rem solid #AAA; + color: inherit; + text-decoration: none; + text-align: center; + display: inline-block; } + #main-navi a:hover, #main-navi a:focus { + text-decoration: none; + background: #CCC; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# 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 #AAA; + background: #EEE; } + #site-navi > div > a { + display: block; } + #site-navi .disabled { + pointer-events: none; + color: #AAA; } + #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 #AAA; } + #site-navi ol li.active a { + background: #CCC; + 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: #CCC; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# 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: #EEE; + border: 0.05rem solid #AAA; } + .actions a { + color: inherit; + display: block; + padding: 0 0.25rem; + text-decoration: none; } + +.actions-before { + float: left; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Elements +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +pre { + margin-bottom: 1rem; + overflow: auto; + -moz-tab-size: 4; + tab-size: 4; + background: #EEE; + padding: 0.5rem; + border: 0.05rem solid #AAA; } + +code, pre { + font-family: "monospace"; } + +code { + color: #008B45; } + +p { + margin-top: 0; } + +img { + border: none; + max-width: 100%; } + +.warning { + color: #B03060; } + +.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 #AAA; + margin-bottom: 0.75rem; + clear: both; } + .item header { + padding: 0.5rem 0.75rem; + border-bottom: 0.05rem solid #AAA; + position: sticky; + top: 0; } + .item header h2 { + margin-top: 0; } + .item footer { + border-top: 0.05rem solid #AAA; } + .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: #DDD; } + .item header, .item footer { + background: #EEE; + 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: #444; + font-size: 0.7rem; + font-weight: normal; } + .item-meta { + margin: 0; + padding: 0; + list-style: none; } + .item-meta li { + display: inline-block; } + .item-meta li + li:before { + content: " โ€“ "; } + .item-meta li.item-meta-right { + float: right; + font-size: 0.6rem; } + .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: #EEE; + border: 0.05rem solid #AAA; } + .item-container.grid { + width: 100%; + display: grid; + grid-template-columns: 1fr 1fr 1fr; + 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: #EEE; + font-size: 0.6rem; + text-align: center; + border-top: 0.05rem solid #AAA; } + .arguments li { + display: inline; } + .arguments li > code { + font-family: inherit; + color: #444; } + .arguments li:after { + content: " ยท "; + font-weight: bold; } + .arguments li:last-child:after { + content: none; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Grids +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +.form-grid { + clear: both; + display: grid; + grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr)); + border-left: 0.05rem solid #AAA; + border-bottom: 0.05rem solid #AAA; } + .form-grid.two-columns { + grid-template-columns: 1fr 2fr; } + .form-grid.no-bottom-border { + border-bottom: none; } + .form-grid > label { + display: flex; + align-items: center; + background: #DDD; } + .form-grid > label .fa { + margin: 0 0.5rem; } + .form-grid-item, + .form-grid > label { + padding: 0.5rem; + border-top: 0.05rem solid #AAA; + border-right: 0.05rem solid #AAA; } + .form-grid-item.first { + grid-column: span 3; } + +.form-border-box { + border: 0.05rem solid #AAA; } + .form-border-box.padding { + padding: 0.5rem; } + .form-border-box.background { + background: #DDD; } + .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 #AAA; + background: #EEE; + 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 #AAA; } + +.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: #000; } + +#content-editor { + border: none; + margin: 0; } + #content-editor-wrapper { + border-top: none; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form elements +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +input, select, textarea { + width: 100%; + background: #EEE; + color: #444; + font-family: inherit; + font-size: 0.7rem; + padding: 0.25rem; + border: 0.05rem solid #AAA; + 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; + cursor: auto; } + +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: #EEE; + border: 0.05rem solid #404040; } + +#insert-button { + background: #4D8D5D; } + #insert-button:active, #insert-button:focus { + background: #3b6c47; } + +#update-button { + background: #6A8AA5; } + #update-button:active, #update-button:focus { + background: #537089; } + +#delete-button { + background: #C45C66; } + #delete-button:active, #delete-button:focus { + background: #ae3f4a; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form message list +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#message-list { + margin: 0; + padding: 0.5rem; + list-style: none; + background: #C45C66; + color: #EEE; + font-size: 0.6rem; } + #message-list-wrapper { + clear: both; + margin-bottom: 0.5rem; + border: 0.1rem solid #ae3f4a; } + #message-list code { + color: inherit; + font-weight: bold; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Search form +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#search-form { + margin-bottom: 1rem; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import other files +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@media only screen and (max-width: 90em) { + .item-container.grid { + grid-template-columns: 1fr 1fr; } } +@media only screen and (min-width: 62.5em) { + #main-content { + border: 0.05rem solid #AAA; + border-top: none; + border-bottom: none; } } +@media only screen and (max-width: 62.5em) { + .item-container.grid { + grid-template-columns: 1fr; } } +@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: 7rem 1fr; } + .form-grid-item, .form-grid-item.first, .form-grid label { + grid-column: unset; } + + .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: '\e800'; } + +.fa-comment:before { + content: '\e801'; } + +.fa-chat:before { + content: '\e802'; } + +.fa-users:before { + content: '\e803'; } + +.fa-cancel:before { + content: '\e804'; } + +.fa-plus:before { + content: '\e805'; } + +.fa-list:before { + content: '\e80b'; } + +.fa-arrow-down:before { + content: '\e80e'; } + +.fa-arrow-up:before { + content: '\e811'; } + +.fa-arrows-cw:before { + content: '\e813'; } + +.fa-tag:before { + content: '\e815'; } + +.fa-tags:before { + content: '\e816'; } + +.fa-star:before { + content: '\e817'; } + +.fa-star-empty:before { + content: '\e818'; } + +.fa-eye:before { + content: '\e81a'; } + +.fa-ok:before { + content: '\e81b'; } + +.fa-info-circled:before { + content: '\e81c'; } + +.fa-home:before { + content: '\e81d'; } + +.fa-attach:before { + content: '\e81e'; } + +.fa-cog:before { + content: '\e81f'; } + +.fa-check:before { + content: '\e821'; } + +.fa-floppy:before { + content: '\e822'; } + +.fa-eye-off:before { + content: '\e823'; } + +.fa-folder-open:before { + content: '\e824'; } + +.fa-wrench:before { + content: '\e825'; } + +.fa-search:before { + content: '\f002'; } + +.fa-envelope-o:before { + content: '\f003'; } + +.fa-user:before { + content: '\f007'; } + +.fa-trash-o:before { + content: '\f014'; } + +.fa-clock-o:before { + content: '\f017'; } + +.fa-book:before { + content: '\f02d'; } + +.fa-bold:before { + content: '\f032'; } + +.fa-italic:before { + content: '\f033'; } + +.fa-picture-o:before { + content: '\f03e'; } + +.fa-pencil-square-o:before { + content: '\f044'; } + +.fa-arrow-left:before { + content: '\f060'; } + +.fa-arrow-right:before { + content: '\f061'; } + +.fa-exclamation-triangle:before { + content: '\f071'; } + +.fa-key:before { + content: '\f084'; } + +.fa-sign-out:before { + content: '\f08b'; } + +.fa-external-link:before { + content: '\f08e'; } + +.fa-sign-in:before { + content: '\f090'; } + +.fa-github-square:before { + content: '\f092'; } + +.fa-uncheck:before { + content: '\f096'; } + +.fa-link:before { + content: '\f0c1'; } + +.fa-menu:before { + content: '\f0c9'; } + +.fa-list-ul:before { + content: '\f0ca'; } + +.fa-list-ol:before { + content: '\f0cb'; } + +.fa-dashboard:before { + content: '\f0e4'; } + +.fa-comment-empty:before { + content: '\f0e5'; } + +.fa-chat-empty:before { + content: '\f0e6'; } + +.fa-file-text-o:before { + content: '\f0f6'; } + +.fa-quote-left:before { + content: '\f10d'; } + +.fa-quote-right:before { + content: '\f10e'; } + +.fa-smile:before { + content: '\f118'; } + +.fa-frown:before { + content: '\f119'; } + +.fa-meh:before { + content: '\f11a'; } + +.fa-keyboard:before { + content: '\f11c'; } + +.fa-code:before { + content: '\f121'; } + +.fa-attention-alt:before { + content: '\f12a'; } + +.fa-sort-name-up:before { + content: '\f15d'; } + +.fa-sort-name-down:before { + content: '\f15e'; } + +.fa-sort-up:before { + content: '\f160'; } + +.fa-sort-down:before { + content: '\f161'; } + +.fa-sort-number-up:before { + content: '\f162'; } + +.fa-sort-number-down:before { + content: '\f163'; } + +.fa-sun:before { + content: '\f185'; } + +.fa-moon:before { + content: '\f186'; } + +.fa-box:before { + content: '\f187'; } + +.fa-bug:before { + content: '\f188'; } + +.fa-language:before { + content: '\f1ab'; } + +.fa-database:before { + content: '\f1c0'; } + +.fa-file-archive:before { + content: '\f1c6'; } + +.fa-header:before { + content: '\f1dc'; } + +.fa-newspaper-o:before { + content: '\f1ea'; } + +.fa-at:before { + content: '\f1fa'; } + +.fa-toggle-off:before { + content: '\f204'; } + +.fa-toggle-on:before { + content: '\f205'; } + +.fa-user-secret:before { + content: '\f21b'; } + +.fa-server:before { + content: '\f233'; } + +.fa-commenting:before { + content: '\f27a'; } + +.fa-commenting-o:before { + content: '\f27b'; } + +.fa-user-circle-o:before { + content: '\f2be'; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# 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-bright { + display: none; } diff --git a/theme/admin/static/css/bright.scss b/theme/admin/static/css/bright.scss new file mode 100644 index 0000000..3d65448 --- /dev/null +++ b/theme/admin/static/css/bright.scss @@ -0,0 +1,69 @@ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content background and border color +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$htmlBackground: url("../img/noise-bright.png") #DDD; +$backgroundColor: #FFF; +$backgroundColorEmphasize: #EEE; +$borderColor: #AAA; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Header and navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$headerBarTextColor: #333; +$headerBarBackgroundColor: #5E819F; +$navigationLinkBackgroundColor: #DDD; +$navigationLinkFocusedBackgroundColor: #CCC; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text colors +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$textColor: #333; +$textColorLight: #444; +$textColorStrong: #000; +$formElementTextColor: #404040; +$codeTextColor: #008B45; +$linkColor: #0060A0; +$linkColorFocused: #CCC; +$warningTextColor: #B03060; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Misc +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$itemLinkHoverBackgroundColor: #DDD; +$paginationActiveBackgroundColor: #CCC; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Forms +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$formBackgroundColorEmphasize: #DDD; +$formButtonBorderColor: #404040; +$formButtonTextColor: #EEE; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$insertButtonBackgroundColor: #4D8D5D; +$updateButtonBackgroundColor: #6A8AA5; +$deleteButtonBackgroundColor: #C45C66; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Information message box +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$messageListTextColor: #EEE; +$messageListBackgroundColor: #C45C66; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Scrollbars +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$scrollbarColor: #A1A1A1; +$scrollbarHoverColor: #888888; +$scrollbarBackground: #E1E1E1; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import stylesheet +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@import "import/styles"; + +#theme-toogle-bright { + display: none; +} diff --git a/theme/admin/static/css/dark.css b/theme/admin/static/css/dark.css new file mode 100644 index 0000000..1a46895 --- /dev/null +++ b/theme/admin/static/css/dark.css @@ -0,0 +1,972 @@ +@charset "UTF-8"; +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content background and border color +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Header and navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text colors +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Misc +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Forms +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Form buttons +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Information message box +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Scrollbars +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import stylesheet +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import variables +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Line height +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Font families +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text font sizes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Heading font sizes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content widths +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Selection +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +::selection { + background: #BBB; + color: #000; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Placeholders +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +::placeholder { + color: #8D9AA7; + opacity: 0.5; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Scrollbars +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +* { + scrollbar-color: #838994 #2E3440; } + *::-webkit-scrollbar { + width: 0.75rem; } + *::-webkit-scrollbar-track { + background: #2E3440; } + *::-webkit-scrollbar-thumb { + background: #838994; + background-clip: padding-box; + border: 0.15rem solid transparent; } + *::-webkit-scrollbar-thumb:hover { + background: #4C566A; + background-clip: padding-box; + border: 0.15rem solid transparent; } + *::-webkit-scrollbar-corner { + background: transparent; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Hyperlinks +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +a { + color: #5EA4D3; + text-decoration: none; } + a:hover { + text-decoration: underline; } + a:focus { + background: #42474E; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Headings +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +h1, h2, h3 { + margin-bottom: 0; } + 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: url("../img/noise-dark.png") #3D434B; + -webkit-hyphens: auto; + word-break: break-word; + 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 { + color: #000; + 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: #3B546A; + 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; + text-decoration: none; } + +.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 li { + display: inline-block; } + .item-meta li + li:before { + content: " โ€“ "; } + .item-meta li.item-meta-right { + float: right; + font-size: 0.6rem; } + .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: 1fr 1fr 1fr; + 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 { + clear: both; + display: grid; + grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr)); + border-left: 0.05rem solid #1D232B; + border-bottom: 0.05rem solid #1D232B; } + .form-grid.two-columns { + grid-template-columns: 1fr 2fr; } + .form-grid.no-bottom-border { + border-bottom: none; } + .form-grid > label { + display: flex; + align-items: center; + background: #4D535B; } + .form-grid > label .fa { + margin: 0 0.5rem; } + .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: span 3; } + +.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; + cursor: auto; } + +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 { + clear: both; + margin-bottom: 0.5rem; + border: 0.1rem solid #6a3238; } + #message-list code { + color: inherit; + font-weight: bold; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Search form +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#search-form { + margin-bottom: 1rem; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import other files +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@media only screen and (max-width: 90em) { + .item-container.grid { + grid-template-columns: 1fr 1fr; } } +@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: 1fr; } } +@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: 7rem 1fr; } + .form-grid-item, .form-grid-item.first, .form-grid label { + grid-column: unset; } + + .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: '\e800'; } + +.fa-comment:before { + content: '\e801'; } + +.fa-chat:before { + content: '\e802'; } + +.fa-users:before { + content: '\e803'; } + +.fa-cancel:before { + content: '\e804'; } + +.fa-plus:before { + content: '\e805'; } + +.fa-list:before { + content: '\e80b'; } + +.fa-arrow-down:before { + content: '\e80e'; } + +.fa-arrow-up:before { + content: '\e811'; } + +.fa-arrows-cw:before { + content: '\e813'; } + +.fa-tag:before { + content: '\e815'; } + +.fa-tags:before { + content: '\e816'; } + +.fa-star:before { + content: '\e817'; } + +.fa-star-empty:before { + content: '\e818'; } + +.fa-eye:before { + content: '\e81a'; } + +.fa-ok:before { + content: '\e81b'; } + +.fa-info-circled:before { + content: '\e81c'; } + +.fa-home:before { + content: '\e81d'; } + +.fa-attach:before { + content: '\e81e'; } + +.fa-cog:before { + content: '\e81f'; } + +.fa-check:before { + content: '\e821'; } + +.fa-floppy:before { + content: '\e822'; } + +.fa-eye-off:before { + content: '\e823'; } + +.fa-folder-open:before { + content: '\e824'; } + +.fa-wrench:before { + content: '\e825'; } + +.fa-search:before { + content: '\f002'; } + +.fa-envelope-o:before { + content: '\f003'; } + +.fa-user:before { + content: '\f007'; } + +.fa-trash-o:before { + content: '\f014'; } + +.fa-clock-o:before { + content: '\f017'; } + +.fa-book:before { + content: '\f02d'; } + +.fa-bold:before { + content: '\f032'; } + +.fa-italic:before { + content: '\f033'; } + +.fa-picture-o:before { + content: '\f03e'; } + +.fa-pencil-square-o:before { + content: '\f044'; } + +.fa-arrow-left:before { + content: '\f060'; } + +.fa-arrow-right:before { + content: '\f061'; } + +.fa-exclamation-triangle:before { + content: '\f071'; } + +.fa-key:before { + content: '\f084'; } + +.fa-sign-out:before { + content: '\f08b'; } + +.fa-external-link:before { + content: '\f08e'; } + +.fa-sign-in:before { + content: '\f090'; } + +.fa-github-square:before { + content: '\f092'; } + +.fa-uncheck:before { + content: '\f096'; } + +.fa-link:before { + content: '\f0c1'; } + +.fa-menu:before { + content: '\f0c9'; } + +.fa-list-ul:before { + content: '\f0ca'; } + +.fa-list-ol:before { + content: '\f0cb'; } + +.fa-dashboard:before { + content: '\f0e4'; } + +.fa-comment-empty:before { + content: '\f0e5'; } + +.fa-chat-empty:before { + content: '\f0e6'; } + +.fa-file-text-o:before { + content: '\f0f6'; } + +.fa-quote-left:before { + content: '\f10d'; } + +.fa-quote-right:before { + content: '\f10e'; } + +.fa-smile:before { + content: '\f118'; } + +.fa-frown:before { + content: '\f119'; } + +.fa-meh:before { + content: '\f11a'; } + +.fa-keyboard:before { + content: '\f11c'; } + +.fa-code:before { + content: '\f121'; } + +.fa-attention-alt:before { + content: '\f12a'; } + +.fa-sort-name-up:before { + content: '\f15d'; } + +.fa-sort-name-down:before { + content: '\f15e'; } + +.fa-sort-up:before { + content: '\f160'; } + +.fa-sort-down:before { + content: '\f161'; } + +.fa-sort-number-up:before { + content: '\f162'; } + +.fa-sort-number-down:before { + content: '\f163'; } + +.fa-sun:before { + content: '\f185'; } + +.fa-moon:before { + content: '\f186'; } + +.fa-box:before { + content: '\f187'; } + +.fa-bug:before { + content: '\f188'; } + +.fa-language:before { + content: '\f1ab'; } + +.fa-database:before { + content: '\f1c0'; } + +.fa-file-archive:before { + content: '\f1c6'; } + +.fa-header:before { + content: '\f1dc'; } + +.fa-newspaper-o:before { + content: '\f1ea'; } + +.fa-at:before { + content: '\f1fa'; } + +.fa-toggle-off:before { + content: '\f204'; } + +.fa-toggle-on:before { + content: '\f205'; } + +.fa-user-secret:before { + content: '\f21b'; } + +.fa-server:before { + content: '\f233'; } + +.fa-commenting:before { + content: '\f27a'; } + +.fa-commenting-o:before { + content: '\f27b'; } + +.fa-user-circle-o:before { + content: '\f2be'; } + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# 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/static/css/dark.scss b/theme/admin/static/css/dark.scss new file mode 100644 index 0000000..472095a --- /dev/null +++ b/theme/admin/static/css/dark.scss @@ -0,0 +1,69 @@ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content background and border color +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$htmlBackground: url("../img/noise-dark.png") #3D434B; +$backgroundColorEmphasize: #32373E; +$backgroundColor: #3D434B; +$borderColor: #1D232B; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Header and navigation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$headerBarTextColor: #000; +$headerBarBackgroundColor: #3B546A; +$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; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Scrollbars +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$scrollbarColor: #838994; +$scrollbarHoverColor: #4C566A; +$scrollbarBackground: #2E3440; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import stylesheet +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@import "import/styles"; + +#theme-toogle-dark { + display: none; +} diff --git a/theme/admin/static/css/import/_fontello.scss b/theme/admin/static/css/import/_fontello.scss new file mode 100644 index 0000000..7c2e964 --- /dev/null +++ b/theme/admin/static/css/import/_fontello.scss @@ -0,0 +1,116 @@ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# 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: '\e800'; } +.fa-comment:before { content: '\e801'; } +.fa-chat:before { content: '\e802'; } +.fa-users:before { content: '\e803'; } +.fa-cancel:before { content: '\e804'; } +.fa-plus:before { content: '\e805'; } +.fa-list:before { content: '\e80b'; } +.fa-arrow-down:before { content: '\e80e'; } +.fa-arrow-up:before { content: '\e811'; } +.fa-arrows-cw:before { content: '\e813'; } +.fa-tag:before { content: '\e815'; } +.fa-tags:before { content: '\e816'; } +.fa-star:before { content: '\e817'; } +.fa-star-empty:before { content: '\e818'; } +.fa-eye:before { content: '\e81a'; } +.fa-ok:before { content: '\e81b'; } +.fa-info-circled:before { content: '\e81c'; } +.fa-home:before { content: '\e81d'; } +.fa-attach:before { content: '\e81e'; } +.fa-cog:before { content: '\e81f'; } +.fa-check:before { content: '\e821'; } +.fa-floppy:before { content: '\e822'; } +.fa-eye-off:before { content: '\e823'; } +.fa-folder-open:before { content: '\e824'; } +.fa-wrench:before { content: '\e825'; } +.fa-search:before { content: '\f002'; } +.fa-envelope-o:before { content: '\f003'; } +.fa-user:before { content: '\f007'; } +.fa-trash-o:before { content: '\f014'; } +.fa-clock-o:before { content: '\f017'; } +.fa-book:before { content: '\f02d'; } +.fa-bold:before { content: '\f032'; } +.fa-italic:before { content: '\f033'; } +.fa-picture-o:before { content: '\f03e'; } +.fa-pencil-square-o:before { content: '\f044'; } +.fa-arrow-left:before { content: '\f060'; } +.fa-arrow-right:before { content: '\f061'; } +.fa-exclamation-triangle:before { content: '\f071'; } +.fa-key:before { content: '\f084'; } +.fa-sign-out:before { content: '\f08b'; } +.fa-external-link:before { content: '\f08e'; } +.fa-sign-in:before { content: '\f090'; } +.fa-github-square:before { content: '\f092'; } +.fa-uncheck:before { content: '\f096'; } +.fa-link:before { content: '\f0c1'; } +.fa-menu:before { content: '\f0c9'; } +.fa-list-ul:before { content: '\f0ca'; } +.fa-list-ol:before { content: '\f0cb'; } +.fa-dashboard:before { content: '\f0e4'; } +.fa-comment-empty:before { content: '\f0e5'; } +.fa-chat-empty:before { content: '\f0e6'; } +.fa-file-text-o:before { content: '\f0f6'; } +.fa-quote-left:before { content: '\f10d'; } +.fa-quote-right:before { content: '\f10e'; } +.fa-smile:before { content: '\f118'; } +.fa-frown:before { content: '\f119'; } +.fa-meh:before { content: '\f11a'; } +.fa-keyboard:before { content: '\f11c'; } +.fa-code:before { content: '\f121'; } +.fa-attention-alt:before { content: '\f12a'; } +.fa-sort-name-up:before { content: '\f15d'; } +.fa-sort-name-down:before { content: '\f15e'; } +.fa-sort-up:before { content: '\f160'; } +.fa-sort-down:before { content: '\f161'; } +.fa-sort-number-up:before { content: '\f162'; } +.fa-sort-number-down:before { content: '\f163'; } +.fa-sun:before { content: '\f185'; } +.fa-moon:before { content: '\f186'; } +.fa-box:before { content: '\f187'; } +.fa-bug:before { content: '\f188'; } +.fa-language:before { content: '\f1ab'; } +.fa-database:before { content: '\f1c0'; } +.fa-file-archive:before { content: '\f1c6'; } +.fa-header:before { content: '\f1dc'; } +.fa-newspaper-o:before { content: '\f1ea'; } +.fa-at:before { content: '\f1fa'; } +.fa-toggle-off:before { content: '\f204'; } +.fa-toggle-on:before { content: '\f205'; } +.fa-user-secret:before { content: '\f21b'; } +.fa-server:before { content: '\f233'; } +.fa-commenting:before { content: '\f27a'; } +.fa-commenting-o:before { content: '\f27b'; } +.fa-user-circle-o:before { content: '\f2be'; } diff --git a/theme/admin/static/css/import/_fonts.scss b/theme/admin/static/css/import/_fonts.scss new file mode 100644 index 0000000..4431bec --- /dev/null +++ b/theme/admin/static/css/import/_fonts.scss @@ -0,0 +1,33 @@ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# 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"); +} diff --git a/theme/admin/static/css/import/_responsive.scss b/theme/admin/static/css/import/_responsive.scss new file mode 100644 index 0000000..9675071 --- /dev/null +++ b/theme/admin/static/css/import/_responsive.scss @@ -0,0 +1,92 @@ +@media only screen and (max-width: 90em /*1440px*/) { + .item-container.grid { + grid-template-columns: 1fr 1fr; + } +} + +@media only screen and (min-width: 62.5em /*1000px*/) { + #main-content { + border: 0.05rem solid $borderColor; + border-top: none; + border-bottom: none; + } +} + +@media only screen and (max-width: 62.5em /*1000px*/) { + .item-container.grid { + grid-template-columns: 1fr; + } +} + +@media only screen and (max-width: 50em /*800px*/) { + html { + font-size: 1.125rem; /*18px*/ + } +} + +@media only screen and (max-width: 37.5em /*600px*/) { + #main-content { + padding: 0.5rem; + } + + #main-navi { + font-size: 1rem; + + ul { + li { + span { + display: none; + } + + .fa { + margin-right: 0; + } + } + } + + 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: 7rem 1fr; + + &-item, &-item.first, label { + grid-column: unset; + } + } + + .actions { + float: none; + display: flex; + width: 100%; + flex-grow: 1; + justify-content: center; + overflow: hidden; + box-sizing: border-box; + + &-before { + float: none; + } + + li { + flex-grow: 1; + + + li { + border-left: none; + } + } + } +} diff --git a/theme/admin/static/css/import/_styles.scss b/theme/admin/static/css/import/_styles.scss new file mode 100644 index 0000000..93c0d8f --- /dev/null +++ b/theme/admin/static/css/import/_styles.scss @@ -0,0 +1,795 @@ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import variables +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@import "variables"; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Selection +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +::selection { + background: #BBB; + color: #000; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Placeholders +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +::placeholder { + color: $textColorLight; + opacity: 0.5; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Scrollbars +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +* { + // Firefox (TODO: Possibility to add padding?!) + scrollbar-color: $scrollbarColor $scrollbarBackground; + + // Chrome, Edge & Safari + &::-webkit-scrollbar { + width: 0.75rem; + + &-track { + background: $scrollbarBackground; + } + + &-thumb { + background: $scrollbarColor; + background-clip: padding-box; + border: 0.15rem solid transparent; + + &:hover { + background: $scrollbarHoverColor; + background-clip: padding-box; + border: 0.15rem solid transparent; + } + } + + &-corner { + background: transparent; + } + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Hyperlinks +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +a { + color: $linkColor; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + + &:focus { + background: $linkColorFocused; + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Headings +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +h1, h2, h3 { + margin-bottom: 0; + + +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: $htmlBackground; + -webkit-hyphens: auto; + word-break: break-word; + 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 { + 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: $headerBarBackgroundColor; + 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; + text-decoration: none; + } +} + +.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: $fontSize; + font-weight: normal; + } + + &-meta { + margin: 0; + padding: 0; + list-style: none; + + li { + display: inline-block; + + +li:before { + content: " โ€“ "; + } + + &.item-meta-right { + float: right; + font-size: $fontSizeSmall; + } + + &.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: 1fr 1fr 1fr; + 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 { + clear: both; + display: grid; + grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr)); + + border-left: 0.05rem solid $borderColor; + border-bottom: 0.05rem solid $borderColor; + + &.two-columns { + grid-template-columns: 1fr 2fr; + } + + &.no-bottom-border { + border-bottom: none; + } + + > label { + display: flex; + align-items: center; + background: $formBackgroundColorEmphasize; + + .fa { + margin: 0 0.5rem; + } + } + + &-item, + > label { + padding: 0.5rem; + border-top: 0.05rem solid $borderColor; + border-right: 0.05rem solid $borderColor; + } + + &-item.first { + grid-column: span 3; + } +} + +.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: $fontSize; + 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; + cursor: auto; +} + +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 { + clear: both; + margin-bottom: 0.5rem; + border: 0.1rem solid darken($messageListBackgroundColor, 10%); + } + + code { + color: inherit; + font-weight: bold; + } +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Search form +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +#search-form { + margin-bottom: 1rem; +} + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Import other files +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +@import "responsive"; +@import "fontello"; +@import "fonts"; diff --git a/theme/admin/static/css/import/_variables.scss b/theme/admin/static/css/import/_variables.scss new file mode 100644 index 0000000..70a8424 --- /dev/null +++ b/theme/admin/static/css/import/_variables.scss @@ -0,0 +1,31 @@ +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Line height +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$lineHeight: 1.2rem; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Font families +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$fontFamily: "Ruda", "sans-serif"; +$fontFamilyTextarea: "Kadwa", "sans-serif"; +$fontFamilyMonospaced: "monospace"; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Text font sizes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$fontSize: 0.7rem; +$fontSizeSmall: $fontSize - 0.1rem; +$fontSizeLarge: $fontSize + 0.1rem; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Heading font sizes +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$fontSizeH1: 0.80rem; +$fontSizeH2: 0.70rem; +$fontSizeH3: 0.65rem; + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# Content widths +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ +$contentWidth: 50rem; +$contentWidthWide: 90rem; diff --git a/theme/admin/static/font/fontello.json b/theme/admin/static/font/fontello.json new file mode 100644 index 0000000..1af78d5 --- /dev/null +++ b/theme/admin/static/font/fontello.json @@ -0,0 +1,508 @@ +{ + "name": "", + "css_prefix_text": "fa-", + "css_use_suffix": false, + "hinting": true, + "units_per_em": 1000, + "ascent": 850, + "glyphs": [ + { + "uid": "7432077e6a2d6aa19984ca821bb6bbda", + "css": "bug", + "code": 61832, + "src": "fontawesome" + }, + { + "uid": "f2aa28a2548ed3d2be718d087b65ee21", + "css": "key", + "code": 61572, + "src": "fontawesome" + }, + { + "uid": "0ddd3e8201ccc7d41f7b7c9d27eca6c1", + "css": "link", + "code": 61633, + "src": "fontawesome" + }, + { + "uid": "02cca871bb69da75e8ee286b7055832c", + "css": "bold", + "code": 61490, + "src": "fontawesome" + }, + { + "uid": "7034e4d22866af82bef811f52fb1ba46", + "css": "code", + "code": 61729, + "src": "fontawesome" + }, + { + "uid": "8b80d36d4ef43889db10bc1f0dc9a862", + "css": "user", + "code": 61447, + "src": "fontawesome" + }, + { + "uid": "9755f76110ae4d12ac5f9466c9152031", + "css": "book", + "code": 61485, + "src": "fontawesome" + }, + { + "uid": "a8cb1c217f02b073db3670c061cc54d2", + "css": "italic", + "code": 61491, + "src": "fontawesome" + }, + { + "uid": "0c708edd8fae2376b3370aa56d40cf9e", + "css": "header", + "code": 61916, + "src": "fontawesome" + }, + { + "uid": "f48ae54adfb27d8ada53d0fd9e34ee10", + "css": "trash-o", + "code": 61460, + "src": "fontawesome" + }, + { + "uid": "3a00327e61b997b58518bd43ed83c3df", + "css": "sign-in", + "code": 61584, + "src": "fontawesome" + }, + { + "uid": "598a5f2bcf3521d1615de8e1881ccd17", + "css": "clock-o", + "code": 61463, + "src": "fontawesome" + }, + { + "uid": "a2a74f5e7b7d9ba054897d8c795a326a", + "css": "list-ul", + "code": 61642, + "src": "fontawesome" + }, + { + "uid": "f6766a8b042c2453a4e153af03294383", + "css": "list-ol", + "code": 61643, + "src": "fontawesome" + }, + { + "uid": "347c38a8b96a509270fdcabc951e7571", + "css": "database", + "code": 61888, + "src": "fontawesome" + }, + { + "uid": "4fc9b8c122d1b5ca3df42a104a655e8b", + "css": "language", + "code": 61867, + "src": "fontawesome" + }, + { + "uid": "0d20938846444af8deb1920dc85a29fb", + "css": "sign-out", + "code": 61579, + "src": "fontawesome" + }, + { + "uid": "0bda4bc779d4c32623dec2e43bd67ee8", + "css": "dashboard", + "code": 61668, + "src": "fontawesome" + }, + { + "uid": "381da2c2f7fd51f8de877c044d7f439d", + "css": "picture-o", + "code": 61502, + "src": "fontawesome" + }, + { + "uid": "bf882b30900da12fca090d9796bc3030", + "css": "envelope-o", + "code": 61443, + "src": "fontawesome" + }, + { + "uid": "555ef8c86832e686fef85f7af2eb7cde", + "css": "arrow-left", + "code": 61536, + "src": "fontawesome" + }, + { + "uid": "d745d7c05b94e609decabade2cae12cb", + "css": "quote-right", + "code": 61710, + "src": "fontawesome" + }, + { + "uid": "f9c8ea86275ca16128235c6452b67b8e", + "css": "user-secret", + "code": 61979, + "src": "fontawesome" + }, + { + "uid": "5408be43f7c42bccee419c6be53fdef5", + "css": "file-text-o", + "code": 61686, + "src": "fontawesome" + }, + { + "uid": "032bd8bbd70adf90ead98b6813bfe446", + "css": "newspaper-o", + "code": 61930, + "src": "fontawesome" + }, + { + "uid": "ad6b3fbb5324abe71a9c0b6609cbb9f1", + "css": "arrow-right", + "code": 61537, + "src": "fontawesome" + }, + { + "uid": "e15f0d620a7897e2035c18c80142f6d9", + "css": "external-link", + "code": 61582, + "src": "fontawesome" + }, + { + "uid": "0ece9a12de796b8411f868d582bee678", + "css": "github-square", + "code": 61586, + "src": "fontawesome" + }, + { + "uid": "41087bc74d4b20b55059c60a33bf4008", + "css": "pencil-square-o", + "code": 61508, + "src": "fontawesome" + }, + { + "uid": "c76b7947c957c9b78b11741173c8349b", + "css": "exclamation-triangle", + "code": 61553, + "src": "fontawesome" + }, + { + "uid": "9dd9e835aebe1060ba7190ad2b2ed951", + "css": "search", + "code": 61442, + "src": "fontawesome" + }, + { + "uid": "474656633f79ea2f1dad59ff63f6bf07", + "css": "star", + "code": 59415, + "src": "fontawesome" + }, + { + "uid": "d17030afaecc1e1c22349b99f3c4992a", + "css": "star-empty", + "code": 59416, + "src": "fontawesome" + }, + { + "uid": "31972e4e9d080eaa796290349ae6c1fd", + "css": "users", + "code": 59395, + "src": "fontawesome" + }, + { + "uid": "12f4ece88e46abd864e40b35e05b11cd", + "css": "ok", + "code": 59419, + "src": "fontawesome" + }, + { + "uid": "0d6ab6194c0eddda2b8c9cedf2ab248e", + "css": "attach", + "code": 59422, + "src": "fontawesome" + }, + { + "uid": "c5fd349cbd3d23e4ade333789c29c729", + "css": "eye", + "code": 59418, + "src": "fontawesome" + }, + { + "uid": "7fd683b2c518ceb9e5fa6757f2276faa", + "css": "eye-off", + "code": 59427, + "src": "fontawesome" + }, + { + "uid": "3db5347bd219f3bce6025780f5d9ef45", + "css": "tag", + "code": 59413, + "src": "fontawesome" + }, + { + "uid": "a3f89e106175a5c5c4e9738870b12e55", + "css": "tags", + "code": 59414, + "src": "fontawesome" + }, + { + "uid": "ab95e1351ebaec5850101097cbf7097f", + "css": "quote-left", + "code": 61709, + "src": "fontawesome" + }, + { + "uid": "d35a1d35efeb784d1dc9ac18b9b6c2b6", + "css": "pencil", + "code": 59392, + "src": "fontawesome" + }, + { + "uid": "ecb97add13804c190456025e43ec003b", + "css": "keyboard", + "code": 61724, + "src": "fontawesome" + }, + { + "uid": "85528017f1e6053b2253785c31047f44", + "css": "comment", + "code": 59393, + "src": "fontawesome" + }, + { + "uid": "dcedf50ab1ede3283d7a6c70e2fe32f3", + "css": "chat", + "code": 59394, + "src": "fontawesome" + }, + { + "uid": "31951fbb9820ed0690f675b3d495c8da", + "css": "chat-empty", + "code": 61670, + "src": "fontawesome" + }, + { + "uid": "9c1376672bb4f1ed616fdd78a23667e9", + "css": "comment-empty", + "code": 61669, + "src": "fontawesome" + }, + { + "uid": "00391fac5d419345ffcccd95b6f76263", + "css": "attention-alt", + "code": 61738, + "src": "fontawesome" + }, + { + "uid": "c95735c17a10af81448c7fed98a04546", + "css": "folder-open", + "code": 59428, + "src": "fontawesome" + }, + { + "uid": "559647a6f430b3aeadbecd67194451dd", + "css": "menu", + "code": 61641, + "src": "fontawesome" + }, + { + "uid": "e99461abfef3923546da8d745372c995", + "css": "cog", + "code": 59423, + "src": "fontawesome" + }, + { + "uid": "5bb103cd29de77e0e06a52638527b575", + "css": "wrench", + "code": 59429, + "src": "fontawesome" + }, + { + "uid": "1c4068ed75209e21af36017df8871802", + "css": "arrow-down", + "code": 59406, + "src": "fontawesome" + }, + { + "uid": "95376bf082bfec6ce06ea1cda7bd7ead", + "css": "arrow-up", + "code": 59409, + "src": "fontawesome" + }, + { + "uid": "a73c5deb486c8d66249811642e5d719a", + "css": "arrows-cw", + "code": 59411, + "src": "fontawesome" + }, + { + "uid": "aa035df0908c4665c269b7b09a5596f3", + "css": "sun", + "code": 61829, + "src": "fontawesome" + }, + { + "uid": "567e3e257f2cc8fba2c12bf691c9f2d8", + "css": "moon", + "code": 61830, + "src": "fontawesome" + }, + { + "uid": "2a4e6c99b732a57da40e32fa2a7800a4", + "css": "toggle-off", + "code": 61956, + "src": "fontawesome" + }, + { + "uid": "3256ef03b16e7ab51235bc7378b53bb5", + "css": "toggle-on", + "code": 61957, + "src": "fontawesome" + }, + { + "uid": "dd6c6b221a1088ff8a9b9cd32d0b3dd5", + "css": "check", + "code": 59425, + "src": "fontawesome" + }, + { + "uid": "4b900d04e8ab8c82f080c1cfbac5772c", + "css": "uncheck", + "code": 61590, + "src": "fontawesome" + }, + { + "uid": "f4445feb55521283572ee88bc304f928", + "css": "floppy", + "code": 59426, + "src": "fontawesome" + }, + { + "uid": "0cd2582b8c93719d066ee0affd02ac78", + "css": "sort-up", + "code": 61792, + "src": "fontawesome" + }, + { + "uid": "27b13eff5eb0ca15e01a6e65ffe6eeec", + "css": "sort-down", + "code": 61793, + "src": "fontawesome" + }, + { + "uid": "3ed68ae14e9cde775121954242a412b2", + "css": "sort-name-up", + "code": 61789, + "src": "fontawesome" + }, + { + "uid": "6586267200a42008a9fc0a1bf7ac06c7", + "css": "sort-name-down", + "code": 61790, + "src": "fontawesome" + }, + { + "uid": "3a7b6876c1817ce3b801b86c04a9d0af", + "css": "sort-number-up", + "code": 61794, + "src": "fontawesome" + }, + { + "uid": "b04fc30546f597a7e0a14715e6fc81ff", + "css": "sort-number-down", + "code": 61795, + "src": "fontawesome" + }, + { + "uid": "d59ff824282fc6edaeca991deab522aa", + "css": "server", + "code": 62003, + "src": "fontawesome" + }, + { + "uid": "33194d4a025fbf12baca54579afe4c8e", + "css": "at", + "code": 61946, + "src": "fontawesome" + }, + { + "uid": "53c28626072159c49f33b71d67138ad9", + "css": "commenting", + "code": 62074, + "src": "fontawesome" + }, + { + "uid": "9cc990bbcac7aa8504078b3f49df79b1", + "css": "commenting-o", + "code": 62075, + "src": "fontawesome" + }, + { + "uid": "3fce1eca43f917c8f23e532749abae5d", + "css": "user-circle-o", + "code": 62142, + "src": "fontawesome" + }, + { + "uid": "5211af474d3a9848f67f945e2ccaf143", + "css": "cancel", + "code": 59396, + "src": "fontawesome" + }, + { + "uid": "44e04715aecbca7f266a17d5a7863c68", + "css": "plus", + "code": 59397, + "src": "fontawesome" + }, + { + "uid": "e82cedfa1d5f15b00c5a81c9bd731ea2", + "css": "info-circled", + "code": 59420, + "src": "fontawesome" + }, + { + "uid": "d7271d490b71df4311e32cdacae8b331", + "css": "home", + "code": 59421, + "src": "fontawesome" + }, + { + "uid": "04ff8d6592fe548b332b27ed87ce397a", + "css": "box", + "code": 61831, + "src": "fontawesome" + }, + { + "uid": "e80ae555c1413a4ec18b33fb348b4049", + "css": "file-archive", + "code": 61894, + "src": "fontawesome" + }, + { + "uid": "d862a10e1448589215be19702f98f2c1", + "css": "smile", + "code": 61720, + "src": "fontawesome" + }, + { + "uid": "06ddc67d609c477cd5524a7238d7850d", + "css": "frown", + "code": 61721, + "src": "fontawesome" + }, + { + "uid": "2c5055a9c9723725f49f0593a08535af", + "css": "meh", + "code": 61722, + "src": "fontawesome" + }, + { + "uid": "48b87105bd38c20315f1b705b8c7b38c", + "css": "list", + "code": 59403, + "src": "fontawesome" + } + ] +} diff --git a/theme/admin/static/font/fontello.woff2 b/theme/admin/static/font/fontello.woff2 new file mode 100644 index 0000000..c62227f Binary files /dev/null and b/theme/admin/static/font/fontello.woff2 differ diff --git a/theme/admin/static/font/kadwa-n-400.woff2 b/theme/admin/static/font/kadwa-n-400.woff2 new file mode 100644 index 0000000..1566426 Binary files /dev/null and b/theme/admin/static/font/kadwa-n-400.woff2 differ diff --git a/theme/admin/static/font/ruda-n-400.woff2 b/theme/admin/static/font/ruda-n-400.woff2 new file mode 100644 index 0000000..6435a0d Binary files /dev/null and b/theme/admin/static/font/ruda-n-400.woff2 differ diff --git a/theme/admin/static/font/ruda-n-700.woff2 b/theme/admin/static/font/ruda-n-700.woff2 new file mode 100644 index 0000000..0066431 Binary files /dev/null and b/theme/admin/static/font/ruda-n-700.woff2 differ diff --git a/theme/admin/static/icon-public-domain.svg b/theme/admin/static/icon-public-domain.svg new file mode 100644 index 0000000..88f7227 --- /dev/null +++ b/theme/admin/static/icon-public-domain.svg @@ -0,0 +1 @@ + diff --git a/theme/admin/static/img/noise-bright.png b/theme/admin/static/img/noise-bright.png new file mode 100644 index 0000000..a9356b3 Binary files /dev/null and b/theme/admin/static/img/noise-bright.png differ diff --git a/theme/admin/static/img/noise-dark.png b/theme/admin/static/img/noise-dark.png new file mode 100644 index 0000000..f0ddc0d Binary files /dev/null and b/theme/admin/static/img/noise-dark.png differ diff --git a/theme/admin/static/main.js b/theme/admin/static/main.js new file mode 100644 index 0000000..94fc591 --- /dev/null +++ b/theme/admin/static/main.js @@ -0,0 +1,191 @@ +//============================================================================== +// Elements which contains the location of the previous and next site +//============================================================================== +const prev = document.getElementById("prev-site"); +const next = document.getElementById("next-site"); + +//============================================================================== +// Handle arrow keys and change the location to the desired direction +//============================================================================== +document.addEventListener("keyup", function(e) { + if(!e.ctrlKey && !e.shiftKey && !e.altKey) { + (e.keyCode === 37 && prev) && (window.location.href = prev.getAttribute("href")); + (e.keyCode === 39 && next) && (window.location.href = next.getAttribute("href")); + } +}, false); + +//============================================================================== +// Markdown tags to replace +//============================================================================== +const markdownTags = { + "bold": ["**", "**"], + "italic": ["*", "*"], + "heading": ["## ", "\n"], + "link": ["[", "](href)"], + "image": ["![", "](href)"], + "code": ["\n~~~\n", "\n~~~\n"], + "quote": ["\n> ", ""], + "list_ul": ["* ", ""], + "list_ol": ["1. ", ""] +}; + +//============================================================================== +// Timeout function for delayed execution of code +//============================================================================== +function delayed(callback) { + window.setTimeout(callback, 20); +} + +//============================================================================== +// Set caret position in editor +//============================================================================== +function setCaretPosition(position) { + document.getElementById("content-editor").setSelectionRange(position, position); + document.getElementById("content-editor").focus(); +} + +//============================================================================== +// Insert emoticon after cursor in editor +//============================================================================== +function insertEmoticon(target, emoticon) { + const selectionStart = target.selectionStart; + const selectionEnd = target.selectionEnd; + + const content = target.value; + target.value = content.slice(0, selectionStart) + emoticon + content.slice(selectionEnd); + + delayed(function() { + setCaretPosition(selectionStart + emoticon.length); + }); +} + +//============================================================================== +// Insert markdown around text in editor +//============================================================================== +function insertMarkdown(target, markdown) { + const selectionStart = target.selectionStart; + const selectionEnd = target.selectionEnd; + + const selectedText = target.value.substring(selectionStart, selectionEnd); + + const content = target.value; + target.value = content.slice(0, selectionStart) + markdownTags[markdown][0] + selectedText + markdownTags[markdown][1] + content.slice(selectionEnd); + + delayed(function() { + setCaretPosition(selectionStart + markdownTags[markdown][0].length + selectedText.length + markdownTags[markdown][1].length); + }); +} + +//============================================================================== +// Keep server-side session active if the user is writing a long text +//============================================================================== +setInterval(function() { + const Request = new XMLHttpRequest(); + Request.open("HEAD", "", true); + Request.send(); +}, 300000); + +//============================================================================== +// Confirmation message for delete button +//============================================================================== +if(document.getElementById("delete-button")) { + document.getElementById("delete-button").onclick = function(e) { + return confirm(e.target.getAttribute("data-text")); + }; +} + +//============================================================================== +// Insert or remove tab indent in editor if [+] is pressed +//============================================================================== +(function() { + if(document.getElementById("content-editor")) { + const element = document.getElementById("content-editor"); + element.addEventListener("keydown", function(e) { + if(e.keyCode === 9 && !e.ctrlKey) { + const selectionStart = element.selectionStart; + const selectionEnd = element.selectionEnd; + + const content = element.value; + + if(e.shiftKey) { + if(content.substring(selectionStart, selectionStart -1) === "\t") { + element.value = content.substring(0, selectionStart - 1) + content.substring(selectionEnd); + setCaretPosition(selectionStart - 1); + } + } + + else { + element.value = content.substring(0, selectionStart) + "\t" + content.substring(selectionEnd); + setCaretPosition(selectionStart + 1); + } + + e.preventDefault(); + } + }, false); + } +})(); + +//============================================================================== +// Emoticon button list +//============================================================================== +(function() { + if(document.getElementById("emoticon-list")) { + const list = document.getElementById("emoticon-list"); + const node = document.getElementById("content-editor"); + const items = list.getElementsByTagName("li"); + + for(let i = 0; i < items.length; ++i) { + items[i].onmousedown = function(e) { + insertEmoticon(node, e.target.getAttribute("data-emoticon")); + }; + } + } +})(); + +//============================================================================== +// Markdown button list +//============================================================================== +(function() { + if(document.getElementById("markdown-list")) { + const list = document.getElementById("markdown-list"); + const node = document.getElementById("content-editor"); + const items = list.getElementsByTagName("li"); + + for(let i = 0; i < items.length; ++i) { + items[i].onmousedown = function(e) { + insertMarkdown(node, e.target.getAttribute("data-markdown")); + }; + } + } +})(); + +//============================================================================== +// Detect unsaved changes in content editor +//============================================================================== +(function() { + if(document.getElementById("content-editor")) { + const editor = document.getElementById("content-editor"); + const initialValue = editor.value; + + function showConfirmationPrompt(e) { + if(editor.value !== initialValue) { + e.returnValue = ''; + e.preventDefault(); + } + } + + window.addEventListener('beforeunload', showConfirmationPrompt); + + const buttons = []; + buttons.push(document.getElementById('insert-button')); + buttons.push(document.getElementById('update-button')); + + for(let i = 0; i < buttons.length; ++i) { + if(buttons[i] !== null) { + buttons[i].addEventListener('click', function() { + window.removeEventListener('beforeunload', showConfirmationPrompt); + }); + } + } + } +})(); diff --git a/theme/default/html/feed/main.php b/theme/default/html/feed/main.php index bdd0a48..9f8e0b9 100644 --- a/theme/default/html/feed/main.php +++ b/theme/default/html/feed/main.php @@ -23,7 +23,7 @@ $self = Application::getURL('feed/'); <?=$title?> - + diff --git a/theme/default/html/main.php b/theme/default/html/main.php index f226ff1..223464c 100644 --- a/theme/default/html/main.php +++ b/theme/default/html/main.php @@ -32,7 +32,7 @@ $BLOGMETA_DESC = escapeHTML($BLOGMETA['DESC']); - + @@ -40,11 +40,11 @@ $BLOGMETA_DESC = escapeHTML($BLOGMETA['DESC']); - - + + - + <?="{$HEAD_NAME} | {$BLOGMETA_NAME} {$BLOGMETA_DESC}"?> @@ -53,7 +53,7 @@ $BLOGMETA_DESC = escapeHTML($BLOGMETA['DESC']);