jekyll-theme-chirpy 7.1.0 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/_data/locales/fr-FR.yml +3 -3
  3. data/_data/locales/hu-HU.yml +20 -7
  4. data/_data/origin/cors.yml +4 -4
  5. data/_includes/analytics/cloudflare.html +0 -1
  6. data/_includes/analytics/fathom.html +2 -3
  7. data/_includes/analytics/google.html +1 -1
  8. data/_includes/analytics/matomo.html +6 -7
  9. data/_includes/comments/disqus.html +36 -29
  10. data/_includes/comments/giscus.html +14 -30
  11. data/_includes/comments/utterances.html +26 -37
  12. data/_includes/head.html +25 -4
  13. data/_includes/js-selector.html +3 -23
  14. data/_includes/jsdelivr-combine.html +4 -4
  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} +183 -45
  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 +2 -2
  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 +2 -2
  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
@@ -0,0 +1,258 @@
1
+ @use '../abstracts/variables' as v;
2
+ @use '../abstracts/mixins' as mx;
3
+ @use '../abstracts/breakpoints' as bp;
4
+ @use '../abstracts/placeholders';
5
+
6
+ $btn-border-width: 3px;
7
+ $btn-mb: 0.5rem;
8
+ $sidebar-display: 'sidebar-display'; /* the attribute for sidebar display */
9
+
10
+ #sidebar {
11
+ @include mx.pl-pr(0);
12
+
13
+ position: fixed;
14
+ top: 0;
15
+ left: 0;
16
+ height: 100%;
17
+ overflow-y: auto;
18
+ width: v.$sidebar-width;
19
+ background: var(--sidebar-bg);
20
+ border-right: 1px solid var(--sidebar-border-color);
21
+
22
+ /* Hide scrollbar for IE, Edge and Firefox */
23
+ -ms-overflow-style: none; /* IE and Edge */
24
+ scrollbar-width: none; /* Firefox */
25
+
26
+ /* Hide scrollbar for Chrome, Safari and Opera */
27
+ &::-webkit-scrollbar {
28
+ display: none;
29
+ }
30
+
31
+ @include bp.lt(bp.get(lg)) {
32
+ @include mx.slide;
33
+
34
+ transform: translateX(-#{v.$sidebar-width}); /* hide */
35
+ -webkit-transform: translateX(-#{v.$sidebar-width});
36
+
37
+ [#{$sidebar-display}] & {
38
+ transform: translateX(0);
39
+ }
40
+ }
41
+
42
+ @include bp.xxxl {
43
+ width: v.$sidebar-width-large;
44
+ }
45
+
46
+ %sidebar-link-hover {
47
+ &:hover {
48
+ color: var(--sidebar-active-color);
49
+ }
50
+ }
51
+
52
+ a {
53
+ @extend %sidebar-links;
54
+ }
55
+
56
+ #avatar {
57
+ display: block;
58
+ width: 6.5rem;
59
+ height: 6.5rem;
60
+ overflow: hidden;
61
+ box-shadow: var(--avatar-border-color) 0 0 0 2px;
62
+ transform: translateZ(0); /* fixed the zoom in Safari */
63
+
64
+ @include bp.sm {
65
+ width: 7rem;
66
+ height: 7rem;
67
+ }
68
+
69
+ img {
70
+ transition: transform 0.5s;
71
+
72
+ &:hover {
73
+ transform: scale(1.2);
74
+ }
75
+ }
76
+ }
77
+
78
+ .profile-wrapper {
79
+ @include mx.mt-mb(2.5rem);
80
+ @extend %clickable-transition;
81
+
82
+ padding-left: 2.5rem;
83
+ padding-right: 1.25rem;
84
+ width: 100%;
85
+
86
+ @include bp.lg {
87
+ margin-top: 3rem;
88
+ }
89
+
90
+ @include bp.xxxl {
91
+ margin-top: 3.5rem;
92
+ margin-bottom: 2.5rem;
93
+ padding-left: 3.5rem;
94
+ }
95
+ }
96
+
97
+ .site-title {
98
+ @extend %clickable-transition;
99
+ @extend %sidebar-link-hover;
100
+
101
+ font-family: inherit;
102
+ font-weight: 900;
103
+ font-size: 1.75rem;
104
+ line-height: 1.2;
105
+ letter-spacing: 0.25px;
106
+ margin-top: 1.25rem;
107
+ margin-bottom: 0.5rem;
108
+ width: fit-content;
109
+ color: var(--site-title-color);
110
+ }
111
+
112
+ .site-subtitle {
113
+ font-size: 95%;
114
+ color: var(--site-subtitle-color);
115
+ margin-top: 0.25rem;
116
+ word-spacing: 1px;
117
+ -webkit-user-select: none;
118
+ -moz-user-select: none;
119
+ -ms-user-select: none;
120
+ user-select: none;
121
+ }
122
+
123
+ ul {
124
+ margin-bottom: 2rem;
125
+
126
+ li.nav-item {
127
+ opacity: 0.9;
128
+ width: 100%;
129
+
130
+ @include mx.pl-pr(1.5rem);
131
+
132
+ @include bp.xxxl {
133
+ @include mx.pl-pr(2.75rem);
134
+ }
135
+
136
+ a.nav-link {
137
+ @include mx.pt-pb(0.6rem);
138
+
139
+ display: flex;
140
+ align-items: center;
141
+ border-radius: 0.75rem;
142
+ font-weight: 600;
143
+
144
+ &:hover {
145
+ background-color: var(--sidebar-hover-bg);
146
+ }
147
+
148
+ i {
149
+ font-size: 95%;
150
+ opacity: 0.8;
151
+ margin-right: 1.5rem;
152
+ }
153
+
154
+ span {
155
+ font-size: 90%;
156
+ letter-spacing: 0.2px;
157
+ }
158
+ }
159
+
160
+ &.active {
161
+ .nav-link {
162
+ color: var(--sidebar-active-color);
163
+ background-color: var(--sidebar-hover-bg);
164
+
165
+ span {
166
+ opacity: 1;
167
+ }
168
+ }
169
+ }
170
+
171
+ &:not(:first-child) {
172
+ margin-top: 0.25rem;
173
+ }
174
+ }
175
+ }
176
+
177
+ .sidebar-bottom {
178
+ padding-left: 2rem;
179
+ padding-right: 1rem;
180
+ margin-bottom: 1.5rem;
181
+
182
+ @include bp.xxxl {
183
+ padding-left: 2.75rem;
184
+ margin-bottom: 1.75rem;
185
+ }
186
+
187
+ $btn-size: 1.75rem;
188
+
189
+ %button {
190
+ width: $btn-size;
191
+ height: $btn-size;
192
+ margin-bottom: $btn-mb; // multi line gap
193
+ border-radius: 50%;
194
+ color: var(--sidebar-btn-color);
195
+ background-color: var(--sidebar-btn-bg);
196
+ text-align: center;
197
+ display: flex;
198
+ align-items: center;
199
+ justify-content: center;
200
+
201
+ &:not(:focus-visible) {
202
+ box-shadow: var(--sidebar-border-color) 0 0 0 1px;
203
+ }
204
+
205
+ &:hover {
206
+ background-color: var(--sidebar-hover-bg);
207
+ }
208
+ }
209
+
210
+ a {
211
+ @extend %button;
212
+ @extend %sidebar-link-hover;
213
+ @extend %clickable-transition;
214
+
215
+ &:not(:last-child) {
216
+ margin-right: v.$sb-btn-gap;
217
+
218
+ @include bp.xxxl {
219
+ margin-right: v.$sb-btn-gap-lg;
220
+ }
221
+ }
222
+ }
223
+
224
+ i {
225
+ line-height: $btn-size;
226
+ }
227
+
228
+ #mode-toggle {
229
+ @extend %button;
230
+ @extend %sidebar-links;
231
+ @extend %sidebar-link-hover;
232
+ }
233
+
234
+ .icon-border {
235
+ @extend %no-cursor;
236
+ @include mx.ml-mr(calc((v.$sb-btn-gap - $btn-border-width) / 2));
237
+
238
+ background-color: var(--sidebar-btn-color);
239
+ content: '';
240
+ width: $btn-border-width;
241
+ height: $btn-border-width;
242
+ border-radius: 50%;
243
+ margin-bottom: $btn-mb;
244
+
245
+ @include bp.xxxl {
246
+ @include mx.ml-mr(calc((v.$sb-btn-gap-lg - $btn-border-width) / 2));
247
+ }
248
+ }
249
+ } /* .sidebar-bottom */
250
+ } /* #sidebar */
251
+
252
+ [#{$sidebar-display}] {
253
+ #main-wrapper {
254
+ @include bp.lt(bp.get(lg)) {
255
+ transform: translateX(v.$sidebar-width);
256
+ }
257
+ }
258
+ }
@@ -0,0 +1,86 @@
1
+ @use '../abstracts/variables' as v;
2
+ @use '../abstracts/mixins' as mx;
3
+ @use '../abstracts/breakpoints' as bp;
4
+ @use '../abstracts/placeholders';
5
+
6
+ #topbar-wrapper {
7
+ height: v.$topbar-height;
8
+ background-color: var(--topbar-bg);
9
+
10
+ @include bp.lt(bp.get(lg)) {
11
+ @include mx.slide(top 0.2s ease);
12
+
13
+ left: 0;
14
+ }
15
+ }
16
+
17
+ #topbar {
18
+ @extend %btn-color;
19
+
20
+ #breadcrumb {
21
+ font-size: 1rem;
22
+ color: var(--text-muted-color);
23
+ padding-left: 0.5rem;
24
+
25
+ a:hover {
26
+ @extend %link-hover;
27
+ }
28
+
29
+ span {
30
+ &:not(:last-child) {
31
+ &::after {
32
+ content: '›';
33
+ padding: 0 0.3rem;
34
+ }
35
+ }
36
+ }
37
+
38
+ @include bp.lt(bp.get(lg)) {
39
+ display: none;
40
+ }
41
+
42
+ @include bp.between(bp.get(lg), calc(#{bp.get(xl)} - 1px)) {
43
+ width: 65%;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+ word-break: keep-all;
47
+ white-space: nowrap;
48
+ }
49
+ }
50
+
51
+ @include bp.lte(bp.get(md)) {
52
+ @include mx.max-w-100;
53
+ }
54
+
55
+ @include bp.lt(bp.get(lg)) {
56
+ max-width: 100%;
57
+ }
58
+ }
59
+
60
+ #topbar-title {
61
+ display: none;
62
+ font-size: 1.1rem;
63
+ font-weight: 600;
64
+ font-family: sans-serif;
65
+ color: var(--topbar-text-color);
66
+ text-align: center;
67
+ width: 70%;
68
+ word-break: keep-all;
69
+
70
+ @include bp.lt(bp.get(lg)) {
71
+ display: block;
72
+ }
73
+
74
+ @include bp.lg {
75
+ text-align: left;
76
+ }
77
+ }
78
+
79
+ #sidebar-trigger,
80
+ #search-trigger {
81
+ display: none;
82
+
83
+ @include bp.lt(bp.get(lg)) {
84
+ display: block;
85
+ }
86
+ }
@@ -1,2 +1,2 @@
1
- @import 'dist/bootstrap';
2
- @import 'main';
1
+ @use 'vendors/bootstrap';
2
+ @use 'main';
data/_sass/main.scss CHANGED
@@ -1,13 +1,4 @@
1
- @import 'colors/typography-light';
2
- @import 'colors/typography-dark';
3
- @import 'addon/variables';
4
- @import 'variables-hook';
5
- @import 'addon/module';
6
- @import 'addon/syntax';
7
- @import 'addon/commons';
8
- @import 'layout/home';
9
- @import 'layout/post';
10
- @import 'layout/tags';
11
- @import 'layout/archives';
12
- @import 'layout/categories';
13
- @import 'layout/category-tag';
1
+ @forward 'base';
2
+ @forward 'components';
3
+ @forward 'layout';
4
+ @forward 'pages';
@@ -1,10 +1,17 @@
1
- /*
2
- Style for Archives
3
- */
1
+ @use '../abstracts/breakpoints' as bp;
2
+ @use '../abstracts/placeholders';
4
3
 
5
4
  #archives {
6
5
  letter-spacing: 0.03rem;
7
6
 
7
+ @include bp.lt(bp.get(sm)) {
8
+ margin-top: -1rem;
9
+
10
+ ul {
11
+ letter-spacing: 0;
12
+ }
13
+ }
14
+
8
15
  $timeline-width: 4px;
9
16
 
10
17
  %timeline {
@@ -58,9 +65,8 @@
58
65
  li {
59
66
  font-size: 1.1rem;
60
67
  line-height: 3rem;
61
- white-space: nowrap;
62
- overflow: hidden;
63
- text-overflow: ellipsis;
68
+
69
+ @extend %text-ellipsis;
64
70
 
65
71
  &:nth-child(odd) {
66
72
  background-color: var(--main-bg, #ffffff);
@@ -132,13 +138,3 @@
132
138
  }
133
139
  }
134
140
  } /* #archives */
135
-
136
- @media all and (max-width: 576px) {
137
- #archives {
138
- margin-top: -1rem;
139
-
140
- ul {
141
- letter-spacing: 0;
142
- }
143
- }
144
- }
@@ -1,8 +1,7 @@
1
- /*
2
- Style for Tab Categories
3
- */
1
+ @use '../abstracts/variables' as v;
2
+ @use '../abstracts/placeholders';
4
3
 
5
- %category-icon-color {
4
+ %-category-icon-color {
6
5
  color: gray;
7
6
  }
8
7
 
@@ -16,7 +15,7 @@
16
15
  }
17
16
 
18
17
  .card-header {
19
- $radius: calc($radius-lg - 1px);
18
+ $radius: calc(v.$radius-lg - 1px);
20
19
 
21
20
  padding: 0.75rem;
22
21
  border-radius: $radius;
@@ -29,7 +28,7 @@
29
28
  }
30
29
 
31
30
  i {
32
- @extend %category-icon-color;
31
+ @extend %-category-icon-color;
33
32
 
34
33
  font-size: 86%; /* fontawesome icons */
35
34
  }
@@ -1,6 +1,6 @@
1
- /*
2
- Style for page Category and Tag
3
- */
1
+ @use '../abstracts/breakpoints' as bp;
2
+ @use '../abstracts/mixins' as mx;
3
+ @use '../abstracts/placeholders';
4
4
 
5
5
  .dash {
6
6
  margin: 0 0.5rem 0.6rem 0.5rem;
@@ -24,6 +24,10 @@
24
24
  position: relative;
25
25
  top: 0.6rem;
26
26
  margin-right: 0.5rem;
27
+
28
+ @include bp.lt(bp.get(sm)) {
29
+ margin: 0 0.5rem;
30
+ }
27
31
  }
28
32
 
29
33
  /* post's title */
@@ -31,6 +35,10 @@
31
35
  @extend %no-bottom-border;
32
36
 
33
37
  font-size: 1.1rem;
38
+
39
+ @include bp.lt(bp.get(sm)) {
40
+ @include mx.text-ellipsis;
41
+ }
34
42
  }
35
43
  }
36
44
  }
@@ -53,20 +61,3 @@
53
61
  margin-bottom: -1px; /* Avoid jumping */
54
62
  }
55
63
  }
56
-
57
- @media all and (max-width: 576px) {
58
- #page-category,
59
- #page-tag {
60
- ul > li {
61
- &::before {
62
- margin: 0 0.5rem;
63
- }
64
-
65
- > a {
66
- white-space: nowrap;
67
- overflow: hidden;
68
- text-overflow: ellipsis;
69
- }
70
- }
71
- }
72
- }
@@ -1,10 +1,14 @@
1
- /*
2
- Style for Homepage
3
- */
1
+ @use '../abstracts/variables' as v;
2
+ @use '../abstracts/breakpoints' as bp;
3
+ @use '../abstracts/placeholders';
4
4
 
5
5
  #post-list {
6
6
  margin-top: 2rem;
7
7
 
8
+ @include bp.lg {
9
+ margin-top: 2.5rem;
10
+ }
11
+
8
12
  .card-wrapper {
9
13
  &:hover {
10
14
  text-decoration: none;
@@ -20,7 +24,11 @@
20
24
  background: none;
21
25
 
22
26
  %img-radius {
23
- border-radius: $radius-lg $radius-lg 0 0;
27
+ border-radius: v.$radius-lg v.$radius-lg 0 0;
28
+
29
+ @include bp.md {
30
+ border-radius: 0 v.$radius-lg v.$radius-lg 0;
31
+ }
24
32
  }
25
33
 
26
34
  .preview-img {
@@ -35,6 +43,10 @@
35
43
  height: 100%;
36
44
  padding: 1rem;
37
45
 
46
+ @include bp.md {
47
+ padding: 1.75rem 1.75rem 1.25rem;
48
+ }
49
+
38
50
  .card-title {
39
51
  @extend %text-clip;
40
52
 
@@ -46,14 +58,20 @@
46
58
  color: var(--text-muted-color) !important;
47
59
  }
48
60
 
49
- .card-text.content {
50
- @extend %muted;
61
+ .card-text {
62
+ @include bp.md {
63
+ display: inherit !important;
64
+ }
51
65
 
52
- p {
53
- @extend %text-clip;
66
+ &.content {
67
+ @extend %muted;
54
68
 
55
- line-height: 1.5;
56
- margin: 0;
69
+ p {
70
+ @extend %text-clip;
71
+
72
+ line-height: 1.5;
73
+ margin: 0;
74
+ }
57
75
  }
58
76
  }
59
77
 
@@ -63,6 +81,10 @@
63
81
  i {
64
82
  &:not(:first-child) {
65
83
  margin-left: 1.5rem;
84
+
85
+ @include bp.md {
86
+ margin-left: 1.75rem;
87
+ }
66
88
  }
67
89
  }
68
90
 
@@ -74,9 +96,8 @@
74
96
 
75
97
  > div:first-child {
76
98
  display: block;
77
- white-space: nowrap;
78
- overflow: hidden;
79
- text-overflow: ellipsis;
99
+
100
+ @extend %text-ellipsis;
80
101
  }
81
102
  }
82
103
  }
@@ -88,11 +109,28 @@
88
109
  font-family: Lato, sans-serif;
89
110
  justify-content: space-evenly;
90
111
 
112
+ @include bp.lg {
113
+ font-size: 0.85rem;
114
+ justify-content: center;
115
+ }
116
+
91
117
  a:hover {
92
118
  text-decoration: none;
93
119
  }
94
120
 
95
121
  .page-item {
122
+ @include bp.lt(bp.get(lg)) {
123
+ &:not(:first-child):not(:last-child) {
124
+ display: none;
125
+ }
126
+ }
127
+
128
+ @include bp.lg {
129
+ &:not(:last-child) {
130
+ margin-right: 0.7rem;
131
+ }
132
+ }
133
+
96
134
  .page-link {
97
135
  color: var(--btn-patinator-text-color);
98
136
  padding: 0 0.6rem;
@@ -126,64 +164,10 @@
126
164
  }
127
165
  }
128
166
  } /* .page-item */
129
- } /* .pagination */
130
-
131
- /* Tablet */
132
- @media all and (min-width: 768px) {
133
- %img-radius {
134
- border-radius: 0 $radius-lg $radius-lg 0;
135
- }
136
167
 
137
- #post-list {
138
- .card {
139
- .card-body {
140
- padding: 1.75rem 1.75rem 1.25rem 1.75rem;
141
-
142
- .card-text {
143
- display: inherit !important;
144
- }
145
-
146
- .post-meta {
147
- i {
148
- &:not(:first-child) {
149
- margin-left: 1.75rem;
150
- }
151
- }
152
- }
153
- }
154
- }
155
- }
156
- }
157
-
158
- /* Hide SideBar and TOC */
159
- @media all and (max-width: 830px) {
160
- .pagination {
161
- .page-item {
162
- &:not(:first-child):not(:last-child) {
163
- display: none;
164
- }
165
- }
166
- }
167
- }
168
-
169
- /* Sidebar is visible */
170
- @media all and (min-width: 831px) {
171
- #post-list {
172
- margin-top: 2.5rem;
173
- }
174
-
175
- .pagination {
176
- font-size: 0.85rem;
177
- justify-content: center;
178
-
179
- .page-item {
180
- &:not(:last-child) {
181
- margin-right: 0.7rem;
182
- }
183
- }
184
-
185
- .page-index {
168
+ .page-index {
169
+ @include bp.lg {
186
170
  display: none;
187
171
  }
188
- } /* .pagination */
172
+ }
189
173
  }
@@ -0,0 +1,7 @@
1
+ @forward 'search';
2
+ @forward 'home';
3
+ @forward 'post';
4
+ @forward 'categories';
5
+ @forward 'tags';
6
+ @forward 'archives';
7
+ @forward 'category-tag';