jekyll-theme-resuchirp 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +94 -0
  4. data/_data/authors.yml +17 -0
  5. data/_data/contact.yml +28 -0
  6. data/_data/locales/ar.yml +91 -0
  7. data/_data/locales/bg-BG.yml +81 -0
  8. data/_data/locales/cs-CZ.yml +89 -0
  9. data/_data/locales/de-DE.yml +80 -0
  10. data/_data/locales/el-GR.yml +91 -0
  11. data/_data/locales/en.yml +91 -0
  12. data/_data/locales/es-ES.yml +77 -0
  13. data/_data/locales/fi-FI.yml +90 -0
  14. data/_data/locales/fr-FR.yml +77 -0
  15. data/_data/locales/hu-HU.yml +79 -0
  16. data/_data/locales/id-ID.yml +77 -0
  17. data/_data/locales/it-IT.yml +90 -0
  18. data/_data/locales/ko-KR.yml +84 -0
  19. data/_data/locales/my-MM.yml +77 -0
  20. data/_data/locales/pt-BR.yml +77 -0
  21. data/_data/locales/ru-RU.yml +77 -0
  22. data/_data/locales/sl-SI.yml +91 -0
  23. data/_data/locales/sv-SE.yml +91 -0
  24. data/_data/locales/th.yml +91 -0
  25. data/_data/locales/tr-TR.yml +77 -0
  26. data/_data/locales/uk-UA.yml +77 -0
  27. data/_data/locales/vi-VN.yml +76 -0
  28. data/_data/locales/zh-CN.yml +83 -0
  29. data/_data/locales/zh-TW.yml +83 -0
  30. data/_data/origin/basic.yml +48 -0
  31. data/_data/origin/cors.yml +59 -0
  32. data/_data/share.yml +25 -0
  33. data/_includes/comments/disqus.html +49 -0
  34. data/_includes/comments/giscus.html +64 -0
  35. data/_includes/comments/utterances.html +51 -0
  36. data/_includes/comments.html +5 -0
  37. data/_includes/datetime.html +19 -0
  38. data/_includes/embed/twitch.html +4 -0
  39. data/_includes/embed/youtube.html +6 -0
  40. data/_includes/favicons.html +17 -0
  41. data/_includes/footer.html +34 -0
  42. data/_includes/google-analytics.html +14 -0
  43. data/_includes/head.html +95 -0
  44. data/_includes/js-selector.html +106 -0
  45. data/_includes/jsdelivr-combine.html +26 -0
  46. data/_includes/lang.html +8 -0
  47. data/_includes/language-alias.html +70 -0
  48. data/_includes/mermaid.html +58 -0
  49. data/_includes/metadata-hook.html +1 -0
  50. data/_includes/mode-toggle.html +143 -0
  51. data/_includes/no-linenos.html +10 -0
  52. data/_includes/origin-type.html +13 -0
  53. data/_includes/post-nav.html +37 -0
  54. data/_includes/post-paginator.html +89 -0
  55. data/_includes/post-sharing.html +37 -0
  56. data/_includes/read-time.html +37 -0
  57. data/_includes/refactor-content.html +286 -0
  58. data/_includes/related-posts.html +97 -0
  59. data/_includes/search-loader.html +45 -0
  60. data/_includes/search-results.html +10 -0
  61. data/_includes/sidebar.html +104 -0
  62. data/_includes/toc.html +13 -0
  63. data/_includes/topbar.html +70 -0
  64. data/_includes/trending-tags.html +46 -0
  65. data/_includes/update-list.html +39 -0
  66. data/_layouts/archives.html +36 -0
  67. data/_layouts/categories.html +138 -0
  68. data/_layouts/category.html +24 -0
  69. data/_layouts/compress.html +10 -0
  70. data/_layouts/default.html +76 -0
  71. data/_layouts/home.html +110 -0
  72. data/_layouts/page.html +68 -0
  73. data/_layouts/post.html +133 -0
  74. data/_layouts/tag.html +23 -0
  75. data/_layouts/tags.html +22 -0
  76. data/_sass/addon/commons.scss +1578 -0
  77. data/_sass/addon/module.scss +178 -0
  78. data/_sass/addon/syntax.scss +271 -0
  79. data/_sass/addon/variables.scss +27 -0
  80. data/_sass/colors/dark-syntax.scss +87 -0
  81. data/_sass/colors/dark-typography.scss +151 -0
  82. data/_sass/colors/light-syntax.scss +84 -0
  83. data/_sass/colors/light-typography.scss +109 -0
  84. data/_sass/jekyll-theme-chirpy.scss +19 -0
  85. data/_sass/layout/archives.scss +144 -0
  86. data/_sass/layout/categories.scss +83 -0
  87. data/_sass/layout/category-tag.scss +77 -0
  88. data/_sass/layout/home.scss +219 -0
  89. data/_sass/layout/post.scss +414 -0
  90. data/_sass/layout/tags.scss +19 -0
  91. data/_sass/variables-hook.scss +3 -0
  92. data/assets/404.html +16 -0
  93. data/assets/css/style.scss +6 -0
  94. data/assets/feed.xml +61 -0
  95. data/assets/img/favicons/android-chrome-192x192.png +0 -0
  96. data/assets/img/favicons/android-chrome-512x512.png +0 -0
  97. data/assets/img/favicons/apple-touch-icon.png +0 -0
  98. data/assets/img/favicons/browserconfig.xml +13 -0
  99. data/assets/img/favicons/favicon-16x16.png +0 -0
  100. data/assets/img/favicons/favicon-32x32.png +0 -0
  101. data/assets/img/favicons/favicon.ico +0 -0
  102. data/assets/img/favicons/mstile-150x150.png +0 -0
  103. data/assets/img/favicons/site.webmanifest +26 -0
  104. data/assets/js/data/search.json +20 -0
  105. data/assets/js/data/swcache.js +50 -0
  106. data/assets/js/pwa/app.js +47 -0
  107. data/assets/js/pwa/sw.js +90 -0
  108. data/assets/js/pwa/unregister.js +12 -0
  109. data/assets/robots.txt +10 -0
  110. metadata +255 -0
@@ -0,0 +1,219 @@
1
+ /*
2
+ Style for Homepage
3
+ */
4
+
5
+ #post-list {
6
+ margin-top: 2rem;
7
+
8
+ a.card-wrapper {
9
+ display: block;
10
+
11
+ &:hover {
12
+ text-decoration: none;
13
+ }
14
+
15
+ &:not(:last-child) {
16
+ margin-bottom: 1.25rem;
17
+ }
18
+ }
19
+
20
+ .card {
21
+ %img-radius {
22
+ border-radius: $base-radius $base-radius 0 0;
23
+ }
24
+
25
+ .preview-img {
26
+ height: 10rem;
27
+
28
+ @extend %img-radius;
29
+
30
+ img {
31
+ width: 100%;
32
+ height: 100%;
33
+ -o-object-fit: cover;
34
+ object-fit: cover;
35
+
36
+ @extend %img-radius;
37
+ }
38
+ }
39
+
40
+ .card-body {
41
+ min-height: 10.5rem;
42
+ padding: 1rem;
43
+
44
+ .card-title {
45
+ @extend %text-clip;
46
+
47
+ font-size: 1.25rem;
48
+ }
49
+
50
+ %muted {
51
+ color: var(--text-muted-color) !important;
52
+ }
53
+
54
+ .card-text.post-content {
55
+ @extend %muted;
56
+
57
+ p {
58
+ @extend %text-clip;
59
+
60
+ line-height: 1.5;
61
+ margin: 0;
62
+ }
63
+ }
64
+
65
+ .post-meta {
66
+ @extend %muted;
67
+
68
+ i {
69
+ &:not(:first-child) {
70
+ margin-left: 1.5rem;
71
+ }
72
+ }
73
+
74
+ em {
75
+ @extend %normal-font-style;
76
+
77
+ color: inherit;
78
+ }
79
+
80
+ > div:first-child {
81
+ display: block;
82
+ white-space: nowrap;
83
+ overflow: hidden;
84
+ text-overflow: ellipsis;
85
+ }
86
+ }
87
+ }
88
+ }
89
+ } /* #post-list */
90
+
91
+ .pagination {
92
+ color: var(--btn-patinator-text-color);
93
+ font-family: Lato, sans-serif;
94
+
95
+ a:hover {
96
+ text-decoration: none;
97
+ }
98
+
99
+ .page-item {
100
+ .page-link {
101
+ color: inherit;
102
+ width: 2.5rem;
103
+ height: 2.5rem;
104
+ padding: 0;
105
+ display: -webkit-box;
106
+ -webkit-box-pack: center;
107
+ -webkit-box-align: center;
108
+ border-radius: 50%;
109
+ border: 1px solid var(--btn-paginator-border-color);
110
+ background-color: var(--button-bg);
111
+
112
+ &:hover {
113
+ background-color: var(--btn-paginator-hover-color);
114
+ }
115
+ }
116
+
117
+ &.active {
118
+ .page-link {
119
+ background-color: var(--btn-paginator-hover-color);
120
+ color: var(--btn-text-color);
121
+ }
122
+ }
123
+
124
+ &.disabled {
125
+ cursor: not-allowed;
126
+
127
+ .page-link {
128
+ color: rgba(108, 117, 125, 0.57);
129
+ border-color: var(--btn-paginator-border-color);
130
+ background-color: var(--button-bg);
131
+ }
132
+ }
133
+
134
+ &:first-child .page-link,
135
+ &:last-child .page-link {
136
+ border-radius: 50%;
137
+ }
138
+ } /* .page-item */
139
+ } /* .pagination */
140
+
141
+ /* Tablet */
142
+ @media all and (min-width: 768px) {
143
+ #post-list {
144
+ %img-radius {
145
+ border-radius: 0 $base-radius $base-radius 0;
146
+ }
147
+
148
+ .card {
149
+ .preview-img {
150
+ width: 20rem;
151
+ height: 11.55rem; // can hold 2 lines each for title and content
152
+ }
153
+
154
+ .card-body {
155
+ min-height: 10.75rem;
156
+ width: 60%;
157
+ padding: 1.75rem 1.75rem 1.25rem 1.75rem;
158
+
159
+ .card-text {
160
+ display: inherit !important;
161
+ }
162
+
163
+ .post-meta {
164
+ i {
165
+ &:not(:first-child) {
166
+ margin-left: 1.75rem;
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }
173
+ }
174
+
175
+ /* Hide SideBar and TOC */
176
+ @media all and (max-width: 830px) {
177
+ .pagination {
178
+ justify-content: space-evenly;
179
+
180
+ .page-item {
181
+ &:not(:first-child):not(:last-child) {
182
+ display: none;
183
+ }
184
+ }
185
+ }
186
+ }
187
+
188
+ /* Sidebar is visible */
189
+ @media all and (min-width: 831px) {
190
+ #post-list {
191
+ margin-top: 2.5rem;
192
+ }
193
+
194
+ .pagination {
195
+ font-size: 0.85rem;
196
+
197
+ .page-item {
198
+ &:not(:last-child) {
199
+ margin-right: 0.7rem;
200
+ }
201
+
202
+ .page-link {
203
+ width: 2rem;
204
+ height: 2rem;
205
+ }
206
+ }
207
+
208
+ .page-index {
209
+ display: none;
210
+ }
211
+ } /* .pagination */
212
+ }
213
+
214
+ /* Panel is visible */
215
+ @media all and (min-width: 1200px) {
216
+ #post-list {
217
+ padding-right: 0.5rem;
218
+ }
219
+ }
@@ -0,0 +1,414 @@
1
+ /*
2
+ Post-specific style
3
+ */
4
+
5
+ @mixin btn-sharing-color($light-color, $important: false) {
6
+ @if $important {
7
+ color: var(--btn-share-color, $light-color) !important;
8
+ } @else {
9
+ color: var(--btn-share-color, $light-color);
10
+ }
11
+ }
12
+
13
+ %btn-post-nav {
14
+ width: 50%;
15
+ position: relative;
16
+ border-color: var(--btn-border-color);
17
+ }
18
+
19
+ @mixin dot($pl: 0.25rem, $pr: 0.25rem) {
20
+ content: '\2022';
21
+ padding-left: $pl;
22
+ padding-right: $pr;
23
+ }
24
+
25
+ %text-color {
26
+ color: var(--text-color);
27
+ }
28
+
29
+ .preview-img {
30
+ overflow: hidden;
31
+ aspect-ratio: 40 / 21;
32
+
33
+ @extend %rounded;
34
+
35
+ &:not(.no-bg) {
36
+ img.lazyloaded {
37
+ background: var(--img-bg);
38
+ }
39
+ }
40
+
41
+ img {
42
+ -o-object-fit: cover;
43
+ object-fit: cover;
44
+
45
+ @extend %rounded;
46
+ }
47
+ }
48
+
49
+ h1 + .post-meta {
50
+ span + span::before {
51
+ @include dot;
52
+ }
53
+
54
+ em {
55
+ color: var(--text-color);
56
+
57
+ a {
58
+ color: inherit;
59
+ }
60
+ }
61
+ }
62
+
63
+ .post-tail-wrapper {
64
+ margin-top: 6rem;
65
+ border-bottom: 1px double var(--main-border-color);
66
+ font-size: 0.85rem;
67
+
68
+ .post-tail-bottom a {
69
+ color: inherit;
70
+ }
71
+
72
+ .license-wrapper {
73
+ line-height: 1.2rem;
74
+
75
+ > a {
76
+ @extend %text-highlight;
77
+
78
+ &:hover {
79
+ @extend %link-hover;
80
+ }
81
+ }
82
+
83
+ span:last-child {
84
+ font-size: 0.85rem;
85
+ }
86
+ } /* .license-wrapper */
87
+
88
+ .post-meta a:not(:hover) {
89
+ @extend %link-underline;
90
+ }
91
+
92
+ .share-wrapper {
93
+ vertical-align: middle;
94
+ -webkit-user-select: none;
95
+ -moz-user-select: none;
96
+ -ms-user-select: none;
97
+ user-select: none;
98
+
99
+ .share-icons {
100
+ font-size: 1.2rem;
101
+
102
+ > *:hover {
103
+ i {
104
+ @extend %btn-share-hovor;
105
+ }
106
+ }
107
+
108
+ button {
109
+ position: relative;
110
+ bottom: 2px;
111
+ padding: 0;
112
+
113
+ @extend %cursor-pointer;
114
+ }
115
+
116
+ a {
117
+ &:not(:last-child) {
118
+ margin-right: 0.25rem;
119
+ }
120
+
121
+ &:hover {
122
+ text-decoration: none;
123
+ }
124
+ }
125
+
126
+ .fab {
127
+ &.fa-twitter {
128
+ @include btn-sharing-color(rgba(29, 161, 242, 1));
129
+ }
130
+
131
+ &.fa-facebook-square {
132
+ @include btn-sharing-color(rgb(66, 95, 156));
133
+ }
134
+
135
+ &.fa-telegram {
136
+ @include btn-sharing-color(rgb(39, 159, 217));
137
+ }
138
+
139
+ &.fa-linkedin {
140
+ @include btn-sharing-color(rgb(0, 119, 181));
141
+ }
142
+
143
+ &.fa-weibo {
144
+ @include btn-sharing-color(rgb(229, 20, 43));
145
+ }
146
+ }
147
+ } /* .share-icons */
148
+
149
+ .fas.fa-link {
150
+ @include btn-sharing-color(rgb(171, 171, 171));
151
+ }
152
+ } /* .share-wrapper */
153
+ }
154
+
155
+ .post-tags {
156
+ line-height: 2rem;
157
+
158
+ .post-tag {
159
+ &:hover {
160
+ @extend %link-hover;
161
+ @extend %tag-hover;
162
+ @extend %no-bottom-border;
163
+ }
164
+ }
165
+ }
166
+
167
+ .post-navigation {
168
+ padding-top: 3rem;
169
+ padding-bottom: 4rem;
170
+
171
+ .btn {
172
+ @extend %btn-post-nav;
173
+
174
+ &:not(:hover) {
175
+ color: var(--link-color);
176
+ }
177
+
178
+ &:hover {
179
+ &:not(.disabled)::before {
180
+ color: whitesmoke;
181
+ }
182
+ }
183
+
184
+ &.disabled {
185
+ @extend %btn-post-nav;
186
+
187
+ pointer-events: auto;
188
+ cursor: not-allowed;
189
+ background: none;
190
+ color: gray;
191
+ }
192
+
193
+ &.btn-outline-primary.disabled:focus {
194
+ box-shadow: none;
195
+ }
196
+
197
+ &::before {
198
+ color: var(--text-muted-color);
199
+ font-size: 0.65rem;
200
+ text-transform: uppercase;
201
+ content: attr(prompt);
202
+ }
203
+
204
+ &:first-child {
205
+ border-radius: $base-radius 0 0 $base-radius;
206
+ left: 0.5px;
207
+ }
208
+
209
+ &:last-child {
210
+ border-radius: 0 $base-radius $base-radius 0;
211
+ right: 0.5px;
212
+ }
213
+ }
214
+
215
+ p {
216
+ font-size: 1.1rem;
217
+ line-height: 1.5rem;
218
+ margin-top: 0.3rem;
219
+ white-space: normal;
220
+ }
221
+ } /* .post-navigation */
222
+
223
+ @media (hover: hover) {
224
+ .post-navigation {
225
+ .btn,
226
+ .btn::before {
227
+ transition: all 0.35s ease-in-out;
228
+ }
229
+ }
230
+ }
231
+
232
+ @-webkit-keyframes fade-up {
233
+ from {
234
+ opacity: 0;
235
+ position: relative;
236
+ top: 2rem;
237
+ }
238
+
239
+ to {
240
+ opacity: 1;
241
+ position: relative;
242
+ top: 0;
243
+ }
244
+ }
245
+
246
+ @keyframes fade-up {
247
+ from {
248
+ opacity: 0;
249
+ position: relative;
250
+ top: 2rem;
251
+ }
252
+
253
+ to {
254
+ opacity: 1;
255
+ position: relative;
256
+ top: 0;
257
+ }
258
+ }
259
+
260
+ #toc-wrapper {
261
+ border-left: 1px solid rgba(158, 158, 158, 0.17);
262
+ position: -webkit-sticky;
263
+ position: sticky;
264
+ top: 4rem;
265
+ transition: top 0.2s ease-in-out;
266
+ -webkit-animation: fade-up 0.8s;
267
+ animation: fade-up 0.8s;
268
+
269
+ ul {
270
+ list-style: none;
271
+ font-size: 0.85rem;
272
+ line-height: 1.25;
273
+ padding-left: 0;
274
+
275
+ li {
276
+ &:not(:last-child) {
277
+ margin: 0.4rem 0;
278
+ }
279
+
280
+ a {
281
+ padding: 0.2rem 0 0.2rem 1.25rem;
282
+ }
283
+ }
284
+
285
+ /* Overwrite TOC plugin style */
286
+
287
+ .toc-link {
288
+ display: block;
289
+ white-space: nowrap;
290
+ overflow: hidden;
291
+ text-overflow: ellipsis;
292
+
293
+ &:hover {
294
+ color: var(--toc-highlight);
295
+ text-decoration: none;
296
+ }
297
+
298
+ &::before {
299
+ display: none;
300
+ }
301
+ }
302
+
303
+ .is-active-link {
304
+ color: var(--toc-highlight) !important;
305
+ font-weight: 600;
306
+
307
+ &::before {
308
+ display: inline-block;
309
+ width: 1px;
310
+ left: -1px;
311
+ height: 1.25rem;
312
+ background-color: var(--toc-highlight) !important;
313
+ }
314
+ }
315
+
316
+ ul {
317
+ a {
318
+ padding-left: 2rem;
319
+ }
320
+ }
321
+ }
322
+ }
323
+
324
+ /* --- Related Posts --- */
325
+
326
+ #related-posts {
327
+ > h3 {
328
+ @include label(1.1rem, 600);
329
+ }
330
+
331
+ em {
332
+ @extend %normal-font-style;
333
+
334
+ color: var(--text-muted-color);
335
+ }
336
+
337
+ p {
338
+ font-size: 0.9rem;
339
+ margin-bottom: 0.5rem;
340
+ overflow: hidden;
341
+ text-overflow: ellipsis;
342
+ display: -webkit-box;
343
+ -webkit-line-clamp: 2;
344
+ -webkit-box-orient: vertical;
345
+ }
346
+
347
+ .card {
348
+ h4 {
349
+ @extend %text-color;
350
+ @extend %text-clip;
351
+ }
352
+ }
353
+ }
354
+
355
+ #tail-wrapper {
356
+ min-height: 2rem;
357
+
358
+ > div:last-of-type {
359
+ margin-bottom: 2rem;
360
+ }
361
+
362
+ /* stylelint-disable-next-line selector-id-pattern */
363
+ #disqus_thread {
364
+ min-height: 8.5rem;
365
+ }
366
+ }
367
+
368
+ %btn-share-hovor {
369
+ color: var(--btn-share-hover-color) !important;
370
+ }
371
+
372
+ .share-label {
373
+ @include label(inherit, 400, inherit);
374
+
375
+ &::after {
376
+ content: ':';
377
+ }
378
+ }
379
+
380
+ @media all and (max-width: 576px) {
381
+ .preview-img[data-src] {
382
+ margin-top: 2.2rem;
383
+ }
384
+
385
+ .post-tail-bottom {
386
+ flex-wrap: wrap-reverse !important;
387
+
388
+ > div:first-child {
389
+ width: 100%;
390
+ margin-top: 1rem;
391
+ }
392
+ }
393
+ }
394
+
395
+ @media all and (max-width: 768px) {
396
+ .post-content > p > img {
397
+ max-width: calc(100% + 1rem);
398
+ }
399
+ }
400
+
401
+ /* Hide SideBar and TOC */
402
+ @media all and (max-width: 849px) {
403
+ .post-navigation {
404
+ padding-left: 0;
405
+ padding-right: 0;
406
+ margin-left: -0.5rem;
407
+ margin-right: -0.5rem;
408
+ }
409
+
410
+ .preview-img[data-src] {
411
+ max-width: 100vw;
412
+ border-radius: 0;
413
+ }
414
+ }
@@ -0,0 +1,19 @@
1
+ /*
2
+ Styles for Tab Tags
3
+ */
4
+
5
+ .tag {
6
+ border-radius: 0.7em;
7
+ padding: 6px 8px 7px;
8
+ margin-right: 0.8rem;
9
+ line-height: 3rem;
10
+ letter-spacing: 0;
11
+ border: 1px solid var(--tag-border) !important;
12
+ box-shadow: 0 0 3px 0 var(--tag-shadow);
13
+
14
+ span {
15
+ margin-left: 0.6em;
16
+ font-size: 0.7em;
17
+ font-family: Oswald, sans-serif;
18
+ }
19
+ }
@@ -0,0 +1,3 @@
1
+ /*
2
+ Appending custom SCSS variables will override the default ones in `_sass/addon/variables.scsss`
3
+ */
data/assets/404.html ADDED
@@ -0,0 +1,16 @@
1
+ ---
2
+ layout: page
3
+ title: "404: Page not found"
4
+ permalink: /404.html
5
+
6
+ redirect_from:
7
+ - /norobots/
8
+ - /assets/
9
+ - /posts/
10
+ ---
11
+
12
+ {% include lang.html %}
13
+
14
+ <div class="lead">
15
+ <p>{{ site.data.locales[lang].not_found.statment }}</p>
16
+ </div>
@@ -0,0 +1,6 @@
1
+ ---
2
+ ---
3
+
4
+ @import '{{ site.theme }}';
5
+
6
+ /* append your custom style below */