jekyll-theme-chirpy 3.0.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 (107) hide show
  1. checksums.yaml +7 -0
  2. data/404.html +20 -0
  3. data/LICENSE +21 -0
  4. data/README.md +223 -0
  5. data/_config.yml +204 -0
  6. data/_data/contact.yml +30 -0
  7. data/_data/date_format.yml +7 -0
  8. data/_data/label.yml +19 -0
  9. data/_data/rights.yml +11 -0
  10. data/_data/share.yml +27 -0
  11. data/_includes/css-selector.html +10 -0
  12. data/_includes/disqus.html +25 -0
  13. data/_includes/favicons.html +32 -0
  14. data/_includes/footer.html +29 -0
  15. data/_includes/google-analytics.html +14 -0
  16. data/_includes/head.html +80 -0
  17. data/_includes/js-selector.html +39 -0
  18. data/_includes/lozad.html +10 -0
  19. data/_includes/mermaid.html +29 -0
  20. data/_includes/mode-toggle.html +145 -0
  21. data/_includes/no-linenos.html +10 -0
  22. data/_includes/panel.html +57 -0
  23. data/_includes/post-nav.html +28 -0
  24. data/_includes/post-paginator.html +80 -0
  25. data/_includes/post-sharing.html +23 -0
  26. data/_includes/read-time.html +19 -0
  27. data/_includes/refactor-content.html +66 -0
  28. data/_includes/related-posts.html +106 -0
  29. data/_includes/search-loader.html +28 -0
  30. data/_includes/search-results.html +19 -0
  31. data/_includes/sidebar.html +91 -0
  32. data/_includes/timeago.html +27 -0
  33. data/_includes/topbar.html +48 -0
  34. data/_includes/trending-tags.html +36 -0
  35. data/_includes/update-list.html +24 -0
  36. data/_layouts/archives.html +36 -0
  37. data/_layouts/categories.html +100 -0
  38. data/_layouts/category.html +24 -0
  39. data/_layouts/compress.html +10 -0
  40. data/_layouts/default.html +51 -0
  41. data/_layouts/home.html +96 -0
  42. data/_layouts/page.html +34 -0
  43. data/_layouts/post.html +130 -0
  44. data/_layouts/tag.html +24 -0
  45. data/_layouts/tags.html +21 -0
  46. data/_plugins/posts-lastmod-hook.rb +14 -0
  47. data/_sass/addon/commons.scss +1629 -0
  48. data/_sass/addon/module.scss +118 -0
  49. data/_sass/addon/syntax.scss +176 -0
  50. data/_sass/addon/variables.scss +27 -0
  51. data/_sass/colors/dark-syntax.scss +84 -0
  52. data/_sass/colors/dark-typography.scss +135 -0
  53. data/_sass/colors/light-syntax.scss +75 -0
  54. data/_sass/colors/light-typography.scss +76 -0
  55. data/_sass/jekyll-theme-chirpy.scss +22 -0
  56. data/_sass/layout/archives.scss +137 -0
  57. data/_sass/layout/categories.scss +64 -0
  58. data/_sass/layout/category-tag.scss +66 -0
  59. data/_sass/layout/home.scss +156 -0
  60. data/_sass/layout/post.scss +349 -0
  61. data/_sass/layout/tags.scss +18 -0
  62. data/_tabs/about.md +8 -0
  63. data/_tabs/archives.md +7 -0
  64. data/_tabs/categories.md +6 -0
  65. data/_tabs/tags.md +6 -0
  66. data/app.js +8 -0
  67. data/assets/css/style.scss +7 -0
  68. data/assets/img/favicons/android-icon-144x144.png +0 -0
  69. data/assets/img/favicons/android-icon-192x192.png +0 -0
  70. data/assets/img/favicons/android-icon-36x36.png +0 -0
  71. data/assets/img/favicons/android-icon-48x48.png +0 -0
  72. data/assets/img/favicons/android-icon-72x72.png +0 -0
  73. data/assets/img/favicons/android-icon-96x96.png +0 -0
  74. data/assets/img/favicons/apple-icon-114x114.png +0 -0
  75. data/assets/img/favicons/apple-icon-120x120.png +0 -0
  76. data/assets/img/favicons/apple-icon-144x144.png +0 -0
  77. data/assets/img/favicons/apple-icon-152x152.png +0 -0
  78. data/assets/img/favicons/apple-icon-180x180.png +0 -0
  79. data/assets/img/favicons/apple-icon-57x57.png +0 -0
  80. data/assets/img/favicons/apple-icon-60x60.png +0 -0
  81. data/assets/img/favicons/apple-icon-72x72.png +0 -0
  82. data/assets/img/favicons/apple-icon-76x76.png +0 -0
  83. data/assets/img/favicons/apple-icon-precomposed.png +0 -0
  84. data/assets/img/favicons/apple-icon.png +0 -0
  85. data/assets/img/favicons/browserconfig.xml +20 -0
  86. data/assets/img/favicons/favicon-16x16.png +0 -0
  87. data/assets/img/favicons/favicon-32x32.png +0 -0
  88. data/assets/img/favicons/favicon-96x96.png +0 -0
  89. data/assets/img/favicons/favicon.ico +0 -0
  90. data/assets/img/favicons/manifest.json +58 -0
  91. data/assets/img/favicons/ms-icon-144x144.png +0 -0
  92. data/assets/img/favicons/ms-icon-150x150.png +0 -0
  93. data/assets/img/favicons/ms-icon-310x310.png +0 -0
  94. data/assets/img/favicons/ms-icon-70x70.png +0 -0
  95. data/assets/js/data/cache-list.js +69 -0
  96. data/assets/js/data/search.json +17 -0
  97. data/assets/js/dist/categories.min.js +6 -0
  98. data/assets/js/dist/home.min.js +6 -0
  99. data/assets/js/dist/page.min.js +6 -0
  100. data/assets/js/dist/post.min.js +6 -0
  101. data/assets/js/dist/pvreport.min.js +6 -0
  102. data/assets/js/lib/jquery.disqusloader.min.js +8 -0
  103. data/feed.xml +60 -0
  104. data/index.html +4 -0
  105. data/robots.txt +10 -0
  106. data/sw.js +61 -0
  107. metadata +247 -0
@@ -0,0 +1,349 @@
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
+ @mixin btn-post-nav {
14
+ width: 50%;
15
+ position: relative;
16
+ border-color: var(--btn-border-color);
17
+ }
18
+
19
+ @mixin dot($pl: 0.2rem, $pr: 0.4rem) {
20
+ content: "\2022";
21
+ color: rgba(158, 158, 158, 0.8);
22
+ padding-left: $pl;
23
+ padding-right: $pr;
24
+ }
25
+
26
+ #post-wrapper .post-meta {
27
+ > div:nth-child(2) {
28
+ > span:not(:first-child)::before {
29
+ @include dot;
30
+ }
31
+ }
32
+
33
+ #pv::after {
34
+ content: " views";
35
+ }
36
+
37
+ .readtime::after {
38
+ content: " read";
39
+ }
40
+ }
41
+
42
+ .post-content {
43
+ .preview-img {
44
+ margin-top: 0;
45
+ margin-bottom: 2.5rem;
46
+ @include align-center;
47
+ }
48
+ }
49
+
50
+ .post-tail-wrapper {
51
+ margin-top: 6rem;
52
+ border-bottom: 1px double var(--main-border-color);
53
+ font-size: 0.85rem;
54
+ }
55
+
56
+ .post-tags {
57
+ line-height: 2rem;
58
+ }
59
+
60
+ .post-navigation {
61
+ padding-top: 3rem;
62
+ padding-bottom: 4rem;
63
+
64
+ .btn {
65
+ @include btn-post-nav;
66
+ color: var(--link-color);
67
+ &:hover {
68
+ background: #2a408e;
69
+ color: #fff;
70
+ border-color: #2a408e;
71
+ }
72
+ &.disabled {
73
+ @include btn-post-nav;
74
+ pointer-events: auto;
75
+ cursor: not-allowed;
76
+ background: none;
77
+ color: gray;
78
+ &:hover {
79
+ border-color: none;
80
+ }
81
+ }
82
+ &.btn-outline-primary.disabled:focus {
83
+ box-shadow: none;
84
+ }
85
+ }
86
+
87
+ p {
88
+ font-size: 1.1rem;
89
+ line-height: 1.5rem;
90
+ margin-top: 0.3rem;
91
+ white-space: normal;
92
+ }
93
+
94
+ a {
95
+ &::before {
96
+ color: var(--text-muted-color);
97
+ font-size: 0.65rem;
98
+ text-transform: uppercase;
99
+ content: attr(prompt);
100
+ }
101
+ &:first-child {
102
+ border-top-right-radius: 0;
103
+ border-bottom-right-radius: 0;
104
+ left: 0.5px;
105
+ }
106
+ &:last-child {
107
+ border-top-left-radius: 0;
108
+ border-bottom-left-radius: 0;
109
+ right: 0.5px;
110
+ }
111
+ }
112
+ } // .post-navigation
113
+
114
+ @keyframes fade-up {
115
+ from {
116
+ opacity: 0;
117
+ position: relative;
118
+ top: 2rem;
119
+ }
120
+ to {
121
+ opacity: 1;
122
+ position: relative;
123
+ top: 0;
124
+ }
125
+ }
126
+
127
+ #toc-wrapper {
128
+ border-left: 1px solid rgba(158, 158, 158, 0.17);
129
+ position: -webkit-sticky;
130
+ position: sticky;
131
+ top: 4rem;
132
+ transition: top 0.2s ease-in-out;
133
+ animation: fade-up 0.8s;
134
+ &.topbar-down {
135
+ top: 6rem;
136
+ }
137
+ > span {
138
+ @include panel-label;
139
+ }
140
+ }
141
+
142
+ #toc li>a {
143
+ line-height: 1rem;
144
+ padding-top: 0.5rem;
145
+ padding-bottom: 0.5rem;
146
+ }
147
+
148
+
149
+ /*--- Related Posts ---*/
150
+
151
+ #related-posts {
152
+ >h3 {
153
+ @include label(1.1rem, 600);
154
+ }
155
+ .card {
156
+ border-color: var(--card-border-color);
157
+ background-color: var(--card-bg);
158
+ box-shadow: 0 0 5px 0 var(--card-box-shadow);
159
+ -webkit-transition: all 0.3s ease-in-out;
160
+ -moz-transition: all 0.3s ease-in-out;
161
+ transition: all 0.3s ease-in-out;
162
+ h3 {
163
+ color: var(--text-color);
164
+ }
165
+ &:hover {
166
+ -webkit-transform: translate3d(0, -3px, 0);
167
+ transform: translate3d(0, -3px, 0);
168
+ box-shadow: 0 10px 15px -4px rgba(0,0,0,0.15);
169
+ }
170
+ }
171
+
172
+ .timeago {
173
+ color: var(--relate-post-date);
174
+ }
175
+
176
+ p {
177
+ font-size: 0.9rem;
178
+ margin-bottom: 0.5rem;
179
+ overflow: hidden;
180
+ text-overflow: ellipsis;
181
+ display: -webkit-box;
182
+ -webkit-line-clamp: 2;
183
+ -webkit-box-orient: vertical;
184
+ }
185
+
186
+ a:hover {
187
+ text-decoration: none;
188
+ }
189
+
190
+ ul {
191
+ list-style-type: none;
192
+ padding-inline-start: 1.5rem;
193
+ >li::before {
194
+ background: #c2c9d4;
195
+ width: 5px;
196
+ height: 5px;
197
+ border-radius: 1px;
198
+ display: block;
199
+ content: "";
200
+ position: relative;
201
+ top: 1rem;
202
+ right: 1rem;
203
+ }
204
+ }
205
+ }
206
+
207
+ #post-extend-wrapper {
208
+ min-height: 2rem;
209
+ #disqus_thread {
210
+ margin-bottom: 2rem;
211
+ }
212
+ }
213
+
214
+ .post-tail-bottom a {
215
+ color: inherit;
216
+ }
217
+
218
+ %btn-share-hovor {
219
+ color: var(--btn-share-hover-color)!important;
220
+ }
221
+
222
+ .share-wrapper {
223
+ vertical-align: middle;
224
+ user-select: none;
225
+ .share-icons {
226
+ font-size: 1.2rem;
227
+ a {
228
+ &:not(:last-child) {
229
+ margin-right: 0.25rem;
230
+ }
231
+ &:hover {
232
+ text-decoration: none;
233
+ >i {
234
+ @extend %btn-share-hovor;
235
+ }
236
+ }
237
+ }
238
+ >i {
239
+ padding-top: 0.35rem;
240
+ &:hover {
241
+ @extend %btn-share-hovor;
242
+ }
243
+ }
244
+ .fab {
245
+ &.fa-twitter {
246
+ @include btn-sharing-color(rgba(29, 161, 242, 1.00));
247
+ }
248
+ &.fa-facebook-square {
249
+ @include btn-sharing-color(rgb(66, 95, 156));
250
+ }
251
+ &.fa-telegram {
252
+ @include btn-sharing-color(rgb(39, 159, 217));
253
+ }
254
+ &.fa-weibo {
255
+ @include btn-sharing-color(rgb(229, 20, 43));
256
+ }
257
+ }
258
+
259
+ } // .share-icons
260
+
261
+ .fas.fa-link {
262
+ @include btn-sharing-color(rgb(171, 171, 171));
263
+ }
264
+
265
+ } // .share-wrapper
266
+
267
+
268
+ .share-label {
269
+ @include label(inherit, 400, inherit);
270
+ &::after {
271
+ content: ":";
272
+ }
273
+ }
274
+
275
+ .license-wrapper {
276
+ line-height: 1.2rem;
277
+ >a {
278
+ font-weight: 600;
279
+ &:hover {
280
+ @extend %link-hover;
281
+ }
282
+ }
283
+ i {
284
+ font-weight: 400;
285
+ }
286
+ span:last-child {
287
+ font-size: 0.85rem;
288
+ }
289
+ } // .license-wrapper
290
+
291
+
292
+ @media all and (max-width: 576px) {
293
+ .post-tail-bottom {
294
+ -ms-flex-wrap: wrap-reverse!important;
295
+ flex-wrap: wrap-reverse!important;
296
+ >div:first-child {
297
+ width: 100%;
298
+ margin-top: 1rem;
299
+ }
300
+ }
301
+
302
+ .post-content > div[class^='language-'] {
303
+ @include ml-mr(-1.25rem);
304
+ border-radius: 0;
305
+
306
+ &::before { // the lang badge
307
+ right: 1rem;
308
+ }
309
+ }
310
+
311
+ }
312
+
313
+ @media all and (max-width: 768px) {
314
+ .post-content > p > img {
315
+ max-width: calc(100% + 1rem);
316
+ }
317
+ }
318
+
319
+ @media all and (min-width: 768px) {
320
+ #post-wrapper {
321
+ .post-meta {
322
+ >div:not(:first-child)::before {
323
+ @include dot(0.5rem, 0.2rem);
324
+ }
325
+ &.flex-column {
326
+ -webkit-box-orient: horizontal!important;
327
+ -webkit-box-direction: normal!important;
328
+ -ms-flex-direction: row!important;
329
+ flex-direction: row!important;
330
+ }
331
+ }
332
+ } // .post
333
+ }
334
+
335
+ @media all and (min-width: 768px) and (max-width: 830px) {
336
+ .post img {
337
+ max-width: calc(100% + 2rem);
338
+ }
339
+ }
340
+
341
+ /* Hide SideBar and TOC */
342
+ @media all and (max-width: 830px) {
343
+ .post-navigation {
344
+ padding-left: 0;
345
+ padding-right: 0;
346
+ margin-left: -.5rem;
347
+ margin-right: -.5rem;
348
+ }
349
+ }
@@ -0,0 +1,18 @@
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
+ span {
14
+ margin-left: 0.6em;
15
+ font-size: 0.7em;
16
+ font-family: 'Oswald', sans-serif;
17
+ }
18
+ }
data/_tabs/about.md ADDED
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: About
3
+ icon: fas fa-info
4
+ order: 4
5
+ ---
6
+
7
+
8
+ > **Note**: Add Markdown syntax content to file `_tabs/about.md` and it will show up on this page.
data/_tabs/archives.md ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ layout: archives
3
+ title: Archives
4
+ icon: fas fa-archive
5
+ order: 3
6
+ ---
7
+
@@ -0,0 +1,6 @@
1
+ ---
2
+ layout: categories
3
+ title: Categories
4
+ icon: fas fa-stream
5
+ order: 1
6
+ ---
data/_tabs/tags.md ADDED
@@ -0,0 +1,6 @@
1
+ ---
2
+ layout: tags
3
+ title: Tags
4
+ icon: fas fa-tags
5
+ order: 2
6
+ ---
data/app.js ADDED
@@ -0,0 +1,8 @@
1
+ ---
2
+ layout: compress
3
+ ---
4
+
5
+ /* Registering Service Worker */
6
+ if('serviceWorker' in navigator) {
7
+ navigator.serviceWorker.register('{{ "/sw.js" | relative_url }}');
8
+ };
@@ -0,0 +1,7 @@
1
+ ---
2
+ ---
3
+
4
+ // see: /_sass/addon/commons.scss
5
+ $tab-count: {{ site.tabs | size | plus: 1 }}; // plus 1 for home tab
6
+
7
+ @import "jekyll-theme-chirpy";
Binary file
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: compress
3
+
4
+ # A part of the Favicons
5
+ # v2.0
6
+ # https://github.com/cotes2020/jekyll-theme-chirpy
7
+ # © 2019 Cotes Chung
8
+ # MIT License
9
+ ---
10
+ <?xml version="1.0" encoding="utf-8"?>
11
+ <browserconfig>
12
+ <msapplication>
13
+ <tile>
14
+ <square70x70logo src="{{ site.baseurl }}/assets/img/favicons/ms-icon-70x70.png" />
15
+ <square150x150logo src="{{ site.baseurl }}/assets/img/favicons/ms-icon-150x150.png" />
16
+ <square310x310logo src="{{ site.baseurl }}/assets/img/favicons/ms-icon-310x310.png" />
17
+ <TileColor>#ffffff</TileColor>
18
+ </tile>
19
+ </msapplication>
20
+ </browserconfig>
Binary file
@@ -0,0 +1,58 @@
1
+ ---
2
+ layout: compress
3
+ #
4
+ # A part of the Favicons
5
+ # Chirpy v2.0
6
+ # https://github.com/cotes2020/jekyll-theme-chirpy
7
+ # © 2019 Cotes Chung
8
+ # MIT License
9
+ ---
10
+
11
+ {% assign icon_url = "/assets/img/favicons" | relative_url %}
12
+
13
+ {
14
+ "name": "{{ site.title }}",
15
+ "short_name": "{{ site.title }}",
16
+ "description": "{{ site.description }}",
17
+ "icons": [
18
+ {
19
+ "src": "{{ icon_url }}/android-icon-36x36.png",
20
+ "sizes": "36x36",
21
+ "type": "image/png",
22
+ "density": "0.75"
23
+ },
24
+ {
25
+ "src": "{{ icon_url }}/android-icon-48x48.png",
26
+ "sizes": "48x48",
27
+ "type": "image/png",
28
+ "density": "1.0"
29
+ },
30
+ {
31
+ "src": "{{ icon_url }}/android-icon-72x72.png",
32
+ "sizes": "72x72",
33
+ "type": "image/png",
34
+ "density": "1.5"
35
+ },
36
+ {
37
+ "src": "{{ icon_url }}/android-icon-96x96.png",
38
+ "sizes": "96x96",
39
+ "type": "image/png",
40
+ "density": "2.0"
41
+ },
42
+ {
43
+ "src": "{{ icon_url }}/android-icon-144x144.png",
44
+ "sizes": "144x144",
45
+ "type": "image/png",
46
+ "density": "3.0"
47
+ },
48
+ {
49
+ "src": "{{ icon_url }}/android-icon-192x192.png",
50
+ "sizes": "192x192",
51
+ "type": "image/png",
52
+ "density": "4.0"
53
+ }],
54
+ "start_url": "{{ '/index.html' | relative_url }}",
55
+ "display": "fullscreen",
56
+ "theme_color": "#2a1e6b",
57
+ "background_color": "white"
58
+ }
@@ -0,0 +1,69 @@
1
+ ---
2
+ layout: compress
3
+
4
+ # The list to be cached by PWA
5
+ # Chirpy v2.2
6
+ # https://github.com/cotes2020/jekyll-theme-chirpy
7
+ # © 2020 Cotes Chung
8
+ # MIT Licensed
9
+ ---
10
+
11
+ const include = [
12
+
13
+ /*--- CSS ---*/
14
+ '{{ "/assets/css/style.css" | relative_url }}',
15
+
16
+ /*--- Javascripts ---*/
17
+ '{{ "/assets/js/dist/home.min.js" | relative_url }}',
18
+ '{{ "/assets/js/dist/page.min.js" | relative_url }}',
19
+ '{{ "/assets/js/dist/post.min.js" | relative_url }}',
20
+ '{{ "/assets/js/dist/categories.min.js" | relative_url }}',
21
+
22
+ /*--- HTML ---*/
23
+
24
+ /* Tabs */
25
+ {% for tab in site.tabs %}
26
+ '{{ tab.url }}',
27
+ {% endfor %}
28
+
29
+ /*--- Icons ---*/
30
+
31
+ {%- capture icon_url -%}
32
+ {{ "/assets/img/favicons" | relative_url }}
33
+ {%- endcapture -%}
34
+ '{{ icon_url }}/favicon.ico',
35
+ '{{ icon_url }}/apple-icon.png',
36
+ '{{ icon_url }}/apple-icon-precomposed.png',
37
+ '{{ icon_url }}/apple-icon-57x57.png',
38
+ '{{ icon_url }}/apple-icon-60x60.png',
39
+ '{{ icon_url }}/apple-icon-72x72.png',
40
+ '{{ icon_url }}/apple-icon-76x76.png',
41
+ '{{ icon_url }}/apple-icon-114x114.png',
42
+ '{{ icon_url }}/apple-icon-120x120.png',
43
+ '{{ icon_url }}/apple-icon-144x144.png',
44
+ '{{ icon_url }}/apple-icon-152x152.png',
45
+ '{{ icon_url }}/apple-icon-180x180.png',
46
+ '{{ icon_url }}/android-icon-192x192.png',
47
+ '{{ icon_url }}/favicon-32x32.png',
48
+ '{{ icon_url }}/favicon-96x96.png',
49
+ '{{ icon_url }}/favicon-16x16.png',
50
+ '{{ icon_url }}/ms-icon-144x144.png',
51
+ '{{ icon_url }}/manifest.json',
52
+ '{{ icon_url }}/browserconfig.xml',
53
+
54
+ /*--- Others ---*/
55
+
56
+ '{{ "/assets/js/data/search.json" | relative_url }}',
57
+ '{{ "/404.html" | relative_url }}',
58
+
59
+ '{{ "/app.js" | relative_url }}',
60
+ '{{ "/sw.js" | relative_url }}'
61
+ ];
62
+
63
+ const exclude = [
64
+ {%- if site.google_analytics.pv.proxy_url and site.google_analytics.pv.enabled -%}
65
+ '{{ site.google_analytics.pv.proxy_url }}',
66
+ {%- endif -%}
67
+ '/assets/js/data/pageviews.json',
68
+ '/img.shields.io/'
69
+ ];
@@ -0,0 +1,17 @@
1
+ ---
2
+ layout: compress
3
+ ---
4
+
5
+ [
6
+ {% for post in site.posts %}
7
+ {
8
+ "title": "{{ post.title | escape }}",
9
+ "url": "{{ site.baseurl }}{{ post.url }}",
10
+ "categories": "{{ post.categories | join: ', '}}",
11
+ "tags": "{{ post.tags | join: ', ' }}",
12
+ "date": "{{ post.date }}",
13
+ {% include no-linenos.html content=post.content %}
14
+ "snippet": "{{ content | strip_html | strip_newlines | remove_chars | escape | truncate: 300 | replace: '\', '\\\\' }}"
15
+ }{% unless forloop.last %},{% endunless %}
16
+ {% endfor %}
17
+ ]
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Chirpy v3.0.1 (https://github.com/cotes2020/jekyll-theme-chirpy/)
3
+ * © 2021 Cotes Chung
4
+ * MIT Licensed
5
+ */
6
+ function copyLink(e){e&&0!==e.length||(e=window.location.href);const o=$("<input>");$("body").append(o),o.val(e).select(),document.execCommand("copy"),o.remove(),alert("Link copied successfully!")}$(function(){$(window).scroll(()=>{$(this).scrollTop()>50&&"none"===$("#sidebar-trigger").css("display")?$("#back-to-top").fadeIn():$("#back-to-top").fadeOut()}),$("#back-to-top").click(()=>($("body,html").animate({scrollTop:0},800),!1))}),$(function(){$("input[type=checkbox]").addClass("unloaded"),$("input[type=checkbox][checked]").before('<i class="fas fa-check-circle checked"></i>'),$("input[type=checkbox]:not([checked])").before('<i class="far fa-circle"></i>')}),$(function(){const e=$("#sidebar-trigger"),o=$("#search-trigger"),s=$("#search-cancel"),t=$("#search-cleaner"),a=$("#main"),l=$("#topbar-title"),n=$("#search-wrapper"),d=$("#search-result-wrapper"),r=$("#search-results"),c=$("#search-input"),i=$("#search-hints"),f=function(){let e=0;return{block(){e=$(window).scrollTop()},release(){$("html,body").scrollTop(e)},getOffset:()=>e}}(),u={on(){e.addClass("unloaded"),l.addClass("unloaded"),o.addClass("unloaded"),n.addClass("d-flex"),s.addClass("loaded")},off(){s.removeClass("loaded"),n.removeClass("d-flex"),e.removeClass("unloaded"),l.removeClass("unloaded"),o.removeClass("unloaded")}},p=function(){let e=!1;return{on(){e||(d.removeClass("unloaded"),a.addClass("hidden"),e=!0,f.block())},off(){e&&(r.empty(),i.hasClass("unloaded")&&i.removeClass("unloaded"),d.addClass("unloaded"),t.removeClass("visible"),a.removeClass("hidden"),c.val(""),e=!1,f.release())},isVisible:()=>e}}();function h(){return s.hasClass("loaded")}o.click(function(){u.on(),p.on(),c.focus()}),s.click(function(){u.off(),p.off()}),c.focus(function(){n.addClass("input-focus")}),c.focusout(function(){n.removeClass("input-focus")}),c.on("keyup",function(e){8===e.keyCode&&""===c.val()?h()?i.removeClass("unloaded"):p.off():""!==c.val()&&(p.on(),t.hasClass("visible")||t.addClass("visible"),h()&&i.addClass("unloaded"))}),t.on("click",function(){c.val(""),h()?(i.removeClass("unloaded"),r.empty()):p.off(),c.focus(),t.removeClass("visible")})}),$(function(){const e=function(){let e=!1;const o=$("body");return{toggle(){!1===e?o.attr("sidebar-display",""):o.removeAttr("sidebar-display"),e=!e}}}();$("#sidebar-trigger").click(e.toggle),$("#mask").click(e.toggle)}),$(function(){$('[data-toggle="tooltip"]').tooltip()}),$(function(){const e=$("#topbar-wrapper"),o=$("#toc-wrapper"),s=$(".access"),t=$("#search-input");let a,l=0;const n=5,d=e.outerHeight();$(window).scroll(function(e){$("#topbar-title").is(":hidden")&&(a=!0)}),setInterval(function(){a&&(!function(){var a=$(this).scrollTop();Math.abs(l-a)<=n||(a>l&&a>d?(e.removeClass("topbar-down").addClass("topbar-up"),o.length>0&&o.removeClass("topbar-down"),s.length>0&&s.removeClass("topbar-down"),t.is(":focus")&&t.blur()):a+$(window).height()<$(document).height()&&(e.removeClass("topbar-up").addClass("topbar-down"),o.length>0&&o.addClass("topbar-down"),s.length>0&&s.addClass("topbar-down")),l=a)}(),a=!1)},250)}),$(function(){const e=$("#topbar-title"),o=$("div.post>h1"),s=e.text().trim();let t=o.length>0?o.text().trim():$("h1").text().trim();($("#page-category").length||$("#page-tag").length)&&/\s/.test(t)&&(t=t.replace(/[0-9]/g,"").trim()),$(window).scroll(function(){if($("#post-list").length||o.is(":hidden")||e.is(":hidden")||$("#sidebar.sidebar-expand").length)return!1;$(this).scrollTop()>=95?e.text()!==t&&e.text(t):e.text()!==s&&e.text(s)}),e.click(function(){$("body,html").animate({scrollTop:0},800)})}),$(function(){const e=$(".collapse");e.on("hide.bs.collapse",function(){const e="h_"+$(this).attr("id").substring("l_".length);e&&($(`#${e} .far.fa-folder-open`).attr("class","far fa-folder fa-fw"),$(`#${e} i.fas`).addClass("rotate"),$(`#${e}`).removeClass("hide-border-bottom"))}),e.on("show.bs.collapse",function(){const e="h_"+$(this).attr("id").substring("l_".length);e&&($(`#${e} .far.fa-folder`).attr("class","far fa-folder-open fa-fw"),$(`#${e} i.fas`).removeClass("rotate"),$(`#${e}`).addClass("hide-border-bottom"))})});
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Chirpy v3.0.1 (https://github.com/cotes2020/jekyll-theme-chirpy/)
3
+ * © 2021 Cotes Chung
4
+ * MIT Licensed
5
+ */
6
+ function copyLink(e){e&&0!==e.length||(e=window.location.href);const t=$("<input>");$("body").append(t),t.val(e).select(),document.execCommand("copy"),t.remove(),alert("Link copied successfully!")}$(function(){$(window).scroll(()=>{$(this).scrollTop()>50&&"none"===$("#sidebar-trigger").css("display")?$("#back-to-top").fadeIn():$("#back-to-top").fadeOut()}),$("#back-to-top").click(()=>($("body,html").animate({scrollTop:0},800),!1))}),$(function(){$("input[type=checkbox]").addClass("unloaded"),$("input[type=checkbox][checked]").before('<i class="fas fa-check-circle checked"></i>'),$("input[type=checkbox]:not([checked])").before('<i class="far fa-circle"></i>')}),$(function(){const e=$("#sidebar-trigger"),t=$("#search-trigger"),o=$("#search-cancel"),a=$("#search-cleaner"),s=$("#main"),n=$("#topbar-title"),l=$("#search-wrapper"),i=$("#search-result-wrapper"),r=$("#search-results"),c=$("#search-input"),d=$("#search-hints"),u=function(){let e=0;return{block(){e=$(window).scrollTop()},release(){$("html,body").scrollTop(e)},getOffset:()=>e}}(),h={on(){e.addClass("unloaded"),n.addClass("unloaded"),t.addClass("unloaded"),l.addClass("d-flex"),o.addClass("loaded")},off(){o.removeClass("loaded"),l.removeClass("d-flex"),e.removeClass("unloaded"),n.removeClass("unloaded"),t.removeClass("unloaded")}},f=function(){let e=!1;return{on(){e||(i.removeClass("unloaded"),s.addClass("hidden"),e=!0,u.block())},off(){e&&(r.empty(),d.hasClass("unloaded")&&d.removeClass("unloaded"),i.addClass("unloaded"),a.removeClass("visible"),s.removeClass("hidden"),c.val(""),e=!1,u.release())},isVisible:()=>e}}();function p(){return o.hasClass("loaded")}t.click(function(){h.on(),f.on(),c.focus()}),o.click(function(){h.off(),f.off()}),c.focus(function(){l.addClass("input-focus")}),c.focusout(function(){l.removeClass("input-focus")}),c.on("keyup",function(e){8===e.keyCode&&""===c.val()?p()?d.removeClass("unloaded"):f.off():""!==c.val()&&(f.on(),a.hasClass("visible")||a.addClass("visible"),p()&&d.addClass("unloaded"))}),a.on("click",function(){c.val(""),p()?(d.removeClass("unloaded"),r.empty()):f.off(),c.focus(),a.removeClass("visible")})}),$(function(){const e=function(){let e=!1;const t=$("body");return{toggle(){!1===e?t.attr("sidebar-display",""):t.removeAttr("sidebar-display"),e=!e}}}();$("#sidebar-trigger").click(e.toggle),$("#mask").click(e.toggle)}),$(function(){$('[data-toggle="tooltip"]').tooltip()}),$(function(){const e=$("#topbar-wrapper"),t=$("#toc-wrapper"),o=$(".access"),a=$("#search-input");let s,n=0;const l=5,i=e.outerHeight();$(window).scroll(function(e){$("#topbar-title").is(":hidden")&&(s=!0)}),setInterval(function(){s&&(!function(){var s=$(this).scrollTop();Math.abs(n-s)<=l||(s>n&&s>i?(e.removeClass("topbar-down").addClass("topbar-up"),t.length>0&&t.removeClass("topbar-down"),o.length>0&&o.removeClass("topbar-down"),a.is(":focus")&&a.blur()):s+$(window).height()<$(document).height()&&(e.removeClass("topbar-up").addClass("topbar-down"),t.length>0&&t.addClass("topbar-down"),o.length>0&&o.addClass("topbar-down")),n=s)}(),s=!1)},250)}),$(function(){const e=$("#topbar-title"),t=$("div.post>h1"),o=e.text().trim();let a=t.length>0?t.text().trim():$("h1").text().trim();($("#page-category").length||$("#page-tag").length)&&/\s/.test(a)&&(a=a.replace(/[0-9]/g,"").trim()),$(window).scroll(function(){if($("#post-list").length||t.is(":hidden")||e.is(":hidden")||$("#sidebar.sidebar-expand").length)return!1;$(this).scrollTop()>=95?e.text()!==a&&e.text(a):e.text()!==o&&e.text(o)}),e.click(function(){$("body,html").animate({scrollTop:0},800)})}),$(function(){let e=$(".timeago").length,t=void 0;function o(){return $(".timeago").each(function(){if($(this).children("i").length>0){$(this).text();let t=$(this).hasClass("lastmod"),o=$(this).children("i"),a=o.text();$(this).text(function(t,o){let a=new Date,s=new Date(t);if(s.getFullYear()!==a.getFullYear())return e-=1,s.toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric"});if(s.getMonth()!==a.getMonth())return e-=1,s.toLocaleString("en-US",{month:"short",day:"numeric"});let n=Math.floor((a-s)/1e3),l=Math.floor(n/86400);if(l>=1)return e-=1,l+" day"+(l>1?"s":"")+" ago";let i=Math.floor(n/3600);if(i>=1)return i+" hour"+(i>1?"s":"")+" ago";let r=Math.floor(n/60);return r>=1?r+" minute"+(r>1?"s":"")+" ago":(o?"just":"Just")+" now"}(a,t)),$(this).append(o)}}),0===e&&void 0!==t&&clearInterval(t),e}0!==e&&o()>0&&(t=setInterval(o,6e4))});