From cc745d04f26a4cc83ef569c4ca0fd82f114ef12e Mon Sep 17 00:00:00 2001 From: Matt Ickstadt Date: Wed, 25 Jul 2018 15:28:12 -0500 Subject: [PATCH] Merge css files --- src/theme/css/book.css | 11 - src/theme/css/chrome.css | 411 +++++++++++++++++++++++++++++++++ src/theme/css/general.css | 91 +++++++- src/theme/css/menu.css | 53 ----- src/theme/css/nav-icons.css | 53 ----- src/theme/css/page.css | 37 --- src/theme/css/print.css | 106 +++++---- src/theme/css/searchbar.css | 63 ----- src/theme/css/sidebar.css | 53 ----- src/theme/css/theme-popup.css | 25 -- src/theme/css/themes/ayu.css | 39 ---- src/theme/css/themes/base.css | 233 ------------------- src/theme/css/themes/coal.css | 39 ---- src/theme/css/themes/light.css | 39 ---- src/theme/css/themes/navy.css | 40 ---- src/theme/css/themes/rust.css | 40 ---- src/theme/css/tooltip.css | 18 -- src/theme/css/variables.css | 204 ++++++++++++++++ 18 files changed, 750 insertions(+), 805 deletions(-) delete mode 100644 src/theme/css/book.css create mode 100644 src/theme/css/chrome.css delete mode 100644 src/theme/css/menu.css delete mode 100644 src/theme/css/nav-icons.css delete mode 100644 src/theme/css/page.css delete mode 100644 src/theme/css/searchbar.css delete mode 100644 src/theme/css/sidebar.css delete mode 100644 src/theme/css/theme-popup.css delete mode 100644 src/theme/css/themes/ayu.css delete mode 100644 src/theme/css/themes/base.css delete mode 100644 src/theme/css/themes/coal.css delete mode 100644 src/theme/css/themes/light.css delete mode 100644 src/theme/css/themes/navy.css delete mode 100644 src/theme/css/themes/rust.css delete mode 100644 src/theme/css/tooltip.css diff --git a/src/theme/css/book.css b/src/theme/css/book.css deleted file mode 100644 index f077bb4f..00000000 --- a/src/theme/css/book.css +++ /dev/null @@ -1,11 +0,0 @@ - -@import "general.css"; -@import "sidebar.css"; -@import "page.css"; -@import "menu.css"; -@import "nav-icons.css"; -@import "theme-popup.css"; -@import "themes/base.css"; -@import "print.css"; -@import "tooltip.css"; -@import "searchbar.css"; diff --git a/src/theme/css/chrome.css b/src/theme/css/chrome.css new file mode 100644 index 00000000..5c236284 --- /dev/null +++ b/src/theme/css/chrome.css @@ -0,0 +1,411 @@ +/* CSS for UI elements (a.k.a. chrome) */ + +@import 'variables.css'; + +::-webkit-scrollbar { + background: var(--bg); +} +::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +#searchresults a, +.content a:link, +a:visited, +a > .hljs { + color: var(--links); +} + +/* Menu Bar */ + +#menu-bar { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 101; + margin: auto (- var(--page-padding)); +} +#menu-bar > #menu-bar-sticky-container { + display: flex; + flex-wrap: wrap; + background-color: var(--bg); + border-bottom-color: var(--bg); + border-bottom-width: 1px; + border-bottom-style: solid; +} +.js #menu-bar > #menu-bar-sticky-container { + transition: transform 0.3s; +} +.menu-bar.bordered > #menu-bar-sticky-container { + border-bottom-color: var(--table-border-color); +} +#menu-bar i, #menu-bar .icon-button { + position: relative; + margin: 0 8px; + z-index: 10; + line-height: 50px; + cursor: pointer; + transition: color 0.5s; +} +@media only screen and (max-width: var(--narrow-device-max-width)) { + #menu-bar i, #menu-bar .icon-button { + margin: 0 5px; + } +} + +.icon-button { + border: none; + background: none; + padding: 0; + color: inherit; +} +.icon-button i { + margin: 0; +} + +#print-button { + margin: 0 15px; +} + +html:not(.sidebar-visible) #menu-bar:not(:hover).folded > #menu-bar-sticky-container { + transform: translateY(-60px); +} + +.left-buttons { margin: 0 5px; } +.no-js .left-buttons { display: none; } + +.menu-title { + display: inline-block; + font-weight: 200; + font-size: 20px; + line-height: 50px; + text-align: center; + margin: 0; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.js .menu-title { + cursor: pointer; +} + +.menu-bar, +.menu-bar:visited, +.nav-chapters, +.nav-chapters:visited, +.mobile-nav-chapters, +.mobile-nav-chapters:visited, +.menu-bar .icon-button, +.menu-bar a i { + color: var(--icons); +} + +.menu-bar i:hover, +.menu-bar .icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters i:hover { + color: var(--icons-hover); +} + +/* Nav Icons */ + +.nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + + position: fixed; + top: 50px; /* Height of menu-bar */ + bottom: 0; + margin: 0; + max-width: 150px; + min-width: 90px; + + display: flex; + justify-content: center; + align-content: center; + flex-direction: column; + + transition: color 0.5s; +} + +.nav-chapters:hover { text-decoration: none; } + +.nav-wrapper { + margin-top: 50px; + display: none; +} + +.mobile-nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + width: 90px; + border-radius: 5px; + background-color: var(--sidebar-bg); +} + +.previous { + float: left; +} + +.next { + float: right; + right: var(--page-padding); +} + +@media only screen and (max-width: var(--page-plus-sidebar-width)) { + .nav-wide-wrapper { display: none; } + .nav-wrapper { display: block; } +} + +@media only screen and (max-width: var(--page-plus-sidebar-width) + var(--sidebar-width)) { + .sidebar-visible .nav-wide-wrapper { display: none; } + .sidebar-visible .nav-wrapper { display: block; } +} + +/* Inline code */ + +:not(pre) > .hljs { + display: inline-block; + vertical-align: middle; + padding: 0.1em 0.3em; + border-radius: 3px; + color: var(--inline-code-color); +} + +a:hover > .hljs { + text-decoration: underline; +} + +pre { + position: relative; +} +pre > .buttons { + position: absolute; + z-index: 100; + right: 5px; + top: 5px; + + color: var(--sidebar-fg); + cursor: pointer; +} +pre > .buttons :hover { + color: var(--sidebar-active); +} +pre > .buttons i { + margin-left: 8px; +} +pre > .buttons button { + color: inherit; + background: transparent; + border: none; + cursor: inherit; +} +pre > .result { + margin-top: 10px; +} + +/* Search */ + +#searchresults a { + text-decoration: none; +} + +mark { + border-radius: 2px; + padding: 0 3px 1px 3px; + margin: 0 -3px -1px -3px; + background-color: var(--search-mark-bg); + transition: background-color 300ms linear; + cursor: pointer; +} + +mark.fade-out { + background-color: rgba(0,0,0,0) !important; + cursor: auto; +} + +.searchbar-outer { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); +} + +#searchbar { + width: 100%; + margin: 5px auto 0px auto; + padding: 10px 16px; + transition: box-shadow 300ms ease-in-out; + border: 1px solid var(--searchbar-border-color); + border-radius: 3px; + background-color: var(--searchbar-bg); + color: var(--searchbar-fg); +} +#searchbar:focus, +#searchbar.active { + box-shadow: 0 0 3px var(--searchbar-shadow-color); +} + +.searchresults-header { + font-weight: bold; + font-size: 1em; + padding: 18px 0 0 5px; + color: var(--searchresults-header-fg); +} + +.searchresults-outer { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); + border-bottom: 1px dashed var(--searchresults-border-color); +} + +ul#searchresults { + list-style: none; + padding-left: 20px; +} +ul#searchresults li { + margin: 10px 0px; + padding: 2px; + border-radius: 2px; +} +ul#searchresults li.focus { + background-color: var(--searchresults-li-bg); +} +ul#searchresults span.teaser { + display: block; + clear: both; + margin: 5px 0 0 20px; + font-size: 0.8em; +} +ul#searchresults span.teaser em { + font-weight: bold; + font-style: normal; +} + +/* Sidebar */ + +.sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + width: var(--sidebar-width); + overflow-y: auto; + padding: 10px 10px; + font-size: 0.875em; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + overscroll-behavior-y: contain; + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} +.js .sidebar { + transition: transform 0.3s; /* Animation: slide away */ +} +.sidebar code { + line-height: 2em; +} +.sidebar-hidden .sidebar { + transform: translateX(- var(--sidebar-width)); +} +.sidebar::-webkit-scrollbar { + background: var(--sidebar-bg); +} +.sidebar::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +.sidebar-visible .page-wrapper { + transform: translateX(var(--sidebar-width)); +} +@media only screen and (min-width: var(--sidebar-reflow-width)) { + .sidebar-visible .page-wrapper { + transform: none; + margin-left: var(--sidebar-width); + } +} + +.chapter { + list-style: none outside none; + padding-left: 0; + line-height: 2.2em; +} +.chapter li { + color: var(--sidebar-non-existant); +} +.chapter li a { + color: var(--sidebar-fg); + display: block; + padding: 0; + text-decoration: none; +} +.chapter li a:hover { text-decoration: none } +.chapter li .active, +a:hover { + /* Animate color change */ + color: var(--sidebar-active); +} + +.spacer { + width: 100%; + height: 3px; + margin: 5px 0px; +} +.chapter .spacer { + background-color: var(--sidebar-spacer); +} + +@media (-moz-touch-enabled: 1), (pointer: coarse) { + .chapter li a { padding: 5px 0; } + .spacer { margin: 10px 0; } +} + +.section { + list-style: none outside none; + padding-left: 20px; + line-height: 1.9em; +} + +/* Theme Menu Popup */ + +.theme-popup { + position: absolute; + left: 10px; + z-index: 1000; + border-radius: 4px; + font-size: 0.7em; + color: var(--fg); + background: var(--theme-popup-bg); + border: 1px solid var(--theme-popup-border); + margin: 0; + padding: 0; + list-style: none; + display: none; +} +.theme-popup .default { + color: var(--icons); +} +.theme-popup .theme { + display: inline; + border: 0; + margin: 0; + padding: 2px 10px; + line-height: 25px; + white-space: nowrap; + text-align: left; + cursor: pointer; + color: inherit; + background: inherit; + font-size: inherit; +} +.theme-popup .theme:hover { + background-color: var(--theme-hover); +} +.theme-popup .theme:hover:first-child, +.theme-popup .theme:hover:last-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} diff --git a/src/theme/css/general.css b/src/theme/css/general.css index 602288a4..aedfb332 100644 --- a/src/theme/css/general.css +++ b/src/theme/css/general.css @@ -1,6 +1,11 @@ +/* Base styles and content styles */ + +@import 'variables.css'; + html { font-family: "Open Sans", sans-serif; - color: #333; + color: var(--fg); + background-color: var(--bg); text-size-adjust: none; } @@ -16,11 +21,8 @@ code { } .left { float: left; } - .right { float: right; } - .hidden { display: none; } - .play-button.hidden { display: none; } h2, h3 { margin-top: 2.5em; } @@ -42,28 +44,101 @@ a.header:target h4:before { width: 30px; } +.page { + outline: 0; + padding: 0 var(--page-padding); +} +.page-wrapper { + box-sizing: border-box; +} +.js .page-wrapper { + transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} + +.content { + overflow-y: auto; + padding: 0 15px; + padding-bottom: 50px; +} +.content main { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); +} +.content a { text-decoration: none; } +.content a:hover { text-decoration: underline; } +.content img { max-width: 100%; } +.content .header:link, +.content .header:visited { + color: var(--fg); +} +.content .header:link, +.content .header:visited:hover { + text-decoration: none; +} + table { margin: 0 auto; border-collapse: collapse; } table td { padding: 3px 20px; - border: 1px solid; + border: 1px var(--table-border-color) solid; +} +table thead { + background: var(--table-header-bg); } table thead td { - font-weight: 700; + font-weight: 700; + border: none; } +table thead tr { + border: 1px var(--table-header-bg) solid; +} +/* Alternate background colors for rows */ +table tbody tr:nth-child(2n) { + background: var(--table-alternate-bg); +} + + +blockquote { + margin: 20px 0; + padding: 0 20px; + color: var(--fg); + background-color: var(--quote-bg); + border-top: .1em solid var(--quote-border); + border-bottom: .1em solid var(--quote-border); +} + :not(.footnote-definition) + .footnote-definition, .footnote-definition + :not(.footnote-definition) { margin-top: 2em; } - .footnote-definition { font-size: 0.9em; margin: 0.5em 0; } - .footnote-definition p { display: inline; } + +.tooltiptext { + position: absolute; + visibility: hidden; + color: #fff; + background-color: #333; + transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ + left: -8px; /* Half of the width of the icon */ + top: -35px; + font-size: 0.8em; + text-align: center; + border-radius: 6px; + padding: 5px 8px; + margin: 5px; + z-index: 1000; +} +.tooltipped .tooltiptext { + visibility: visible; +} + \ No newline at end of file diff --git a/src/theme/css/menu.css b/src/theme/css/menu.css deleted file mode 100644 index 50872e2b..00000000 --- a/src/theme/css/menu.css +++ /dev/null @@ -1,53 +0,0 @@ -#menu-bar { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 101; -} -#menu-bar > #menu-bar-sticky-container { - display: flex; - flex-wrap: wrap; -} -.js #menu-bar > #menu-bar-sticky-container { - transition: transform 0.3s; -} -#menu-bar i, #menu-bar .icon-button { - position: relative; - margin: 0 8px; - z-index: 10; - line-height: 50px; - cursor: pointer; - transition: color 0.5s; -} -@media only screen and (max-width: var(--narrow-device-max-width)) { - #menu-bar i, #menu-bar .icon-button { - margin: 0 5px; - } -} - -#print-button { - margin: 0 15px; -} - -html:not(.sidebar-visible) #menu-bar:not(:hover).folded > #menu-bar-sticky-container { - transform: translateY(-60px); -} - -.left-buttons { margin: 0 5px; } -.no-js .left-buttons { display: none; } - -.menu-title { - display: inline-block; - font-weight: 200; - font-size: 20px; - line-height: 50px; - text-align: center; - margin: 0; - flex: 1; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.js .menu-title { - cursor: pointer; -} diff --git a/src/theme/css/nav-icons.css b/src/theme/css/nav-icons.css deleted file mode 100644 index eb066f98..00000000 --- a/src/theme/css/nav-icons.css +++ /dev/null @@ -1,53 +0,0 @@ -.nav-chapters { - font-size: 2.5em; - text-align: center; - text-decoration: none; - - position: fixed; - top: 50px; /* Height of menu-bar */ - bottom: 0; - margin: 0; - max-width: 150px; - min-width: 90px; - - display: flex; - justify-content: center; - align-content: center; - flex-direction: column; - - transition: color 0.5s; -} - -.nav-chapters:hover { text-decoration: none; } - -.nav-wrapper { - margin-top: 50px; - display: none; -} - -.mobile-nav-chapters { - font-size: 2.5em; - text-align: center; - text-decoration: none; - width: 90px; - border-radius: 5px; -} - -.previous { - float: left; -} - -.next { - float: right; - right: var(--page-padding); -} - -@media only screen and (max-width: var(--page-plus-sidebar-width)) { - .nav-wide-wrapper { display: none; } - .nav-wrapper { display: block; } -} - -@media only screen and (max-width: var(--page-plus-sidebar-width) + var(--sidebar-width)) { - .sidebar-visible .nav-wide-wrapper { display: none; } - .sidebar-visible .nav-wrapper { display: block; } -} diff --git a/src/theme/css/page.css b/src/theme/css/page.css deleted file mode 100644 index b4e803ef..00000000 --- a/src/theme/css/page.css +++ /dev/null @@ -1,37 +0,0 @@ -@import 'variables.css'; - -.page-wrapper { - box-sizing: border-box; -} -.js .page-wrapper { - transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ -} - -.sidebar-visible .page-wrapper { - transform: translateX(var(--sidebar-width)); -} -@media only screen and (min-width: var(--sidebar-reflow-width)) { - .sidebar-visible .page-wrapper { - transform: none; - margin-left: var(--sidebar-width); - } -} - -.page { - outline: 0; - padding: 0 var(--page-padding); -} - -.content { - overflow-y: auto; - padding: 0 15px; - padding-bottom: 50px; -} -.content main { - margin-left: auto; - margin-right: auto; - max-width: var(--content-max-width); -} -.content a { text-decoration: none; } -.content a:hover { text-decoration: underline; } -.content img { max-width: 100%; } diff --git a/src/theme/css/print.css b/src/theme/css/print.css index a82a0859..5e690f75 100644 --- a/src/theme/css/print.css +++ b/src/theme/css/print.css @@ -1,56 +1,54 @@ -@media only print { - #sidebar, - #menu-bar, - .nav-chapters, - .mobile-nav-chapters { - display: none; - } - - #page-wrapper.page-wrapper { - transform: none; - margin-left: 0px; - overflow-y: initial; - } - - #content { - max-width: none; - margin: 0; - padding: 0; - } - - .page { - overflow-y: initial; - } - - code { - background-color: #666666; - border-radius: 5px; - - /* Force background to be printed in Chrome */ - -webkit-print-color-adjust: exact; - } - - pre > .buttons { - z-index: 2; - } - - a, a:visited, a:active, a:hover { - color: #4183c4; - text-decoration: none; - } - - h1, h2, h3, h4, h5, h6 { - page-break-inside: avoid; - page-break-after: avoid; - } - - pre, code { - page-break-inside: avoid; - white-space: pre-wrap; - } - - .fa { - display: none !important; - } +#sidebar, +#menu-bar, +.nav-chapters, +.mobile-nav-chapters { + display: none; +} + +#page-wrapper.page-wrapper { + transform: none; + margin-left: 0px; + overflow-y: initial; +} + +#content { + max-width: none; + margin: 0; + padding: 0; +} + +.page { + overflow-y: initial; +} + +code { + background-color: #666666; + border-radius: 5px; + + /* Force background to be printed in Chrome */ + -webkit-print-color-adjust: exact; +} + +pre > .buttons { + z-index: 2; +} + +a, a:visited, a:active, a:hover { + color: #4183c4; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; +} + +.fa { + display: none !important; } diff --git a/src/theme/css/searchbar.css b/src/theme/css/searchbar.css deleted file mode 100644 index c91fd921..00000000 --- a/src/theme/css/searchbar.css +++ /dev/null @@ -1,63 +0,0 @@ -@import 'variables.css'; - -#searchresults a { - text-decoration: none; -} - -mark { - border-radius: 2px; - padding: 0 3px 1px 3px; - margin: 0 -3px -1px -3px; - transition: background-color 300ms linear; - cursor: pointer; -} - -mark.fade-out { - background-color: rgba(0,0,0,0) !important; - cursor: auto; -} - -.searchbar-outer { - margin-left: auto; - margin-right: auto; - max-width: var(--content-max-width); -} - -#searchbar { - width: 100%; - margin: 5px auto 0px auto; - padding: 10px 16px; - transition: box-shadow 300ms ease-in-out; -} - -.searchresults-header { - font-weight: bold; - font-size: 1em; - padding: 18px 0 0 5px; -} - -.searchresults-outer { - margin-left: auto; - margin-right: auto; - max-width: var(--content-max-width); -} - -ul#searchresults { - list-style: none; - padding-left: 20px; -} -ul#searchresults li { - margin: 10px 0px; - padding: 2px; - border-radius: 2px; -} -ul#searchresults span.teaser { - display: block; - clear: both; - margin: 5px 0 0 20px; - font-size: 0.8em; -} -ul#searchresults span.teaser em { - font-weight: bold; - font-style: normal; -} diff --git a/src/theme/css/sidebar.css b/src/theme/css/sidebar.css deleted file mode 100644 index 99b4e29c..00000000 --- a/src/theme/css/sidebar.css +++ /dev/null @@ -1,53 +0,0 @@ -@import 'variables.css'; - -.sidebar { - position: fixed; - left: 0; - top: 0; - bottom: 0; - width: var(--sidebar-width); - overflow-y: auto; - padding: 10px 10px; - font-size: 0.875em; - box-sizing: border-box; - -webkit-overflow-scrolling: touch; - overscroll-behavior-y: contain; -} -.js .sidebar { - transition: transform 0.3s; /* Animation: slide away */ -} -.sidebar code { - line-height: 2em; -} -.sidebar-hidden .sidebar { - transform: translateX(- var(--sidebar-width)); -} - -.chapter { - list-style: none outside none; - padding-left: 0; - line-height: 2.2em; -} -.chapter li a { - display: block; - padding: 0; - text-decoration: none; -} -.chapter li a:hover { text-decoration: none } - -.spacer { - width: 100%; - height: 3px; - margin: 5px 0px; -} - -@media (-moz-touch-enabled: 1), (pointer: coarse) { - .chapter li a { padding: 5px 0; } - .spacer { margin: 10px 0; } -} - -.section { - list-style: none outside none; - padding-left: 20px; - line-height: 1.9em; -} diff --git a/src/theme/css/theme-popup.css b/src/theme/css/theme-popup.css deleted file mode 100644 index b5425681..00000000 --- a/src/theme/css/theme-popup.css +++ /dev/null @@ -1,25 +0,0 @@ -.theme-popup { - position: absolute; - left: 10px; - z-index: 1000; - border-radius: 4px; - font-size: 0.7em; -} -.theme-popup .theme { - display: inline; - border: 0; - margin: 0; - padding: 2px 10px; - line-height: 25px; - white-space: nowrap; - text-align: left; - cursor: pointer; - color: inherit; - background: inherit; - font-size: inherit; -} -.theme-popup .theme:hover:first-child, -.theme-popup .theme:hover:last-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; -} diff --git a/src/theme/css/themes/ayu.css b/src/theme/css/themes/ayu.css deleted file mode 100644 index fa88e229..00000000 --- a/src/theme/css/themes/ayu.css +++ /dev/null @@ -1,39 +0,0 @@ -.ayu { - --bg: #0f1419; - --fg: #c5c5c5; - - --sidebar-bg: #14191f; - --sidebar-fg: #c8c9db; - --sidebar-non-existant: #5c6773; - --sidebar-active: #ffb454; - --sidebar-spacer: #2d334f; - - --scrollbar: var(--sidebar-fg); - - --icons: #737480; - --icons-hover: #b7b9cc; - - --links: #0096cf; - - --inline-code-color: #ffb454; - - --theme-popup-bg: #14191f; - --theme-popup-border: #5c6773; - --theme-hover: #191f26; - - --quote-bg: #262933; - --quote-border: lighten(var(--quote-bg), 5%); - - --table-border-color: lighten(var(--bg), 5%); - --table-header-bg: lighten(var(--bg), 20%); - --table-alternate-bg: lighten(var(--bg), 3%); - - --searchbar-border-color: #848484; - --searchbar-bg: #424242; - --searchbar-fg: #fff; - --searchbar-shadow-color: #d4c89f; - --searchresults-header-fg: #666; - --searchresults-border-color: #888; - --searchresults-li-bg: #252932; - --search-mark-bg: #e3b171; -} diff --git a/src/theme/css/themes/base.css b/src/theme/css/themes/base.css deleted file mode 100644 index 338761f0..00000000 --- a/src/theme/css/themes/base.css +++ /dev/null @@ -1,233 +0,0 @@ - -@import "ayu.css"; -@import "coal.css"; -@import "light.css"; -@import "navy.css"; -@import "rust.css"; - -* { - color: var(--fg); - background-color: var(--bg); -} - -.content .header:link, -.content .header:visited { - color: var(--fg); -} - -.content .header:link, -.content .header:visited:hover { - text-decoration: none; -} - -.menu-bar { - margin: auto (- var(--page-padding)); -} - -.menu-bar > #menu-bar-sticky-container { - background-color: var(--bg); - border-bottom-color: var(--bg); - border-bottom-width: 1px; - border-bottom-style: solid; -} - -.menu-bar.bordered > #menu-bar-sticky-container { - border-bottom-color: var(--table-border-color); -} - -.sidebar { - background-color: var(--sidebar-bg); - color: var(--sidebar-fg); -} - -.sidebar::-webkit-scrollbar { - background: var(--sidebar-bg); -} - -.sidebar::-webkit-scrollbar-thumb { - background: var(--scrollbar); -} - -.chapter li { - color: var(--sidebar-non-existant); -} - -.chapter li a { - color: var(--sidebar-fg); -} - -.chapter li .active, -a:hover { - /* Animate color change */ - color: var(--sidebar-active); -} - -.chapter .spacer { - background-color: var(--sidebar-spacer); -} - -.menu-bar, -.menu-bar:visited, -.nav-chapters, -.nav-chapters:visited, -.mobile-nav-chapters, -.mobile-nav-chapters:visited, -.menu-bar .icon-button, -.menu-bar a i { - color: var(--icons); -} - -.menu-bar i:hover, -.menu-bar .icon-button:hover, -.nav-chapters:hover, -.mobile-nav-chapters i:hover { - color: var(--icons-hover); -} - -.mobile-nav-chapters i:hover { - color: var(--sidebar-fg); -} - -.mobile-nav-chapters { - background-color: var(--sidebar-bg); -} - -#searchresults a, -.content a:link, -a:visited, -a > .hljs { - color: var(--links); -} - -.theme-popup { - color: var(--fg); - background: var(--theme-popup-bg); - border: 1px solid var(--theme-popup-border); - margin: 0; - padding: 0; - list-style: none; - display: none; -} -.theme-popup .theme:hover { - background-color: var(--theme-hover); -} -.theme-popup .default { - color: var(--icons); -} - -blockquote { - margin: 20px 0; - padding: 0 20px; - color: var(--fg); - background-color: var(--quote-bg); - border-top: .1em solid var(--quote-border); - border-bottom: .1em solid var(--quote-border); -} - - -table td { - border-color: var(--table-border-color); -} - -/* Alternate background colors for rows */ -table tbody tr:nth-child(2n) { - background: var(--table-alternate-bg); -} -table thead { - background: var(--table-header-bg); -} -table thead td { - border: none; -} -table thead tr { - border: 1px var(--table-header-bg) solid; -} - - -/* Inline code */ -:not(pre) > .hljs { - display: inline-block; - vertical-align: middle; - padding: 0.1em 0.3em; - border-radius: 3px; - color: var(--inline-code-color); -} - -a:hover > .hljs { - text-decoration: underline; -} - -pre { - position: relative; -} -pre > .buttons { - position: absolute; - z-index: 100; - right: 5px; - top: 5px; - - color: var(--sidebar-fg); - cursor: pointer; -} -pre > .buttons :hover { - color: var(--sidebar-active); -} -pre > .buttons i { - margin-left: 8px; -} -pre > .buttons button { - color: inherit; - background: transparent; - border: none; - cursor: inherit; -} -pre > .result { - margin-top: 10px; -} - -.icon-button { - border: none; - background: none; - padding: 0; - color: inherit; -} -.icon-button i { - margin: 0; -} - -::-webkit-scrollbar { - background: var(--bg); -} - -::-webkit-scrollbar-thumb { - background: var(--scrollbar); -} - -/* Search */ -#searchbar { - border: 1px solid var(--searchbar-border-color); - border-radius: 3px; - background-color: var(--searchbar-bg); - color: var(--searchbar-fg); -} - -#searchbar:focus, -#searchbar.active { - box-shadow: 0 0 3px var(--searchbar-shadow-color); -} - -.searchresults-header { - color: var(--searchresults-header-fg); -} - -.searchresults-outer { - border-bottom: 1px dashed var(--searchresults-border-color); -} - -ul#searchresults li.focus { - background-color: var(--searchresults-li-bg); -} - -mark { - background-color: var(--search-mark-bg); -} \ No newline at end of file diff --git a/src/theme/css/themes/coal.css b/src/theme/css/themes/coal.css deleted file mode 100644 index f826a789..00000000 --- a/src/theme/css/themes/coal.css +++ /dev/null @@ -1,39 +0,0 @@ -.coal { - --bg: #141617; - --fg: #98a3ad; - - --sidebar-bg: #292c2f; - --sidebar-fg: #a1adb8; - --sidebar-non-existant: #505254; - --sidebar-active: #3473ad; - --sidebar-spacer: #393939; - - --scrollbar: var(--sidebar-fg); - - --icons: #43484d; - --icons-hover: #b3c0cc; - - --links: #2b79a2; - - --inline-code-color: #c5c8c6;; - - --theme-popup-bg: #141617; - --theme-popup-border: #43484d; - --theme-hover: #1f2124; - - --quote-bg: #242637; - --quote-border: lighten(var(--quote-bg), 5%); - - --table-border-color: lighten(var(--bg), 5%); - --table-header-bg: lighten(var(--bg), 20%); - --table-alternate-bg: lighten(var(--bg), 3%); - - --searchbar-border-color: #aaa; - --searchbar-bg: #b7b7b7; - --searchbar-fg: #000; - --searchbar-shadow-color: #aaa; - --searchresults-header-fg: #666; - --searchresults-border-color: #98a3ad; - --searchresults-li-bg: #2b2b2f; - --search-mark-bg: #355c7d; -} diff --git a/src/theme/css/themes/light.css b/src/theme/css/themes/light.css deleted file mode 100644 index 6eb257df..00000000 --- a/src/theme/css/themes/light.css +++ /dev/null @@ -1,39 +0,0 @@ -.light { - --bg: #ffffff; - --fg: #333333; - - --sidebar-bg: #fafafa; - --sidebar-fg: #364149; - --sidebar-non-existant: #aaaaaa; - --sidebar-active: #008cff; - --sidebar-spacer: #f4f4f4; - - --scrollbar: #cccccc; - - --icons: #cccccc; - --icons-hover: #333333; - - --links: #4183c4; - - --inline-code-color: #6e6b5e; - - --theme-popup-bg: #fafafa; - --theme-popup-border: #cccccc; - --theme-hover: #e6e6e6; - - --quote-bg: #f2f7f9; - --quote-border: darken(var(--quote-bg), 5%); - - --table-border-color: darken(var(--bg), 5%); - --table-header-bg: darken(var(--bg), 20%); - --table-alternate-bg: darken(var(--bg), 3%); - - --searchbar-border-color: #aaa; - --searchbar-bg: #fafafa; - --searchbar-fg: #000; - --searchbar-shadow-color: #aaa; - --searchresults-header-fg: #666; - --searchresults-border-color: #888; - --searchresults-li-bg: #e4f2fe; - --search-mark-bg: #a2cff5; -} diff --git a/src/theme/css/themes/navy.css b/src/theme/css/themes/navy.css deleted file mode 100644 index 7e6c165f..00000000 --- a/src/theme/css/themes/navy.css +++ /dev/null @@ -1,40 +0,0 @@ - -.navy { - --bg: #161923; - --fg: #bcbdd0; - - --sidebar-bg: #282d3f; - --sidebar-fg: #c8c9db; - --sidebar-non-existant: #505274; - --sidebar-active: #2b79a2; - --sidebar-spacer: #2d334f; - - --scrollbar: var(--sidebar-fg); - - --icons: #737480; - --icons-hover: #b7b9cc; - - --links: #2b79a2; - - --inline-code-color: #c5c8c6;; - - --theme-popup-bg: #161923; - --theme-popup-border: #737480; - --theme-hover: #282e40; - - --quote-bg: #262933; - --quote-border: lighten(var(--quote-bg), 5%); - - --table-border-color: lighten(var(--bg), 5%); - --table-header-bg: lighten(var(--bg), 20%); - --table-alternate-bg: lighten(var(--bg), 3%); - - --searchbar-border-color: #aaa; - --searchbar-bg: #aeaec6; - --searchbar-fg: #000; - --searchbar-shadow-color: #aaa; - --searchresults-header-fg: #5f5f71; - --searchresults-border-color: #5c5c68; - --searchresults-li-bg: #242430; - --search-mark-bg: #a2cff5; -} diff --git a/src/theme/css/themes/rust.css b/src/theme/css/themes/rust.css deleted file mode 100644 index adc801cd..00000000 --- a/src/theme/css/themes/rust.css +++ /dev/null @@ -1,40 +0,0 @@ - -.rust { - --bg: #e1e1db; - --fg: #262625; - - --sidebar-bg: #3b2e2a; - --sidebar-fg: #c8c9db; - --sidebar-non-existant: #505254; - --sidebar-active: #e69f67; - --sidebar-spacer: #45373a; - - --scrollbar: var(--sidebar-fg); - - --icons: #737480; - --icons-hover: #262625; - - --links: #2b79a2; - - --inline-code-color: #6e6b5e; - - --theme-popup-bg: #e1e1db; - --theme-popup-border: #b38f6b; - --theme-hover: #99908a; - - --quote-bg: #c1c1bb; - --quote-border: darken(var(--quote-bg), 5%); - - --table-border-color: darken(var(--bg), 5%); - --table-header-bg: #b3a497; - --table-alternate-bg: darken(var(--bg), 3%); - - --searchbar-border-color: #aaa; - --searchbar-bg: #fafafa; - --searchbar-fg: #000; - --searchbar-shadow-color: #aaa; - --searchresults-header-fg: #666; - --searchresults-border-color: #888; - --searchresults-li-bg: #dec2a2; - --search-mark-bg: #e69f67; -} diff --git a/src/theme/css/tooltip.css b/src/theme/css/tooltip.css deleted file mode 100644 index f8f89f98..00000000 --- a/src/theme/css/tooltip.css +++ /dev/null @@ -1,18 +0,0 @@ -.tooltiptext { - position: absolute; - visibility: hidden; - color: #fff; - background-color: #333; - transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ - left: -8px; /* Half of the width of the icon */ - top: -35px; - font-size: 0.8em; - text-align: center; - border-radius: 6px; - padding: 5px 8px; - margin: 5px; - z-index: 1000; -} -.tooltipped .tooltiptext { - visibility: visible; -} diff --git a/src/theme/css/variables.css b/src/theme/css/variables.css index 8089fad8..7e1c79a5 100644 --- a/src/theme/css/variables.css +++ b/src/theme/css/variables.css @@ -1,4 +1,6 @@ +/* Globals */ + :root { --sidebar-width: 300px; --page-padding: 15px; @@ -8,3 +10,205 @@ --sidebar-reflow-width: var(--sidebar-width) + var(--content-min-width); --narrow-device-max-width: 420px; } + +/* Themes */ + +.ayu { + --bg: #0f1419; + --fg: #c5c5c5; + + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #0096cf; + + --inline-code-color: #ffb454; + + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + + --quote-bg: #262933; + --quote-border: lighten(var(--quote-bg), 5%); + + --table-border-color: lighten(var(--bg), 5%); + --table-header-bg: lighten(var(--bg), 20%); + --table-alternate-bg: lighten(var(--bg), 3%); + + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; +} + +.coal { + --bg: #141617; + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6;; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: #242637; + --quote-border: lighten(var(--quote-bg), 5%); + + --table-border-color: lighten(var(--bg), 5%); + --table-header-bg: lighten(var(--bg), 20%); + --table-alternate-bg: lighten(var(--bg), 3%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; +} + +.light { + --bg: #ffffff; + --fg: #333333; + + --sidebar-bg: #fafafa; + --sidebar-fg: #364149; + --sidebar-non-existant: #aaaaaa; + --sidebar-active: #008cff; + --sidebar-spacer: #f4f4f4; + + --scrollbar: #cccccc; + + --icons: #cccccc; + --icons-hover: #333333; + + --links: #4183c4; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #fafafa; + --theme-popup-border: #cccccc; + --theme-hover: #e6e6e6; + + --quote-bg: #f2f7f9; + --quote-border: darken(var(--quote-bg), 5%); + + --table-border-color: darken(var(--bg), 5%); + --table-header-bg: darken(var(--bg), 20%); + --table-alternate-bg: darken(var(--bg), 3%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #e4f2fe; + --search-mark-bg: #a2cff5; +} + +.navy { + --bg: #161923; + --fg: #bcbdd0; + + --sidebar-bg: #282d3f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505274; + --sidebar-active: #2b79a2; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6;; + + --theme-popup-bg: #161923; + --theme-popup-border: #737480; + --theme-hover: #282e40; + + --quote-bg: #262933; + --quote-border: lighten(var(--quote-bg), 5%); + + --table-border-color: lighten(var(--bg), 5%); + --table-header-bg: lighten(var(--bg), 20%); + --table-alternate-bg: lighten(var(--bg), 3%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #aeaec6; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #5f5f71; + --searchresults-border-color: #5c5c68; + --searchresults-li-bg: #242430; + --search-mark-bg: #a2cff5; +} + +.rust { + --bg: #e1e1db; + --fg: #262625; + + --sidebar-bg: #3b2e2a; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505254; + --sidebar-active: #e69f67; + --sidebar-spacer: #45373a; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #262625; + + --links: #2b79a2; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #e1e1db; + --theme-popup-border: #b38f6b; + --theme-hover: #99908a; + + --quote-bg: #c1c1bb; + --quote-border: darken(var(--quote-bg), 5%); + + --table-border-color: darken(var(--bg), 5%); + --table-header-bg: #b3a497; + --table-alternate-bg: darken(var(--bg), 3%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #dec2a2; + --search-mark-bg: #e69f67; +}