summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorDavid Luevano Alvarado <david@luevano.xyz>2021-02-27 01:14:41 -0700
committerDavid Luevano Alvarado <david@luevano.xyz>2021-02-27 01:14:41 -0700
commit54180a1a177b9a11d8348c14a3446529b08daea7 (patch)
tree139b56c97c32bacbf7dd2765eb08dacd7322c544 /static
parent89724572c5250e2eb531754e33ac112896fa0226 (diff)
Tweak css and add switch for dark and light mode
Diffstat (limited to 'static')
-rw-r--r--static/css/dark.css101
-rw-r--r--static/css/general_style.css (renamed from static/css/style.css)103
-rw-r--r--static/css/light.css101
-rw-r--r--static/css/nordtheme.css183
-rw-r--r--static/scripts/gb.js2
-rw-r--r--static/scripts/theme.js53
6 files changed, 488 insertions, 55 deletions
diff --git a/static/css/dark.css b/static/css/dark.css
new file mode 100644
index 0000000..29af64b
--- /dev/null
+++ b/static/css/dark.css
@@ -0,0 +1,101 @@
+@import './nordtheme.css';
+
+:root {
+ --bg: var(--color3);
+ --body-bg: var(--color0);
+ --navitem-bg: var(--color1);
+ --navitem-bg-hl: var(--color2);
+
+ --fg: var(--color4);
+ --fg-hl: var(--color5);
+
+ --link: var(--color15);
+ --link-hl: var(--color10);
+ --navitem-link: var(--color8);
+ --navitem-link-hl: var(--color7);
+
+ --fg-acc1: var(--color11);
+ --fg-acc2: var(--color12);
+ --fg-acc3: var(--color13);
+ --fg-acc4: var(--color14);
+ --fg-acc5: var(--color15);
+
+ --switch-bg: var(--color1);
+ --switch-slider: var(--color4);
+ --switch-toggled-bg: var(--color10);
+ --switch-ol: var(--color4);
+}
+
+html {
+ background: var(--bg);
+}
+
+body {
+ background: var(--body-bg);
+ color: var(--fg);
+ border: 4px outset var(--fg);
+}
+
+a {
+ color: var(--link);
+}
+
+a:hover {
+ color: var(--link-hl);
+}
+
+h1 {
+ color: var(--fg-acc1);
+}
+
+h2 {
+ color: var(--fg-acc2);
+}
+
+h3 {
+ color: var(--fg-acc3);
+}
+
+/* switch */
+.slider {
+ background-color: var(--switch-bg);
+}
+
+.slider:before {
+ background-color: var(--switch-slider);
+}
+
+.switch input:checked + .slider {
+ background-color: var(--switch-toggled-bg);
+}
+
+.switch input:focus + .slider {
+ box-shadow: 0 0 0.1em var(--switch-ol);
+}
+
+/* menu bar (header) */
+.menubar li {
+ background: var(--navitem-bg);
+}
+
+.menubar a {
+ color: var(--navitem-link);
+}
+
+.menubar li:hover {
+ background: var(--navitem-bg-hl);
+ color: var(--fg-hl);
+}
+
+.menubar li:hover > a {
+ color: var(--navitem-link-hl);
+}
+
+/* image gallery (not really being used rn) */
+div.gallery {
+ border: 1px solid var(--fg-hl);
+}
+
+div.gallery:hover {
+ border: var(--fg-acc5);
+}
diff --git a/static/css/style.css b/static/css/general_style.css
index eff9d70..e49edb7 100644
--- a/static/css/style.css
+++ b/static/css/general_style.css
@@ -1,64 +1,75 @@
:root {
- /*Polar night*/
- --nord0: #2e3440;
- --nord1: #3b4252;
- --nord2: #434c5e;
- --nord3: #4c566a;
- /*Snow storm*/
- --nord4: #d8dee9;
- --nord5: #e5e9f0;
- --nord6: #eceff4;
- /*Frost*/
- --nord7: #8fbcbb;
- --nord8: #88c0d0;
- --nord9: #81a1c1;
- --nord10: #5e81ac;
- /*Aurora*/
- --nord11: #bf616a;
- --nord12: #d08770;
- --nord13: #ebcb8b;
- --nord14: #a3be8c;
- --nord15: #b48ead;
font-family: Verdana, Geneva, sans-serif;
font-size: larger;
}
-html {
- background: var(--nord3);
-}
-
body {
- background: var(--nord0);
- color: var(--nord4);
max-width: 50em;
margin-top: 1em;
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
padding: 0.5em;
- border: 4px outset var(--nord4);
text-align: center;
}
a{
text-decoration: none;
- color: var(--nord15);
}
-a:hover {
- color: var(--nord10);
+/* switch */
+/* slider container */
+.switch {
+ position: relative;
+ display: inline-block;
+ width: 2rem;
+ height: 1rem;
+}
+
+.switch input {
+ opacity: 0;
+ width: 0;
+ height: 0;
+}
+
+/* slider dimentions */
+.slider {
+ position: absolute;
+ cursor: pointer;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ -webkit-transition: 0.4s;
+ transition: 0.4s;
+}
+
+.slider:before {
+ position:absolute;
+ content: "";
+ height: 0.8em;
+ width: 0.8em;
+ left: 0.1em;
+ bottom: 0.1em;
+ -webkit-transition: 0.4s;
+ transition: 0.4s;
}
-h1 {
- color: var(--nord11);
+/* slider movement on click */
+.switch input:checked + .slider:before {
+ -webkit-transform: translateX(0.9em);
+ -ms-transform: translateX(0.9em);
+ transform: translateX(0.9em);
}
-h2 {
- color: var(--nord12);
+/* slider container */
+.slider.round {
+ border-radius: 1em;
}
-h3 {
- color: var(--nord13);
+/* slider */
+.slider.round:before {
+ border-radius: 1em;
}
/* menu bar (header) */
@@ -80,7 +91,6 @@ header {
float: left;
min-width: 2em;
max-width: 10em;
- background: var(--nord1);
padding-top: 0.2em;
padding-bottom: 0.2em;
padding-left: 0.4em;
@@ -99,11 +109,6 @@ header {
max-width: 10em;
}
-.menubar li:hover {
- background: var(--nord2);
- color: var(--nord5);
-}
-
.menubar li:hover ul {
visibility: visible;
}
@@ -126,24 +131,14 @@ footer {
text-align: center;
}
-.footer img {
- width: 1em;
- height: 1em;
- filter: invert(67%) sepia(17%) saturate(1088%) hue-rotate(327deg) brightness(86%) contrast(87%);
-}
-
-/* image gallery */
+/* image gallery (not really being used rn) */
div.gallery {
margin: 5px;
- border: 1px solid var(--nord6);
+ border: 1px solid;
float: left;
width: 180px;
}
-div.gallery:hover {
- border: 1px solid var(--nord15);
-}
-
div.gallery img {
width: 100%;
height: auto;
diff --git a/static/css/light.css b/static/css/light.css
new file mode 100644
index 0000000..cee7f22
--- /dev/null
+++ b/static/css/light.css
@@ -0,0 +1,101 @@
+@import './nordtheme.css';
+
+:root {
+ --bg: var(--color5);
+ --body-bg: var(--color4);
+ --navitem-bg: var(--color9);
+ --navitem-bg-hl: var(--color10);
+
+ --fg: var(--color3);
+ --fg-hl: var(--color0);
+
+ --link: var(--color15);
+ --link-hl: var(--color7);
+ --navitem-link: var(--color8);
+ --navitem-link-hl: var(--color7);
+
+ --fg-acc1: var(--color11);
+ --fg-acc2: var(--color12);
+ --fg-acc3: var(--color13);
+ --fg-acc4: var(--color14);
+ --fg-acc5: var(--color15);
+
+ --switch-bg: var(--color1);
+ --switch-slider: var(--color4);
+ --switch-toggled-bg: var(--color10);
+ --switch-ol: var(--color4);
+}
+
+html {
+ background: var(--bg);
+}
+
+body {
+ background: var(--body-bg);
+ color: var(--fg);
+ border: 4px outset var(--fg);
+}
+
+a{
+ color: var(--link);
+}
+
+a:hover {
+ color: var(--link-hl);
+}
+
+h1 {
+ color: var(--fg-acc1);
+}
+
+h2 {
+ color: var(--fg-acc2);
+}
+
+h3 {
+ color: var(--fg-acc3);
+}
+
+/* switch */
+.slider {
+ background-color: var(--switch-bg);
+}
+
+.slider:before {
+ background-color: var(--switch-slider);
+}
+
+.switch input:checked + .slider {
+ background-color: var(--switch-toggled-bg);
+}
+
+.switch input:focus + .slider {
+ box-shadow: 0 0 0.1em var(--switch-ol);
+}
+
+/* menu bar (header) */
+.menubar li {
+ background: var(--navitem-bg);
+}
+
+.menubar a {
+ color: var(--navitem-link);
+}
+
+.menubar li:hover {
+ background: var(--navitem-bg-hl);
+ color: var(--fg-hl);
+}
+
+.menubar li:hover > a {
+ color: var(--navitem-link-hl);
+}
+
+/* image gallery (not really being used rn) */
+div.gallery {
+ border: 1px solid var(--fg-hl);
+}
+
+div.gallery:hover {
+ border: var(--fg-acc5);
+}
diff --git a/static/css/nordtheme.css b/static/css/nordtheme.css
new file mode 100644
index 0000000..00d524b
--- /dev/null
+++ b/static/css/nordtheme.css
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2016-present Arctic Ice Studio <development@arcticicestudio.com>
+ * Copyright (c) 2016-present Sven Greb <development@svengreb.de>
+ *
+ * Project: Nord
+ * Version: 0.2.0
+ * Repository: https://github.com/arcticicestudio/color
+ * License: MIT
+ * References:
+ * https://www.w3.org/TR/css-variables
+ * https://www.w3.org/TR/selectors/#root-pseudo
+ * https://drafts.csswg.org/css-variables
+ * https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables
+ * http://warpspire.com/kss
+ * https://github.com/kss-node/kss-node
+ */
+
+/*
+An arctic, north-bluish color palette.
+Created for the clean- and minimal flat design pattern to achieve a optimal focus and readability for code syntax
+highlighting and UI.
+It consists of a total of sixteen, carefully selected, dimmed pastel colors for a eye-comfortable, but yet colorful
+ambiance.
+Styleguide Nord
+ */
+
+:root {
+ /*
+ Base component color of "Polar Night".
+ Used for texts, backgrounds, carets and structuring characters like curly- and square brackets.
+ Markup:
+ <div style="background-color:#2e3440; width=60; height=60"></div>
+ Styleguide Nord - Polar Night
+ */
+--color0: #2e3440;
+
+/*
+Lighter shade color of the base component color.
+Used as a lighter background color for UI elements like status bars.
+Markup:
+<div style="background-color:#3b4252; width=60; height=60"></div>
+Styleguide Nord - Polar Night
+ */
+--color1: #3b4252;
+
+/*
+Lighter shade color of the base component color.
+Used as line highlighting in the editor.
+In the UI scope it may be used as selection- and highlight color.
+Markup:
+<div style="background-color:#434c5e; width=60; height=60"></div>
+Styleguide Nord - Polar Night
+ */
+--color2: #434c5e;
+
+/*
+Lighter shade color of the base component color.
+Used for comments, invisibles, indent- and wrap guide marker.
+In the UI scope used as pseudoclass color for disabled elements.
+Markup:
+<div style="background-color:#4c566a; width=60; height=60"></div>
+Styleguide Nord - Polar Night
+ */
+--color3: #4c566a;
+
+/*
+Base component color of "Snow Storm".
+Main color for text, variables, constants and attributes.
+In the UI scope used as semi-light background depending on the theme shading design.
+Markup:
+<div style="background-color:#d8dee9; width=60; height=60"></div>
+Styleguide Nord - Snow Storm
+ */
+--color4: #d8dee9;
+
+/*
+Lighter shade color of the base component color.
+Used as a lighter background color for UI elements like status bars.
+Used as semi-light background depending on the theme shading design.
+Markup:
+<div style="background-color:#e5e9f0; width=60; height=60"></div>
+Styleguide Nord - Snow Storm
+ */
+--color5: #e5e9f0;
+
+/*
+Lighter shade color of the base component color.
+Used for punctuations, carets and structuring characters like curly- and square brackets.
+In the UI scope used as background, selection- and highlight color depending on the theme shading design.
+Markup:
+<div style="background-color:#eceff4; width=60; height=60"></div>
+Styleguide Nord - Snow Storm
+ */
+--color6: #eceff4;
+
+/*
+Bluish core color.
+Used for classes, types and documentation tags.
+Markup:
+<div style="background-color:#8fbcbb; width=60; height=60"></div>
+Styleguide Nord - Frost
+ */
+--color7: #8fbcbb;
+
+/*
+Bluish core accent color.
+Represents the accent color of the color palette.
+Main color for primary UI elements and methods/functions.
+Can be used for
+- Markup quotes
+- Markup link URLs
+Markup:
+<div style="background-color:#88c0d0; width=60; height=60"></div>
+Styleguide Nord - Frost
+ */
+--color8: #88c0d0;
+
+/*
+Bluish core color.
+Used for language-specific syntactic/reserved support characters and keywords, operators, tags, units and
+punctuations like (semi)colons,commas and braces.
+Markup:
+<div style="background-color:#81a1c1; width=60; height=60"></div>
+Styleguide Nord - Frost
+ */
+--color9: #81a1c1;
+
+/*
+Bluish core color.
+Used for markup doctypes, import/include/require statements, pre-processor statements and at-rules (`@`).
+Markup:
+<div style="background-color:#5e81ac; width=60; height=60"></div>
+Styleguide Nord - Frost
+ */
+--color10: #5e81ac;
+
+/*
+Colorful component color.
+Used for errors, git/diff deletion and linter marker.
+Markup:
+<div style="background-color:#bf616a; width=60; height=60"></div>
+Styleguide Nord - Aurora
+ */
+--color11: #bf616a;
+
+/*
+Colorful component color.
+Used for annotations.
+Markup:
+<div style="background-color:#d08770; width=60; height=60"></div>
+Styleguide Nord - Aurora
+ */
+--color12: #d08770;
+
+/*
+Colorful component color.
+Used for escape characters, regular expressions and markup entities.
+In the UI scope used for warnings and git/diff renamings.
+Markup:
+<div style="background-color:#ebcb8b; width=60; height=60"></div>
+Styleguide Nord - Aurora
+ */
+--color13: #ebcb8b;
+
+/*
+Colorful component color.
+Main color for strings and attribute values.
+In the UI scope used for git/diff additions and success visualizations.
+Markup:
+<div style="background-color:#a3be8c; width=60; height=60"></div>
+Styleguide Nord - Aurora
+ */
+--color14: #a3be8c;
+
+/*
+Colorful component color.
+Used for numbers.
+Markup:
+<div style="background-color:#b48ead; width=60; height=60"></div>
+Styleguide Nord - Aurora
+ */
+--color15: #b48ead;
+}
diff --git a/static/scripts/gb.js b/static/scripts/gb.js
index 4051d7f..67afe20 100644
--- a/static/scripts/gb.js
+++ b/static/scripts/gb.js
@@ -41,7 +41,7 @@ $(document).ready(function (){
$('#btn_down').click(function (){
input(3);
});
-
+
$('#btn_a').click(function (){
input(4);
});
diff --git a/static/scripts/theme.js b/static/scripts/theme.js
new file mode 100644
index 0000000..2ffe621
--- /dev/null
+++ b/static/scripts/theme.js
@@ -0,0 +1,53 @@
+var local_storage = window.localStorage;
+
+window.onload = () => {
+ let theme = local_storage.getItem('theme');
+ let switch_theme = document.getElementById('theme-switch');
+
+ if(theme == null){
+ local_storage.setItem('theme', 'dark');
+ }
+
+ if(theme == 'dark'){
+ switch_theme.checked = true;
+ }
+ else{
+ switch_theme.checked = false;
+
+ let theme = document.getElementById('theme-css');
+ let href = theme.getAttribute('href');
+
+ href = href.replace('dark.css', 'light.css');
+ theme.setAttribute('href', href);
+ }
+}
+
+function setTheme(){
+ let switch_theme = document.getElementById('theme-switch');
+
+ if(switch_theme.checked == true){
+ local_storage.setItem('theme', 'dark');
+ }
+ else{
+ local_storage.setItem('theme', 'light');
+ }
+}
+
+// toggles between both themes, and then calls set theme to actually set it persistently.
+function toggleTheme(){
+ let theme = document.getElementById('theme-css');
+ let href = theme.getAttribute('href');
+
+ if(href.endsWith('dark.css')){
+ href = href.replace('dark.css', 'light.css');
+ }
+ else if (href.endsWith('light.css')){
+ href = href.replace('light.css', 'dark.css');
+ }
+ else{
+ console.log('Wrong replacement.');
+ }
+
+ theme.setAttribute('href', href);
+ setTheme();
+}