jekyll-theme-abd3lraouf 5.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +105 -0
  4. data/_config.yml +206 -0
  5. data/_data/assets/cross_origin.yml +62 -0
  6. data/_data/assets/self_host.yml +51 -0
  7. data/_data/authors.yml +17 -0
  8. data/_data/contact.yml +30 -0
  9. data/_data/locales/bg-BG.yml +83 -0
  10. data/_data/locales/en.yml +83 -0
  11. data/_data/locales/es-ES.yml +79 -0
  12. data/_data/locales/fr-FR.yml +79 -0
  13. data/_data/locales/hu-HU.yml +81 -0
  14. data/_data/locales/id-ID.yml +79 -0
  15. data/_data/locales/ko-KR.yml +79 -0
  16. data/_data/locales/my-MM.yml +79 -0
  17. data/_data/locales/pt-BR.yml +79 -0
  18. data/_data/locales/ru-RU.yml +79 -0
  19. data/_data/locales/tr-TR.yml +79 -0
  20. data/_data/locales/uk-UA.yml +79 -0
  21. data/_data/locales/vi-VN.yml +77 -0
  22. data/_data/locales/zh-CN.yml +78 -0
  23. data/_data/share.yml +27 -0
  24. data/_includes/assets-origin.html +12 -0
  25. data/_includes/comments/disqus.html +54 -0
  26. data/_includes/comments/giscus.html +56 -0
  27. data/_includes/comments/utterances.html +51 -0
  28. data/_includes/comments.html +5 -0
  29. data/_includes/datetime.html +21 -0
  30. data/_includes/favicons.html +17 -0
  31. data/_includes/footer.html +36 -0
  32. data/_includes/google-analytics.html +14 -0
  33. data/_includes/head.html +116 -0
  34. data/_includes/js-selector.html +104 -0
  35. data/_includes/jsdelivr-combine.html +32 -0
  36. data/_includes/lang.html +8 -0
  37. data/_includes/language-alias.html +70 -0
  38. data/_includes/mermaid.html +57 -0
  39. data/_includes/mode-toggle.html +129 -0
  40. data/_includes/no-linenos.html +10 -0
  41. data/_includes/post-nav.html +30 -0
  42. data/_includes/post-paginator.html +88 -0
  43. data/_includes/post-sharing.html +27 -0
  44. data/_includes/read-time.html +30 -0
  45. data/_includes/refactor-content.html +282 -0
  46. data/_includes/related-posts.html +103 -0
  47. data/_includes/search-loader.html +46 -0
  48. data/_includes/search-results.html +11 -0
  49. data/_includes/sidebar.html +93 -0
  50. data/_includes/toc.html +16 -0
  51. data/_includes/topbar.html +70 -0
  52. data/_includes/trending-tags.html +50 -0
  53. data/_includes/update-list.html +40 -0
  54. data/_layouts/archives.html +48 -0
  55. data/_layouts/categories.html +120 -0
  56. data/_layouts/category.html +24 -0
  57. data/_layouts/compress.html +10 -0
  58. data/_layouts/default.html +74 -0
  59. data/_layouts/home.html +103 -0
  60. data/_layouts/page.html +64 -0
  61. data/_layouts/post.html +159 -0
  62. data/_layouts/tag.html +23 -0
  63. data/_layouts/tags.html +23 -0
  64. data/_plugins/posts-lastmod-hook.rb +14 -0
  65. data/_sass/addon/commons.scss +1680 -0
  66. data/_sass/addon/module.scss +151 -0
  67. data/_sass/addon/syntax.scss +289 -0
  68. data/_sass/addon/variables.scss +34 -0
  69. data/_sass/colors/dark-syntax.scss +88 -0
  70. data/_sass/colors/dark-typography.scss +157 -0
  71. data/_sass/colors/light-syntax.scss +84 -0
  72. data/_sass/colors/light-typography.scss +94 -0
  73. data/_sass/jekyll-theme-abd3lraouf.scss +24 -0
  74. data/_sass/layout/archives.scss +147 -0
  75. data/_sass/layout/categories.scss +67 -0
  76. data/_sass/layout/category-tag.scss +73 -0
  77. data/_sass/layout/home.scss +184 -0
  78. data/_sass/layout/post.scss +369 -0
  79. data/_sass/layout/tags.scss +19 -0
  80. data/_sass/variables-hook.scss +3 -0
  81. data/_tabs/about.md +8 -0
  82. data/_tabs/archives.md +7 -0
  83. data/_tabs/categories.md +6 -0
  84. data/_tabs/tags.md +6 -0
  85. data/assets/404.html +16 -0
  86. data/assets/css/style.scss +12 -0
  87. data/assets/feed.xml +61 -0
  88. data/assets/img/favicons/android-chrome-192x192.png +0 -0
  89. data/assets/img/favicons/android-chrome-512x512.png +0 -0
  90. data/assets/img/favicons/apple-touch-icon.png +0 -0
  91. data/assets/img/favicons/browserconfig.xml +13 -0
  92. data/assets/img/favicons/favicon-16x16.png +0 -0
  93. data/assets/img/favicons/favicon-32x32.png +0 -0
  94. data/assets/img/favicons/favicon.ico +0 -0
  95. data/assets/img/favicons/mstile-150x150.png +0 -0
  96. data/assets/img/favicons/site.webmanifest +26 -0
  97. data/assets/js/data/search.json +18 -0
  98. data/assets/js/data/swcache.js +55 -0
  99. data/assets/js/dist/categories.min.js +6 -0
  100. data/assets/js/dist/commons.min.js +6 -0
  101. data/assets/js/dist/home.min.js +6 -0
  102. data/assets/js/dist/misc.min.js +6 -0
  103. data/assets/js/dist/page.min.js +6 -0
  104. data/assets/js/dist/post.min.js +6 -0
  105. data/assets/js/dist/pvreport.min.js +6 -0
  106. data/assets/js/pwa/app.js +47 -0
  107. data/assets/js/pwa/sw.js +89 -0
  108. data/assets/js/pwa/unregister.js +12 -0
  109. data/assets/robots.txt +10 -0
  110. data/index.html +4 -0
  111. metadata +243 -0
@@ -0,0 +1,369 @@
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.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
+ h1 + .post-meta {
30
+ span + span::before {
31
+ @include dot;
32
+ }
33
+
34
+ em {
35
+ @extend %text-color;
36
+
37
+ a {
38
+ @extend %text-color;
39
+ }
40
+ }
41
+ }
42
+
43
+ img.preview-img {
44
+ margin: 0;
45
+ border-radius: 6px;
46
+
47
+ &.bg[data-loaded=true] {
48
+ background: var(--preview-img-bg);
49
+ }
50
+ }
51
+
52
+ .post-tail-wrapper {
53
+ margin-top: 6rem;
54
+ border-bottom: 1px double var(--main-border-color);
55
+ font-size: 0.85rem;
56
+
57
+ .post-meta a:not(:hover) {
58
+ @extend %link-underline;
59
+ }
60
+ }
61
+
62
+ .post-tags {
63
+ line-height: 2rem;
64
+ }
65
+
66
+ .post-navigation {
67
+ padding-top: 3rem;
68
+ padding-bottom: 4rem;
69
+
70
+ .btn {
71
+ @include btn-post-nav;
72
+
73
+ color: var(--link-color);
74
+
75
+ &:hover {
76
+ background: #2a408e;
77
+ color: #fff;
78
+ border-color: #2a408e;
79
+ }
80
+
81
+ &.disabled {
82
+ @include btn-post-nav;
83
+
84
+ pointer-events: auto;
85
+ cursor: not-allowed;
86
+ background: none;
87
+ color: gray;
88
+
89
+ &:hover {
90
+ border-color: none;
91
+ }
92
+ }
93
+
94
+ &.btn-outline-primary.disabled:focus {
95
+ box-shadow: none;
96
+ }
97
+
98
+ &::before {
99
+ color: var(--text-muted-color);
100
+ font-size: 0.65rem;
101
+ text-transform: uppercase;
102
+ content: attr(prompt);
103
+ }
104
+
105
+ &:first-child {
106
+ border-top-right-radius: 0;
107
+ border-bottom-right-radius: 0;
108
+ left: 0.5px;
109
+ }
110
+
111
+ &:last-child {
112
+ border-top-left-radius: 0;
113
+ border-bottom-left-radius: 0;
114
+ right: 0.5px;
115
+ }
116
+ }
117
+
118
+ p {
119
+ font-size: 1.1rem;
120
+ line-height: 1.5rem;
121
+ margin-top: 0.3rem;
122
+ white-space: normal;
123
+ }
124
+
125
+ } /* .post-navigation */
126
+
127
+ @keyframes fade-up {
128
+ from {
129
+ opacity: 0;
130
+ position: relative;
131
+ top: 2rem;
132
+ }
133
+ to {
134
+ opacity: 1;
135
+ position: relative;
136
+ top: 0;
137
+ }
138
+ }
139
+
140
+ #toc-wrapper {
141
+ border-left: 1px solid rgba(158, 158, 158, 0.17);
142
+ position: -webkit-sticky;
143
+ position: sticky;
144
+ top: 4rem;
145
+ transition: top 0.2s ease-in-out;
146
+ animation: fade-up 0.8s;
147
+ }
148
+
149
+ #toc li a {
150
+ font-size: 0.8rem;
151
+
152
+ &.nav-link:not(.active) {
153
+ color: inherit;
154
+ }
155
+
156
+ }
157
+
158
+ nav[data-toggle=toc] {
159
+ .nav {
160
+ .nav > li > a.active {
161
+ font-weight: 600 !important;
162
+ }
163
+ }
164
+ }
165
+
166
+ /* --- Related Posts --- */
167
+
168
+ #related-posts {
169
+ > h3 {
170
+ @include label(1.1rem, 600);
171
+ }
172
+
173
+ em {
174
+ @extend %normal-font-style;
175
+
176
+ color: var(--relate-post-date);
177
+ }
178
+
179
+ .card {
180
+ border-color: var(--card-border-color);
181
+ background-color: var(--card-bg);
182
+ box-shadow: 0 0 5px 0 var(--card-box-shadow);
183
+ -webkit-transition: all 0.3s ease-in-out;
184
+ -moz-transition: all 0.3s ease-in-out;
185
+ transition: all 0.3s ease-in-out;
186
+
187
+ h3 {
188
+ @extend %text-color;
189
+ }
190
+
191
+ &:hover {
192
+ -webkit-transform: translate3d(0, -3px, 0);
193
+ transform: translate3d(0, -3px, 0);
194
+ box-shadow: 0 10px 15px -4px rgba(0, 0, 0, 0.15);
195
+ }
196
+ }
197
+
198
+ p {
199
+ font-size: 0.9rem;
200
+ margin-bottom: 0.5rem;
201
+ overflow: hidden;
202
+ text-overflow: ellipsis;
203
+ display: -webkit-box;
204
+ -webkit-line-clamp: 2;
205
+ -webkit-box-orient: vertical;
206
+ }
207
+
208
+ a:hover {
209
+ text-decoration: none;
210
+ }
211
+
212
+ ul {
213
+ list-style-type: none;
214
+ padding-inline-start: 1.5rem;
215
+
216
+ > li::before {
217
+ background: #c2c9d4;
218
+ width: 5px;
219
+ height: 5px;
220
+ border-radius: 1px;
221
+ display: block;
222
+ content: "";
223
+ position: relative;
224
+ top: 1rem;
225
+ right: 1rem;
226
+ }
227
+ }
228
+ }
229
+
230
+ #tail-wrapper {
231
+ min-height: 2rem;
232
+
233
+ > div:last-of-type {
234
+ margin-bottom: 2rem;
235
+ }
236
+
237
+ #disqus_thread {
238
+ min-height: 8.5rem;
239
+ }
240
+
241
+ }
242
+
243
+ .post-tail-bottom a {
244
+ color: inherit;
245
+ }
246
+
247
+ %btn-share-hovor {
248
+ color: var(--btn-share-hover-color) !important;
249
+ }
250
+
251
+ .share-wrapper {
252
+ vertical-align: middle;
253
+ user-select: none;
254
+
255
+ .share-icons {
256
+ font-size: 1.2rem;
257
+
258
+ a {
259
+ &:not(:last-child) {
260
+ margin-right: 0.25rem;
261
+ }
262
+
263
+ &:hover {
264
+ text-decoration: none;
265
+
266
+ > i {
267
+ @extend %btn-share-hovor;
268
+ }
269
+ }
270
+ }
271
+
272
+ > i {
273
+ position: relative;
274
+ bottom: 1px;
275
+
276
+ @extend %cursor-pointer;
277
+
278
+ &:hover {
279
+ @extend %btn-share-hovor;
280
+ }
281
+ }
282
+
283
+ .fab {
284
+ &.fa-twitter {
285
+ @include btn-sharing-color(rgba(29, 161, 242, 1));
286
+ }
287
+
288
+ &.fa-facebook-square {
289
+ @include btn-sharing-color(rgb(66, 95, 156));
290
+ }
291
+
292
+ &.fa-telegram {
293
+ @include btn-sharing-color(rgb(39, 159, 217));
294
+ }
295
+
296
+ &.fa-weibo {
297
+ @include btn-sharing-color(rgb(229, 20, 43));
298
+ }
299
+ }
300
+
301
+ } /* .share-icons */
302
+
303
+ .fas.fa-link {
304
+ @include btn-sharing-color(rgb(171, 171, 171));
305
+ }
306
+
307
+ } /* .share-wrapper */
308
+
309
+ .share-label {
310
+ @include label(inherit, 400, inherit);
311
+
312
+ &::after {
313
+ content: ":";
314
+ }
315
+ }
316
+
317
+ .license-wrapper {
318
+ line-height: 1.2rem;
319
+
320
+ > a {
321
+ color: var(--text-color);
322
+
323
+ &:hover {
324
+ @extend %link-hover;
325
+ }
326
+ }
327
+
328
+ span:last-child {
329
+ font-size: 0.85rem;
330
+ }
331
+
332
+ } /* .license-wrapper */
333
+
334
+ @media all and (max-width: 576px) {
335
+ .preview-img[data-src] {
336
+ margin-top: 2.2rem;
337
+ }
338
+
339
+ .post-tail-bottom {
340
+ -ms-flex-wrap: wrap-reverse !important;
341
+ flex-wrap: wrap-reverse !important;
342
+
343
+ > div:first-child {
344
+ width: 100%;
345
+ margin-top: 1rem;
346
+ }
347
+ }
348
+ }
349
+
350
+ @media all and (max-width: 768px) {
351
+ .post-content > p > img {
352
+ max-width: calc(100% + 1rem);
353
+ }
354
+ }
355
+
356
+ /* Hide SideBar and TOC */
357
+ @media all and (max-width: 849px) {
358
+ .post-navigation {
359
+ padding-left: 0;
360
+ padding-right: 0;
361
+ margin-left: -0.5rem;
362
+ margin-right: -0.5rem;
363
+ }
364
+
365
+ .preview-img[data-src] {
366
+ max-width: 100vw;
367
+ border-radius: 0;
368
+ }
369
+ }
@@ -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/_tabs/about.md ADDED
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: About
3
+ icon: fas fa-info-circle
4
+ order: 4
5
+ ---
6
+
7
+ > Add Markdown syntax content to file `_tabs/about.md`{: .filepath } and it will show up on this page.
8
+ {: .prompt-tip }
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-tag
5
+ order: 2
6
+ ---
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,12 @@
1
+ ---
2
+ ---
3
+
4
+ /*
5
+ If the number of TAB files has changed, the following variable is required.
6
+ And it must be defined before `@import`.
7
+ */
8
+ $tab-count: {{ site.tabs | size | plus: 1 }}; // plus 1 for home tab
9
+
10
+ @import "{{ site.theme }}";
11
+
12
+ /* append your custom style below */
data/assets/feed.xml ADDED
@@ -0,0 +1,61 @@
1
+ ---
2
+ layout: compress
3
+ permalink: /feed.xml
4
+ # Atom Feed, reference: https://validator.w3.org/feed/docs/atom.html
5
+ ---
6
+
7
+ {% capture source %}
8
+ <feed xmlns="http://www.w3.org/2005/Atom">
9
+ <id>{{ "/" | absolute_url }}</id>
10
+ <title>{{ site.title }}</title>
11
+ <subtitle>{{ site.description }}</subtitle>
12
+ <updated>{{ site.time | date_to_xmlschema }}</updated>
13
+ <author>
14
+ <name>{{ site.social.name }}</name>
15
+ <uri>{{ "/" | absolute_url }}</uri>
16
+ </author>
17
+ <link rel="self" type="application/atom+xml" href="{{ page.url | absolute_url }}"/>
18
+ <link rel="alternate" type="text/html" hreflang="{{ site.lang }}"
19
+ href="{{ '/' | absolute_url }}"/>
20
+ <generator uri="https://jekyllrb.com/" version="{{ jekyll.version }}">Jekyll</generator>
21
+ <rights> © {{ 'now' | date: '%Y' }} {{ site.social.name }} </rights>
22
+ <icon>{{ site.baseurl }}/assets/img/favicons/favicon.ico</icon>
23
+ <logo>{{ site.baseurl }}/assets/img/favicons/favicon-96x96.png</logo>
24
+
25
+ {% for post in site.posts limit: 5 %}
26
+ {% assign post_absolute_url = post.url | absolute_url %}
27
+ <entry>
28
+ <title>{{ post.title }}</title>
29
+ <link href="{{ post_absolute_url }}" rel="alternate" type="text/html" title="{{ post.title }}" />
30
+ <published>{{ post.date | date_to_xmlschema }}</published>
31
+ {% if post.last_modified_at %}
32
+ <updated>{{ post.last_modified_at | date_to_xmlschema }}</updated>
33
+ {% else %}
34
+ <updated>{{ post.date | date_to_xmlschema }}</updated>
35
+ {% endif %}
36
+ <id>{{ post_absolute_url }}</id>
37
+ <content src="{{ post_absolute_url }}" />
38
+ <author>
39
+ <name>{{ post.author | default: site.social.name }}</name>
40
+ </author>
41
+
42
+ {% if post.categories %}
43
+ {% for category in post.categories %}
44
+ <category term="{{ category }}" />
45
+ {% endfor %}
46
+ {% endif %}
47
+
48
+ {% if post.summary %}
49
+ <summary>{{ post.summary | strip }}</summary>
50
+ {% else %}
51
+ <summary>
52
+ {% include no-linenos.html content=post.content %}
53
+ {{ content | strip_html | truncate: 400 }}
54
+ </summary>
55
+ {% endif %}
56
+
57
+ </entry>
58
+ {% endfor %}
59
+ </feed>
60
+ {% endcapture %}
61
+ {{ source | replace: '&', '&amp;' }}
@@ -0,0 +1,13 @@
1
+ ---
2
+ layout: compress
3
+ ---
4
+
5
+ <?xml version="1.0" encoding="utf-8"?>
6
+ <browserconfig>
7
+ <msapplication>
8
+ <tile>
9
+ <square150x150logo src="{{ '/assets/img/favicons/mstile-150x150.png' | relative_url }}" />
10
+ <TileColor>#da532c</TileColor>
11
+ </tile>
12
+ </msapplication>
13
+ </browserconfig>
Binary file
@@ -0,0 +1,26 @@
1
+ ---
2
+ layout: compress
3
+ ---
4
+
5
+ {% assign favicon_path = "/assets/img/favicons" | relative_url %}
6
+
7
+ {
8
+ "name": "{{ site.title }}",
9
+ "short_name": "{{ site.title }}",
10
+ "description": "{{ site.description }}",
11
+ "icons": [
12
+ {
13
+ "src": "{{ favicon_path }}/android-chrome-192x192.png",
14
+ "sizes": "192x192",
15
+ "type": "image/png"
16
+ },
17
+ {
18
+ "src": "{{ favicon_path }}/android-chrome-512x512.png",
19
+ "sizes": "512x512",
20
+ "type": "image/png"
21
+ }],
22
+ "start_url": "{{ '/index.html' | relative_url }}",
23
+ "theme_color": "#2a1e6b",
24
+ "background_color": "#ffffff",
25
+ "display": "fullscreen"
26
+ }
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: compress
3
+ swcache: true
4
+ ---
5
+
6
+ [
7
+ {% for post in site.posts %}
8
+ {
9
+ "title": {{ post.title | jsonify }},
10
+ "url": {{ post.url | relative_url | jsonify }},
11
+ "categories": {{ post.categories | join: ', ' | jsonify }},
12
+ "tags": {{ post.tags | join: ', ' | jsonify }},
13
+ "date": "{{ post.date }}",
14
+ {% include no-linenos.html content=post.content %}
15
+ "snippet": {{ content | strip_html | strip_newlines | jsonify }}
16
+ }{% unless forloop.last %},{% endunless %}
17
+ {% endfor %}
18
+ ]
@@ -0,0 +1,55 @@
1
+ ---
2
+ layout: compress
3
+
4
+ # The list to be cached by PWA
5
+ ---
6
+
7
+ const resource = [
8
+
9
+ /* --- CSS --- */
10
+ '{{ "/assets/css/style.css" | relative_url }}',
11
+
12
+ /* --- PWA --- */
13
+ '{{ "/app.js" | relative_url }}',
14
+ '{{ "/sw.js" | relative_url }}',
15
+
16
+ /* --- HTML --- */
17
+ '{{ "/index.html" | relative_url }}',
18
+ '{{ "/404.html" | relative_url }}',
19
+ {% for tab in site.tabs %}
20
+ '{{ tab.url | relative_url }}',
21
+ {% endfor %}
22
+
23
+ /* --- Favicons & compressed JS --- */
24
+ {% assign cache_list = site.static_files | where: 'swcache', true %}
25
+ {% for file in cache_list %}
26
+ '{{ file.path | relative_url }}'{%- unless forloop.last -%},{%- endunless -%}
27
+ {% endfor %}
28
+
29
+ ];
30
+
31
+ /* The request url with below domain will be cached */
32
+ const allowedDomains = [
33
+ {% if site.google_analytics.id != empty and site.google_analytics.id %}
34
+ 'www.googletagmanager.com',
35
+ 'www.google-analytics.com',
36
+ {% endif %}
37
+
38
+ '{{ site.url | split: "//" | last }}',
39
+
40
+ {% if site.img_cdn contains '//' and site.img_cdn %}
41
+ '{{ site.img_cdn | split: '//' | last | split: '/' | first }}',
42
+ {% endif %}
43
+
44
+ 'fonts.gstatic.com',
45
+ 'fonts.googleapis.com',
46
+ 'cdn.jsdelivr.net',
47
+ 'polyfill.io'
48
+ ];
49
+
50
+ /* Requests that include the following path will be banned */
51
+ const denyUrls = [
52
+ {% if site.google_analytics.pv.cache_path %}
53
+ '{{ site.google_analytics.pv.cache_path | absolute_url }}'
54
+ {% endif %}
55
+ ];
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Chirpy v5.2.3 (https://github.com/abd3lraouf/jekyll-theme-abd3lraouf/)
3
+ * © 2019 Cotes Chung
4
+ * MIT Licensed
5
+ */
6
+ $(function(){$(window).scroll(()=>{50<$(this).scrollTop()&&"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(){$(".mode-toggle").click(o=>{const e=$(o.target);let t=e.prop("tagName")==="button".toUpperCase()?e:e.parent();t.blur(),flipMode()})});const ScrollHelper=function(){const o=$("body"),e="data-topbar-visible",t=$("#topbar-wrapper").outerHeight();let l=0,a=!1,r=!1;return{hideTopbar:()=>o.attr(e,!1),showTopbar:()=>o.attr(e,!0),addScrollUpTask:()=>{l+=1,a=a||!0},popScrollUpTask:()=>--l,hasScrollUpTask:()=>0<l,topbarLocked:()=>!0===a,unlockTopbar:()=>a=!1,getTopbarHeight:()=>t,orientationLocked:()=>!0===r,lockOrientation:()=>r=!0,unLockOrientation:()=>r=!1}}();$(function(){const o=$("#sidebar-trigger"),e=$("#search-trigger"),t=$("#search-cancel"),l=$("#main"),a=$("#topbar-title"),r=$("#search-wrapper"),n=$("#search-result-wrapper"),s=$("#search-results"),i=$("#search-input"),c=$("#search-hints"),d=function(){let o=0;return{block(){o=window.scrollY,$("html,body").scrollTop(0)},release(){$("html,body").scrollTop(o)},getOffset(){return o}}}(),p={on(){o.addClass("unloaded"),a.addClass("unloaded"),e.addClass("unloaded"),r.addClass("d-flex"),t.addClass("loaded")},off(){t.removeClass("loaded"),r.removeClass("d-flex"),o.removeClass("unloaded"),a.removeClass("unloaded"),e.removeClass("unloaded")}},f=function(){let o=!1;return{on(){o||(d.block(),n.removeClass("unloaded"),l.addClass("unloaded"),o=!0)},off(){o&&(s.empty(),c.hasClass("unloaded")&&c.removeClass("unloaded"),n.addClass("unloaded"),l.removeClass("unloaded"),d.release(),i.val(""),o=!1)},isVisible(){return o}}}();function u(){return t.hasClass("loaded")}e.click(function(){p.on(),f.on(),i.focus()}),t.click(function(){p.off(),f.off()}),i.focus(function(){r.addClass("input-focus")}),i.focusout(function(){r.removeClass("input-focus")}),i.on("input",()=>{""===i.val()?u()?c.removeClass("unloaded"):f.off():(f.on(),u()&&c.addClass("unloaded"))})}),$(function(){var o=function(){const o="sidebar-display";let e=!1;const t=$("body");return{toggle(){!1===e?t.attr(o,""):t.removeAttr(o),e=!e}}}();$("#sidebar-trigger").click(o.toggle),$("#mask").click(o.toggle)}),$(function(){$('[data-toggle="tooltip"]').tooltip()}),$(function(){const e=$("#search-input"),t=ScrollHelper.getTopbarHeight();let o,l=0;function a(){0!==$(window).scrollTop()&&(ScrollHelper.lockOrientation(),ScrollHelper.hideTopbar())}screen.orientation?screen.orientation.onchange=()=>{var o=screen.orientation.type;"landscape-primary"!==o&&"landscape-secondary"!==o||a()}:$(window).on("orientationchange",()=>{$(window).width()<$(window).height()&&a()}),$(window).scroll(()=>{o=o||!0}),setInterval(()=>{o&&(!function(){var o=$(this).scrollTop();if(!(Math.abs(l-o)<=t)){if(o>l)ScrollHelper.hideTopbar(),e.is(":focus")&&e.blur();else if(o+$(window).height()<$(document).height()){if(ScrollHelper.hasScrollUpTask())return;ScrollHelper.topbarLocked()?ScrollHelper.unlockTopbar():ScrollHelper.orientationLocked()?ScrollHelper.unLockOrientation():ScrollHelper.showTopbar()}l=o}}(),o=!1)},250)}),$(function(){var e="div.post>h1:first-of-type";const t=$(e),n=$("#topbar-title");if(0!==t.length&&!t.hasClass("dynamic-title")&&!n.is(":hidden")){const s=n.text().trim();let l=t.text().trim(),a=!1,r=0;($("#page-category").length||$("#page-tag").length)&&/\s/.test(l)&&(l=l.replace(/[0-9]/g,"").trim()),t.offset().top<$(window).scrollTop()&&n.text(l);let o=new IntersectionObserver(o=>{var e,t;a?(t=$(window).scrollTop(),e=r<t,r=t,t=o[0],e?0===t.intersectionRatio&&n.text(l):1===t.intersectionRatio&&n.text(s)):a=!0},{rootMargin:"-48px 0px 0px 0px",threshold:[0,1]});o.observe(document.querySelector(e)),n.click(function(){$("body,html").animate({scrollTop:0},800)})}}),$(function(){const o=$(".collapse");o.on("hide.bs.collapse",function(){var o="h_"+$(this).attr("id").substring("l_".length);o&&($(`#${o} .far.fa-folder-open`).attr("class","far fa-folder fa-fw"),$(`#${o} i.fas`).addClass("rotate"),$("#"+o).removeClass("hide-border-bottom"))}),o.on("show.bs.collapse",function(){var o="h_"+$(this).attr("id").substring("l_".length);o&&($(`#${o} .far.fa-folder`).attr("class","far fa-folder-open fa-fw"),$(`#${o} i.fas`).removeClass("rotate"),$("#"+o).addClass("hide-border-bottom"))})});
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Chirpy v5.2.3 (https://github.com/abd3lraouf/jekyll-theme-abd3lraouf/)
3
+ * © 2019 Cotes Chung
4
+ * MIT Licensed
5
+ */
6
+ $(function(){$(window).scroll(()=>{50<$(this).scrollTop()&&"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(){$(".mode-toggle").click(o=>{const e=$(o.target);let t=e.prop("tagName")==="button".toUpperCase()?e:e.parent();t.blur(),flipMode()})});const ScrollHelper=function(){const o=$("body"),e="data-topbar-visible",t=$("#topbar-wrapper").outerHeight();let l=0,r=!1,a=!1;return{hideTopbar:()=>o.attr(e,!1),showTopbar:()=>o.attr(e,!0),addScrollUpTask:()=>{l+=1,r=r||!0},popScrollUpTask:()=>--l,hasScrollUpTask:()=>0<l,topbarLocked:()=>!0===r,unlockTopbar:()=>r=!1,getTopbarHeight:()=>t,orientationLocked:()=>!0===a,lockOrientation:()=>a=!0,unLockOrientation:()=>a=!1}}();$(function(){const o=$("#sidebar-trigger"),e=$("#search-trigger"),t=$("#search-cancel"),l=$("#main"),r=$("#topbar-title"),a=$("#search-wrapper"),n=$("#search-result-wrapper"),s=$("#search-results"),i=$("#search-input"),c=$("#search-hints"),d=function(){let o=0;return{block(){o=window.scrollY,$("html,body").scrollTop(0)},release(){$("html,body").scrollTop(o)},getOffset(){return o}}}(),p={on(){o.addClass("unloaded"),r.addClass("unloaded"),e.addClass("unloaded"),a.addClass("d-flex"),t.addClass("loaded")},off(){t.removeClass("loaded"),a.removeClass("d-flex"),o.removeClass("unloaded"),r.removeClass("unloaded"),e.removeClass("unloaded")}},u=function(){let o=!1;return{on(){o||(d.block(),n.removeClass("unloaded"),l.addClass("unloaded"),o=!0)},off(){o&&(s.empty(),c.hasClass("unloaded")&&c.removeClass("unloaded"),n.addClass("unloaded"),l.removeClass("unloaded"),d.release(),i.val(""),o=!1)},isVisible(){return o}}}();function f(){return t.hasClass("loaded")}e.click(function(){p.on(),u.on(),i.focus()}),t.click(function(){p.off(),u.off()}),i.focus(function(){a.addClass("input-focus")}),i.focusout(function(){a.removeClass("input-focus")}),i.on("input",()=>{""===i.val()?f()?c.removeClass("unloaded"):u.off():(u.on(),f()&&c.addClass("unloaded"))})}),$(function(){var o=function(){const o="sidebar-display";let e=!1;const t=$("body");return{toggle(){!1===e?t.attr(o,""):t.removeAttr(o),e=!e}}}();$("#sidebar-trigger").click(o.toggle),$("#mask").click(o.toggle)}),$(function(){$('[data-toggle="tooltip"]').tooltip()}),$(function(){const e=$("#search-input"),t=ScrollHelper.getTopbarHeight();let o,l=0;function r(){0!==$(window).scrollTop()&&(ScrollHelper.lockOrientation(),ScrollHelper.hideTopbar())}screen.orientation?screen.orientation.onchange=()=>{var o=screen.orientation.type;"landscape-primary"!==o&&"landscape-secondary"!==o||r()}:$(window).on("orientationchange",()=>{$(window).width()<$(window).height()&&r()}),$(window).scroll(()=>{o=o||!0}),setInterval(()=>{o&&(!function(){var o=$(this).scrollTop();if(!(Math.abs(l-o)<=t)){if(o>l)ScrollHelper.hideTopbar(),e.is(":focus")&&e.blur();else if(o+$(window).height()<$(document).height()){if(ScrollHelper.hasScrollUpTask())return;ScrollHelper.topbarLocked()?ScrollHelper.unlockTopbar():ScrollHelper.orientationLocked()?ScrollHelper.unLockOrientation():ScrollHelper.showTopbar()}l=o}}(),o=!1)},250)}),$(function(){var e="div.post>h1:first-of-type";const t=$(e),n=$("#topbar-title");if(0!==t.length&&!t.hasClass("dynamic-title")&&!n.is(":hidden")){const s=n.text().trim();let l=t.text().trim(),r=!1,a=0;($("#page-category").length||$("#page-tag").length)&&/\s/.test(l)&&(l=l.replace(/[0-9]/g,"").trim()),t.offset().top<$(window).scrollTop()&&n.text(l);let o=new IntersectionObserver(o=>{var e,t;r?(t=$(window).scrollTop(),e=a<t,a=t,t=o[0],e?0===t.intersectionRatio&&n.text(l):1===t.intersectionRatio&&n.text(s)):r=!0},{rootMargin:"-48px 0px 0px 0px",threshold:[0,1]});o.observe(document.querySelector(e)),n.click(function(){$("body,html").animate({scrollTop:0},800)})}});