jekyll-theme-satellite 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/_config.yml +82 -0
  4. data/_includes/loading.html +6 -0
  5. data/_includes/navigation.html +84 -0
  6. data/_includes/pagination.html +71 -0
  7. data/_includes/post.html +65 -0
  8. data/_includes/search.html +21 -0
  9. data/_includes/sidebar.html +83 -0
  10. data/_layouts/default.html +113 -0
  11. data/_sass/darkmode.scss +211 -0
  12. data/_sass/layout.scss +57 -0
  13. data/_sass/navigation.scss +178 -0
  14. data/_sass/pagination.scss +253 -0
  15. data/_sass/post.scss +640 -0
  16. data/_sass/search.scss +248 -0
  17. data/_sass/sidebar.scss +309 -0
  18. data/_sass/toc.scss +52 -0
  19. data/_sass/vars.scss +15 -0
  20. data/assets/css/highlight-dark.min.css +1 -0
  21. data/assets/css/highlight-default.min.css +1 -0
  22. data/assets/css/style.scss +89 -0
  23. data/assets/fonts/Lato-Regular.ttf +0 -0
  24. data/assets/fonts/NunitoSans-Regular.ttf +0 -0
  25. data/assets/fonts/Righteous-Regular.ttf +0 -0
  26. data/assets/img/La-Mancha.jpg +0 -0
  27. data/assets/img/example.jpg +0 -0
  28. data/assets/img/favicon.webp +0 -0
  29. data/assets/img/icon/book-solid.svg +1 -0
  30. data/assets/img/icon/calendar-days-regular.svg +1 -0
  31. data/assets/img/icon/clipboard-regular.svg +1 -0
  32. data/assets/img/icon/folder-open-regular.svg +1 -0
  33. data/assets/img/icon/tags-solid.svg +1 -0
  34. data/assets/img/loading.webp +0 -0
  35. data/assets/img/profile.jpg +0 -0
  36. data/assets/img/sorry.png +0 -0
  37. data/assets/img/thumbnail/book.jpg +0 -0
  38. data/assets/img/thumbnail/bricks.webp +0 -0
  39. data/assets/img/thumbnail/empty.jpg +0 -0
  40. data/assets/img/thumbnail/nightgardenflower.jpg +0 -0
  41. data/assets/img/thumbnail/sample.png +0 -0
  42. data/assets/img/tile.png +0 -0
  43. data/assets/js/404.js +22 -0
  44. data/assets/js/highlight.min.js +1213 -0
  45. data/assets/js/main.js +709 -0
  46. data/assets/js/stars.js +700 -0
  47. data/assets/js/sweet-scroll.min.js +2 -0
  48. data/assets/js/tocbot.min.js +1 -0
  49. metadata +104 -0
data/_sass/post.scss ADDED
@@ -0,0 +1,640 @@
1
+ #post {
2
+ max-width: #{$contentwd};
3
+ margin: auto;
4
+ }
5
+
6
+ .inner-header {
7
+ display: none;
8
+ background: linear-gradient(180deg, rgba(240,240,240,1) 0%, rgba(224,224,224,1) 100%);
9
+ border-radius: 1rem 1rem 0 0;
10
+ padding: 0.5rem 1rem;
11
+
12
+ .dot {
13
+ height: 1rem;
14
+ width: 1rem;
15
+ margin: 0 0.25rem;
16
+ border-radius: 50%;
17
+ display: inline-block;
18
+ }
19
+ }
20
+
21
+ .inner-content {
22
+ background: #fff;
23
+
24
+ img {
25
+ display: block;
26
+ text-align: center;
27
+ width: 100%;
28
+ margin: auto;
29
+ }
30
+
31
+ .img-xs { width: 12.5% !important; }
32
+
33
+ .img-sm { width: 25% !important; }
34
+
35
+ .img-md { width: 50% !important; }
36
+
37
+ .img-lg { width: 75% !important; }
38
+ }
39
+
40
+ .thumbnail {
41
+ display: block;
42
+ position: relative;
43
+ width: 100%;
44
+ aspect-ratio: 2;
45
+ margin: auto;
46
+ background-size: cover;
47
+ background-position: center center;
48
+ box-shadow: 0 16px 16px 8px rgba(31, 35, 46, .15);
49
+ }
50
+
51
+ .transbox {
52
+ position: absolute;
53
+ top: 50%;
54
+ left: 50%;
55
+ -webkit-transform: translate(-50%, -50%);
56
+ -moz-transform: translate(-50%, -50%);
57
+ transform: translate(-50%, -50%);
58
+ width: 100%;
59
+ margin: auto;
60
+ padding: 1rem 0;
61
+ text-align: center;
62
+ backdrop-filter: blur(4px);
63
+ background-color: rgba(255, 255, 255, 0.5);
64
+ }
65
+
66
+ .post-title {
67
+ font-family: 'Lato', sans-serif;
68
+ font-size: 1.25rem;
69
+ word-spacing: 4px;
70
+ font-weight: 600;
71
+ word-wrap: break-word;
72
+ }
73
+
74
+ .post-info {
75
+ margin-top: 1.25rem;
76
+ font-size: 0.875rem;
77
+
78
+ svg { width: 14px; }
79
+ }
80
+
81
+ .info-box {
82
+ display: inline-flex;
83
+ border-radius: 8px;
84
+ margin: 0;
85
+ padding: 6px;
86
+ position: relative;
87
+ transition: all .5s;
88
+
89
+ background:
90
+ linear-gradient(
91
+ to right,
92
+ rgba(100, 200, 200, 1),
93
+ rgba(100, 200, 200, 1)
94
+ ),
95
+ linear-gradient(
96
+ to right,
97
+ rgba(255, 0, 0, 1),
98
+ rgba(255, 0, 180, 1),
99
+ rgba(0, 100, 200, 1)
100
+ );
101
+ background-size: 100% 3px, 0 3px;
102
+ background-position: 100% 100%, 0 100%;
103
+ background-repeat: no-repeat;
104
+
105
+ &:hover {
106
+ background-size: 0 3px, 100% 3px;
107
+ box-shadow: 0 3px 48px 12px rgba(100, 200, 200, 1);
108
+ }
109
+
110
+ svg { margin-right: 4px; }
111
+ }
112
+
113
+ .tags { margin: 1rem; }
114
+
115
+ .tag-box {
116
+ display: inline-block;
117
+ position: relative;
118
+ margin: 0.75rem;
119
+ padding: 0 0.75rem;
120
+ line-height: 1.5rem;
121
+ color: #fff !important;
122
+ font-size: 1rem;
123
+ text-shadow: 0 1px 2px rgba(0,0,0,0.6);
124
+ cursor: pointer;
125
+
126
+ &:before {
127
+ content: "";
128
+ position: absolute;
129
+ left: -12px;
130
+ border-style: solid;
131
+ border-width: 12px 12px 12px 0;
132
+ }
133
+
134
+ &:after {
135
+ content: "";
136
+ position: absolute;
137
+ top: 10px;
138
+ left: 1px;
139
+ width: 5px;
140
+ height: 5px;
141
+ -webkit-border-radius: 50%;
142
+ border-radius: 50%;
143
+ background: #fff;
144
+ -webkit-box-shadow: -1px -1px 2px rgba(0,0,0,0.4);
145
+ box-shadow: -1px -1px 2px rgba(0,0,0,0.4);
146
+ }
147
+
148
+ &:hover {
149
+ animation: pulse 1s infinite;
150
+ transition: 0.3s;
151
+ }
152
+
153
+ @keyframes pulse {
154
+ 0% { transform: scale(1); }
155
+
156
+ 70% { transform: scale(0.9); }
157
+
158
+ 100% { transform: scale(1); }
159
+ }
160
+ }
161
+
162
+ .theme-0 {
163
+ background: hsl(50, 65%, 50%);
164
+
165
+ &::before { border-color: transparent hsl(50, 65%, 50%) transparent transparent; }
166
+ }
167
+
168
+ .theme-1 {
169
+ background: hsl(360, 65%, 50%);
170
+
171
+ &::before { border-color: transparent hsl(360, 65%, 50%) transparent transparent; }
172
+ }
173
+
174
+ .theme-2 {
175
+ background: hsl(200, 65%, 50%);
176
+
177
+ &::before { border-color: transparent hsl(200, 65%, 50%) transparent transparent; }
178
+ }
179
+
180
+ main {
181
+ padding: 1rem;
182
+ margin: auto;
183
+ font-size: 1rem;
184
+ font-family: 'Nunito Sans', sans-serif;
185
+ line-height: 200%;
186
+ position: relative;
187
+ overflow-wrap: break-word;
188
+ word-wrap: break-word;
189
+
190
+ * { margin: auto; }
191
+
192
+ h1, h2, h3 {
193
+ font-family: "Helvetica";
194
+ margin-bottom: -1.5rem;
195
+ padding-top: 2rem;
196
+ }
197
+
198
+ h1, .sh1 { font-size: 1.75rem; }
199
+
200
+ h2, .sh2 { font-size: 1.375rem; }
201
+
202
+ h3, .sh3 { font-size: 1.125rem; }
203
+
204
+ p { text-align:justify; }
205
+
206
+ u {
207
+ color: $color-rose;
208
+ text-underline-offset: 2px;
209
+ }
210
+
211
+ em { padding-right: 2px; }
212
+
213
+ a {
214
+ color: dodgerblue;
215
+ text-decoration: none;
216
+
217
+ &::before {
218
+ position: absolute;
219
+ content: attr(data-content);
220
+ color: midnightblue;
221
+ text-decoration: underline;
222
+ text-decoration-style: wavy;
223
+ text-underline-offset: 4px;
224
+ text-decoration-color: midnightblue;
225
+ clip-path: polygon(0 0, 0 0, 0% 100%, 0 100%);
226
+ transition: clip-path .25s;
227
+ }
228
+
229
+ &:hover::before {
230
+ clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
231
+ }
232
+ }
233
+
234
+ p, ul, hr, table { margin-top: 2rem; }
235
+
236
+ ul { padding-left: 2rem; }
237
+
238
+ li > ul { margin-top: 0; }
239
+
240
+ code {
241
+ margin: 0 2px;
242
+ padding: 1px 5px;
243
+ border: 1px solid #eaeaea;
244
+ background-color: #f4f4f4;
245
+ border-radius: 3px;
246
+ font-family:'Courier New', Courier, monospace;
247
+ color: $color-darkorange;
248
+ position: relative;
249
+ top: -1px;
250
+ vertical-align: middle;
251
+ }
252
+
253
+ .highlighter-rouge .highlight {
254
+ background: #f4f4f4;
255
+ border: 1px solid #eaeaea;
256
+ border-radius: 3px;
257
+ margin: 0.5rem auto;
258
+
259
+ pre {
260
+ margin: 0;
261
+ border: none;
262
+ overflow-x: auto;
263
+ position: relative;
264
+
265
+ button {
266
+ display: none;
267
+ position: absolute;
268
+ top: 20px;
269
+ right: 20px;
270
+ width: 2rem;
271
+ height: 2rem;
272
+ font-size: 1.125rem;
273
+ color: #777;
274
+ padding: 0.25rem;
275
+ background-color: #ddd;
276
+ border-radius: 4px;
277
+
278
+ svg {
279
+ background-color: darkslategrey !important;
280
+ -webkit-mask-image: url(/assets/img/icon/clipboard-regular.svg);
281
+ mask-image: url(/assets/img/icon/clipboard-regular.svg);
282
+ mask-repeat: no-repeat;
283
+ mask-position: center;
284
+ mask-size: 80%;
285
+ }
286
+
287
+ &:after {
288
+ content: "";
289
+ display: block;
290
+ position: absolute;
291
+ border-radius: 4rem;
292
+ left:0;
293
+ top:0;
294
+ width: 100%;
295
+ height: 100%;
296
+ opacity: 0;
297
+ transition: .5s;
298
+ box-shadow: 0 0 6px 24px #888;
299
+ }
300
+
301
+ &:active:after {
302
+ box-shadow: 0 0 0 0 #888;
303
+ position: absolute;
304
+ border-radius: 4rem;
305
+ left:0;
306
+ top:0;
307
+ opacity: 1;
308
+ transition: 0s;
309
+ }
310
+ }
311
+
312
+ &:hover {
313
+ button { display: block; }
314
+ }
315
+ }
316
+
317
+ code {
318
+ margin: 0;
319
+ padding: 1.5rem 1rem;
320
+ border: none;
321
+ }
322
+ }
323
+
324
+ blockquote {
325
+ background: $color-beige;
326
+ border-left: 4px solid burlywood;
327
+ border-radius: 4px;
328
+ box-shadow: 0 1px 2px rgba(0,0,0,.15), 0 3px 10px rgba(0,0,0,.1);
329
+ padding-left: 1rem;
330
+ padding-right: 1rem;
331
+ margin: 0.5rem auto;
332
+ word-break: break-all;
333
+
334
+ p {
335
+ margin: 0;
336
+ padding: 1rem 0;
337
+ }
338
+ }
339
+
340
+ .table-wrapper { overflow-x: auto; }
341
+
342
+ table {
343
+ display: block;
344
+ max-width: -moz-fit-content;
345
+ max-width: fit-content;
346
+ overflow-x: auto;
347
+ white-space: nowrap;
348
+ position: relative;
349
+ background-color: #fff;
350
+ border-radius: 10px;
351
+ border-collapse: collapse;
352
+ line-height: 1.5;
353
+ box-shadow: 0 0 40px 0 rgba(0,0,0,.15);
354
+
355
+ thead { box-shadow: 0 0 40px 0 rgba(0,0,0,.15); }
356
+
357
+ th, td {
358
+ border: 1px solid lightgrey;
359
+ word-wrap: break-word;
360
+ white-space: initial;
361
+ max-width: 16rem;
362
+ }
363
+
364
+ thead tr { height: 3.5rem; }
365
+
366
+ tbody tr { height: 3rem; }
367
+
368
+ tbody td, thead th { padding: 0.5rem; }
369
+
370
+ tr:first-child th { border-top: 0; }
371
+
372
+ td:first-child, th:first-child { border-left: 0; }
373
+
374
+ td:last-child, th:last-child { border-right: 0; }
375
+ }
376
+
377
+ li { padding: 0.25rem 0; }
378
+
379
+ hr {
380
+ border: 0;
381
+ height: 2px;
382
+ margin-bottom: -1.5rem;
383
+ background: burlywood;
384
+ }
385
+
386
+ img + em {
387
+ display: block;
388
+ text-align: center;
389
+ color: dimgrey;
390
+ font-size: 0.875rem;
391
+ font-style: normal;
392
+ }
393
+ }
394
+
395
+ #related-box {
396
+ margin-top: 2rem;
397
+
398
+ span { font-size: 1.25rem; }
399
+
400
+ svg {
401
+ width: 20px;
402
+ display: inline-flex;
403
+ transform: translateY(3px);
404
+ }
405
+ }
406
+
407
+ #related-posts {
408
+ display: inline-table;
409
+ position: relative;
410
+ width: 100%;
411
+ margin: 1rem 0;
412
+ padding: 0;
413
+
414
+ li {
415
+ float: left;
416
+ position: relative;
417
+ width: 45%;
418
+ margin-left: 5%;
419
+ margin-bottom: 2rem;
420
+ padding: 0;
421
+ list-style: none;
422
+ transition: .3s;
423
+
424
+ &:hover {
425
+ transform: translate(0px, -4px);
426
+ box-shadow: 8px 8px 16px -4px rgba(0, 0, 255, .2);
427
+ }
428
+ }
429
+
430
+ li:nth-child(3n+1) { margin-left: 0; }
431
+
432
+ a {
433
+ width: 100%;
434
+ display: inline-block;
435
+ text-decoration: none;
436
+
437
+ p {
438
+ width: 100%;
439
+ margin: 8px 0;
440
+ line-height: 1.25;
441
+ font-family: Verdana, Tahoma, sans-serif;
442
+ }
443
+ }
444
+
445
+ img {
446
+ display: block;
447
+ width: 100%;
448
+ aspect-ratio: 1.5/1;
449
+ }
450
+
451
+ .category {
452
+ color: $color-aqua;
453
+ font-size: 1rem;
454
+ }
455
+
456
+ .title {
457
+ display: -webkit-box;
458
+ color: $color-darkbrown;
459
+ font-size: 1.125rem;
460
+ font-weight: 600;
461
+ height: 2.5em;
462
+ text-align: left;
463
+ overflow: hidden;
464
+ text-overflow: ellipsis;
465
+ -webkit-line-clamp: 2;
466
+ -webkit-box-orient: vertical;
467
+ word-wrap: break-word;
468
+ }
469
+
470
+ .date {
471
+ color: goldenrod;
472
+ font-size: 0.875rem;
473
+ text-transform: uppercase;
474
+ }
475
+ }
476
+
477
+ .top-arrow {
478
+ position: fixed;
479
+ display: none;
480
+ bottom: 2rem;
481
+ right: 2rem;
482
+ width: 48px;
483
+ background: rgba(100, 200, 200, 0.75);
484
+ cursor: pointer;
485
+
486
+ &, &:before{
487
+ aspect-ratio: 1.0;
488
+ border-radius: 50%;
489
+ }
490
+
491
+ &:before{
492
+ content: "";
493
+ width: 40px;
494
+ border: 2px solid #fff;
495
+ position: absolute;
496
+ top: 2px;
497
+ left: 2px;
498
+ }
499
+
500
+ svg {
501
+ width: 28px;
502
+ top: 11px;
503
+ left: 10px;
504
+ fill: #fff !important;
505
+ filter: drop-shadow(0 1px 2px rgba(0,0,0,0.6));
506
+ position: absolute;
507
+ animation: ascend 2s infinite;
508
+ }
509
+
510
+ @keyframes ascend {
511
+ 0% {
512
+ opacity: 0;
513
+ transform: translateY(8px);
514
+ }
515
+ 50% {
516
+ opacity: 1;
517
+ }
518
+ 100% {
519
+ opacity: 0;
520
+ transform: translateY(-8px);
521
+ }
522
+ }
523
+ }
524
+
525
+ .arrow-open { display: block; }
526
+
527
+ @include mq(tablet){
528
+ .transbox {
529
+ width: 87.5%;
530
+ padding: 2rem;
531
+ }
532
+
533
+ .post-title { font-size: 2.25rem; }
534
+
535
+ .post-info {
536
+ margin-top: 4rem;
537
+ font-size: 1.25rem;
538
+
539
+ svg { width: 20px; }
540
+ }
541
+
542
+ .info-box {
543
+ margin: 0 8px;
544
+ padding: 8px;
545
+ background-size: 100% 4px, 0 4px;
546
+
547
+ &:hover {
548
+ background-size: 0 4px, 100% 4px;
549
+ box-shadow: 0 4px 64px 16px rgba(100, 200, 200, 1);
550
+ }
551
+
552
+ svg { margin-right: 8px; }
553
+ }
554
+
555
+ .tags { margin: 1rem 3rem; }
556
+
557
+ .tag-box {
558
+ margin: 1rem;
559
+ padding: 0 1rem;
560
+ line-height: 2rem;
561
+ font-size: 1.125rem;
562
+
563
+ &:before {
564
+ left: -1rem;
565
+ border-width: 16px 16px 16px 0;
566
+ }
567
+
568
+ &:after {
569
+ top: 14px;
570
+ left: 2px;
571
+ }
572
+ }
573
+
574
+ main {
575
+ padding: 2.5rem;
576
+ padding-top: 0;
577
+ font-size: 1.125rem;
578
+
579
+ h1, h2, h3, hr { margin-bottom: -2.25rem; }
580
+
581
+ h1, .sh1 {
582
+ font-size: 2.25rem;
583
+ padding-top: 5rem;
584
+ }
585
+
586
+ h2, .sh2 {
587
+ font-size: 1.75rem;
588
+ padding-top: 4rem;
589
+ }
590
+
591
+ h3, .sh3 {
592
+ font-size: 1.375rem;
593
+ padding-top: 3rem;
594
+ }
595
+
596
+ p, ul, hr, table { margin-top: 3rem; }
597
+
598
+ table {
599
+ tbody td, thead th { padding: 1rem; }
600
+ }
601
+
602
+ code { font-size: 1rem; }
603
+
604
+ blockquote p { font-size: 1rem; }
605
+ }
606
+
607
+ #related-box {
608
+ margin-top: 4rem;
609
+
610
+ span { font-size: 1.5rem; }
611
+
612
+ svg { width: 24px; }
613
+ }
614
+
615
+ #related-posts li { width: 30%; }
616
+ }
617
+
618
+ @include mq(desktop){
619
+ #post {
620
+ margin: 4rem 0;
621
+ margin-left: #{$sidebarwd};
622
+ width: var(--pagewidth-desktop);
623
+ display: inline-block;
624
+ }
625
+
626
+ .inner-header { display: block; }
627
+
628
+ .inner-content {
629
+ border-radius: 0 0 1rem 1rem;
630
+ box-shadow: 0 16px 16px 8px rgba(31, 35, 46, 0.15);
631
+ }
632
+
633
+ .top-arrow { left: calc(#{$sidebarwd} + var(--pagewidth-desktop) - 4rem); }
634
+ }
635
+
636
+ @include mq(wide){
637
+ #post { margin-left: calc((100vw - #{$contentwd})/2); }
638
+
639
+ .top-arrow { left: calc(50vw + #{$contentwd}/2 - 4rem); }
640
+ }