Skip to content

Commit 7bd5c50

Browse files
authored
Merge pull request #1282 from pmpinto/dark-mode
Introduce dark theme
2 parents 72437bb + ad7e26b commit 7bd5c50

File tree

7 files changed

+163
-43
lines changed

7 files changed

+163
-43
lines changed

_includes/sidebar.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<img src="{{ "/assets/images/menu.svg" | relative_url }}" class="menu-icon" id="menu" alt="Menu" />
44
<img src="{{ "/assets/images/close.svg" | relative_url }}" class="close-icon" id="close" alt="Close menu" />
55
</div>
6-
<div style="text-align: center"><a href="{{ "index.html" | relative_url }}"><img src="{{ "/assets/images/logo.png" | relative_url }}" alt="Logo" /></a></div>
6+
<div style="text-align: center" class="sidebar-logo"><a href="{{ "index.html" | relative_url }}"><img src="{{ "/assets/images/logo.png" | relative_url }}" alt="Logo" /></a></div>
77
<!-- {% include search.html %} -->
88
<div class="sidebar-main">
99
{% include nav.html %}

_layouts/zigbee.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
</div>
3030
<div class="row">
3131
<div class="column column-60">
32-
<img src="{{ page.url | remove: ".html" | prepend: '/assets/images/devices' | append: '.webp' | relative_url }}" alt="{{ page.title }}" style="max-height: 350px; max-width: 400px; margin: 1rem">
32+
<img src="{{ page.url | remove: ".html" | prepend: '/assets/images/devices' | append: '.webp' | relative_url }}" alt="{{ page.title }}" style="max-height: 350px; margin: 1rem 0">
3333
</div>
3434
<div class="column">
3535
{% include supports.html %}

_sass/milligram.scss

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ body {
2424
font-weight: 300;
2525
letter-spacing: .01em;
2626
line-height: 1.5;
27+
28+
@media (prefers-color-scheme: dark) {
29+
background-color: $background-color-dark-mode;
30+
color: $content-color-dark-mode;
31+
}
2732
}
2833

2934
blockquote {
@@ -58,6 +63,11 @@ input[type='submit'] {
5863
text-decoration: none;
5964
text-transform: uppercase;
6065
white-space: nowrap;
66+
67+
@media (prefers-color-scheme: dark) {
68+
background-color: $blue-color-dark-mode;
69+
border-color:$blue-color-dark-mode
70+
}
6171
}
6272

6373
.button:focus, .button:hover,
@@ -96,6 +106,11 @@ input[type='submit'][disabled]:focus,
96106
input[type='submit'][disabled]:hover {
97107
background-color: #002b80;
98108
border-color: #002b80;
109+
110+
@media (prefers-color-scheme: dark) {
111+
background-color: $blue-color-dark-mode;
112+
border-color:$blue-color-dark-mode;
113+
}
99114
}
100115

101116
.button.button-outline,
@@ -105,6 +120,10 @@ input[type='reset'].button-outline,
105120
input[type='submit'].button-outline {
106121
background-color: transparent;
107122
color: #002b80;
123+
124+
@media (prefers-color-scheme: dark) {
125+
color:$blue-color-dark-mode;
126+
}
108127
}
109128

110129
.button.button-outline:focus, .button.button-outline:hover,
@@ -132,6 +151,10 @@ input[type='submit'].button-outline[disabled]:focus,
132151
input[type='submit'].button-outline[disabled]:hover {
133152
border-color: inherit;
134153
color: #002b80;
154+
155+
@media (prefers-color-scheme: dark) {
156+
color:$blue-color-dark-mode;
157+
}
135158
}
136159

137160
.button.button-clear,
@@ -142,6 +165,10 @@ input[type='submit'].button-clear {
142165
background-color: transparent;
143166
border-color: transparent;
144167
color: #002b80;
168+
169+
@media (prefers-color-scheme: dark) {
170+
color:$blue-color-dark-mode;
171+
}
145172
}
146173

147174
.button.button-clear:focus, .button.button-clear:hover,
@@ -169,12 +196,22 @@ input[type='submit'].button-clear[disabled]:focus,
169196
input[type='submit'].button-clear[disabled]:hover {
170197
background-color: slategrey;
171198
color: #002b80;
199+
200+
@media (prefers-color-scheme: dark) {
201+
color:$blue-color-dark-mode;
202+
}
172203
}
173204

174205
/* Custom color */
175206
.button-black {
176207
background-color: black;
177208
border-color: black;
209+
210+
@media (prefers-color-scheme: dark) {
211+
background-color: $content-color-dark-mode;
212+
border-color: $content-color-dark-mode;
213+
color: $navigation-background-dark-mode;
214+
}
178215
}
179216
.button-black.button-clear,
180217
.button-black.button-outline {
@@ -200,7 +237,7 @@ input[type='submit'].button-clear[disabled]:hover {
200237

201238
.button-red {
202239
background-color: #EF3453;
203-
border-color: white;
240+
border-color: transparent;
204241
}
205242
.button-red.button-clear,
206243
.button-red.button-outline {
@@ -286,6 +323,10 @@ textarea:focus,
286323
select:focus {
287324
border-color: #002b80;
288325
outline: 0;
326+
327+
@media (prefers-color-scheme: dark) {
328+
border-color:$blue-color-dark-mode;
329+
}
289330
}
290331

291332
select {
@@ -331,6 +372,7 @@ input[type='radio'] {
331372
padding: 0;
332373
position: relative;
333374
width: 100%;
375+
padding-bottom: 5dvh;
334376
}
335377
@media (min-width: 40rem) {
336378
.container {
@@ -453,7 +495,14 @@ input[type='radio'] {
453495

454496
.row .column.column-60 {
455497
flex: 0 0 60%;
456-
max-width: 60%;
498+
499+
@media (min-width: 40rem) {
500+
max-width: 60%;
501+
}
502+
503+
img {
504+
filter: brightness(0.8) contrast(1.1);
505+
}
457506
}
458507

459508
.row .column.column-66, .row .column.column-67 {
@@ -504,6 +553,10 @@ input[type='radio'] {
504553
a {
505554
color: #002b80;
506555
text-decoration: none;
556+
557+
@media (prefers-color-scheme: dark) {
558+
color:$blue-color-dark-mode;
559+
}
507560
}
508561

509562
a:focus, a:hover {
@@ -584,6 +637,10 @@ th {
584637
border-bottom: 2px solid #e1e1e1;
585638
padding: 0.2rem 0.5rem;
586639
text-align: left;
640+
641+
@media (prefers-color-scheme: dark) {
642+
border-color: $border-color-dark-mode;
643+
}
587644
}
588645

589646
td:first-child,
@@ -607,6 +664,10 @@ th:last-child {
607664
padding: 0.1rem 0.5rem;
608665
text-align: left;
609666
vertical-align: middle;
667+
668+
@media (prefers-color-scheme: dark) {
669+
border-color: $border-color-dark-mode;
670+
}
610671
}
611672

612673
.td-first,
@@ -620,6 +681,10 @@ th:last-child {
620681
display: block;
621682
max-height:75px;
622683
vertical-align: middle;
684+
685+
@media (prefers-color-scheme: dark) {
686+
filter: brightness(0.8) contrast(1.1);
687+
}
623688
}
624689

625690
.td-10,

_sass/variables.scss

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,17 @@ $header-height: 50px;
1111

1212
$link-color: #EF3453;
1313

14-
$sidebar-border: 1px solid rgba(0,0,0,0.07);
14+
$sidebar-border: 2px solid rgba(0,0,0,0.07);
1515
$sidebar-color: #364149;
16+
$sidebar-color-dark-mode: #d1d1d1;
1617

1718
$navigation-background: #fafafa;
19+
$navigation-background-dark-mode: #101010;
1820
$navigation-link-color: #EF3453;
1921

2022
$content-color: #333;
23+
$content-color-dark-mode: #d1d1d1;
24+
$background-color-dark-mode: #222;
25+
$border-color-dark-mode: #333;
26+
27+
$blue-color-dark-mode: #719df5;

assets/css/docs.scss

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ html, body {
1919
box-sizing: border-box;
2020
}
2121

22+
[src*="tasmota-icon.png"] {
23+
@media (prefers-color-scheme: dark) {
24+
filter: invert(1) grayscale(1);
25+
}
26+
}
27+
2228
pre {
2329
margin-bottom: ($base-height * 2) !important;
2430
}
@@ -64,12 +70,33 @@ a.menu {
6470
overflow: hidden;
6571
color: $sidebar-color;
6672

73+
@media (prefers-color-scheme: dark) {
74+
color: $sidebar-color-dark-mode;
75+
border-color: $border-color-dark-mode;
76+
}
77+
78+
.sidebar-logo {
79+
background-color: $navigation-background;
80+
81+
@media (prefers-color-scheme: dark) {
82+
background-color: $navigation-background-dark-mode;
83+
84+
img {
85+
filter: invert(1) grayscale(1);
86+
}
87+
}
88+
}
89+
6790
.sidebar-main {
6891
height: 100%;
6992
background: $navigation-background;
7093
padding: $base-height;
7194
overflow: auto;
7295
padding-bottom: 4em;
96+
97+
@media (prefers-color-scheme: dark) {
98+
background-color: $navigation-background-dark-mode;
99+
}
73100
}
74101

75102
.sidebar-mobile {
@@ -79,6 +106,10 @@ a.menu {
79106
text-align: right;
80107
border-bottom: 2px solid #e1e1e1;
81108

109+
@media (prefers-color-scheme: dark) {
110+
border-color: $border-color-dark-mode;
111+
}
112+
82113
.close-icon, .menu-icon {
83114
width: 18px;
84115
cursor: pointer;
@@ -93,12 +124,21 @@ a.menu {
93124
border-bottom: $sidebar-border;
94125
padding: 0 $base-height;
95126

127+
@media (prefers-color-scheme: dark) {
128+
border-color:$border-color-dark-mode;
129+
}
130+
96131
.search-input {
97132
border: none;
98133
font-size: 0.9em;
99134
font-weight: 300;
100135
width: 100%;
101136
height: 100%;
137+
color: $content-color;
138+
139+
@media (prefers-color-scheme: dark) {
140+
color: $content-color-dark-mode;
141+
}
102142
}
103143
}
104144

@@ -164,6 +204,10 @@ a.menu {
164204
color: $content-color;
165205
line-height: 1.7;
166206
word-wrap: break-word;
207+
208+
@media (prefers-color-scheme: dark) {
209+
color: $content-color-dark-mode;
210+
}
167211
}
168212

169213
.inner {
@@ -210,6 +254,10 @@ a.menu {
210254

211255
.sidebar-mobile {
212256
background: $navigation-background;
257+
258+
@media (prefers-color-scheme: dark) {
259+
background-color: $navigation-background-dark-mode;
260+
}
213261
}
214262
}
215263
}
@@ -236,3 +284,7 @@ a.menu {
236284
#nothing-found {
237285
display: none;
238286
}
287+
288+
.compat a {
289+
text-wrap: nowrap;
290+
}

0 commit comments

Comments
 (0)