jekyll-theme-chirpy 7.1.1 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/_data/locales/hu-HU.yml +20 -7
  3. data/_data/origin/cors.yml +4 -4
  4. data/_includes/analytics/cloudflare.html +0 -1
  5. data/_includes/analytics/fathom.html +2 -3
  6. data/_includes/analytics/google.html +1 -1
  7. data/_includes/analytics/matomo.html +6 -7
  8. data/_includes/comments/disqus.html +36 -29
  9. data/_includes/comments/giscus.html +14 -30
  10. data/_includes/comments/utterances.html +26 -37
  11. data/_includes/head.html +24 -3
  12. data/_includes/js-selector.html +3 -26
  13. data/_includes/jsdelivr-combine.html +4 -4
  14. data/_includes/search-loader.html +22 -20
  15. data/_includes/sidebar.html +1 -3
  16. data/_includes/toc-status.html +10 -0
  17. data/_includes/toc.html +4 -8
  18. data/_layouts/default.html +8 -4
  19. data/_layouts/home.html +26 -19
  20. data/_layouts/post.html +29 -2
  21. data/_sass/abstracts/_breakpoints.scss +73 -0
  22. data/_sass/abstracts/_index.scss +4 -0
  23. data/_sass/abstracts/_mixins.scss +80 -0
  24. data/_sass/{addon/module.scss → abstracts/_placeholders.scss} +22 -55
  25. data/_sass/{addon/variables.scss → abstracts/_variables.scss} +0 -4
  26. data/_sass/base/_base.scss +476 -0
  27. data/_sass/base/_index.scss +4 -0
  28. data/_sass/base/_reset.scss +41 -0
  29. data/_sass/{addon/syntax.scss → base/_syntax.scss} +46 -85
  30. data/_sass/base/_typography.scss +266 -0
  31. data/_sass/components/_buttons.scss +51 -0
  32. data/_sass/components/_index.scss +2 -0
  33. data/_sass/components/_popups.scss +172 -0
  34. data/_sass/layout/_footer.scss +36 -0
  35. data/_sass/layout/_index.scss +4 -0
  36. data/_sass/layout/_panel.scss +70 -0
  37. data/_sass/layout/_sidebar.scss +258 -0
  38. data/_sass/layout/_topbar.scss +86 -0
  39. data/_sass/main.bundle.scss +2 -2
  40. data/_sass/main.scss +4 -13
  41. data/_sass/{layout/archives.scss → pages/_archives.scss} +12 -16
  42. data/_sass/{layout/categories.scss → pages/_categories.scss} +5 -6
  43. data/_sass/{layout/category-tag.scss → pages/_category-tag.scss} +11 -20
  44. data/_sass/{layout/home.scss → pages/_home.scss} +54 -70
  45. data/_sass/pages/_index.scss +7 -0
  46. data/_sass/{layout/post.scss → pages/_post.scss} +183 -45
  47. data/_sass/pages/_search.scss +184 -0
  48. data/_sass/{layout/tags.scss → pages/_tags.scss} +7 -3
  49. data/_sass/{colors/typography-dark.scss → themes/_dark.scss} +163 -7
  50. data/_sass/themes/_light.scss +313 -0
  51. data/_sass/vendors/_bootstrap.scss +5 -0
  52. data/assets/css/jekyll-theme-chirpy.scss +1 -1
  53. data/assets/feed.xml +1 -1
  54. data/assets/js/dist/app.min.js +1 -1
  55. data/assets/js/dist/categories.min.js +2 -2
  56. data/assets/js/dist/commons.min.js +2 -2
  57. data/assets/js/dist/home.min.js +2 -2
  58. data/assets/js/dist/misc.min.js +2 -2
  59. data/assets/js/dist/page.min.js +2 -2
  60. data/assets/js/dist/post.min.js +2 -2
  61. data/assets/js/dist/sw.min.js +1 -1
  62. data/assets/js/dist/theme.min.js +4 -0
  63. metadata +35 -22
  64. data/_includes/mermaid.html +0 -62
  65. data/_includes/mode-toggle.html +0 -116
  66. data/_sass/addon/commons.scss +0 -1542
  67. data/_sass/colors/syntax-dark.scss +0 -164
  68. data/_sass/colors/syntax-light.scss +0 -210
  69. data/_sass/colors/typography-light.scss +0 -112
  70. data/_sass/dist/bootstrap.css +0 -5
  71. data/_sass/variables-hook.scss +0 -3
  72. /data/_includes/{comments.html → comment.html} +0 -0
@@ -1,1542 +0,0 @@
1
- /* The common styles */
2
-
3
- html {
4
- font-size: 16px;
5
-
6
- @media (prefers-color-scheme: light) {
7
- &:not([data-mode]),
8
- &[data-mode='light'] {
9
- @include light-scheme;
10
- }
11
-
12
- &[data-mode='dark'] {
13
- @include dark-scheme;
14
- }
15
- }
16
-
17
- @media (prefers-color-scheme: dark) {
18
- &:not([data-mode]),
19
- &[data-mode='dark'] {
20
- @include dark-scheme;
21
- }
22
-
23
- &[data-mode='light'] {
24
- @include light-scheme;
25
- }
26
- }
27
- }
28
-
29
- body {
30
- background: var(--main-bg);
31
- padding: env(safe-area-inset-top) env(safe-area-inset-right)
32
- env(safe-area-inset-bottom) env(safe-area-inset-left);
33
- color: var(--text-color);
34
- -webkit-font-smoothing: antialiased;
35
- font-family: $font-family-base;
36
- }
37
-
38
- /* --- Typography --- */
39
-
40
- @for $i from 1 through 5 {
41
- h#{$i} {
42
- @extend %heading;
43
-
44
- @if $i > 1 {
45
- @extend %anchor;
46
- }
47
-
48
- @if $i < 5 {
49
- $size-factor: 0.25rem;
50
-
51
- @if $i > 1 {
52
- $size-factor: 0.18rem;
53
-
54
- main & {
55
- @if $i == 2 {
56
- margin: 2.5rem 0 1.25rem;
57
- } @else {
58
- margin: 2rem 0 1rem;
59
- }
60
- }
61
- }
62
-
63
- & {
64
- font-size: 1rem + (5 - $i) * $size-factor;
65
- }
66
- } @else {
67
- font-size: 1.05rem;
68
- }
69
- }
70
- }
71
-
72
- a {
73
- @extend %link-color;
74
-
75
- text-decoration: none;
76
- }
77
-
78
- img {
79
- max-width: 100%;
80
- height: auto;
81
- transition: all 0.35s ease-in-out;
82
-
83
- .blur & {
84
- $blur: 20px;
85
-
86
- -webkit-filter: blur($blur);
87
- filter: blur($blur);
88
- }
89
- }
90
-
91
- blockquote {
92
- border-left: 0.125rem solid var(--blockquote-border-color);
93
- padding-left: 1rem;
94
- color: var(--blockquote-text-color);
95
- margin-top: 0.5rem;
96
-
97
- > p:last-child {
98
- margin-bottom: 0;
99
- }
100
-
101
- &[class^='prompt-'] {
102
- border-left: 0;
103
- position: relative;
104
- padding: 1rem 1rem 1rem 3rem;
105
- color: var(--prompt-text-color);
106
-
107
- @extend %rounded;
108
-
109
- &::before {
110
- text-align: center;
111
- width: 3rem;
112
- position: absolute;
113
- left: 0.25rem;
114
- margin-top: 0.4rem;
115
- text-rendering: auto;
116
- -webkit-font-smoothing: antialiased;
117
- }
118
- }
119
-
120
- @include prompt('tip', '\f0eb', $fa-style: 'regular');
121
- @include prompt('info', '\f06a', $rotate: 180);
122
- @include prompt('warning', '\f06a');
123
- @include prompt('danger', '\f071');
124
- }
125
-
126
- kbd {
127
- font-family: Lato, sans-serif;
128
- display: inline-block;
129
- vertical-align: middle;
130
- line-height: 1.3rem;
131
- min-width: 1.75rem;
132
- text-align: center;
133
- margin: 0 0.3rem;
134
- padding-top: 0.1rem;
135
- color: var(--kbd-text-color);
136
- background-color: var(--kbd-bg-color);
137
- border-radius: $radius-sm;
138
- border: solid 1px var(--kbd-wrap-color);
139
- box-shadow: inset 0 -2px 0 var(--kbd-wrap-color);
140
- }
141
-
142
- hr {
143
- border-color: var(--main-border-color);
144
- opacity: 1;
145
- }
146
-
147
- footer {
148
- background-color: var(--main-bg);
149
- height: $footer-height;
150
- border-top: 1px solid var(--main-border-color);
151
-
152
- @extend %text-xs;
153
-
154
- a {
155
- @extend %text-highlight;
156
-
157
- &:hover {
158
- @extend %link-hover;
159
- }
160
- }
161
-
162
- em {
163
- @extend %text-highlight;
164
- }
165
-
166
- p {
167
- text-align: center;
168
- margin-bottom: 0;
169
- }
170
- }
171
-
172
- /* fontawesome icons */
173
- i {
174
- &.far,
175
- &.fas {
176
- @extend %no-cursor;
177
- }
178
- }
179
-
180
- /* --- Panels --- */
181
-
182
- .access {
183
- top: 2rem;
184
- transition: top 0.2s ease-in-out;
185
- margin-top: 3rem;
186
- margin-bottom: 4rem;
187
-
188
- &:only-child {
189
- position: -webkit-sticky;
190
- position: sticky;
191
- }
192
-
193
- > section {
194
- padding-left: 1rem;
195
- border-left: 1px solid var(--main-border-color);
196
-
197
- &:not(:last-child) {
198
- margin-bottom: 4rem;
199
- }
200
- }
201
-
202
- .content {
203
- font-size: 0.9rem;
204
- }
205
- }
206
-
207
- #panel-wrapper {
208
- /* the headings */
209
- .panel-heading {
210
- font-family: inherit;
211
- line-height: inherit;
212
-
213
- @include label(inherit);
214
- }
215
-
216
- .post-tag {
217
- line-height: 1.05rem;
218
- font-size: 0.85rem;
219
- border-radius: 0.8rem;
220
- padding: 0.3rem 0.5rem;
221
- margin: 0 0.35rem 0.5rem 0;
222
-
223
- &:hover {
224
- transition: all 0.3s ease-in;
225
- }
226
- }
227
- }
228
-
229
- #access-lastmod {
230
- a {
231
- color: inherit;
232
-
233
- &:hover {
234
- @extend %link-hover;
235
- }
236
-
237
- @extend %no-bottom-border;
238
- }
239
- }
240
-
241
- .footnotes > ol {
242
- padding-left: 2rem;
243
- margin-top: 0.5rem;
244
-
245
- > li {
246
- &:not(:last-child) {
247
- margin-bottom: 0.3rem;
248
- }
249
-
250
- @extend %sup-fn-target;
251
-
252
- > p {
253
- margin-left: 0.25em;
254
- margin-top: 0;
255
- margin-bottom: 0;
256
- }
257
- }
258
- }
259
-
260
- .footnote {
261
- @at-root a#{&} {
262
- @include ml-mr(1px);
263
- @include pl-pr(2px);
264
-
265
- border-bottom-style: none !important;
266
- }
267
- }
268
-
269
- sup {
270
- @extend %sup-fn-target;
271
- }
272
-
273
- .reversefootnote {
274
- @at-root a#{&} {
275
- font-size: 0.6rem;
276
- line-height: 1;
277
- position: relative;
278
- bottom: 0.25em;
279
- margin-left: 0.25em;
280
- border-bottom-style: none !important;
281
- }
282
- }
283
-
284
- /* --- Begin of Markdown table style --- */
285
-
286
- /* it will be created by Liquid */
287
- .table-wrapper {
288
- overflow-x: auto;
289
- margin-bottom: 1.5rem;
290
-
291
- > table {
292
- min-width: 100%;
293
- overflow-x: auto;
294
- border-spacing: 0;
295
-
296
- thead {
297
- border-bottom: solid 2px rgba(210, 215, 217, 0.75);
298
-
299
- th {
300
- @extend %table-cell;
301
- }
302
- }
303
-
304
- tbody {
305
- tr {
306
- border-bottom: 1px solid var(--tb-border-color);
307
-
308
- &:nth-child(2n) {
309
- background-color: var(--tb-even-bg);
310
- }
311
-
312
- &:nth-child(2n + 1) {
313
- background-color: var(--tb-odd-bg);
314
- }
315
-
316
- td {
317
- @extend %table-cell;
318
- }
319
- }
320
- } /* tbody */
321
- } /* table */
322
- }
323
-
324
- /* --- post --- */
325
-
326
- .preview-img {
327
- aspect-ratio: 40 / 21;
328
- width: 100%;
329
- height: 100%;
330
- overflow: hidden;
331
-
332
- @extend %rounded;
333
-
334
- &:not(.no-bg) {
335
- background: var(--img-bg);
336
- }
337
-
338
- img {
339
- height: 100%;
340
- -o-object-fit: cover;
341
- object-fit: cover;
342
-
343
- @extend %rounded;
344
-
345
- @at-root #post-list & {
346
- width: 100%;
347
- }
348
- }
349
- }
350
-
351
- .post-preview {
352
- @extend %rounded;
353
-
354
- border: 0;
355
- background: var(--card-bg);
356
- box-shadow: var(--card-shadow);
357
-
358
- &::before {
359
- @extend %rounded;
360
-
361
- content: '';
362
- width: 100%;
363
- height: 100%;
364
- position: absolute;
365
- background-color: var(--card-hovor-bg);
366
- opacity: 0;
367
- transition: opacity 0.35s ease-in-out;
368
- }
369
-
370
- &:hover {
371
- &::before {
372
- opacity: 0.3;
373
- }
374
- }
375
- }
376
-
377
- main {
378
- line-height: 1.75;
379
-
380
- h1 {
381
- margin-top: 2rem;
382
- }
383
-
384
- p {
385
- > a.popup {
386
- &:not(.normal):not(.left):not(.right) {
387
- @include align-center;
388
- }
389
- }
390
- }
391
-
392
- .categories,
393
- #tags,
394
- #archives {
395
- a:not(:hover) {
396
- @extend %no-bottom-border;
397
- }
398
- }
399
- }
400
-
401
- .post-meta {
402
- @extend %text-sm;
403
-
404
- a {
405
- &:not([class]):hover {
406
- @extend %link-hover;
407
- }
408
- }
409
-
410
- em {
411
- @extend %normal-font-style;
412
- }
413
- }
414
-
415
- .content {
416
- font-size: 1.08rem;
417
- margin-top: 2rem;
418
- overflow-wrap: break-word;
419
-
420
- a {
421
- &.popup {
422
- @extend %no-cursor;
423
- @extend %img-caption;
424
- @include mt-mb(0.5rem);
425
-
426
- cursor: zoom-in;
427
- }
428
-
429
- &:not(.img-link) {
430
- @extend %link-underline;
431
-
432
- &:hover {
433
- @extend %link-hover;
434
- }
435
- }
436
- }
437
-
438
- ol,
439
- ul {
440
- &:not([class]),
441
- &.task-list {
442
- -webkit-padding-start: 1.75rem;
443
- padding-inline-start: 1.75rem;
444
-
445
- li {
446
- margin: 0.25rem 0;
447
- padding-left: 0.25rem;
448
- }
449
-
450
- ol,
451
- ul {
452
- -webkit-padding-start: 1.25rem;
453
- padding-inline-start: 1.25rem;
454
- margin: 0.5rem 0;
455
- }
456
- }
457
- }
458
-
459
- ul.task-list {
460
- -webkit-padding-start: 1.25rem;
461
- padding-inline-start: 1.25rem;
462
-
463
- li {
464
- list-style-type: none;
465
- padding-left: 0;
466
-
467
- /* checkbox icon */
468
- > i {
469
- width: 2rem;
470
- margin-left: -1.25rem;
471
- color: var(--checkbox-color);
472
-
473
- &.checked {
474
- color: var(--checkbox-checked-color);
475
- }
476
- }
477
-
478
- ul {
479
- -webkit-padding-start: 1.75rem;
480
- padding-inline-start: 1.75rem;
481
- }
482
- }
483
-
484
- input[type='checkbox'] {
485
- margin: 0 0.5rem 0.2rem -1.3rem;
486
- vertical-align: middle;
487
- }
488
- } /* ul */
489
-
490
- dl > dd {
491
- margin-left: 1rem;
492
- }
493
-
494
- ::marker {
495
- color: var(--text-muted-color);
496
- }
497
- } /* .content */
498
-
499
- .tag:hover {
500
- @extend %tag-hover;
501
- }
502
-
503
- .post-tag {
504
- display: inline-block;
505
- min-width: 2rem;
506
- text-align: center;
507
- border-radius: 0.5rem;
508
- border: 1px solid var(--btn-border-color);
509
- padding: 0 0.4rem;
510
- color: var(--text-muted-color);
511
- line-height: 1.3rem;
512
-
513
- &:not(:last-child) {
514
- margin-right: 0.2rem;
515
- }
516
- }
517
-
518
- .rounded-10 {
519
- border-radius: 10px !important;
520
- }
521
-
522
- .img-link {
523
- color: transparent;
524
- display: inline-flex;
525
- }
526
-
527
- .shimmer {
528
- overflow: hidden;
529
- position: relative;
530
- background: var(--img-bg);
531
-
532
- &::before {
533
- content: '';
534
- position: absolute;
535
- background: var(--shimmer-bg);
536
- height: 100%;
537
- width: 100%;
538
- -webkit-animation: shimmer 1.3s infinite;
539
- animation: shimmer 1.3s infinite;
540
- }
541
-
542
- @-webkit-keyframes shimmer {
543
- 0% {
544
- transform: translateX(-100%);
545
- }
546
-
547
- 100% {
548
- transform: translateX(100%);
549
- }
550
- }
551
-
552
- @keyframes shimmer {
553
- 0% {
554
- transform: translateX(-100%);
555
- }
556
-
557
- 100% {
558
- transform: translateX(100%);
559
- }
560
- }
561
- }
562
-
563
- .embed-video {
564
- width: 100%;
565
- height: 100%;
566
- margin-bottom: 1rem;
567
- aspect-ratio: 16 / 9;
568
-
569
- @extend %rounded;
570
-
571
- &.twitch {
572
- aspect-ratio: 310 / 189;
573
- }
574
-
575
- &.file {
576
- display: block;
577
- width: auto;
578
- height: auto;
579
- max-width: 100%;
580
- max-height: 100%;
581
- margin: auto;
582
- margin-bottom: 0;
583
- }
584
-
585
- @extend %img-caption;
586
- }
587
-
588
- .embed-audio {
589
- width: 100%;
590
- display: block;
591
-
592
- @extend %img-caption;
593
- }
594
-
595
- /* --- buttons --- */
596
- .btn-lang {
597
- border: 1px solid !important;
598
- padding: 1px 3px;
599
- border-radius: 3px;
600
- color: var(--link-color);
601
-
602
- &:focus {
603
- box-shadow: none;
604
- }
605
- }
606
-
607
- /* --- Effects classes --- */
608
-
609
- .flex-grow-1 {
610
- flex-grow: 1 !important;
611
- }
612
-
613
- .btn-box-shadow {
614
- box-shadow: var(--card-shadow);
615
- }
616
-
617
- /* overwrite bootstrap muted */
618
- .text-muted {
619
- color: var(--text-muted-color) !important;
620
- }
621
-
622
- /* Overwrite bootstrap tooltip */
623
- .tooltip-inner {
624
- font-size: 0.7rem;
625
- max-width: 220px;
626
- text-align: left;
627
- }
628
-
629
- /* Overwrite bootstrap outline button */
630
- .btn.btn-outline-primary {
631
- &:not(.disabled):hover {
632
- border-color: #007bff !important;
633
- }
634
- }
635
-
636
- .disabled {
637
- color: rgb(206, 196, 196);
638
- pointer-events: auto;
639
- cursor: not-allowed;
640
- }
641
-
642
- .hide-border-bottom {
643
- border-bottom: none !important;
644
- }
645
-
646
- .input-focus {
647
- box-shadow: none;
648
- border-color: var(--input-focus-border-color) !important;
649
- background: center !important;
650
- transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
651
- }
652
-
653
- .left {
654
- float: left;
655
- margin: 0.75rem 1rem 1rem 0;
656
- }
657
-
658
- .right {
659
- float: right;
660
- margin: 0.75rem 0 1rem 1rem;
661
- }
662
-
663
- /* --- Overriding --- */
664
-
665
- /* mermaid */
666
- .mermaid {
667
- text-align: center;
668
- }
669
-
670
- /* MathJax */
671
- mjx-container {
672
- overflow-y: hidden;
673
- min-width: auto !important;
674
- }
675
-
676
- /* --- sidebar layout --- */
677
-
678
- $sidebar-display: 'sidebar-display';
679
- $btn-border-width: 3px;
680
- $btn-mb: 0.5rem;
681
-
682
- #sidebar {
683
- @include pl-pr(0);
684
-
685
- position: fixed;
686
- top: 0;
687
- left: 0;
688
- height: 100%;
689
- overflow-y: auto;
690
- width: $sidebar-width;
691
- z-index: 99;
692
- background: var(--sidebar-bg);
693
- border-right: 1px solid var(--sidebar-border-color);
694
-
695
- /* Hide scrollbar for IE, Edge and Firefox */
696
- -ms-overflow-style: none; /* IE and Edge */
697
- scrollbar-width: none; /* Firefox */
698
-
699
- /* Hide scrollbar for Chrome, Safari and Opera */
700
- &::-webkit-scrollbar {
701
- display: none;
702
- }
703
-
704
- %sidebar-link-hover {
705
- &:hover {
706
- color: var(--sidebar-active-color);
707
- }
708
- }
709
-
710
- a {
711
- @extend %sidebar-links;
712
- }
713
-
714
- #avatar {
715
- display: block;
716
- width: 7rem;
717
- height: 7rem;
718
- overflow: hidden;
719
- box-shadow: var(--avatar-border-color) 0 0 0 2px;
720
- transform: translateZ(0); /* fixed the zoom in Safari */
721
-
722
- img {
723
- transition: transform 0.5s;
724
-
725
- &:hover {
726
- transform: scale(1.2);
727
- }
728
- }
729
- }
730
-
731
- .profile-wrapper {
732
- @include mt-mb(2.5rem);
733
- @extend %clickable-transition;
734
-
735
- padding-left: 2.5rem;
736
- padding-right: 1.25rem;
737
- width: 100%;
738
- }
739
-
740
- .site-title {
741
- font-family: inherit;
742
- font-weight: 900;
743
- font-size: 1.75rem;
744
- line-height: 1.2;
745
- letter-spacing: 0.25px;
746
- margin-top: 1.25rem;
747
- margin-bottom: 0.5rem;
748
-
749
- a {
750
- @extend %clickable-transition;
751
- @extend %sidebar-link-hover;
752
-
753
- color: var(--site-title-color);
754
- }
755
- }
756
-
757
- .site-subtitle {
758
- font-size: 95%;
759
- color: var(--site-subtitle-color);
760
- margin-top: 0.25rem;
761
- word-spacing: 1px;
762
- -webkit-user-select: none;
763
- -moz-user-select: none;
764
- -ms-user-select: none;
765
- user-select: none;
766
- }
767
-
768
- ul {
769
- margin-bottom: 2rem;
770
-
771
- li.nav-item {
772
- opacity: 0.9;
773
- width: 100%;
774
- padding-left: 1.5rem;
775
- padding-right: 1.5rem;
776
-
777
- a.nav-link {
778
- @include pt-pb(0.6rem);
779
-
780
- display: flex;
781
- align-items: center;
782
- border-radius: 0.75rem;
783
- font-weight: 600;
784
-
785
- &:hover {
786
- background-color: var(--sidebar-hover-bg);
787
- }
788
-
789
- i {
790
- font-size: 95%;
791
- opacity: 0.8;
792
- margin-right: 1.5rem;
793
- }
794
-
795
- span {
796
- font-size: 90%;
797
- letter-spacing: 0.2px;
798
- }
799
- }
800
-
801
- &.active {
802
- .nav-link {
803
- color: var(--sidebar-active-color);
804
- background-color: var(--sidebar-hover-bg);
805
-
806
- span {
807
- opacity: 1;
808
- }
809
- }
810
- }
811
-
812
- &:not(:first-child) {
813
- margin-top: 0.25rem;
814
- }
815
- }
816
- }
817
-
818
- .sidebar-bottom {
819
- padding-left: 2rem;
820
- padding-right: 1rem;
821
- margin-bottom: 1.5rem;
822
-
823
- $btn-size: 1.75rem;
824
-
825
- %button {
826
- width: $btn-size;
827
- height: $btn-size;
828
- margin-bottom: $btn-mb; // multi line gap
829
- border-radius: 50%;
830
- color: var(--sidebar-btn-color);
831
- background-color: var(--sidebar-btn-bg);
832
- text-align: center;
833
- display: flex;
834
- align-items: center;
835
- justify-content: center;
836
-
837
- &:not(:focus-visible) {
838
- box-shadow: var(--sidebar-border-color) 0 0 0 1px;
839
- }
840
-
841
- &:hover {
842
- background-color: var(--sidebar-hover-bg);
843
- }
844
- }
845
-
846
- a {
847
- @extend %button;
848
- @extend %sidebar-link-hover;
849
- @extend %clickable-transition;
850
-
851
- &:not(:last-child) {
852
- margin-right: $sb-btn-gap;
853
- }
854
- }
855
-
856
- i {
857
- line-height: $btn-size;
858
- }
859
-
860
- #mode-toggle {
861
- @extend %button;
862
- @extend %sidebar-links;
863
- @extend %sidebar-link-hover;
864
- }
865
-
866
- .icon-border {
867
- @extend %no-cursor;
868
- @include ml-mr(calc(($sb-btn-gap - $btn-border-width) / 2));
869
-
870
- background-color: var(--sidebar-btn-color);
871
- content: '';
872
- width: $btn-border-width;
873
- height: $btn-border-width;
874
- border-radius: 50%;
875
- margin-bottom: $btn-mb;
876
- }
877
- } /* .sidebar-bottom */
878
- } /* #sidebar */
879
-
880
- @media (hover: hover) {
881
- #sidebar ul > li:last-child::after {
882
- transition: top 0.5s ease;
883
- }
884
-
885
- .nav-link {
886
- transition: background-color 0.3s ease-in-out;
887
- }
888
-
889
- .post-preview {
890
- transition: background-color 0.35s ease-in-out;
891
- }
892
- }
893
-
894
- #search-result-wrapper {
895
- display: none;
896
- height: 100%;
897
- width: 100%;
898
- overflow: auto;
899
-
900
- .content {
901
- margin-top: 2rem;
902
- }
903
- }
904
-
905
- /* --- top-bar --- */
906
-
907
- #topbar-wrapper {
908
- height: $topbar-height;
909
- background-color: var(--topbar-bg);
910
- }
911
-
912
- #topbar {
913
- button i {
914
- color: #999999;
915
- }
916
-
917
- #breadcrumb {
918
- font-size: 1rem;
919
- color: var(--text-muted-color);
920
- padding-left: 0.5rem;
921
-
922
- a:hover {
923
- @extend %link-hover;
924
- }
925
-
926
- span {
927
- &:not(:last-child) {
928
- &::after {
929
- content: '›';
930
- padding: 0 0.3rem;
931
- }
932
- }
933
- }
934
- }
935
- } /* #topbar */
936
-
937
- ::-webkit-input-placeholder {
938
- @include placeholder;
939
- }
940
-
941
- ::-moz-placeholder {
942
- @include placeholder;
943
- }
944
-
945
- :-ms-input-placeholder {
946
- @include placeholder;
947
- }
948
-
949
- ::-ms-input-placeholder {
950
- @include placeholder;
951
- }
952
-
953
- ::placeholder {
954
- @include placeholder;
955
- }
956
-
957
- :focus::-webkit-input-placeholder {
958
- @include placeholder-focus;
959
- }
960
-
961
- :focus::-moz-placeholder {
962
- @include placeholder-focus;
963
- }
964
-
965
- :focus:-ms-input-placeholder {
966
- @include placeholder-focus;
967
- }
968
-
969
- :focus::-ms-input-placeholder {
970
- @include placeholder-focus;
971
- }
972
-
973
- :focus::placeholder {
974
- @include placeholder-focus;
975
- }
976
-
977
- search {
978
- display: flex;
979
- width: 100%;
980
- border-radius: 1rem;
981
- border: 1px solid var(--search-border-color);
982
- background: var(--main-bg);
983
- padding: 0 0.5rem;
984
-
985
- i {
986
- z-index: 2;
987
- font-size: 0.9rem;
988
- color: var(--search-icon-color);
989
- }
990
- }
991
-
992
- #sidebar-trigger,
993
- #search-trigger {
994
- display: none;
995
- }
996
-
997
- /* 'Cancel' link */
998
- #search-cancel {
999
- color: var(--link-color);
1000
- display: none;
1001
- white-space: nowrap;
1002
-
1003
- @extend %cursor-pointer;
1004
- }
1005
-
1006
- #search-input {
1007
- background: center;
1008
- border: 0;
1009
- border-radius: 0;
1010
- padding: 0.18rem 0.3rem;
1011
- color: var(--text-color);
1012
- height: auto;
1013
-
1014
- &:focus {
1015
- box-shadow: none;
1016
- }
1017
- }
1018
-
1019
- #search-hints {
1020
- padding: 0 1rem;
1021
-
1022
- h4 {
1023
- margin-bottom: 1.5rem;
1024
- }
1025
-
1026
- .post-tag {
1027
- display: inline-block;
1028
- line-height: 1rem;
1029
- font-size: 1rem;
1030
- background: var(--search-tag-bg);
1031
- border: none;
1032
- padding: 0.5rem;
1033
- margin: 0 1.25rem 1rem 0;
1034
-
1035
- &::before {
1036
- content: '#';
1037
- color: var(--text-muted-color);
1038
- padding-right: 0.2rem;
1039
- }
1040
-
1041
- @extend %link-color;
1042
- }
1043
- }
1044
-
1045
- #search-results {
1046
- padding-bottom: 3rem;
1047
-
1048
- a {
1049
- font-size: 1.4rem;
1050
- line-height: 2.5rem;
1051
-
1052
- &:hover {
1053
- @extend %link-hover;
1054
- }
1055
-
1056
- @extend %link-color;
1057
- @extend %no-bottom-border;
1058
- @extend %heading;
1059
- }
1060
-
1061
- > article {
1062
- width: 100%;
1063
-
1064
- &:not(:last-child) {
1065
- margin-bottom: 1rem;
1066
- }
1067
-
1068
- /* icons */
1069
- i {
1070
- color: #818182;
1071
- margin-right: 0.15rem;
1072
- font-size: 80%;
1073
- }
1074
-
1075
- > p {
1076
- overflow: hidden;
1077
- text-overflow: ellipsis;
1078
- display: -webkit-box;
1079
- -webkit-line-clamp: 3;
1080
- -webkit-box-orient: vertical;
1081
- }
1082
- }
1083
- } /* #search-results */
1084
-
1085
- #topbar-title {
1086
- display: none;
1087
- font-size: 1.1rem;
1088
- font-weight: 600;
1089
- font-family: sans-serif;
1090
- color: var(--topbar-text-color);
1091
- text-align: center;
1092
- width: 70%;
1093
- overflow: hidden;
1094
- text-overflow: ellipsis;
1095
- word-break: keep-all;
1096
- white-space: nowrap;
1097
- }
1098
-
1099
- #mask {
1100
- display: none;
1101
- position: fixed;
1102
- inset: 0 0 0 0;
1103
- height: 100%;
1104
- width: 100%;
1105
- z-index: 1;
1106
-
1107
- @at-root [#{$sidebar-display}] & {
1108
- display: block !important;
1109
- }
1110
- }
1111
-
1112
- /* --- basic wrappers --- */
1113
-
1114
- #main-wrapper {
1115
- position: relative;
1116
-
1117
- @include pl-pr(0);
1118
-
1119
- > .container {
1120
- min-height: 100vh;
1121
- }
1122
- }
1123
-
1124
- #topbar-wrapper.row,
1125
- #main-wrapper > .container > .row,
1126
- #search-result-wrapper > .row {
1127
- @include ml-mr(0);
1128
- }
1129
-
1130
- #tail-wrapper {
1131
- > :not(script) {
1132
- margin-top: 3rem;
1133
- }
1134
- }
1135
-
1136
- /* --- button back-to-top --- */
1137
-
1138
- #back-to-top {
1139
- visibility: hidden;
1140
- opacity: 0;
1141
- z-index: 1;
1142
- cursor: pointer;
1143
- position: fixed;
1144
- right: 1rem;
1145
- bottom: calc($footer-height-large - $back2top-size / 2);
1146
- background: var(--button-bg);
1147
- color: var(--btn-backtotop-color);
1148
- padding: 0;
1149
- width: $back2top-size;
1150
- height: $back2top-size;
1151
- border-radius: 50%;
1152
- border: 1px solid var(--btn-backtotop-border-color);
1153
- transition: opacity 0.5s ease-in-out, transform 0.2s ease-out;
1154
-
1155
- &:hover {
1156
- transform: translate3d(0, -5px, 0);
1157
- -webkit-transform: translate3d(0, -5px, 0);
1158
- }
1159
-
1160
- i {
1161
- line-height: $back2top-size;
1162
- position: relative;
1163
- bottom: 2px;
1164
- }
1165
-
1166
- &.show {
1167
- opacity: 1;
1168
- visibility: visible;
1169
- }
1170
- }
1171
-
1172
- #notification {
1173
- @-webkit-keyframes popup {
1174
- from {
1175
- opacity: 0;
1176
- bottom: 0;
1177
- }
1178
- }
1179
-
1180
- @keyframes popup {
1181
- from {
1182
- opacity: 0;
1183
- bottom: 0;
1184
- }
1185
- }
1186
-
1187
- .toast-header {
1188
- background: none;
1189
- border-bottom: none;
1190
- color: inherit;
1191
- }
1192
-
1193
- .toast-body {
1194
- font-family: Lato, sans-serif;
1195
- line-height: 1.25rem;
1196
-
1197
- button {
1198
- font-size: 90%;
1199
- min-width: 4rem;
1200
- }
1201
- }
1202
-
1203
- &.toast {
1204
- &.show {
1205
- display: block;
1206
- min-width: 20rem;
1207
- border-radius: 0.5rem;
1208
- -webkit-backdrop-filter: blur(10px);
1209
- backdrop-filter: blur(10px);
1210
- background-color: rgba(255, 255, 255, 0.5);
1211
- color: #1b1b1eba;
1212
- position: fixed;
1213
- left: 50%;
1214
- bottom: 20%;
1215
- transform: translateX(-50%);
1216
- -webkit-animation: popup 0.8s;
1217
- animation: popup 0.8s;
1218
- }
1219
- }
1220
- }
1221
-
1222
- /*
1223
- Responsive Design:
1224
-
1225
- {sidebar, content, panel} >= 1200px screen width
1226
- {sidebar, content} >= 850px screen width
1227
- {content} <= 849px screen width
1228
-
1229
- */
1230
-
1231
- @media all and (max-width: 576px) {
1232
- main {
1233
- .content {
1234
- > blockquote[class^='prompt-'] {
1235
- @include ml-mr(-1rem);
1236
-
1237
- border-radius: 0;
1238
- max-width: none;
1239
- }
1240
- }
1241
- }
1242
-
1243
- #avatar {
1244
- width: 5rem;
1245
- height: 5rem;
1246
- }
1247
- }
1248
-
1249
- @media all and (max-width: 768px) {
1250
- %full-width {
1251
- max-width: 100%;
1252
- }
1253
-
1254
- #topbar {
1255
- @extend %full-width;
1256
- }
1257
-
1258
- #main-wrapper > .container {
1259
- @extend %full-width;
1260
- @include pl-pr(0);
1261
- }
1262
- }
1263
-
1264
- /* hide sidebar and panel */
1265
- @media all and (max-width: 849px) {
1266
- @mixin slide($append: null) {
1267
- $basic: transform 0.4s ease;
1268
-
1269
- @if $append {
1270
- transition: $basic, $append;
1271
- } @else {
1272
- transition: $basic;
1273
- }
1274
- }
1275
-
1276
- footer {
1277
- @include slide;
1278
-
1279
- height: $footer-height-large;
1280
- padding: 1.5rem 0;
1281
- }
1282
-
1283
- [#{$sidebar-display}] {
1284
- #sidebar {
1285
- transform: translateX(0);
1286
- }
1287
-
1288
- #main-wrapper {
1289
- transform: translateX($sidebar-width);
1290
- }
1291
-
1292
- #back-to-top {
1293
- visibility: hidden;
1294
- }
1295
- }
1296
-
1297
- #sidebar {
1298
- @include slide;
1299
-
1300
- transform: translateX(-$sidebar-width); /* hide */
1301
- -webkit-transform: translateX(-$sidebar-width);
1302
- }
1303
-
1304
- #main-wrapper {
1305
- @include slide;
1306
- }
1307
-
1308
- #topbar,
1309
- #main-wrapper > .container {
1310
- max-width: 100%;
1311
- }
1312
-
1313
- #search-result-wrapper {
1314
- width: 100%;
1315
- }
1316
-
1317
- #breadcrumb,
1318
- search {
1319
- display: none;
1320
- }
1321
-
1322
- #topbar-wrapper {
1323
- @include slide(top 0.2s ease);
1324
-
1325
- left: 0;
1326
- }
1327
-
1328
- main,
1329
- #panel-wrapper {
1330
- margin-top: 0;
1331
- }
1332
-
1333
- #topbar-title,
1334
- #sidebar-trigger,
1335
- #search-trigger {
1336
- display: block;
1337
- }
1338
-
1339
- #search-result-wrapper .content {
1340
- letter-spacing: 0;
1341
- }
1342
-
1343
- #tags {
1344
- justify-content: center !important;
1345
- }
1346
-
1347
- h1.dynamic-title {
1348
- display: none;
1349
-
1350
- ~ .content {
1351
- margin-top: 2.5rem;
1352
- }
1353
- }
1354
- } /* max-width: 849px */
1355
-
1356
- /* Sidebar is visible */
1357
- @media all and (min-width: 850px) {
1358
- /* Solved jumping scrollbar */
1359
- html {
1360
- overflow-y: scroll;
1361
- }
1362
-
1363
- #main-wrapper {
1364
- margin-left: $sidebar-width;
1365
- }
1366
-
1367
- #sidebar {
1368
- .profile-wrapper {
1369
- margin-top: 3rem;
1370
- }
1371
- }
1372
-
1373
- #search-hints {
1374
- display: none;
1375
- }
1376
-
1377
- search {
1378
- max-width: $search-max-width;
1379
- }
1380
-
1381
- #search-result-wrapper {
1382
- max-width: $main-content-max-width;
1383
- justify-content: start !important;
1384
- }
1385
-
1386
- main {
1387
- h1 {
1388
- margin-top: 3rem;
1389
- }
1390
- }
1391
-
1392
- div.content .table-wrapper > table {
1393
- min-width: 70%;
1394
- }
1395
-
1396
- /* button 'back-to-Top' position */
1397
- #back-to-top {
1398
- right: 5%;
1399
- bottom: calc($footer-height - $back2top-size / 2);
1400
- }
1401
-
1402
- #topbar-title {
1403
- text-align: left;
1404
- }
1405
- }
1406
-
1407
- /* Pad horizontal */
1408
- @media all and (min-width: 992px) and (max-width: 1199px) {
1409
- #main-wrapper > .container .col-lg-11 {
1410
- flex: 0 0 96%;
1411
- max-width: 96%;
1412
- }
1413
- }
1414
-
1415
- /* Compact icons in sidebar & panel hidden */
1416
- @media all and (min-width: 850px) and (max-width: 1199px) {
1417
- #search-results > div {
1418
- max-width: 700px;
1419
- }
1420
-
1421
- #breadcrumb {
1422
- width: 65%;
1423
- overflow: hidden;
1424
- text-overflow: ellipsis;
1425
- word-break: keep-all;
1426
- white-space: nowrap;
1427
- }
1428
- }
1429
-
1430
- /* panel hidden */
1431
- @media all and (max-width: 1199px) {
1432
- #panel-wrapper {
1433
- display: none;
1434
- }
1435
-
1436
- #main-wrapper > .container > div.row {
1437
- justify-content: center !important;
1438
- }
1439
- }
1440
-
1441
- /* --- desktop mode, both sidebar and panel are visible --- */
1442
-
1443
- @media all and (min-width: 1200px) {
1444
- search {
1445
- margin-right: 4rem;
1446
- }
1447
-
1448
- #search-input {
1449
- transition: all 0.3s ease-in-out;
1450
- }
1451
-
1452
- #search-results > article {
1453
- width: 45%;
1454
-
1455
- &:nth-child(odd) {
1456
- margin-right: 1.5rem;
1457
- }
1458
-
1459
- &:nth-child(even) {
1460
- margin-left: 1.5rem;
1461
- }
1462
-
1463
- &:last-child:nth-child(odd) {
1464
- position: relative;
1465
- right: 24.3%;
1466
- }
1467
- }
1468
-
1469
- .content {
1470
- font-size: 1.03rem;
1471
- }
1472
- }
1473
-
1474
- @media all and (min-width: 1400px) {
1475
- #back-to-top {
1476
- right: calc((100vw - $sidebar-width - 1140px) / 2 + 3rem);
1477
- }
1478
- }
1479
-
1480
- @media all and (min-width: 1650px) {
1481
- $icon-gap: 1rem;
1482
-
1483
- #main-wrapper {
1484
- margin-left: $sidebar-width-large;
1485
- }
1486
-
1487
- #topbar-wrapper {
1488
- left: $sidebar-width-large;
1489
- }
1490
-
1491
- search {
1492
- margin-right: calc(
1493
- $main-content-max-width / 4 - $search-max-width - 0.75rem
1494
- );
1495
- }
1496
-
1497
- #main-wrapper > .container {
1498
- max-width: $main-content-max-width;
1499
- padding-left: 1.75rem !important;
1500
- padding-right: 1.75rem !important;
1501
- }
1502
-
1503
- main.col-12,
1504
- #tail-wrapper {
1505
- padding-right: 4.5rem !important;
1506
- }
1507
-
1508
- #back-to-top {
1509
- right: calc(
1510
- (100vw - $sidebar-width-large - $main-content-max-width) / 2 + 2rem
1511
- );
1512
- }
1513
-
1514
- #sidebar {
1515
- width: $sidebar-width-large;
1516
-
1517
- .profile-wrapper {
1518
- margin-top: 3.5rem;
1519
- margin-bottom: 2.5rem;
1520
- padding-left: 3.5rem;
1521
- }
1522
-
1523
- ul {
1524
- li.nav-item {
1525
- @include pl-pr(2.75rem);
1526
- }
1527
- }
1528
-
1529
- .sidebar-bottom {
1530
- padding-left: 2.75rem;
1531
- margin-bottom: 1.75rem;
1532
-
1533
- a:not(:last-child) {
1534
- margin-right: $sb-btn-gap-lg;
1535
- }
1536
-
1537
- .icon-border {
1538
- @include ml-mr(calc(($sb-btn-gap-lg - $btn-border-width) / 2));
1539
- }
1540
- }
1541
- }
1542
- } /* min-width: 1650px */