jekyll-theme-chirpy 7.1.1 → 7.2.1

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 (73) 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 -5
  12. data/_includes/js-selector.html +3 -26
  13. data/_includes/jsdelivr-combine.html +4 -4
  14. data/_includes/pageviews/goatcounter.html +16 -14
  15. data/_includes/search-loader.html +22 -20
  16. data/_includes/sidebar.html +1 -3
  17. data/_includes/toc-status.html +10 -0
  18. data/_includes/toc.html +4 -8
  19. data/_layouts/default.html +8 -4
  20. data/_layouts/home.html +26 -19
  21. data/_layouts/post.html +29 -2
  22. data/_sass/abstracts/_breakpoints.scss +73 -0
  23. data/_sass/abstracts/_index.scss +4 -0
  24. data/_sass/abstracts/_mixins.scss +80 -0
  25. data/_sass/{addon/module.scss → abstracts/_placeholders.scss} +22 -55
  26. data/_sass/{addon/variables.scss → abstracts/_variables.scss} +0 -4
  27. data/_sass/base/_base.scss +476 -0
  28. data/_sass/base/_index.scss +4 -0
  29. data/_sass/base/_reset.scss +41 -0
  30. data/_sass/{addon/syntax.scss → base/_syntax.scss} +46 -85
  31. data/_sass/base/_typography.scss +266 -0
  32. data/_sass/components/_buttons.scss +51 -0
  33. data/_sass/components/_index.scss +2 -0
  34. data/_sass/components/_popups.scss +172 -0
  35. data/_sass/layout/_footer.scss +36 -0
  36. data/_sass/layout/_index.scss +4 -0
  37. data/_sass/layout/_panel.scss +70 -0
  38. data/_sass/layout/_sidebar.scss +258 -0
  39. data/_sass/layout/_topbar.scss +86 -0
  40. data/_sass/main.bundle.scss +2 -2
  41. data/_sass/main.scss +4 -13
  42. data/_sass/{layout/archives.scss → pages/_archives.scss} +12 -16
  43. data/_sass/{layout/categories.scss → pages/_categories.scss} +5 -6
  44. data/_sass/{layout/category-tag.scss → pages/_category-tag.scss} +11 -20
  45. data/_sass/{layout/home.scss → pages/_home.scss} +54 -70
  46. data/_sass/pages/_index.scss +7 -0
  47. data/_sass/{layout/post.scss → pages/_post.scss} +184 -49
  48. data/_sass/pages/_search.scss +184 -0
  49. data/_sass/{layout/tags.scss → pages/_tags.scss} +7 -3
  50. data/_sass/{colors/typography-dark.scss → themes/_dark.scss} +163 -7
  51. data/_sass/themes/_light.scss +313 -0
  52. data/_sass/vendors/_bootstrap.scss +5 -0
  53. data/assets/css/jekyll-theme-chirpy.scss +1 -1
  54. data/assets/feed.xml +1 -1
  55. data/assets/js/dist/app.min.js +1 -1
  56. data/assets/js/dist/categories.min.js +2 -2
  57. data/assets/js/dist/commons.min.js +2 -2
  58. data/assets/js/dist/home.min.js +2 -2
  59. data/assets/js/dist/misc.min.js +2 -2
  60. data/assets/js/dist/page.min.js +2 -2
  61. data/assets/js/dist/post.min.js +2 -2
  62. data/assets/js/dist/sw.min.js +1 -1
  63. data/assets/js/dist/theme.min.js +4 -0
  64. metadata +35 -22
  65. data/_includes/mermaid.html +0 -62
  66. data/_includes/mode-toggle.html +0 -116
  67. data/_sass/addon/commons.scss +0 -1542
  68. data/_sass/colors/syntax-dark.scss +0 -164
  69. data/_sass/colors/syntax-light.scss +0 -210
  70. data/_sass/colors/typography-light.scss +0 -112
  71. data/_sass/dist/bootstrap.css +0 -5
  72. data/_sass/variables-hook.scss +0 -3
  73. /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
  }
@@ -217,25 +234,35 @@ header {
217
234
  @keyframes fade-up {
218
235
  from {
219
236
  opacity: 0;
220
- position: relative;
221
- top: 2rem;
237
+ margin-top: 4rem;
222
238
  }
223
239
 
224
240
  to {
225
241
  opacity: 1;
226
- position: relative;
227
- top: 0;
228
242
  }
229
243
  }
230
244
 
231
- #toc-wrapper {
232
- border-left: 1px solid rgba(158, 158, 158, 0.17);
233
- position: -webkit-sticky;
245
+ /* TOC panel */
246
+
247
+ %top-cover {
248
+ content: '';
249
+ display: block;
234
250
  position: sticky;
235
- top: 4rem;
251
+ top: 0;
252
+ width: 100%;
253
+ height: 3rem;
254
+ background: linear-gradient(var(--main-bg) 50%, transparent);
255
+ }
256
+
257
+ #toc-wrapper {
258
+ top: 0;
236
259
  transition: top 0.2s ease-in-out;
237
260
  -webkit-animation: fade-up 0.8s;
238
261
  animation: fade-up 0.8s;
262
+ overflow-y: auto;
263
+ max-height: 100vh;
264
+ scrollbar-width: none;
265
+ margin-top: 2rem;
239
266
 
240
267
  ul {
241
268
  list-style: none;
@@ -248,6 +275,10 @@ header {
248
275
  margin: 0.4rem 0;
249
276
  }
250
277
 
278
+ &:first-child {
279
+ margin-top: 0;
280
+ }
281
+
251
282
  a {
252
283
  padding: 0.2rem 0 0.2rem 1.25rem;
253
284
  }
@@ -257,9 +288,8 @@ header {
257
288
 
258
289
  .toc-link {
259
290
  display: block;
260
- white-space: nowrap;
261
- overflow: hidden;
262
- text-overflow: ellipsis;
291
+
292
+ @extend %text-ellipsis;
263
293
 
264
294
  &:hover {
265
295
  color: var(--toc-highlight);
@@ -278,7 +308,6 @@ header {
278
308
  &::before {
279
309
  display: inline-block;
280
310
  width: 1px;
281
- left: -1px;
282
311
  height: 1.25rem;
283
312
  background-color: var(--toc-highlight) !important;
284
313
  }
@@ -288,13 +317,130 @@ header {
288
317
  padding-left: 0.75rem;
289
318
  }
290
319
  }
320
+
321
+ @at-root .toc-border-cover {
322
+ @extend %top-cover;
323
+
324
+ margin-bottom: -4rem;
325
+ }
326
+
327
+ &::before {
328
+ @extend %top-cover;
329
+ }
330
+
331
+ &::after {
332
+ content: '';
333
+ position: fixed;
334
+ bottom: 0;
335
+ width: 15%;
336
+ height: 2.25rem;
337
+ margin-left: -1px;
338
+ background: linear-gradient(transparent, var(--main-bg) 70%);
339
+ }
340
+
341
+ > * {
342
+ @extend %panel-border;
343
+ }
344
+ }
345
+
346
+ /* --- TOC button, bar and popup in mobile/tablet --- */
347
+
348
+ #toc-bar {
349
+ position: -webkit-sticky;
350
+ position: sticky;
351
+ top: 0;
352
+ z-index: 1;
353
+ margin: 0 -1rem;
354
+ height: v.$topbar-height;
355
+ background: var(--main-bg);
356
+ border-bottom: 1px solid var(--main-border-color);
357
+ transition: all 0.2s ease-in-out;
358
+
359
+ @extend %btn-color;
360
+
361
+ @include bp.xl {
362
+ display: none !important;
363
+ }
364
+
365
+ .label {
366
+ @extend %heading;
367
+
368
+ margin-left: 0.375rem;
369
+ padding: 0 0.75rem;
370
+ color: inherit;
371
+ }
372
+
373
+ &.invisible {
374
+ top: -#{v.$topbar-height};
375
+ transition: none;
376
+ }
377
+ }
378
+
379
+ #toc-solo-trigger {
380
+ color: var(--text-muted-color);
381
+ border-color: var(--btn-border-color);
382
+ border-radius: v.$radius-lg;
383
+
384
+ @include bp.xl {
385
+ display: none !important;
386
+ }
387
+
388
+ .label {
389
+ font-size: 1rem;
390
+ font-family: v.$font-family-heading;
391
+ }
392
+
393
+ &:hover {
394
+ box-shadow: none;
395
+ background: none;
396
+ }
397
+ }
398
+
399
+ @mixin slide-in {
400
+ from {
401
+ opacity: 0.7;
402
+ transform: translateY(-#{v.$topbar-height});
403
+ }
404
+
405
+ to {
406
+ opacity: 1;
407
+ transform: translateY(0);
408
+ }
409
+ }
410
+
411
+ @mixin slide-out {
412
+ 0% {
413
+ transform: translateY(0);
414
+ opacity: 1;
415
+ }
416
+
417
+ 100% {
418
+ transform: translateY(-#{v.$topbar-height});
419
+ opacity: 0;
420
+ }
421
+ }
422
+
423
+ @-webkit-keyframes slide-in {
424
+ @include slide-in;
425
+ }
426
+
427
+ @keyframes slide-in {
428
+ @include slide-in;
429
+ }
430
+
431
+ @-webkit-keyframes slide-out {
432
+ @include slide-out;
433
+ }
434
+
435
+ @keyframes slide-out {
436
+ @include slide-out;
291
437
  }
292
438
 
293
439
  /* --- Related Posts --- */
294
440
 
295
441
  #related-posts {
296
442
  > h3 {
297
- @include label(1.1rem, 600);
443
+ @include mx.label(1.1rem, 600);
298
444
  }
299
445
 
300
446
  time {
@@ -305,10 +451,11 @@ header {
305
451
  }
306
452
 
307
453
  p {
454
+ @extend %text-ellipsis;
455
+
308
456
  font-size: 0.9rem;
309
457
  margin-bottom: 0.5rem;
310
- overflow: hidden;
311
- text-overflow: ellipsis;
458
+ white-space: break-spaces;
312
459
  display: -webkit-box;
313
460
  -webkit-line-clamp: 2;
314
461
  -webkit-box-orient: vertical;
@@ -328,43 +475,31 @@ header {
328
475
 
329
476
  .utterances {
330
477
  max-width: 100%;
478
+ min-height: 269px;
331
479
  }
332
480
 
333
- %btn-share-hovor {
481
+ %btn-share-hover {
334
482
  color: var(--btn-share-hover-color) !important;
335
483
  }
336
484
 
337
485
  .share-label {
338
- @include label(inherit, 400, inherit);
486
+ @include mx.label(inherit, 400, inherit);
339
487
 
340
488
  &::after {
341
489
  content: ':';
342
490
  }
343
491
  }
344
492
 
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 {
493
+ .content > p > img {
494
+ @include bp.lte(bp.get(md)) {
358
495
  max-width: calc(100% + 1rem);
359
496
  }
360
497
  }
361
498
 
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;
499
+ h2,
500
+ h3,
501
+ h4 {
502
+ @include bp.xl {
503
+ scroll-margin-top: 2rem;
369
504
  }
370
505
  }
@@ -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
+ }