jekyll-theme-satellite 1.0.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +113 -0
- data/_includes/category.html +23 -0
- data/_includes/footer.html +10 -0
- data/_includes/head.html +33 -0
- data/_includes/navigation.html +45 -30
- data/_includes/pagination.html +4 -4
- data/_includes/post.html +2 -2
- data/_includes/search.html +1 -1
- data/_includes/search_event.html +44 -0
- data/_includes/sidebar.html +1 -1
- data/_layouts/default.html +10 -105
- data/_layouts/page.html +86 -0
- data/_sass/darkmode.scss +1 -1
- data/_sass/navigation.scss +2 -3
- data/_sass/pagination.scss +2 -4
- data/_sass/post.scss +32 -25
- data/_sass/search.scss +4 -4
- data/_sass/sidebar.scss +16 -7
- data/_sass/toc.scss +6 -0
- data/assets/css/404.scss +47 -0
- data/assets/css/fonts.scss +29 -0
- data/assets/css/style.scss +23 -25
- data/assets/img/favicon.webp +0 -0
- data/assets/js/{stars.js → background.js} +2 -2
- data/assets/js/common.js +179 -0
- data/assets/js/fontfaceobserver.js +12 -0
- data/assets/js/post.js +191 -0
- data/assets/js/search.js +168 -0
- data/assets/js/subject.js +132 -0
- metadata +94 -7
- data/_config.yml +0 -82
- data/assets/js/main.js +0 -709
data/_sass/navigation.scss
CHANGED
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
.nav-list {
|
|
13
13
|
padding: 0;
|
|
14
14
|
margin: 0 auto;
|
|
15
|
-
font-family: 'Lato', sans-serif;
|
|
16
15
|
|
|
17
16
|
li {
|
|
18
17
|
font-size: 1rem;
|
|
@@ -21,7 +20,7 @@
|
|
|
21
20
|
padding-left: 1.125rem;
|
|
22
21
|
background: #eee;
|
|
23
22
|
|
|
24
|
-
transition: max-height .5s, opacity .
|
|
23
|
+
transition: max-height .5s ease-in-out, opacity .3s;
|
|
25
24
|
opacity: 0;
|
|
26
25
|
max-height: 0;
|
|
27
26
|
|
|
@@ -33,7 +32,7 @@
|
|
|
33
32
|
|
|
34
33
|
> .nav-list {
|
|
35
34
|
opacity: 1;
|
|
36
|
-
max-height:
|
|
35
|
+
max-height: 768px;
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
}
|
data/_sass/pagination.scss
CHANGED
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
margin: 0 0.5rem;
|
|
32
32
|
margin-bottom: 1.5rem;
|
|
33
33
|
font-weight: 600;
|
|
34
|
-
font-family: 'Lato', sans-serif;
|
|
35
34
|
border-bottom: 1px solid lightgrey;
|
|
36
35
|
text-decoration: underline dimgrey;
|
|
37
36
|
text-underline-offset: 12px;
|
|
@@ -72,8 +71,7 @@
|
|
|
72
71
|
|
|
73
72
|
a { text-decoration: none; }
|
|
74
73
|
|
|
75
|
-
.title_post{
|
|
76
|
-
font-family: 'Lato', sans-serif;
|
|
74
|
+
.title_post {
|
|
77
75
|
font-weight: 600;
|
|
78
76
|
font-size: 1rem;
|
|
79
77
|
line-height: 2rem;
|
|
@@ -112,7 +110,7 @@
|
|
|
112
110
|
text-align: center;
|
|
113
111
|
|
|
114
112
|
img {
|
|
115
|
-
width: 50
|
|
113
|
+
width: 50% !important;
|
|
116
114
|
aspect-ratio: 2/1;
|
|
117
115
|
}
|
|
118
116
|
|
data/_sass/post.scss
CHANGED
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
.post-title {
|
|
67
|
-
font-family: 'Lato', sans-serif;
|
|
68
67
|
font-size: 1.25rem;
|
|
69
68
|
word-spacing: 4px;
|
|
70
69
|
font-weight: 600;
|
|
71
70
|
word-wrap: break-word;
|
|
71
|
+
font-family: Cambria, sans-serif;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
.post-info {
|
|
@@ -110,13 +110,16 @@
|
|
|
110
110
|
svg { margin-right: 4px; }
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
.
|
|
114
|
-
|
|
115
|
-
.tag-box {
|
|
113
|
+
.tag-box {
|
|
114
|
+
margin: 1rem;
|
|
116
115
|
display: inline-block;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.tag {
|
|
119
|
+
float: left;
|
|
117
120
|
position: relative;
|
|
118
|
-
margin:
|
|
119
|
-
padding: 0
|
|
121
|
+
margin-left: 24px;
|
|
122
|
+
padding:0 10px 0 12px;
|
|
120
123
|
line-height: 1.5rem;
|
|
121
124
|
color: #fff !important;
|
|
122
125
|
font-size: 1rem;
|
|
@@ -181,7 +184,6 @@ main {
|
|
|
181
184
|
padding: 1rem;
|
|
182
185
|
margin: auto;
|
|
183
186
|
font-size: 1rem;
|
|
184
|
-
font-family: 'Nunito Sans', sans-serif;
|
|
185
187
|
line-height: 200%;
|
|
186
188
|
position: relative;
|
|
187
189
|
overflow-wrap: break-word;
|
|
@@ -190,9 +192,8 @@ main {
|
|
|
190
192
|
* { margin: auto; }
|
|
191
193
|
|
|
192
194
|
h1, h2, h3 {
|
|
193
|
-
|
|
194
|
-
margin-bottom:
|
|
195
|
-
padding-top: 2rem;
|
|
195
|
+
margin-top: 3rem;
|
|
196
|
+
margin-bottom: 1rem;
|
|
196
197
|
}
|
|
197
198
|
|
|
198
199
|
h1, .sh1 { font-size: 1.75rem; }
|
|
@@ -231,11 +232,19 @@ main {
|
|
|
231
232
|
}
|
|
232
233
|
}
|
|
233
234
|
|
|
234
|
-
p, ul,
|
|
235
|
+
p, ul, table, div { margin-bottom: 3rem; }
|
|
236
|
+
|
|
237
|
+
p + div,
|
|
238
|
+
p + pre,
|
|
239
|
+
p + blockquote,
|
|
240
|
+
div + div,
|
|
241
|
+
div + blockquote {
|
|
242
|
+
margin-top: -2rem;
|
|
243
|
+
}
|
|
235
244
|
|
|
236
245
|
ul { padding-left: 2rem; }
|
|
237
246
|
|
|
238
|
-
li > ul { margin
|
|
247
|
+
li > ul { margin: 0; }
|
|
239
248
|
|
|
240
249
|
code {
|
|
241
250
|
margin: 0 2px;
|
|
@@ -379,7 +388,7 @@ main {
|
|
|
379
388
|
hr {
|
|
380
389
|
border: 0;
|
|
381
390
|
height: 2px;
|
|
382
|
-
margin
|
|
391
|
+
margin: 1rem 0;
|
|
383
392
|
background: burlywood;
|
|
384
393
|
}
|
|
385
394
|
|
|
@@ -552,16 +561,19 @@ main {
|
|
|
552
561
|
svg { margin-right: 8px; }
|
|
553
562
|
}
|
|
554
563
|
|
|
555
|
-
.tags { margin: 1rem 3rem; }
|
|
556
|
-
|
|
557
564
|
.tag-box {
|
|
558
|
-
margin:
|
|
559
|
-
|
|
565
|
+
margin: 3rem;
|
|
566
|
+
margin-top: 1rem;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
.tag {
|
|
570
|
+
margin-left: 32px;
|
|
571
|
+
padding:0 14px 0 16px;
|
|
560
572
|
line-height: 2rem;
|
|
561
573
|
font-size: 1.125rem;
|
|
562
574
|
|
|
563
575
|
&:before {
|
|
564
|
-
left: -
|
|
576
|
+
left: -16px;
|
|
565
577
|
border-width: 16px 16px 16px 0;
|
|
566
578
|
}
|
|
567
579
|
|
|
@@ -576,25 +588,20 @@ main {
|
|
|
576
588
|
padding-top: 0;
|
|
577
589
|
font-size: 1.125rem;
|
|
578
590
|
|
|
579
|
-
h1, h2, h3, hr { margin-bottom: -2.25rem; }
|
|
580
|
-
|
|
581
591
|
h1, .sh1 {
|
|
582
592
|
font-size: 2.25rem;
|
|
583
|
-
|
|
593
|
+
margin-top: 5rem;
|
|
584
594
|
}
|
|
585
595
|
|
|
586
596
|
h2, .sh2 {
|
|
587
597
|
font-size: 1.75rem;
|
|
588
|
-
|
|
598
|
+
margin-top: 4rem;
|
|
589
599
|
}
|
|
590
600
|
|
|
591
601
|
h3, .sh3 {
|
|
592
602
|
font-size: 1.375rem;
|
|
593
|
-
padding-top: 3rem;
|
|
594
603
|
}
|
|
595
604
|
|
|
596
|
-
p, ul, hr, table { margin-top: 3rem; }
|
|
597
|
-
|
|
598
605
|
table {
|
|
599
606
|
tbody td, thead th { padding: 1rem; }
|
|
600
607
|
}
|
data/_sass/search.scss
CHANGED
|
@@ -82,13 +82,13 @@
|
|
|
82
82
|
margin: auto;
|
|
83
83
|
margin-top: 2rem;
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
mark {
|
|
86
86
|
margin-bottom: 1rem;
|
|
87
|
-
color: #fff;
|
|
87
|
+
color: #fff !important;
|
|
88
88
|
opacity: 0.8;
|
|
89
89
|
font-size: 1.5rem;
|
|
90
90
|
font-weight: 200;
|
|
91
|
-
|
|
91
|
+
display: block;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
input {
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
.search-box {
|
|
212
212
|
margin-top: 4rem;
|
|
213
213
|
|
|
214
|
-
|
|
214
|
+
mark {
|
|
215
215
|
font-size: 2.5rem;
|
|
216
216
|
margin-bottom: 2rem;
|
|
217
217
|
}
|
data/_sass/sidebar.scss
CHANGED
|
@@ -150,6 +150,8 @@
|
|
|
150
150
|
border: none;
|
|
151
151
|
border-radius: 50%;
|
|
152
152
|
margin-left: 1rem;
|
|
153
|
+
position: relative;
|
|
154
|
+
vertical-align: top;
|
|
153
155
|
cursor: pointer;
|
|
154
156
|
|
|
155
157
|
&:hover {
|
|
@@ -173,18 +175,26 @@
|
|
|
173
175
|
fill: #3A241A !important;
|
|
174
176
|
width: 24px;
|
|
175
177
|
position: relative;
|
|
178
|
+
transition: all .3s;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.ico-dark, .ico-light {
|
|
182
|
+
position: absolute;
|
|
183
|
+
top: 50%;
|
|
184
|
+
left: 50%;
|
|
185
|
+
transform: translate(-50%, -50%);
|
|
176
186
|
}
|
|
177
187
|
|
|
178
188
|
.ico-dark {
|
|
179
|
-
|
|
189
|
+
transform: translate(-50%, -50%) scale(1);
|
|
180
190
|
|
|
181
|
-
&.active{
|
|
191
|
+
&.active{ transform: translate(-50%, -50%) scale(0); }
|
|
182
192
|
}
|
|
183
193
|
|
|
184
194
|
.ico-light {
|
|
185
|
-
|
|
195
|
+
transform: translate(-50%, -50%) scale(0);
|
|
186
196
|
|
|
187
|
-
&.active{
|
|
197
|
+
&.active{ transform: translate(-50%, -50%) scale(1); }
|
|
188
198
|
}
|
|
189
199
|
}
|
|
190
200
|
|
|
@@ -243,7 +253,6 @@
|
|
|
243
253
|
|
|
244
254
|
.highlight {
|
|
245
255
|
font-weight: 600;
|
|
246
|
-
font-family: 'Righteous', sans-serif;
|
|
247
256
|
background-image: -webkit-linear-gradient(left, #a95770 25%, #ff4d7c 32.5%, #97d0ec 50%, #ff4d7c 67.5%, #a95770 75%);
|
|
248
257
|
background-image: linear-gradient(90deg, #a95770 25%, #ff4d7c 32.5%, #97d0ec 50%, #ff4d7c 67.5%, #a95770 75%);
|
|
249
258
|
background-position: right center;
|
|
@@ -254,10 +263,10 @@
|
|
|
254
263
|
|
|
255
264
|
&:hover {
|
|
256
265
|
color: #ef9671;
|
|
257
|
-
animation:
|
|
266
|
+
animation: slidetext 2s ease-in infinite;
|
|
258
267
|
}
|
|
259
268
|
|
|
260
|
-
@keyframes
|
|
269
|
+
@keyframes slidetext {
|
|
261
270
|
100% {
|
|
262
271
|
background-position: left center;
|
|
263
272
|
}
|
data/_sass/toc.scss
CHANGED
data/assets/css/404.scss
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
body {
|
|
5
|
+
margin: 0;
|
|
6
|
+
background:
|
|
7
|
+
repeating-linear-gradient(
|
|
8
|
+
to right, transparent,
|
|
9
|
+
transparent 100px,
|
|
10
|
+
white 100px,
|
|
11
|
+
white 112px
|
|
12
|
+
),
|
|
13
|
+
repeating-linear-gradient(
|
|
14
|
+
to bottom, transparent,
|
|
15
|
+
transparent 100px,
|
|
16
|
+
white 100px,
|
|
17
|
+
white 112px
|
|
18
|
+
),
|
|
19
|
+
linear-gradient(45deg, pink, skyblue);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.blank-page {
|
|
23
|
+
display: table-cell;
|
|
24
|
+
z-index: 0;
|
|
25
|
+
background: #fff;
|
|
26
|
+
margin: 1rem auto;
|
|
27
|
+
width: 100vw;
|
|
28
|
+
height: 45vh;
|
|
29
|
+
vertical-align: middle;
|
|
30
|
+
|
|
31
|
+
.go-home {
|
|
32
|
+
text-decoration: none;
|
|
33
|
+
margin-left: 5vw;
|
|
34
|
+
font-size: 1.25rem;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.not-found-msg { text-align: center; }
|
|
38
|
+
|
|
39
|
+
.sour-face {
|
|
40
|
+
margin: 3rem auto;
|
|
41
|
+
font-size: 5rem;
|
|
42
|
+
line-height: 1;
|
|
43
|
+
letter-spacing: -1px;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.container { display: none; }
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
@font-face {
|
|
5
|
+
font-family: 'Nunito Sans';
|
|
6
|
+
font-style: normal;
|
|
7
|
+
font-weight: 400;
|
|
8
|
+
font-display: optional;
|
|
9
|
+
src: local('Nunito Sans'),
|
|
10
|
+
url(/assets/fonts/NunitoSans-Regular.ttf) format("truetype");
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@font-face {
|
|
14
|
+
font-family: 'Righteous';
|
|
15
|
+
font-style: normal;
|
|
16
|
+
font-weight: 600;
|
|
17
|
+
font-display: optional;
|
|
18
|
+
src: local('Righteous'),
|
|
19
|
+
url(/assets/fonts/Righteous-Regular.ttf) format("truetype");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@font-face {
|
|
23
|
+
font-family: 'Lato';
|
|
24
|
+
font-style: normal;
|
|
25
|
+
font-weight: 400;
|
|
26
|
+
font-display: optional;
|
|
27
|
+
src: local('Lato'),
|
|
28
|
+
url(/assets/fonts/Lato-Regular.ttf) format("truetype");
|
|
29
|
+
}
|
data/assets/css/style.scss
CHANGED
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
---
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
font-weight: 400;
|
|
8
|
-
font-display: swap;
|
|
9
|
-
src: url(/assets/fonts/NunitoSans-Regular.ttf);
|
|
4
|
+
html, body {
|
|
5
|
+
margin: 0;
|
|
6
|
+
padding: 0;
|
|
10
7
|
}
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
font-display: swap;
|
|
17
|
-
src: url(/assets/fonts/Righteous-Regular.ttf);
|
|
18
|
-
}
|
|
9
|
+
.fonts-loaded {
|
|
10
|
+
a, span, p {
|
|
11
|
+
font-family: "Nunito Sans", 'Lucida Sans', sans-serif;
|
|
12
|
+
}
|
|
19
13
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
font-weight: 400;
|
|
24
|
-
font-display: swap;
|
|
25
|
-
src: url(/assets/fonts/Lato-Regular.ttf);
|
|
26
|
-
}
|
|
14
|
+
h1, h2, h3 {
|
|
15
|
+
font-family: "Lato", Helvetica, sans-serif;
|
|
16
|
+
}
|
|
27
17
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
18
|
+
mark {
|
|
19
|
+
font-family: 'Righteous', sans-serif;
|
|
20
|
+
}
|
|
31
21
|
}
|
|
32
22
|
|
|
33
23
|
a {
|
|
@@ -36,11 +26,19 @@ a {
|
|
|
36
26
|
|
|
37
27
|
a, span, p, h1, h2, h3, i {
|
|
38
28
|
color: #3A241A;
|
|
39
|
-
font-family: "Nunito Sans", sans-serif;
|
|
40
29
|
}
|
|
41
30
|
|
|
42
|
-
|
|
31
|
+
a, span, p {
|
|
32
|
+
font-family: 'Lucida Sans', sans-serif;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
h1, h2, h3, mark {
|
|
43
36
|
margin: 0;
|
|
37
|
+
font-family: Helvetica, sans-serif;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
mark {
|
|
41
|
+
background-color: transparent;
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
svg {
|
data/assets/img/favicon.webp
CHANGED
|
Binary file
|
|
@@ -324,7 +324,7 @@ function init() {
|
|
|
324
324
|
|
|
325
325
|
// Motion mode
|
|
326
326
|
if ('ontouchstart' in document.documentElement && window.DeviceOrientationEvent) {
|
|
327
|
-
console.log('Using device orientation');
|
|
327
|
+
// console.log('Using device orientation');
|
|
328
328
|
window.addEventListener('deviceorientation', function(e) {
|
|
329
329
|
mouse.x = (canvas.clientWidth / 2) - ((e.gamma / 90) * (canvas.clientWidth / 2) * 2);
|
|
330
330
|
mouse.y = (canvas.clientHeight / 2) - ((e.beta / 90) * (canvas.clientHeight / 2) * 2);
|
|
@@ -332,7 +332,7 @@ function init() {
|
|
|
332
332
|
}
|
|
333
333
|
else {
|
|
334
334
|
// Mouse move listener
|
|
335
|
-
console.log('Using mouse movement');
|
|
335
|
+
// console.log('Using mouse movement');
|
|
336
336
|
document.body.addEventListener('mousemove', function(e) {
|
|
337
337
|
mouse.x = e.clientX;
|
|
338
338
|
mouse.y = e.clientY;
|
data/assets/js/common.js
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
document.addEventListener('DOMContentLoaded', function(){
|
|
2
|
+
// Init theme
|
|
3
|
+
let currentTheme = localStorage.getItem('theme');
|
|
4
|
+
let isDarkMode = false;
|
|
5
|
+
|
|
6
|
+
if (currentTheme === 'dark'){
|
|
7
|
+
isDarkMode = true;
|
|
8
|
+
const themeIcons = document.querySelectorAll(".ico-dark, .ico-light");
|
|
9
|
+
|
|
10
|
+
themeIcons.forEach((ico) => {
|
|
11
|
+
ico.classList.add('active');
|
|
12
|
+
});
|
|
13
|
+
/*
|
|
14
|
+
const moonIcons = document.querySelectorAll(".ico-dark");
|
|
15
|
+
const sunIcons = document.querySelectorAll(".ico-light");
|
|
16
|
+
|
|
17
|
+
moonIcons.forEach((ico) => {
|
|
18
|
+
ico.classList.add('active');
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
sunIcons.forEach((ico) => {
|
|
22
|
+
ico.classList.add('active');
|
|
23
|
+
});
|
|
24
|
+
*/
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
isDarkMode = false;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// navigation (mobile)
|
|
31
|
+
var siteNav = document.querySelector('#navigation');
|
|
32
|
+
var siteContact = document.querySelector('#contact');
|
|
33
|
+
var menuButton = document.querySelector("#btn-nav");
|
|
34
|
+
|
|
35
|
+
menuButton.addEventListener('click', function() {
|
|
36
|
+
if (menuButton.classList.toggle('nav-open')) {
|
|
37
|
+
siteNav.classList.add('nav-open');
|
|
38
|
+
siteContact.classList.add('contact-open');
|
|
39
|
+
} else {
|
|
40
|
+
siteNav.classList.remove('nav-open');
|
|
41
|
+
siteContact.classList.remove('contact-open');
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// kept nav opened
|
|
46
|
+
var firstNavs = document.querySelectorAll('#nav-first');
|
|
47
|
+
var page_path = window.location.pathname.replace(/%20/g, " ");
|
|
48
|
+
var page_tree = page_path.split('/');
|
|
49
|
+
|
|
50
|
+
Array.prototype.forEach.call(firstNavs, function (nav_first) {
|
|
51
|
+
if (page_tree[1] === nav_first.ariaLabel){
|
|
52
|
+
nav_first.classList.add('active');
|
|
53
|
+
|
|
54
|
+
var secondNavs = nav_first.querySelectorAll('#nav-second');
|
|
55
|
+
|
|
56
|
+
Array.prototype.forEach.call(secondNavs, function (nav_second) {
|
|
57
|
+
if (page_tree[2] === nav_second.ariaLabel){
|
|
58
|
+
nav_second.classList.toggle('active');
|
|
59
|
+
|
|
60
|
+
var thirdNavs = nav_second.querySelectorAll('#nav-third');
|
|
61
|
+
|
|
62
|
+
Array.prototype.forEach.call(thirdNavs, function (nav_third) {
|
|
63
|
+
if (page_tree[3] === nav_third.ariaLabel){
|
|
64
|
+
nav_third.classList.toggle('active');
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// navigation (toogle sub-category)
|
|
73
|
+
document.addEventListener('click', function(e){
|
|
74
|
+
var target = e.target;
|
|
75
|
+
|
|
76
|
+
while (target && !(target.classList && target.classList.contains('nav-list-expander'))) {
|
|
77
|
+
target = target.parentNode;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (target) {
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
var nav_item = target.parentNode;
|
|
83
|
+
target.ariaPressed = nav_item.parentNode.classList.toggle('active');
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
document.querySelectorAll('.nav-item').forEach((nav_item) => {
|
|
88
|
+
if (nav_item.parentNode.classList.contains('active')){
|
|
89
|
+
nav_item.classList.add('selected');
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
nav_item.classList.remove('selected');
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// Change Datk/Light Theme
|
|
97
|
+
const themeButton = document.querySelectorAll("#btn-brightness");
|
|
98
|
+
|
|
99
|
+
themeButton.forEach((btn) => {
|
|
100
|
+
btn.addEventListener('click', function() {
|
|
101
|
+
const moonIcons = document.querySelectorAll(".ico-dark");
|
|
102
|
+
const sunIcons = document.querySelectorAll(".ico-light");
|
|
103
|
+
|
|
104
|
+
moonIcons.forEach((ico) => {
|
|
105
|
+
ico.classList.toggle('active');
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
sunIcons.forEach((ico) => {
|
|
109
|
+
ico.classList.toggle('active');
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
document.body.classList.toggle('dark-theme');
|
|
113
|
+
|
|
114
|
+
if (isDarkMode){
|
|
115
|
+
localStorage.setItem('theme', 'default');
|
|
116
|
+
// Disable highlighter dark color theme
|
|
117
|
+
document.getElementById("highlight-default").disabled=false;
|
|
118
|
+
document.getElementById("highlight-dark").disabled=true;
|
|
119
|
+
changeGiscusTheme('light');
|
|
120
|
+
isDarkMode = false;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
localStorage.setItem('theme', 'dark');
|
|
124
|
+
// Disable highlighter default color theme
|
|
125
|
+
document.getElementById("highlight-default").disabled=true;
|
|
126
|
+
document.getElementById("highlight-dark").disabled=false;
|
|
127
|
+
changeGiscusTheme('noborder_gray');
|
|
128
|
+
isDarkMode = true;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
function changeGiscusTheme(theme) {
|
|
134
|
+
const iframe = document.querySelector('iframe.giscus-frame');
|
|
135
|
+
if (!iframe) return;
|
|
136
|
+
|
|
137
|
+
const message = {
|
|
138
|
+
setConfig: {
|
|
139
|
+
theme: theme
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// search box
|
|
147
|
+
const searchButton = document.querySelectorAll("#btn-search");
|
|
148
|
+
const cancelButton = document.querySelector('#btn-clear');
|
|
149
|
+
const searchPage = document.querySelector("#search");
|
|
150
|
+
|
|
151
|
+
if (searchButton) {
|
|
152
|
+
searchButton.forEach((btn) => {
|
|
153
|
+
btn.addEventListener('click', function() {
|
|
154
|
+
searchPage.classList.add('active');
|
|
155
|
+
$('#search-input').focus();
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (searchPage) {
|
|
161
|
+
searchPage.addEventListener('click', function(event) {
|
|
162
|
+
const searchBar = document.querySelector(".search-box");
|
|
163
|
+
var target = event.target;
|
|
164
|
+
|
|
165
|
+
if (searchBar.contains(target))
|
|
166
|
+
return;
|
|
167
|
+
|
|
168
|
+
searchPage.classList.remove('active');
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (cancelButton) {
|
|
173
|
+
cancelButton.addEventListener('click', function() {
|
|
174
|
+
$('.result-item').remove();
|
|
175
|
+
$('#search-input').val("");
|
|
176
|
+
$('#btn-clear').hide();
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* Font Face Observer v2.3.0 - © Bram Stein. License: BSD-3-Clause */(function(){'use strict';var f,g=[];function l(a){g.push(a);1==g.length&&f()}function m(){for(;g.length;)g[0](),g.shift()}f=function(){setTimeout(m)};function n(a){this.a=p;this.b=void 0;this.f=[];var b=this;try{a(function(a){q(b,a)},function(a){r(b,a)})}catch(c){r(b,c)}}var p=2;function t(a){return new n(function(b,c){c(a)})}function u(a){return new n(function(b){b(a)})}function q(a,b){if(a.a==p){if(b==a)throw new TypeError;var c=!1;try{var d=b&&b.then;if(null!=b&&"object"==typeof b&&"function"==typeof d){d.call(b,function(b){c||q(a,b);c=!0},function(b){c||r(a,b);c=!0});return}}catch(e){c||r(a,e);return}a.a=0;a.b=b;v(a)}}
|
|
2
|
+
function r(a,b){if(a.a==p){if(b==a)throw new TypeError;a.a=1;a.b=b;v(a)}}function v(a){l(function(){if(a.a!=p)for(;a.f.length;){var b=a.f.shift(),c=b[0],d=b[1],e=b[2],b=b[3];try{0==a.a?"function"==typeof c?e(c.call(void 0,a.b)):e(a.b):1==a.a&&("function"==typeof d?e(d.call(void 0,a.b)):b(a.b))}catch(h){b(h)}}})}n.prototype.g=function(a){return this.c(void 0,a)};n.prototype.c=function(a,b){var c=this;return new n(function(d,e){c.f.push([a,b,d,e]);v(c)})};
|
|
3
|
+
function w(a){return new n(function(b,c){function d(c){return function(d){h[c]=d;e+=1;e==a.length&&b(h)}}var e=0,h=[];0==a.length&&b(h);for(var k=0;k<a.length;k+=1)u(a[k]).c(d(k),c)})}function x(a){return new n(function(b,c){for(var d=0;d<a.length;d+=1)u(a[d]).c(b,c)})};window.Promise||(window.Promise=n,window.Promise.resolve=u,window.Promise.reject=t,window.Promise.race=x,window.Promise.all=w,window.Promise.prototype.then=n.prototype.c,window.Promise.prototype["catch"]=n.prototype.g);}());
|
|
4
|
+
|
|
5
|
+
(function(){function p(a,c){document.addEventListener?a.addEventListener("scroll",c,!1):a.attachEvent("scroll",c)}function u(a){document.body?a():document.addEventListener?document.addEventListener("DOMContentLoaded",function b(){document.removeEventListener("DOMContentLoaded",b);a()}):document.attachEvent("onreadystatechange",function g(){if("interactive"==document.readyState||"complete"==document.readyState)document.detachEvent("onreadystatechange",g),a()})};function w(a){this.g=document.createElement("div");this.g.setAttribute("aria-hidden","true");this.g.appendChild(document.createTextNode(a));this.h=document.createElement("span");this.i=document.createElement("span");this.m=document.createElement("span");this.j=document.createElement("span");this.l=-1;this.h.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";this.i.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";
|
|
6
|
+
this.j.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";this.m.style.cssText="display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;";this.h.appendChild(this.m);this.i.appendChild(this.j);this.g.appendChild(this.h);this.g.appendChild(this.i)}
|
|
7
|
+
function x(a,c){a.g.style.cssText="max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:"+c+";"}function B(a){var c=a.g.offsetWidth,b=c+100;a.j.style.width=b+"px";a.i.scrollLeft=b;a.h.scrollLeft=a.h.scrollWidth+100;return a.l!==c?(a.l=c,!0):!1}function C(a,c){function b(){var e=g;B(e)&&null!==e.g.parentNode&&c(e.l)}var g=a;p(a.h,b);p(a.i,b);B(a)};function D(a,c,b){c=c||{};b=b||window;this.family=a;this.style=c.style||"normal";this.weight=c.weight||"normal";this.stretch=c.stretch||"normal";this.context=b}var E=null,F=null,G=null,H=null;function I(a){null===F&&(M(a)&&/Apple/.test(window.navigator.vendor)?(a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))(?:\.([0-9]+))/.exec(window.navigator.userAgent),F=!!a&&603>parseInt(a[1],10)):F=!1);return F}function M(a){null===H&&(H=!!a.document.fonts);return H}
|
|
8
|
+
function N(a,c){var b=a.style,g=a.weight;if(null===G){var e=document.createElement("div");try{e.style.font="condensed 100px sans-serif"}catch(q){}G=""!==e.style.font}return[b,g,G?a.stretch:"","100px",c].join(" ")}
|
|
9
|
+
D.prototype.load=function(a,c){var b=this,g=a||"BESbswy",e=0,q=c||3E3,J=(new Date).getTime();return new Promise(function(K,L){if(M(b.context)&&!I(b.context)){var O=new Promise(function(r,t){function h(){(new Date).getTime()-J>=q?t(Error(""+q+"ms timeout exceeded")):b.context.document.fonts.load(N(b,'"'+b.family+'"'),g).then(function(n){1<=n.length?r():setTimeout(h,25)},t)}h()}),P=new Promise(function(r,t){e=setTimeout(function(){t(Error(""+q+"ms timeout exceeded"))},q)});Promise.race([P,O]).then(function(){clearTimeout(e);
|
|
10
|
+
K(b)},L)}else u(function(){function r(){var d;if(d=-1!=k&&-1!=l||-1!=k&&-1!=m||-1!=l&&-1!=m)(d=k!=l&&k!=m&&l!=m)||(null===E&&(d=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),E=!!d&&(536>parseInt(d[1],10)||536===parseInt(d[1],10)&&11>=parseInt(d[2],10))),d=E&&(k==y&&l==y&&m==y||k==z&&l==z&&m==z||k==A&&l==A&&m==A)),d=!d;d&&(null!==f.parentNode&&f.parentNode.removeChild(f),clearTimeout(e),K(b))}function t(){if((new Date).getTime()-J>=q)null!==f.parentNode&&f.parentNode.removeChild(f),
|
|
11
|
+
L(Error(""+q+"ms timeout exceeded"));else{var d=b.context.document.hidden;if(!0===d||void 0===d)k=h.g.offsetWidth,l=n.g.offsetWidth,m=v.g.offsetWidth,r();e=setTimeout(t,50)}}var h=new w(g),n=new w(g),v=new w(g),k=-1,l=-1,m=-1,y=-1,z=-1,A=-1,f=document.createElement("div");f.dir="ltr";x(h,N(b,"sans-serif"));x(n,N(b,"serif"));x(v,N(b,"monospace"));f.appendChild(h.g);f.appendChild(n.g);f.appendChild(v.g);b.context.document.body.appendChild(f);y=h.g.offsetWidth;z=n.g.offsetWidth;A=v.g.offsetWidth;t();
|
|
12
|
+
C(h,function(d){k=d;r()});x(h,N(b,'"'+b.family+'",sans-serif'));C(n,function(d){l=d;r()});x(n,N(b,'"'+b.family+'",serif'));C(v,function(d){m=d;r()});x(v,N(b,'"'+b.family+'",monospace'))})})};"object"===typeof module?module.exports=D:(window.FontFaceObserver=D,window.FontFaceObserver.prototype.load=D.prototype.load);}());
|