Skip to content

Commit cabe9f7

Browse files
committed
[#30][#31] fix dark mode and include font awesome
1 parent 1ca49ca commit cabe9f7

38 files changed

+14173
-28
lines changed

_includes/head.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,4 @@
99
{%- if jekyll.environment == 'production' and site.google_analytics -%}
1010
{%- include google-analytics.html -%}
1111
{%- endif -%}
12-
<script defer src="https://use.fontawesome.com/releases/v5.8.1/js/all.js" integrity="sha384-g5uSoOSBd7KkhAMlnQILrecXvzst9TdC09/VM+pjDTCM+1il8RHz5fKANTFFb+gQ" crossorigin="anonymous"></script>
1312
</head>

_includes/theme-toggle.html

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,53 +16,50 @@
1616
</div>
1717
<script type="text/javascript">
1818
const theme = localStorage.getItem('theme');
19+
if (theme === 'undefined') {
20+
theme = "dark";
21+
}
1922
if (theme === "dark") {
2023
document.documentElement.setAttribute('data-theme', 'dark');
24+
} else {
25+
document.documentElement.setAttribute('data-theme', 'light');
2126
}
2227
const userPrefers = getComputedStyle(document.documentElement).getPropertyValue('content');
2328

24-
if (theme === "dark") {
29+
function activateDarkTheme() {
2530
document.getElementById('theme-toggle').checked = true;
2631
document.documentElement.setAttribute('data-theme', 'dark');
2732
document.documentElement.classList.add('theme--dark');
2833
document.documentElement.classList.remove('theme--light');
2934
document.getElementById("theme-toggle").className = 'light';
30-
} else if (theme === "light") {
35+
window.localStorage.setItem('theme', 'dark');
36+
}
37+
38+
function activateLightTheme() {
3139
document.getElementById('theme-toggle').checked = false;
3240
document.documentElement.setAttribute('data-theme', 'light');
3341
document.documentElement.classList.add('theme--light');
3442
document.documentElement.classList.remove('theme--dark');
3543
document.getElementById("theme-toggle").className = 'dark';
36-
} else if (userPrefers === "dark") {
37-
document.getElementById('theme-toggle').checked = false;
38-
document.documentElement.setAttribute('data-theme', 'dark');
39-
document.documentElement.classList.add('theme--dark');
40-
document.documentElement.classList.remove('theme--light');
41-
window.localStorage.setItem('theme', 'dark');
42-
document.getElementById("theme-toggle").className = 'light';
43-
} else {
44-
document.getElementById('theme-toggle').checked = true;
45-
document.documentElement.setAttribute('data-theme', 'light');
46-
document.documentElement.classList.add('theme--light');
47-
document.documentElement.classList.remove('theme--dark');
4844
window.localStorage.setItem('theme', 'light');
49-
document.getElementById("theme-toggle").className = 'dark';
45+
}
46+
47+
if (theme === "dark") {
48+
activateDarkTheme();
49+
} else if (theme === "light") {
50+
activateLightTheme();
51+
} else if (userPrefers === "light") {
52+
activateDarkTheme();
53+
} else {
54+
activateDarkTheme();
5055
}
5156

5257
function modeSwitcher() {
5358
let currentMode = document.documentElement.getAttribute('data-theme');
5459
if (currentMode === "dark") {
55-
document.documentElement.setAttribute('data-theme', 'light');
56-
document.documentElement.classList.add('theme--light');
57-
document.documentElement.classList.remove('theme--dark');
58-
window.localStorage.setItem('theme', 'light');
59-
document.getElementById("theme-toggle").className = 'dark';
60+
activateLightTheme();
6061
} else {
61-
document.documentElement.setAttribute('data-theme', 'dark');
62-
document.documentElement.classList.add('theme--dark');
63-
document.documentElement.classList.remove('theme--light');
64-
window.localStorage.setItem('theme', 'dark');
65-
document.getElementById("theme-toggle").className = 'light';
62+
activateDarkTheme();
6663
}
6764
}
6865
</script>

_sass/dash.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ $spacing-unit: 30px !default;
3434

3535
// Import partials.
3636
@import
37+
"fa/fontawesome",
38+
"fa/solid",
39+
"fa/brands",
3740
"dash/fonts",
3841
"dash/icons",
3942
"dash/colors",

_sass/dash/_fonts.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@
1111
}
1212
}
1313

14+
1415
@include font('Varela Round', '/assets/fonts/VarelaRound-Regular');
15-
@include font('Roboto Mono', '/assets/fonts/RobotoMono-Medium');
16+
@include font('Roboto Mono', '/assets/fonts/RobotoMono-Medium');

_sass/fa/_animated.scss

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Animated Icons
2+
// --------------------------
3+
4+
.#{$fa-css-prefix}-spin {
5+
animation: fa-spin 2s infinite linear;
6+
}
7+
8+
.#{$fa-css-prefix}-pulse {
9+
animation: fa-spin 1s infinite steps(8);
10+
}
11+
12+
@keyframes fa-spin {
13+
0% {
14+
transform: rotate(0deg);
15+
}
16+
17+
100% {
18+
transform: rotate(360deg);
19+
}
20+
}

_sass/fa/_bordered-pulled.scss

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Bordered & Pulled
2+
// -------------------------
3+
4+
.#{$fa-css-prefix}-border {
5+
border: solid .08em $fa-border-color;
6+
border-radius: .1em;
7+
padding: .2em .25em .15em;
8+
}
9+
10+
.#{$fa-css-prefix}-pull-left { float: left; }
11+
.#{$fa-css-prefix}-pull-right { float: right; }
12+
13+
.#{$fa-css-prefix},
14+
.fas,
15+
.far,
16+
.fal,
17+
.fab {
18+
&.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
19+
&.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
20+
}

_sass/fa/_core.scss

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Base Class Definition
2+
// -------------------------
3+
4+
.#{$fa-css-prefix},
5+
.fas,
6+
.far,
7+
.fal,
8+
.fad,
9+
.fab {
10+
-moz-osx-font-smoothing: grayscale;
11+
-webkit-font-smoothing: antialiased;
12+
display: inline-block;
13+
font-style: normal;
14+
font-variant: normal;
15+
text-rendering: auto;
16+
line-height: 1;
17+
}
18+
19+
%fa-icon {
20+
@include fa-icon;
21+
}

_sass/fa/_fixed-width.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// Fixed Width Icons
2+
// -------------------------
3+
.#{$fa-css-prefix}-fw {
4+
text-align: center;
5+
width: $fa-fw-width;
6+
}

0 commit comments

Comments
 (0)