jekyll-theme-abd3lraouf 5.2.5 → 5.2.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -21
  3. data/README.md +105 -105
  4. data/_config.yml +1 -1
  5. data/_data/assets/cross_origin.yml +62 -62
  6. data/_data/assets/self_host.yml +51 -51
  7. data/_data/authors.yml +17 -17
  8. data/_data/contact.yml +30 -30
  9. data/_data/locales/bg-BG.yml +83 -83
  10. data/_data/locales/en.yml +83 -83
  11. data/_data/locales/es-ES.yml +79 -79
  12. data/_data/locales/fr-FR.yml +79 -79
  13. data/_data/locales/hu-HU.yml +81 -81
  14. data/_data/locales/id-ID.yml +79 -79
  15. data/_data/locales/ko-KR.yml +79 -79
  16. data/_data/locales/my-MM.yml +79 -79
  17. data/_data/locales/pt-BR.yml +79 -79
  18. data/_data/locales/ru-RU.yml +79 -79
  19. data/_data/locales/tr-TR.yml +79 -79
  20. data/_data/locales/uk-UA.yml +79 -79
  21. data/_data/locales/vi-VN.yml +77 -77
  22. data/_data/locales/zh-CN.yml +78 -78
  23. data/_data/share.yml +27 -27
  24. data/_includes/assets-origin.html +12 -12
  25. data/_includes/comments/disqus.html +54 -54
  26. data/_includes/comments/giscus.html +56 -56
  27. data/_includes/comments/utterances.html +51 -51
  28. data/_includes/comments.html +5 -5
  29. data/_includes/datetime.html +21 -21
  30. data/_includes/favicons.html +17 -17
  31. data/_includes/footer.html +17 -36
  32. data/_includes/google-analytics.html +14 -14
  33. data/_includes/head.html +116 -116
  34. data/_includes/js-selector.html +104 -104
  35. data/_includes/jsdelivr-combine.html +32 -32
  36. data/_includes/lang.html +8 -8
  37. data/_includes/language-alias.html +70 -70
  38. data/_includes/mermaid.html +57 -57
  39. data/_includes/mode-toggle.html +129 -129
  40. data/_includes/no-linenos.html +10 -10
  41. data/_includes/post-nav.html +30 -30
  42. data/_includes/post-paginator.html +88 -88
  43. data/_includes/post-sharing.html +27 -27
  44. data/_includes/read-time.html +30 -30
  45. data/_includes/refactor-content.html +282 -282
  46. data/_includes/related-posts.html +103 -103
  47. data/_includes/search-loader.html +46 -46
  48. data/_includes/search-results.html +11 -11
  49. data/_includes/sidebar.html +93 -93
  50. data/_includes/toc.html +16 -16
  51. data/_includes/topbar.html +70 -70
  52. data/_includes/trending-tags.html +50 -50
  53. data/_includes/update-list.html +40 -40
  54. data/_layouts/archives.html +48 -48
  55. data/_layouts/categories.html +120 -120
  56. data/_layouts/category.html +24 -24
  57. data/_layouts/compress.html +10 -10
  58. data/_layouts/default.html +74 -74
  59. data/_layouts/home.html +103 -103
  60. data/_layouts/page.html +64 -64
  61. data/_layouts/post.html +159 -159
  62. data/_layouts/tag.html +23 -23
  63. data/_layouts/tags.html +23 -23
  64. data/_plugins/posts-lastmod-hook.rb +14 -14
  65. data/_sass/addon/commons.scss +1678 -1680
  66. data/_sass/addon/module.scss +151 -151
  67. data/_sass/addon/syntax.scss +289 -289
  68. data/_sass/addon/variables.scss +34 -34
  69. data/_sass/colors/dark-syntax.scss +88 -88
  70. data/_sass/colors/dark-typography.scss +157 -157
  71. data/_sass/colors/light-syntax.scss +84 -84
  72. data/_sass/colors/light-typography.scss +94 -94
  73. data/_sass/jekyll-theme-abd3lraouf.scss +1 -1
  74. data/_sass/layout/archives.scss +147 -147
  75. data/_sass/layout/categories.scss +67 -67
  76. data/_sass/layout/category-tag.scss +73 -73
  77. data/_sass/layout/home.scss +184 -184
  78. data/_sass/layout/post.scss +369 -369
  79. data/_sass/layout/tags.scss +19 -19
  80. data/_sass/variables-hook.scss +3 -3
  81. data/_tabs/about.md +8 -8
  82. data/_tabs/archives.md +7 -7
  83. data/_tabs/categories.md +6 -6
  84. data/_tabs/tags.md +6 -6
  85. data/assets/404.html +71 -16
  86. data/assets/css/style.scss +12 -12
  87. data/assets/feed.xml +61 -61
  88. data/assets/img/404.png +0 -0
  89. data/assets/img/favicons/browserconfig.xml +13 -13
  90. data/assets/img/favicons/site.webmanifest +26 -26
  91. data/assets/js/data/search.json +18 -18
  92. data/assets/js/data/swcache.js +55 -55
  93. data/assets/js/dist/categories.min.js +1 -1
  94. data/assets/js/dist/commons.min.js +1 -1
  95. data/assets/js/dist/home.min.js +1 -1
  96. data/assets/js/dist/misc.min.js +1 -1
  97. data/assets/js/dist/page.min.js +1 -1
  98. data/assets/js/dist/post.min.js +1 -1
  99. data/assets/js/dist/pvreport.min.js +1 -1
  100. data/assets/js/pwa/app.js +47 -47
  101. data/assets/js/pwa/sw.js +89 -89
  102. data/assets/js/pwa/unregister.js +12 -12
  103. data/assets/robots.txt +10 -10
  104. data/index.html +4 -4
  105. metadata +8 -7
data/assets/js/pwa/app.js CHANGED
@@ -1,47 +1,47 @@
1
- ---
2
- layout: compress
3
- permalink: '/app.js'
4
- ---
5
-
6
- const $notification = $('#notification');
7
- const $btnRefresh = $('#notification .toast-body>button');
8
-
9
- if ('serviceWorker' in navigator) {
10
- /* Registering Service Worker */
11
- navigator.serviceWorker.register('{{ "/sw.js" | relative_url }}')
12
- .then(registration => {
13
-
14
- /* in case the user ignores the notification */
15
- if (registration.waiting) {
16
- $notification.toast('show');
17
- }
18
-
19
- registration.addEventListener('updatefound', () => {
20
- registration.installing.addEventListener('statechange', () => {
21
- if (registration.waiting) {
22
- if (navigator.serviceWorker.controller) {
23
- $notification.toast('show');
24
- }
25
- }
26
- });
27
- });
28
-
29
- $btnRefresh.click(() => {
30
- if (registration.waiting) {
31
- registration.waiting.postMessage('SKIP_WAITING');
32
- }
33
- $notification.toast('hide');
34
- });
35
- }
36
- );
37
-
38
- let refreshing = false;
39
-
40
- /* Detect controller change and refresh all the opened tabs */
41
- navigator.serviceWorker.addEventListener('controllerchange', () => {
42
- if (!refreshing) {
43
- window.location.reload();
44
- refreshing = true;
45
- }
46
- });
47
- }
1
+ ---
2
+ layout: compress
3
+ permalink: '/app.js'
4
+ ---
5
+
6
+ const $notification = $('#notification');
7
+ const $btnRefresh = $('#notification .toast-body>button');
8
+
9
+ if ('serviceWorker' in navigator) {
10
+ /* Registering Service Worker */
11
+ navigator.serviceWorker.register('{{ "/sw.js" | relative_url }}')
12
+ .then(registration => {
13
+
14
+ /* in case the user ignores the notification */
15
+ if (registration.waiting) {
16
+ $notification.toast('show');
17
+ }
18
+
19
+ registration.addEventListener('updatefound', () => {
20
+ registration.installing.addEventListener('statechange', () => {
21
+ if (registration.waiting) {
22
+ if (navigator.serviceWorker.controller) {
23
+ $notification.toast('show');
24
+ }
25
+ }
26
+ });
27
+ });
28
+
29
+ $btnRefresh.click(() => {
30
+ if (registration.waiting) {
31
+ registration.waiting.postMessage('SKIP_WAITING');
32
+ }
33
+ $notification.toast('hide');
34
+ });
35
+ }
36
+ );
37
+
38
+ let refreshing = false;
39
+
40
+ /* Detect controller change and refresh all the opened tabs */
41
+ navigator.serviceWorker.addEventListener('controllerchange', () => {
42
+ if (!refreshing) {
43
+ window.location.reload();
44
+ refreshing = true;
45
+ }
46
+ });
47
+ }
data/assets/js/pwa/sw.js CHANGED
@@ -1,89 +1,89 @@
1
- ---
2
- layout: compress
3
- permalink: '/sw.js'
4
- # PWA service worker
5
- ---
6
-
7
- self.importScripts('{{ "/assets/js/data/swcache.js" | relative_url }}');
8
-
9
- const cacheName = 'chirpy-{{ "now" | date: "%Y%m%d.%H%M%S" }}';
10
-
11
- function verifyDomain(url) {
12
- for (const domain of allowedDomains) {
13
- const regex = RegExp(`^http(s)?:\/\/${domain}\/`);
14
- if (regex.test(url)) {
15
- return true;
16
- }
17
- }
18
-
19
- return false;
20
- }
21
-
22
- function isExcluded(url) {
23
- for (const item of denyUrls) {
24
- if (url === item) {
25
- return true;
26
- }
27
- }
28
- return false;
29
- }
30
-
31
- self.addEventListener('install', event => {
32
- event.waitUntil(
33
- caches.open(cacheName).then(cache => {
34
- return cache.addAll(resource);
35
- })
36
- );
37
- });
38
-
39
- self.addEventListener('activate', event => {
40
- event.waitUntil(
41
- caches.keys().then(keyList => {
42
- return Promise.all(
43
- keyList.map(key => {
44
- if (key !== cacheName) {
45
- return caches.delete(key);
46
- }
47
- })
48
- );
49
- })
50
- );
51
- });
52
-
53
- self.addEventListener('message', (event) => {
54
- if (event.data === 'SKIP_WAITING') {
55
- self.skipWaiting();
56
- }
57
- });
58
-
59
- self.addEventListener('fetch', event => {
60
- event.respondWith(
61
- caches.match(event.request).then(response => {
62
- if (response) {
63
- return response;
64
- }
65
-
66
- return fetch(event.request).then(response => {
67
- const url = event.request.url;
68
-
69
- if (event.request.method !== 'GET' ||
70
- !verifyDomain(url) ||
71
- isExcluded(url)) {
72
- return response;
73
- }
74
-
75
- /*
76
- see: <https://developers.google.com/web/fundamentals/primers/service-workers#cache_and_return_requests>
77
- */
78
- let responseToCache = response.clone();
79
-
80
- caches.open(cacheName).then(cache => {
81
- /* console.log('[sw] Caching new resource: ' + event.request.url); */
82
- cache.put(event.request, responseToCache);
83
- });
84
-
85
- return response;
86
- });
87
- })
88
- );
89
- });
1
+ ---
2
+ layout: compress
3
+ permalink: '/sw.js'
4
+ # PWA service worker
5
+ ---
6
+
7
+ self.importScripts('{{ "/assets/js/data/swcache.js" | relative_url }}');
8
+
9
+ const cacheName = 'chirpy-{{ "now" | date: "%Y%m%d.%H%M%S" }}';
10
+
11
+ function verifyDomain(url) {
12
+ for (const domain of allowedDomains) {
13
+ const regex = RegExp(`^http(s)?:\/\/${domain}\/`);
14
+ if (regex.test(url)) {
15
+ return true;
16
+ }
17
+ }
18
+
19
+ return false;
20
+ }
21
+
22
+ function isExcluded(url) {
23
+ for (const item of denyUrls) {
24
+ if (url === item) {
25
+ return true;
26
+ }
27
+ }
28
+ return false;
29
+ }
30
+
31
+ self.addEventListener('install', event => {
32
+ event.waitUntil(
33
+ caches.open(cacheName).then(cache => {
34
+ return cache.addAll(resource);
35
+ })
36
+ );
37
+ });
38
+
39
+ self.addEventListener('activate', event => {
40
+ event.waitUntil(
41
+ caches.keys().then(keyList => {
42
+ return Promise.all(
43
+ keyList.map(key => {
44
+ if (key !== cacheName) {
45
+ return caches.delete(key);
46
+ }
47
+ })
48
+ );
49
+ })
50
+ );
51
+ });
52
+
53
+ self.addEventListener('message', (event) => {
54
+ if (event.data === 'SKIP_WAITING') {
55
+ self.skipWaiting();
56
+ }
57
+ });
58
+
59
+ self.addEventListener('fetch', event => {
60
+ event.respondWith(
61
+ caches.match(event.request).then(response => {
62
+ if (response) {
63
+ return response;
64
+ }
65
+
66
+ return fetch(event.request).then(response => {
67
+ const url = event.request.url;
68
+
69
+ if (event.request.method !== 'GET' ||
70
+ !verifyDomain(url) ||
71
+ isExcluded(url)) {
72
+ return response;
73
+ }
74
+
75
+ /*
76
+ see: <https://developers.google.com/web/fundamentals/primers/service-workers#cache_and_return_requests>
77
+ */
78
+ let responseToCache = response.clone();
79
+
80
+ caches.open(cacheName).then(cache => {
81
+ /* console.log('[sw] Caching new resource: ' + event.request.url); */
82
+ cache.put(event.request, responseToCache);
83
+ });
84
+
85
+ return response;
86
+ });
87
+ })
88
+ );
89
+ });
@@ -1,12 +1,12 @@
1
- ---
2
- layout: compress
3
- permalink: '/unregister.js'
4
- ---
5
-
6
- if ('serviceWorker' in navigator) {
7
- navigator.serviceWorker.getRegistrations().then((registrations) => {
8
- for (let reg of registrations) {
9
- reg.unregister();
10
- }
11
- });
12
- }
1
+ ---
2
+ layout: compress
3
+ permalink: '/unregister.js'
4
+ ---
5
+
6
+ if ('serviceWorker' in navigator) {
7
+ navigator.serviceWorker.getRegistrations().then((registrations) => {
8
+ for (let reg of registrations) {
9
+ reg.unregister();
10
+ }
11
+ });
12
+ }
data/assets/robots.txt CHANGED
@@ -1,10 +1,10 @@
1
- ---
2
- permalink: /robots.txt
3
- # The robots rules
4
- ---
5
-
6
- User-agent: *
7
-
8
- Disallow: /norobots/
9
-
10
- Sitemap: {{ '/sitemap.xml' | absolute_url }}
1
+ ---
2
+ permalink: /robots.txt
3
+ # The robots rules
4
+ ---
5
+
6
+ User-agent: *
7
+
8
+ Disallow: /norobots/
9
+
10
+ Sitemap: {{ '/sitemap.xml' | absolute_url }}
data/index.html CHANGED
@@ -1,4 +1,4 @@
1
- ---
2
- layout: home
3
- # Index page
4
- ---
1
+ ---
2
+ layout: home
3
+ # Index page
4
+ ---
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-abd3lraouf
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.5
4
+ version: 5.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - AbdElraouf Sabri
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-06 00:00:00.000000000 Z
11
+ date: 2022-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -94,7 +94,7 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.4'
97
- description:
97
+ description:
98
98
  email:
99
99
  - abdelraoufsabri@gmail.com
100
100
  executables: []
@@ -187,6 +187,7 @@ files:
187
187
  - assets/404.html
188
188
  - assets/css/style.scss
189
189
  - assets/feed.xml
190
+ - assets/img/404.png
190
191
  - assets/img/favicons/android-chrome-192x192.png
191
192
  - assets/img/favicons/android-chrome-512x512.png
192
193
  - assets/img/favicons/apple-touch-icon.png
@@ -220,7 +221,7 @@ metadata:
220
221
  source_code_uri: https://github.com/abd3lraouf/jekyll-theme-abd3lraouf
221
222
  wiki_uri: https://github.com/abd3lraouf/jekyll-theme-abd3lraouf/wiki
222
223
  plugin_type: theme
223
- post_install_message:
224
+ post_install_message:
224
225
  rdoc_options: []
225
226
  require_paths:
226
227
  - lib
@@ -235,8 +236,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
236
  - !ruby/object:Gem::Version
236
237
  version: '0'
237
238
  requirements: []
238
- rubygems_version: 3.3.7
239
- signing_key:
239
+ rubygems_version: 3.3.15
240
+ signing_key:
240
241
  specification_version: 4
241
242
  summary: Chirpy is a minimal, sidebar, responsive web design Jekyll theme that focuses
242
243
  on text presentation.