jekyll-theme-chirpy 7.1.1 → 7.2.0

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.
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,14 +1,15 @@
1
- /*
2
- Post-specific style
3
- */
1
+ @use '../abstracts/variables' as v;
2
+ @use '../abstracts/breakpoints' as bp;
3
+ @use '../abstracts/mixins' as mx;
4
+ @use '../abstracts/placeholders';
4
5
 
5
- %btn-post-nav {
6
+ %-btn-post-nav {
6
7
  width: 50%;
7
8
  position: relative;
8
9
  border-color: var(--btn-border-color);
9
10
  }
10
11
 
11
- @mixin dot($pl: 0.25rem, $pr: 0.25rem) {
12
+ @mixin -dot($pl: 0.25rem, $pr: 0.25rem) {
12
13
  content: '\2022';
13
14
  padding-left: $pl;
14
15
  padding-right: $pr;
@@ -24,7 +25,7 @@ header {
24
25
 
25
26
  .post-meta {
26
27
  span + span::before {
27
- @include dot;
28
+ @include -dot;
28
29
  }
29
30
 
30
31
  em,
@@ -97,7 +98,7 @@ header {
97
98
 
98
99
  &:hover {
99
100
  i {
100
- @extend %btn-share-hovor;
101
+ @extend %btn-share-hover;
101
102
  }
102
103
  }
103
104
  }
@@ -113,9 +114,20 @@ header {
113
114
  } /* .share-wrapper */
114
115
  }
115
116
 
117
+ .post-tail-bottom {
118
+ @include bp.lte(bp.get(sm)) {
119
+ flex-wrap: wrap-reverse !important;
120
+
121
+ > div:first-child {
122
+ width: 100%;
123
+ margin-top: 1rem;
124
+ }
125
+ }
126
+ }
127
+
116
128
  .share-mastodon {
117
129
  /* See: https://github.com/justinribeiro/share-to-mastodon#properties */
118
- --wc-stm-font-family: $font-family-base;
130
+ --wc-stm-font-family: v.$font-family-base;
119
131
  --wc-stm-dialog-background-color: var(--card-bg);
120
132
  --wc-stm-form-button-border: 1px solid var(--btn-border-color);
121
133
  --wc-stm-form-submit-background-color: var(--sidebar-btn-bg);
@@ -139,8 +151,13 @@ header {
139
151
  }
140
152
 
141
153
  .post-navigation {
154
+ @include bp.lt(bp.get(lg)) {
155
+ @include mx.pl-pr(0);
156
+ @include mx.ml-mr(-0.5rem);
157
+ }
158
+
142
159
  .btn {
143
- @extend %btn-post-nav;
160
+ @extend %-btn-post-nav;
144
161
 
145
162
  &:not(:hover) {
146
163
  color: var(--link-color);
@@ -153,7 +170,7 @@ header {
153
170
  }
154
171
 
155
172
  &.disabled {
156
- @extend %btn-post-nav;
173
+ @extend %-btn-post-nav;
157
174
 
158
175
  pointer-events: auto;
159
176
  cursor: not-allowed;
@@ -173,12 +190,12 @@ header {
173
190
  }
174
191
 
175
192
  &:first-child {
176
- border-radius: $radius-lg 0 0 $radius-lg;
193
+ border-radius: v.$radius-lg 0 0 v.$radius-lg;
177
194
  left: 0.5px;
178
195
  }
179
196
 
180
197
  &:last-child {
181
- border-radius: 0 $radius-lg $radius-lg 0;
198
+ border-radius: 0 v.$radius-lg v.$radius-lg 0;
182
199
  right: 0.5px;
183
200
  }
184
201
  }
@@ -228,14 +245,27 @@ header {
228
245
  }
229
246
  }
230
247
 
231
- #toc-wrapper {
232
- border-left: 1px solid rgba(158, 158, 158, 0.17);
233
- position: -webkit-sticky;
248
+ /* TOC panel */
249
+
250
+ %top-cover {
251
+ content: '';
252
+ display: block;
234
253
  position: sticky;
235
- top: 4rem;
254
+ top: 0;
255
+ width: 100%;
256
+ height: 3rem;
257
+ background: linear-gradient(var(--main-bg) 50%, transparent);
258
+ }
259
+
260
+ #toc-wrapper {
261
+ top: 0;
236
262
  transition: top 0.2s ease-in-out;
237
263
  -webkit-animation: fade-up 0.8s;
238
264
  animation: fade-up 0.8s;
265
+ overflow-y: auto;
266
+ max-height: calc(100vh - 2rem);
267
+ scrollbar-width: none;
268
+ margin-top: 2rem;
239
269
 
240
270
  ul {
241
271
  list-style: none;
@@ -248,6 +278,10 @@ header {
248
278
  margin: 0.4rem 0;
249
279
  }
250
280
 
281
+ &:first-child {
282
+ margin-top: 0;
283
+ }
284
+
251
285
  a {
252
286
  padding: 0.2rem 0 0.2rem 1.25rem;
253
287
  }
@@ -257,9 +291,8 @@ header {
257
291
 
258
292
  .toc-link {
259
293
  display: block;
260
- white-space: nowrap;
261
- overflow: hidden;
262
- text-overflow: ellipsis;
294
+
295
+ @extend %text-ellipsis;
263
296
 
264
297
  &:hover {
265
298
  color: var(--toc-highlight);
@@ -278,7 +311,6 @@ header {
278
311
  &::before {
279
312
  display: inline-block;
280
313
  width: 1px;
281
- left: -1px;
282
314
  height: 1.25rem;
283
315
  background-color: var(--toc-highlight) !important;
284
316
  }
@@ -288,13 +320,130 @@ header {
288
320
  padding-left: 0.75rem;
289
321
  }
290
322
  }
323
+
324
+ @at-root .toc-border-cover {
325
+ @extend %top-cover;
326
+
327
+ margin-bottom: -4rem;
328
+ }
329
+
330
+ &::before {
331
+ @extend %top-cover;
332
+ }
333
+
334
+ &::after {
335
+ content: '';
336
+ position: fixed;
337
+ bottom: 0;
338
+ width: 15%;
339
+ height: 3.25rem;
340
+ margin-left: -1px;
341
+ background: linear-gradient(transparent, var(--main-bg) 70%);
342
+ }
343
+
344
+ > * {
345
+ @extend %panel-border;
346
+ }
347
+ }
348
+
349
+ /* --- TOC button, bar and popup in mobile/tablet --- */
350
+
351
+ #toc-bar {
352
+ position: -webkit-sticky;
353
+ position: sticky;
354
+ top: 0;
355
+ z-index: 1;
356
+ margin: 0 -1rem;
357
+ height: v.$topbar-height;
358
+ background: var(--main-bg);
359
+ border-bottom: 1px solid var(--main-border-color);
360
+ transition: all 0.2s ease-in-out;
361
+
362
+ @extend %btn-color;
363
+
364
+ @include bp.xl {
365
+ display: none !important;
366
+ }
367
+
368
+ .label {
369
+ @extend %heading;
370
+
371
+ margin-left: 0.375rem;
372
+ padding: 0 0.75rem;
373
+ color: inherit;
374
+ }
375
+
376
+ &.invisible {
377
+ top: -#{v.$topbar-height};
378
+ transition: none;
379
+ }
380
+ }
381
+
382
+ #toc-solo-trigger {
383
+ color: var(--text-muted-color);
384
+ border-color: var(--btn-border-color);
385
+ border-radius: v.$radius-lg;
386
+
387
+ @include bp.xl {
388
+ display: none !important;
389
+ }
390
+
391
+ .label {
392
+ font-size: 1rem;
393
+ font-family: v.$font-family-heading;
394
+ }
395
+
396
+ &:hover {
397
+ box-shadow: none;
398
+ background: none;
399
+ }
400
+ }
401
+
402
+ @mixin slide-in {
403
+ from {
404
+ opacity: 0.7;
405
+ transform: translateY(-#{v.$topbar-height});
406
+ }
407
+
408
+ to {
409
+ opacity: 1;
410
+ transform: translateY(0);
411
+ }
412
+ }
413
+
414
+ @mixin slide-out {
415
+ 0% {
416
+ transform: translateY(0);
417
+ opacity: 1;
418
+ }
419
+
420
+ 100% {
421
+ transform: translateY(-#{v.$topbar-height});
422
+ opacity: 0;
423
+ }
424
+ }
425
+
426
+ @-webkit-keyframes slide-in {
427
+ @include slide-in;
428
+ }
429
+
430
+ @keyframes slide-in {
431
+ @include slide-in;
432
+ }
433
+
434
+ @-webkit-keyframes slide-out {
435
+ @include slide-out;
436
+ }
437
+
438
+ @keyframes slide-out {
439
+ @include slide-out;
291
440
  }
292
441
 
293
442
  /* --- Related Posts --- */
294
443
 
295
444
  #related-posts {
296
445
  > h3 {
297
- @include label(1.1rem, 600);
446
+ @include mx.label(1.1rem, 600);
298
447
  }
299
448
 
300
449
  time {
@@ -305,10 +454,11 @@ header {
305
454
  }
306
455
 
307
456
  p {
457
+ @extend %text-ellipsis;
458
+
308
459
  font-size: 0.9rem;
309
460
  margin-bottom: 0.5rem;
310
- overflow: hidden;
311
- text-overflow: ellipsis;
461
+ white-space: break-spaces;
312
462
  display: -webkit-box;
313
463
  -webkit-line-clamp: 2;
314
464
  -webkit-box-orient: vertical;
@@ -328,43 +478,31 @@ header {
328
478
 
329
479
  .utterances {
330
480
  max-width: 100%;
481
+ min-height: 269px;
331
482
  }
332
483
 
333
- %btn-share-hovor {
484
+ %btn-share-hover {
334
485
  color: var(--btn-share-hover-color) !important;
335
486
  }
336
487
 
337
488
  .share-label {
338
- @include label(inherit, 400, inherit);
489
+ @include mx.label(inherit, 400, inherit);
339
490
 
340
491
  &::after {
341
492
  content: ':';
342
493
  }
343
494
  }
344
495
 
345
- @media all and (max-width: 576px) {
346
- .post-tail-bottom {
347
- flex-wrap: wrap-reverse !important;
348
-
349
- > div:first-child {
350
- width: 100%;
351
- margin-top: 1rem;
352
- }
353
- }
354
- }
355
-
356
- @media all and (max-width: 768px) {
357
- .content > p > img {
496
+ .content > p > img {
497
+ @include bp.lte(bp.get(md)) {
358
498
  max-width: calc(100% + 1rem);
359
499
  }
360
500
  }
361
501
 
362
- /* Hide SideBar and TOC */
363
- @media all and (max-width: 849px) {
364
- .post-navigation {
365
- padding-left: 0;
366
- padding-right: 0;
367
- margin-left: -0.5rem;
368
- margin-right: -0.5rem;
502
+ h2,
503
+ h3,
504
+ h4 {
505
+ @include bp.xl {
506
+ scroll-margin-top: 2rem;
369
507
  }
370
508
  }
@@ -0,0 +1,184 @@
1
+ @use '../abstracts/breakpoints' as bp;
2
+ @use '../abstracts/variables' as v;
3
+ @use '../abstracts/placeholders';
4
+
5
+ search {
6
+ display: flex;
7
+ width: 100%;
8
+ border-radius: 1rem;
9
+ border: 1px solid var(--search-border-color);
10
+ background: var(--main-bg);
11
+ padding: 0 0.5rem;
12
+
13
+ i {
14
+ z-index: 2;
15
+ font-size: 0.9rem;
16
+ color: var(--search-icon-color);
17
+ }
18
+
19
+ @include bp.lt(bp.get(lg)) {
20
+ display: none;
21
+ }
22
+
23
+ @include bp.lg {
24
+ max-width: v.$search-max-width;
25
+ }
26
+
27
+ @include bp.xl {
28
+ margin-right: 4rem;
29
+ }
30
+
31
+ @include bp.xxxl {
32
+ margin-right: calc(
33
+ v.$main-content-max-width / 4 - v.$search-max-width - 0.75rem
34
+ );
35
+ }
36
+ }
37
+
38
+ #search-result-wrapper {
39
+ display: none;
40
+ height: 100%;
41
+ width: 100%;
42
+ overflow: auto;
43
+
44
+ .content {
45
+ margin-top: 2rem;
46
+ }
47
+
48
+ @include bp.lt(bp.get(lg)) {
49
+ width: 100%;
50
+
51
+ .content {
52
+ letter-spacing: 0;
53
+ }
54
+ }
55
+
56
+ @include bp.lg {
57
+ max-width: v.$main-content-max-width;
58
+ justify-content: start !important;
59
+ }
60
+ }
61
+
62
+ #search-results {
63
+ padding-bottom: 3rem;
64
+
65
+ @include bp.between(bp.get(lg), calc(#{bp.get(xl)} - 1px)) {
66
+ > div {
67
+ max-width: 700px;
68
+ }
69
+ }
70
+
71
+ a {
72
+ font-size: 1.4rem;
73
+ line-height: 1.5rem;
74
+
75
+ &:hover {
76
+ @extend %link-hover;
77
+ }
78
+
79
+ @extend %link-color;
80
+ @extend %no-bottom-border;
81
+ @extend %heading;
82
+ }
83
+
84
+ > article {
85
+ width: 100%;
86
+
87
+ &:not(:last-child) {
88
+ margin-bottom: 1rem;
89
+ }
90
+
91
+ @include bp.xl {
92
+ width: 45%;
93
+
94
+ &:nth-child(odd) {
95
+ margin-right: 1.5rem;
96
+ }
97
+
98
+ &:nth-child(even) {
99
+ margin-left: 1.5rem;
100
+ }
101
+
102
+ &:last-child:nth-child(odd) {
103
+ position: relative;
104
+ right: 24.3%;
105
+ }
106
+ }
107
+
108
+ h2 {
109
+ line-height: 2.5rem;
110
+ }
111
+
112
+ /* icons */
113
+ i {
114
+ color: #818182;
115
+ margin-right: 0.15rem;
116
+ font-size: 80%;
117
+ }
118
+
119
+ > p {
120
+ @extend %text-ellipsis;
121
+
122
+ white-space: break-spaces;
123
+ display: -webkit-box;
124
+ -webkit-line-clamp: 3;
125
+ -webkit-box-orient: vertical;
126
+ }
127
+ }
128
+ }
129
+
130
+ /* 'Cancel' link */
131
+ #search-cancel {
132
+ color: var(--link-color);
133
+ display: none;
134
+ white-space: nowrap;
135
+
136
+ @extend %cursor-pointer;
137
+ }
138
+
139
+ #search-input {
140
+ background: center;
141
+ border: 0;
142
+ border-radius: 0;
143
+ padding: 0.18rem 0.3rem;
144
+ color: var(--text-color);
145
+ height: auto;
146
+
147
+ &:focus {
148
+ box-shadow: none;
149
+ }
150
+
151
+ @include bp.xl {
152
+ transition: all 0.3s ease-in-out;
153
+ }
154
+ }
155
+
156
+ #search-hints {
157
+ padding: 0 1rem;
158
+
159
+ @include bp.lg {
160
+ display: none;
161
+ }
162
+
163
+ h4 {
164
+ margin-bottom: 1.5rem;
165
+ }
166
+
167
+ .post-tag {
168
+ display: inline-block;
169
+ line-height: 1rem;
170
+ font-size: 1rem;
171
+ background: var(--search-tag-bg);
172
+ border: none;
173
+ padding: 0.5rem;
174
+ margin: 0 1.25rem 1rem 0;
175
+
176
+ &::before {
177
+ content: '#';
178
+ color: var(--text-muted-color);
179
+ padding-right: 0.2rem;
180
+ }
181
+
182
+ @extend %link-color;
183
+ }
184
+ }
@@ -1,6 +1,4 @@
1
- /*
2
- Styles for Tab Tags
3
- */
1
+ @use '../abstracts/breakpoints' as bp;
4
2
 
5
3
  .tag {
6
4
  border-radius: 0.7em;
@@ -17,3 +15,9 @@
17
15
  font-family: Oswald, sans-serif;
18
16
  }
19
17
  }
18
+
19
+ #tags {
20
+ @include bp.lt(bp.get(lg)) {
21
+ justify-content: center !important;
22
+ }
23
+ }