casjaysdev-jekyll-theme 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +0 -0
  3. data/.gitignore +96 -17
  4. data/.prettierrc.json +8 -0
  5. data/.vscode/settings.json +6 -0
  6. data/Gemfile +25 -15
  7. data/LICENSE.md +1 -1
  8. data/_config.yml +195 -105
  9. data/_data/nav/external.yml +1 -1
  10. data/_includes/ads/adsense.html +15 -0
  11. data/_includes/analytics/google.html +13 -0
  12. data/_includes/{casjaysdev/piwik.html → analytics/matomo.html} +5 -6
  13. data/_includes/casjays-footer.html +61 -43
  14. data/_includes/casjays-header.html +39 -1
  15. data/_includes/casjaysdev/clock.html +3 -12
  16. data/_includes/casjaysdev/eucookie.html +21 -30
  17. data/_includes/casjaysdev/legal.html +17 -38
  18. data/_includes/casjaysdev/rocketchat.html +3 -4
  19. data/_includes/casjaysdev/sharethis.html +6 -42
  20. data/_includes/casjaysdev/socialfooter.html +9 -85
  21. data/_includes/casjaysdev/sociallinks.html +51 -79
  22. data/_includes/casjaysdev/statcounter.html +8 -25
  23. data/_includes/casjaysdev/theme.html +9 -11
  24. data/_includes/casjaysdev/widgetbot.html +3 -1
  25. data/_includes/disqus.html +3 -7
  26. data/_includes/functions/blog.html +68 -0
  27. data/_includes/functions/default.html +3 -0
  28. data/{_pages → _includes/functions}/gallery/index.html +3 -5
  29. data/_includes/functions/gallery.html +44 -0
  30. data/_includes/functions/recipes.html +68 -0
  31. data/_includes/github.html +17 -7
  32. data/_includes/nav/external.html +10 -11
  33. data/_includes/nav/internal.html +14 -10
  34. data/_includes/nav/sidebars/right.html +2 -1
  35. data/_includes/nav/top.html +12 -19
  36. data/_includes/themes/blank/layouts/default.html +5 -20
  37. data/_includes/themes/blank/navigation.html +16 -18
  38. data/_includes/themes/hacker/layouts/default.html +32 -60
  39. data/_includes/themes/hacker/meta.html +2 -95
  40. data/_includes/themes/hacker/page_header.html +27 -0
  41. data/_layouts/default.html +32 -13
  42. data/_layouts/page.html +3 -3
  43. data/_layouts/post.html +1 -1
  44. data/_layouts/recipes.html +43 -0
  45. data/_pages/about/index.html +3 -5
  46. data/_pages/blog/catergories/catergories.html +6 -6
  47. data/_pages/blog/index.html +48 -44
  48. data/_pages/blog/tags/tags.html +6 -6
  49. data/_pages/contact/index.html +62 -160
  50. data/_pages/index.html +102 -7
  51. data/_pages/rss/index.xml +1 -0
  52. data/_posts/2021-07-31-welcome-to-your-new-site.md +14 -0
  53. data/_posts/2022-07-31-templates-update.md +14 -0
  54. data/_posts/2023-04-24-theme-rewrite.md +14 -0
  55. data/assets/css/bootstrap/bootstrap-icons.css +5994 -2002
  56. data/assets/css/bootstrap/font-awesome.css +6812 -3
  57. data/assets/css/errorpages/errorpages.css +8 -7
  58. data/assets/css/gh/ribbon.css +31 -18
  59. data/assets/css/hacker.css +41 -54
  60. data/assets/css/other/forms-min.css +316 -1
  61. data/assets/js/errorpages/homepage.js +4 -2
  62. data/assets/js/errorpages/isup.js +5 -2
  63. data/assets/js/errorpages/loaddomain.js +5 -2
  64. data/assets/js/fetch-url.js +1 -3
  65. data/assets/js/utils/bootstrap.bundle.min.js +4181 -6
  66. data/assets/js/utils/fetch.min.js +467 -1
  67. data/casjaysdev-jekyll-theme.gemspec +16 -6
  68. data/error/403.html +49 -0
  69. data/error/404.html +39 -34
  70. data/error/418.html +48 -0
  71. data/error/500.html +39 -34
  72. data/error/502.html +49 -0
  73. data/error/503.html +49 -0
  74. data/error/504.html +49 -0
  75. data/health/index.html +7 -0
  76. data/health/json +3 -0
  77. data/health/txt +1 -0
  78. metadata +259 -22
  79. data/.editorconfig +0 -8
  80. data/CNAME +0 -1
  81. data/Gemfile.lock +0 -310
  82. data/_includes/casjaysdev/ads.html +0 -24
  83. data/_includes/casjaysdev/google.html +0 -32
  84. data/_includes/image-gallery.html +0 -30
  85. data/_layouts/errors.html +0 -26
  86. data/images/.keep +0 -1
@@ -1 +1,467 @@
1
- var global="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==global&&global,support={searchParams:"URLSearchParams"in global,iterable:"Symbol"in global&&"iterator"in Symbol,blob:"FileReader"in global&&"Blob"in global&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in global,arrayBuffer:"ArrayBuffer"in global};function isDataView(e){return e&&DataView.prototype.isPrototypeOf(e)}if(support.arrayBuffer)var viewClasses=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],isArrayBufferView=ArrayBuffer.isView||function(e){return e&&viewClasses.indexOf(Object.prototype.toString.call(e))>-1};function normalizeName(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function normalizeValue(e){return"string"!=typeof e&&(e=String(e)),e}function iteratorFor(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return support.iterable&&(t[Symbol.iterator]=function(){return t}),t}export function Headers(e){this.map={},e instanceof Headers?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)};function consumed(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function fileReaderReady(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function readBlobAsArrayBuffer(e){var t=new FileReader,r=fileReaderReady(t);return t.readAsArrayBuffer(e),r}function readBlobAsText(e){var t=new FileReader,r=fileReaderReady(t);return t.readAsText(e),r}function readArrayBufferAsText(e){for(var t=new Uint8Array(e),r=new Array(t.length),o=0;o<t.length;o++)r[o]=String.fromCharCode(t[o]);return r.join("")}function bufferClone(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function Body(){return this.bodyUsed=!1,this._initBody=function(e){this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:support.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:support.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:support.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():support.arrayBuffer&&support.blob&&isDataView(e)?(this._bodyArrayBuffer=bufferClone(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):support.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||isArrayBufferView(e))?this._bodyArrayBuffer=bufferClone(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):support.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},support.blob&&(this.blob=function(){var e=consumed(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=consumed(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}return this.blob().then(readBlobAsArrayBuffer)}),this.text=function(){var e=consumed(this);if(e)return e;if(this._bodyBlob)return readBlobAsText(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},support.formData&&(this.formData=function(){return this.text().then(decode)}),this.json=function(){return this.text().then(JSON.parse)},this}Headers.prototype.append=function(e,t){e=normalizeName(e),t=normalizeValue(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},Headers.prototype.delete=function(e){delete this.map[normalizeName(e)]},Headers.prototype.get=function(e){return e=normalizeName(e),this.has(e)?this.map[e]:null},Headers.prototype.has=function(e){return this.map.hasOwnProperty(normalizeName(e))},Headers.prototype.set=function(e,t){this.map[normalizeName(e)]=normalizeValue(t)},Headers.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},Headers.prototype.keys=function(){var e=[];return this.forEach(function(t,r){e.push(r)}),iteratorFor(e)},Headers.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),iteratorFor(e)},Headers.prototype.entries=function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),iteratorFor(e)},support.iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);var methods=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function normalizeMethod(e){var t=e.toUpperCase();return methods.indexOf(t)>-1?t:e}export function Request(e,t){if(!(this instanceof Request))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r=(t=t||{}).body;if(e instanceof Request){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new Headers(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,r||null==e._bodyInit||(r=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new Headers(t.headers)),this.method=normalizeMethod(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var o=/([?&])_=[^&]*/;if(o.test(this.url))this.url=this.url.replace(o,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}};function decode(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var r=e.split("="),o=r.shift().replace(/\+/g," "),s=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(o),decodeURIComponent(s))}}),t}function parseHeaders(e){var t=new Headers;return e.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e}).forEach(function(e){var r=e.split(":"),o=r.shift().trim();if(o){var s=r.join(":").trim();t.append(o,s)}}),t}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})},Body.call(Request.prototype);export function Response(e,t){if(!(this instanceof Response))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new Headers(t.headers),this.url=t.url||"",this._initBody(e)};Body.call(Response.prototype),Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})},Response.error=function(){var e=new Response(null,{status:0,statusText:""});return e.type="error",e};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(e,t){if(-1===redirectStatuses.indexOf(t))throw new RangeError("Invalid status code");return new Response(null,{status:t,headers:{location:e}})};export var DOMException=global.DOMException;try{new DOMException}catch(e){(DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack}).prototype=Object.create(Error.prototype),DOMException.prototype.constructor=DOMException}export function fetch(e,t){return new Promise(function(r,o){var s=new Request(e,t);if(s.signal&&s.signal.aborted)return o(new DOMException("Aborted","AbortError"));var n=new XMLHttpRequest;function a(){n.abort()}n.onload=function(){var e={status:n.status,statusText:n.statusText,headers:parseHeaders(n.getAllResponseHeaders()||"")};e.url="responseURL"in n?n.responseURL:e.headers.get("X-Request-URL");var t="response"in n?n.response:n.responseText;setTimeout(function(){r(new Response(t,e))},0)},n.onerror=function(){setTimeout(function(){o(new TypeError("Network request failed"))},0)},n.ontimeout=function(){setTimeout(function(){o(new TypeError("Network request failed"))},0)},n.onabort=function(){setTimeout(function(){o(new DOMException("Aborted","AbortError"))},0)},n.open(s.method,function(e){try{return""===e&&global.location.href?global.location.href:e}catch(t){return e}}(s.url),!0),"include"===s.credentials?n.withCredentials=!0:"omit"===s.credentials&&(n.withCredentials=!1),"responseType"in n&&(support.blob?n.responseType="blob":support.arrayBuffer&&s.headers.get("Content-Type")&&-1!==s.headers.get("Content-Type").indexOf("application/octet-stream")&&(n.responseType="arraybuffer")),!t||"object"!=typeof t.headers||t.headers instanceof Headers?s.headers.forEach(function(e,t){n.setRequestHeader(t,e)}):Object.getOwnPropertyNames(t.headers).forEach(function(e){n.setRequestHeader(e,normalizeValue(t.headers[e]))}),s.signal&&(s.signal.addEventListener("abort",a),n.onreadystatechange=function(){4===n.readyState&&s.signal.removeEventListener("abort",a)}),n.send(void 0===s._bodyInit?null:s._bodyInit)})};fetch.polyfill=!0,global.fetch||(global.fetch=fetch,global.Headers=Headers,global.Request=Request,global.Response=Response);
1
+ var global =
2
+ ("undefined" != typeof globalThis && globalThis) ||
3
+ ("undefined" != typeof self && self) ||
4
+ (void 0 !== global && global),
5
+ support = {
6
+ searchParams: "URLSearchParams" in global,
7
+ iterable: "Symbol" in global && "iterator" in Symbol,
8
+ blob:
9
+ "FileReader" in global &&
10
+ "Blob" in global &&
11
+ (function () {
12
+ try {
13
+ return new Blob(), !0;
14
+ } catch (e) {
15
+ return !1;
16
+ }
17
+ })(),
18
+ formData: "FormData" in global,
19
+ arrayBuffer: "ArrayBuffer" in global,
20
+ };
21
+ function isDataView(e) {
22
+ return e && DataView.prototype.isPrototypeOf(e);
23
+ }
24
+ if (support.arrayBuffer)
25
+ var viewClasses = [
26
+ "[object Int8Array]",
27
+ "[object Uint8Array]",
28
+ "[object Uint8ClampedArray]",
29
+ "[object Int16Array]",
30
+ "[object Uint16Array]",
31
+ "[object Int32Array]",
32
+ "[object Uint32Array]",
33
+ "[object Float32Array]",
34
+ "[object Float64Array]",
35
+ ],
36
+ isArrayBufferView =
37
+ ArrayBuffer.isView ||
38
+ function (e) {
39
+ return e && viewClasses.indexOf(Object.prototype.toString.call(e)) > -1;
40
+ };
41
+ function normalizeName(e) {
42
+ if (
43
+ ("string" != typeof e && (e = String(e)),
44
+ /[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e) || "" === e)
45
+ )
46
+ throw new TypeError('Invalid character in header field name: "' + e + '"');
47
+ return e.toLowerCase();
48
+ }
49
+ function normalizeValue(e) {
50
+ return "string" != typeof e && (e = String(e)), e;
51
+ }
52
+ function iteratorFor(e) {
53
+ var t = {
54
+ next: function () {
55
+ var t = e.shift();
56
+ return { done: void 0 === t, value: t };
57
+ },
58
+ };
59
+ return (
60
+ support.iterable &&
61
+ (t[Symbol.iterator] = function () {
62
+ return t;
63
+ }),
64
+ t
65
+ );
66
+ }
67
+ export function Headers(e) {
68
+ (this.map = {}),
69
+ e instanceof Headers
70
+ ? e.forEach(function (e, t) {
71
+ this.append(t, e);
72
+ }, this)
73
+ : Array.isArray(e)
74
+ ? e.forEach(function (e) {
75
+ this.append(e[0], e[1]);
76
+ }, this)
77
+ : e &&
78
+ Object.getOwnPropertyNames(e).forEach(function (t) {
79
+ this.append(t, e[t]);
80
+ }, this);
81
+ }
82
+ function consumed(e) {
83
+ if (e.bodyUsed) return Promise.reject(new TypeError("Already read"));
84
+ e.bodyUsed = !0;
85
+ }
86
+ function fileReaderReady(e) {
87
+ return new Promise(function (t, r) {
88
+ (e.onload = function () {
89
+ t(e.result);
90
+ }),
91
+ (e.onerror = function () {
92
+ r(e.error);
93
+ });
94
+ });
95
+ }
96
+ function readBlobAsArrayBuffer(e) {
97
+ var t = new FileReader(),
98
+ r = fileReaderReady(t);
99
+ return t.readAsArrayBuffer(e), r;
100
+ }
101
+ function readBlobAsText(e) {
102
+ var t = new FileReader(),
103
+ r = fileReaderReady(t);
104
+ return t.readAsText(e), r;
105
+ }
106
+ function readArrayBufferAsText(e) {
107
+ for (
108
+ var t = new Uint8Array(e), r = new Array(t.length), o = 0;
109
+ o < t.length;
110
+ o++
111
+ )
112
+ r[o] = String.fromCharCode(t[o]);
113
+ return r.join("");
114
+ }
115
+ function bufferClone(e) {
116
+ if (e.slice) return e.slice(0);
117
+ var t = new Uint8Array(e.byteLength);
118
+ return t.set(new Uint8Array(e)), t.buffer;
119
+ }
120
+ function Body() {
121
+ return (
122
+ (this.bodyUsed = !1),
123
+ (this._initBody = function (e) {
124
+ (this.bodyUsed = this.bodyUsed),
125
+ (this._bodyInit = e),
126
+ e
127
+ ? "string" == typeof e
128
+ ? (this._bodyText = e)
129
+ : support.blob && Blob.prototype.isPrototypeOf(e)
130
+ ? (this._bodyBlob = e)
131
+ : support.formData && FormData.prototype.isPrototypeOf(e)
132
+ ? (this._bodyFormData = e)
133
+ : support.searchParams && URLSearchParams.prototype.isPrototypeOf(e)
134
+ ? (this._bodyText = e.toString())
135
+ : support.arrayBuffer && support.blob && isDataView(e)
136
+ ? ((this._bodyArrayBuffer = bufferClone(e.buffer)),
137
+ (this._bodyInit = new Blob([this._bodyArrayBuffer])))
138
+ : support.arrayBuffer &&
139
+ (ArrayBuffer.prototype.isPrototypeOf(e) || isArrayBufferView(e))
140
+ ? (this._bodyArrayBuffer = bufferClone(e))
141
+ : (this._bodyText = e = Object.prototype.toString.call(e))
142
+ : (this._bodyText = ""),
143
+ this.headers.get("content-type") ||
144
+ ("string" == typeof e
145
+ ? this.headers.set("content-type", "text/plain;charset=UTF-8")
146
+ : this._bodyBlob && this._bodyBlob.type
147
+ ? this.headers.set("content-type", this._bodyBlob.type)
148
+ : support.searchParams &&
149
+ URLSearchParams.prototype.isPrototypeOf(e) &&
150
+ this.headers.set(
151
+ "content-type",
152
+ "application/x-www-form-urlencoded;charset=UTF-8"
153
+ ));
154
+ }),
155
+ support.blob &&
156
+ ((this.blob = function () {
157
+ var e = consumed(this);
158
+ if (e) return e;
159
+ if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
160
+ if (this._bodyArrayBuffer)
161
+ return Promise.resolve(new Blob([this._bodyArrayBuffer]));
162
+ if (this._bodyFormData)
163
+ throw new Error("could not read FormData body as blob");
164
+ return Promise.resolve(new Blob([this._bodyText]));
165
+ }),
166
+ (this.arrayBuffer = function () {
167
+ if (this._bodyArrayBuffer) {
168
+ var e = consumed(this);
169
+ return (
170
+ e ||
171
+ (ArrayBuffer.isView(this._bodyArrayBuffer)
172
+ ? Promise.resolve(
173
+ this._bodyArrayBuffer.buffer.slice(
174
+ this._bodyArrayBuffer.byteOffset,
175
+ this._bodyArrayBuffer.byteOffset +
176
+ this._bodyArrayBuffer.byteLength
177
+ )
178
+ )
179
+ : Promise.resolve(this._bodyArrayBuffer))
180
+ );
181
+ }
182
+ return this.blob().then(readBlobAsArrayBuffer);
183
+ })),
184
+ (this.text = function () {
185
+ var e = consumed(this);
186
+ if (e) return e;
187
+ if (this._bodyBlob) return readBlobAsText(this._bodyBlob);
188
+ if (this._bodyArrayBuffer)
189
+ return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));
190
+ if (this._bodyFormData)
191
+ throw new Error("could not read FormData body as text");
192
+ return Promise.resolve(this._bodyText);
193
+ }),
194
+ support.formData &&
195
+ (this.formData = function () {
196
+ return this.text().then(decode);
197
+ }),
198
+ (this.json = function () {
199
+ return this.text().then(JSON.parse);
200
+ }),
201
+ this
202
+ );
203
+ }
204
+ (Headers.prototype.append = function (e, t) {
205
+ (e = normalizeName(e)), (t = normalizeValue(t));
206
+ var r = this.map[e];
207
+ this.map[e] = r ? r + ", " + t : t;
208
+ }),
209
+ (Headers.prototype.delete = function (e) {
210
+ delete this.map[normalizeName(e)];
211
+ }),
212
+ (Headers.prototype.get = function (e) {
213
+ return (e = normalizeName(e)), this.has(e) ? this.map[e] : null;
214
+ }),
215
+ (Headers.prototype.has = function (e) {
216
+ return this.map.hasOwnProperty(normalizeName(e));
217
+ }),
218
+ (Headers.prototype.set = function (e, t) {
219
+ this.map[normalizeName(e)] = normalizeValue(t);
220
+ }),
221
+ (Headers.prototype.forEach = function (e, t) {
222
+ for (var r in this.map)
223
+ this.map.hasOwnProperty(r) && e.call(t, this.map[r], r, this);
224
+ }),
225
+ (Headers.prototype.keys = function () {
226
+ var e = [];
227
+ return (
228
+ this.forEach(function (t, r) {
229
+ e.push(r);
230
+ }),
231
+ iteratorFor(e)
232
+ );
233
+ }),
234
+ (Headers.prototype.values = function () {
235
+ var e = [];
236
+ return (
237
+ this.forEach(function (t) {
238
+ e.push(t);
239
+ }),
240
+ iteratorFor(e)
241
+ );
242
+ }),
243
+ (Headers.prototype.entries = function () {
244
+ var e = [];
245
+ return (
246
+ this.forEach(function (t, r) {
247
+ e.push([r, t]);
248
+ }),
249
+ iteratorFor(e)
250
+ );
251
+ }),
252
+ support.iterable &&
253
+ (Headers.prototype[Symbol.iterator] = Headers.prototype.entries);
254
+ var methods = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
255
+ function normalizeMethod(e) {
256
+ var t = e.toUpperCase();
257
+ return methods.indexOf(t) > -1 ? t : e;
258
+ }
259
+ export function Request(e, t) {
260
+ if (!(this instanceof Request))
261
+ throw new TypeError(
262
+ 'Please use the "new" operator, this DOM object constructor cannot be called as a function.'
263
+ );
264
+ var r = (t = t || {}).body;
265
+ if (e instanceof Request) {
266
+ if (e.bodyUsed) throw new TypeError("Already read");
267
+ (this.url = e.url),
268
+ (this.credentials = e.credentials),
269
+ t.headers || (this.headers = new Headers(e.headers)),
270
+ (this.method = e.method),
271
+ (this.mode = e.mode),
272
+ (this.signal = e.signal),
273
+ r || null == e._bodyInit || ((r = e._bodyInit), (e.bodyUsed = !0));
274
+ } else this.url = String(e);
275
+ if (
276
+ ((this.credentials = t.credentials || this.credentials || "same-origin"),
277
+ (!t.headers && this.headers) || (this.headers = new Headers(t.headers)),
278
+ (this.method = normalizeMethod(t.method || this.method || "GET")),
279
+ (this.mode = t.mode || this.mode || null),
280
+ (this.signal = t.signal || this.signal),
281
+ (this.referrer = null),
282
+ ("GET" === this.method || "HEAD" === this.method) && r)
283
+ )
284
+ throw new TypeError("Body not allowed for GET or HEAD requests");
285
+ if (
286
+ (this._initBody(r),
287
+ !(
288
+ ("GET" !== this.method && "HEAD" !== this.method) ||
289
+ ("no-store" !== t.cache && "no-cache" !== t.cache)
290
+ ))
291
+ ) {
292
+ var o = /([?&])_=[^&]*/;
293
+ if (o.test(this.url))
294
+ this.url = this.url.replace(o, "$1_=" + new Date().getTime());
295
+ else {
296
+ this.url +=
297
+ (/\?/.test(this.url) ? "&" : "?") + "_=" + new Date().getTime();
298
+ }
299
+ }
300
+ }
301
+ function decode(e) {
302
+ var t = new FormData();
303
+ return (
304
+ e
305
+ .trim()
306
+ .split("&")
307
+ .forEach(function (e) {
308
+ if (e) {
309
+ var r = e.split("="),
310
+ o = r.shift().replace(/\+/g, " "),
311
+ s = r.join("=").replace(/\+/g, " ");
312
+ t.append(decodeURIComponent(o), decodeURIComponent(s));
313
+ }
314
+ }),
315
+ t
316
+ );
317
+ }
318
+ function parseHeaders(e) {
319
+ var t = new Headers();
320
+ return (
321
+ e
322
+ .replace(/\r?\n[\t ]+/g, " ")
323
+ .split("\r")
324
+ .map(function (e) {
325
+ return 0 === e.indexOf("\n") ? e.substr(1, e.length) : e;
326
+ })
327
+ .forEach(function (e) {
328
+ var r = e.split(":"),
329
+ o = r.shift().trim();
330
+ if (o) {
331
+ var s = r.join(":").trim();
332
+ t.append(o, s);
333
+ }
334
+ }),
335
+ t
336
+ );
337
+ }
338
+ (Request.prototype.clone = function () {
339
+ return new Request(this, { body: this._bodyInit });
340
+ }),
341
+ Body.call(Request.prototype);
342
+ export function Response(e, t) {
343
+ if (!(this instanceof Response))
344
+ throw new TypeError(
345
+ 'Please use the "new" operator, this DOM object constructor cannot be called as a function.'
346
+ );
347
+ t || (t = {}),
348
+ (this.type = "default"),
349
+ (this.status = void 0 === t.status ? 200 : t.status),
350
+ (this.ok = this.status >= 200 && this.status < 300),
351
+ (this.statusText = void 0 === t.statusText ? "" : "" + t.statusText),
352
+ (this.headers = new Headers(t.headers)),
353
+ (this.url = t.url || ""),
354
+ this._initBody(e);
355
+ }
356
+ Body.call(Response.prototype),
357
+ (Response.prototype.clone = function () {
358
+ return new Response(this._bodyInit, {
359
+ status: this.status,
360
+ statusText: this.statusText,
361
+ headers: new Headers(this.headers),
362
+ url: this.url,
363
+ });
364
+ }),
365
+ (Response.error = function () {
366
+ var e = new Response(null, { status: 0, statusText: "" });
367
+ return (e.type = "error"), e;
368
+ });
369
+ var redirectStatuses = [301, 302, 303, 307, 308];
370
+ Response.redirect = function (e, t) {
371
+ if (-1 === redirectStatuses.indexOf(t))
372
+ throw new RangeError("Invalid status code");
373
+ return new Response(null, { status: t, headers: { location: e } });
374
+ };
375
+ export var DOMException = global.DOMException;
376
+ try {
377
+ new DOMException();
378
+ } catch (e) {
379
+ ((DOMException = function (e, t) {
380
+ (this.message = e), (this.name = t);
381
+ var r = Error(e);
382
+ this.stack = r.stack;
383
+ }).prototype = Object.create(Error.prototype)),
384
+ (DOMException.prototype.constructor = DOMException);
385
+ }
386
+ export function fetch(e, t) {
387
+ return new Promise(function (r, o) {
388
+ var s = new Request(e, t);
389
+ if (s.signal && s.signal.aborted)
390
+ return o(new DOMException("Aborted", "AbortError"));
391
+ var n = new XMLHttpRequest();
392
+ function a() {
393
+ n.abort();
394
+ }
395
+ (n.onload = function () {
396
+ var e = {
397
+ status: n.status,
398
+ statusText: n.statusText,
399
+ headers: parseHeaders(n.getAllResponseHeaders() || ""),
400
+ };
401
+ e.url =
402
+ "responseURL" in n ? n.responseURL : e.headers.get("X-Request-URL");
403
+ var t = "response" in n ? n.response : n.responseText;
404
+ setTimeout(function () {
405
+ r(new Response(t, e));
406
+ }, 0);
407
+ }),
408
+ (n.onerror = function () {
409
+ setTimeout(function () {
410
+ o(new TypeError("Network request failed"));
411
+ }, 0);
412
+ }),
413
+ (n.ontimeout = function () {
414
+ setTimeout(function () {
415
+ o(new TypeError("Network request failed"));
416
+ }, 0);
417
+ }),
418
+ (n.onabort = function () {
419
+ setTimeout(function () {
420
+ o(new DOMException("Aborted", "AbortError"));
421
+ }, 0);
422
+ }),
423
+ n.open(
424
+ s.method,
425
+ (function (e) {
426
+ try {
427
+ return "" === e && global.location.href ? global.location.href : e;
428
+ } catch (t) {
429
+ return e;
430
+ }
431
+ })(s.url),
432
+ !0
433
+ ),
434
+ "include" === s.credentials
435
+ ? (n.withCredentials = !0)
436
+ : "omit" === s.credentials && (n.withCredentials = !1),
437
+ "responseType" in n &&
438
+ (support.blob
439
+ ? (n.responseType = "blob")
440
+ : support.arrayBuffer &&
441
+ s.headers.get("Content-Type") &&
442
+ -1 !==
443
+ s.headers
444
+ .get("Content-Type")
445
+ .indexOf("application/octet-stream") &&
446
+ (n.responseType = "arraybuffer")),
447
+ !t || "object" != typeof t.headers || t.headers instanceof Headers
448
+ ? s.headers.forEach(function (e, t) {
449
+ n.setRequestHeader(t, e);
450
+ })
451
+ : Object.getOwnPropertyNames(t.headers).forEach(function (e) {
452
+ n.setRequestHeader(e, normalizeValue(t.headers[e]));
453
+ }),
454
+ s.signal &&
455
+ (s.signal.addEventListener("abort", a),
456
+ (n.onreadystatechange = function () {
457
+ 4 === n.readyState && s.signal.removeEventListener("abort", a);
458
+ })),
459
+ n.send(void 0 === s._bodyInit ? null : s._bodyInit);
460
+ });
461
+ }
462
+ (fetch.polyfill = !0),
463
+ global.fetch ||
464
+ ((global.fetch = fetch),
465
+ (global.Headers = Headers),
466
+ (global.Request = Request),
467
+ (global.Response = Response));
@@ -3,9 +3,9 @@
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = 'casjaysdev-jekyll-theme'
6
- spec.version = '0.2.4'
6
+ spec.version = '0.2.5'
7
7
  spec.authors = ['CasjaysDev']
8
- spec.email = ['gem-admin@casjaysdev.com']
8
+ spec.email = ['gem-admin@casjaysdev.pro']
9
9
 
10
10
  spec.summary = 'CasjaysDev jekyll theme'
11
11
  spec.homepage = 'https://github.com/casjay-templates/jekyll-site'
@@ -23,18 +23,28 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.files = `git ls-files -z`.split("\x0")
25
25
 
26
- spec.required_ruby_version = '>= 2.7.0'
26
+ spec.required_ruby_version = '>= 2.7.0', '< 3.0'
27
27
 
28
28
  spec.add_runtime_dependency 'jekyll', '>= 3.5', '< 5.0'
29
29
  spec.add_runtime_dependency 'github-pages', '~> 228'
30
30
  spec.add_runtime_dependency 'jekyll-assets', '~> 3.0', '>= 3.0.12'
31
31
  spec.add_runtime_dependency 'jekyll-analytics', '~> 0.1.14'
32
32
  spec.add_runtime_dependency 'jekyll-remote-include', '~> 1.0', '>= 1.0.2'
33
- spec.add_runtime_dependency 'jekyll-menus', '~> 0.6.1'
33
+ spec.add_runtime_dependency 'jekyll-menus', '~> 0.6.1', '>= 0.6.2'
34
34
  spec.add_runtime_dependency 'jekyll-theme-hacker', '~> 0.2.0'
35
- spec.add_runtime_dependency 'faraday-retry', '~> 2.1'
36
35
  spec.add_runtime_dependency 'jekyll-watch', '~> 2.2', '>= 2.2.1'
36
+ spec.add_runtime_dependency 'jekyll-admin', '~> 0.9.0', '>= 0.9.0'
37
+ spec.add_runtime_dependency 'jekyll-avatar', '~> 0.0.0.1', '>= 0.0.0.2'
38
+ spec.add_runtime_dependency 'jekyll-feed', '~> 0.0.0.1', '>= 0.0.0.2'
39
+ spec.add_runtime_dependency 'jekyll-mentions', '~> 0.0.0.1', '>= 0.0.0.2'
40
+ spec.add_runtime_dependency 'jekyll-redirect-from', '~> 0.0.0.1', '>= 0.0.0.2'
41
+ spec.add_runtime_dependency 'jekyll-seo-tag', '~> 0.0.0.1', '>= 0.0.0.2'
42
+ spec.add_runtime_dependency 'jekyll-gist', '~> 0.0.0.1', '>= 0.0.0.2'
43
+ spec.add_runtime_dependency 'jekyll-coffeescript', '~> 0.0.0.1', '>= 0.0.0.2'
44
+ spec.add_runtime_dependency 'sprockets', '~> 3.7'
45
+ spec.add_runtime_dependency 'faraday-retry', '~> 2.1'
37
46
  spec.add_runtime_dependency 'webrick', '~> 1.8', '>= 1.8.1'
38
-
47
+ spec.add_runtime_dependency 'jemoji', '~> 0.0.0.1', '>= 0.0.0.2'
48
+ spec.add_runtime_dependency 'kramdown', '~> 0.0.0.1', '>= 0.0.0.2'
39
49
  spec.post_install_message = "Thanks for installing!"
40
50
  end
data/error/403.html ADDED
@@ -0,0 +1,49 @@
1
+ ---
2
+ layout: null
3
+ search: exclude
4
+ permalink: /403.html
5
+ ---
6
+
7
+ <!DOCTYPE html>
8
+ <html lang="{{ site.lang | default: " en-US" }}">
9
+
10
+ <head>
11
+ <link rel="stylesheet" href="{{ site.error_pages.css_file | prepend: site.baseurl }}">
12
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/{{ site.custom_theme.directory }}.css">
13
+ {% if site.custom_theme.directory %}
14
+ {% include casjays-header.html %}
15
+ {% endif %}
16
+ <title>403 Forbidden</title>
17
+ </head>
18
+
19
+ <body class="vh-100" onload="javascript:loadDomain();" style="font-size: {{ site.error_pages.font_size.default }};">
20
+ <div class="container">
21
+ <div class=" align-items-center text-center">
22
+ <br />
23
+ <div style="font-size: {{ site.error_pages.font_site.header }};">
24
+ <span class="fa fa-ban red"></span>
25
+ <a href="https://duckduckgo.com/?q=http+status+code+403" target="_blank">
26
+ 403 Forbidden
27
+ </a>
28
+ <br /><br />
29
+ </div>
30
+ <div style="font-size: {{ site.error_pages.font_site.body }};" class="lead body-content">
31
+ We are sorry but you don't seem to have<br />
32
+ permissions to access this resource!!<br />
33
+ <img alt="error" height="400" width="400" src="{{ site.error_pages.error_image | prepend: site.baseurl }}"/>
34
+ </div>
35
+ <a style="cursor: pointer;" onclick="javascript:homepage();" class="btn btn-success"><span id="display-domain"></span></a>
36
+ <br />
37
+ {% if site.error_pages.show_fork == true %}
38
+ <a class="github-fork-ribbon left-top" href="{{ site.github.repository_url }}/fork" data-ribbon="Fork me on GitHub" title="Fork me on GitHub">Fork me on GitHub</a>
39
+ {% endif %}
40
+ {% if site.error_pages.show_footer == true %}
41
+ <div class="footer footer-custom col-sm-12">
42
+ {% include {{ site.error_pages.footer_template }} %}
43
+ </div><br /><br /><br /><br />
44
+ {% endif %}
45
+ <br /><br /><br />
46
+ </div>
47
+ </div>
48
+ </body>
49
+ </html>
data/error/404.html CHANGED
@@ -1,44 +1,49 @@
1
1
  ---
2
- layout: errors
2
+ layout: null
3
+ search: exclude
3
4
  permalink: /404.html
4
- title: Ummm You did that wrong!
5
5
  ---
6
6
 
7
7
  <!DOCTYPE html>
8
- <html lang="{{ site.lang | default: 'en-US' }}">
9
- <head>
10
- <link
11
- rel="stylesheet"
12
- href="{{ site.baseurl }}/assets/css/errorpages/errorpages.css"
13
- />
14
- {% include casjays-header.html %} {% if site.custom_theme.name %} {% include
15
- themes/{{ site.custom_theme.name }}/meta.html %} {% endif %}
16
- </head>
8
+ <html lang="{{ site.lang | default: " en-US" }}">
17
9
 
18
- <div class="container-fluid">
19
- <h1>
20
- <i class="fa fa-frown-o red"></i
21
- ><a
22
- href="https://www.google.com/search?q=server+error+404"
23
- target="_blank"
24
- >404 Not Found
25
- </a>
26
- </h1>
27
- <br />
28
- <p class="lead">
29
- We apologize but we can't seem to be able to find what you're looking
30
- for!<br />
31
- </p>
32
- <div class="container-fluid">
33
- <div class="body-content">
34
- <img
35
- alt="error"
36
- src="{{ site.baseurl }}/assets/images/oops.gif"
37
- /><br />
10
+ <head>
11
+ <link rel="stylesheet" href="{{ site.error_pages.css_file | prepend: site.baseurl }}">
12
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/{{ site.custom_theme.directory }}.css">
13
+ {% if site.custom_theme.directory %}
14
+ {% include casjays-header.html %}
15
+ {% endif %}
16
+ <title>404 Not Found</title>
17
+ </head>
18
+
19
+ <body class="vh-100" onload="javascript:loadDomain();" style="font-size: {{ site.error_pages.font_size.default }};">
20
+ <div class="container">
21
+ <div class=" align-items-center text-center">
22
+ <br />
23
+ <div style="font-size: {{ site.error_pages.font_site.header }};">
24
+ <span class="fa fa-ban red"></span>
25
+ <a href="https://duckduckgo.com/?q=http+status+code+404" target="_blank">
26
+ 404 Not Found
27
+ </a>
28
+ <br /><br />
29
+ </div>
30
+ <div style="font-size: {{ site.error_pages.font_site.body }};" class="lead body-content">
31
+ We apologize but we can't seem to be able<br />
32
+ to find what you're looking for!!<br />
33
+ <img alt="error" height="400" width="400" src="{{ site.error_pages.error_image | prepend: site.baseurl }}"/>
38
34
  </div>
35
+ <a style="cursor: pointer;" onclick="javascript:homepage();" class="btn btn-success"><span id="display-domain"></span></a>
36
+ <br />
37
+ {% if site.error_pages.show_fork == true %}
38
+ <a class="github-fork-ribbon left-top" href="{{ site.github.repository_url }}/fork" data-ribbon="Fork me on GitHub" title="Fork me on GitHub">Fork me on GitHub</a>
39
+ {% endif %}
40
+ {% if site.error_pages.show_footer == true %}
41
+ <div class="footer footer-custom col-sm-12">
42
+ {% include {{ site.error_pages.footer_template }} %}
43
+ </div><br /><br /><br /><br />
44
+ {% endif %}
45
+ <br /><br /><br />
39
46
  </div>
40
- <a onclick="javascript:homepage();" class="btn btn-lg btn-success"
41
- ><span id="display-domain"></span
42
- ></a>
43
47
  </div>
48
+ </body>
44
49
  </html>