appscms-tools-theme 4.5.9 → 4.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/_data/about/en/about.json +16 -16
  3. data/_data/blog/nav.json +14 -14
  4. data/_data/feature/en/batch-conversion.json +192 -192
  5. data/_data/feature/en/compress-pdf.json +305 -305
  6. data/_data/feature/en/devtools.json +321 -321
  7. data/_data/feature/en/face-detection.json +156 -156
  8. data/_data/feature/en/split-pdf.json +221 -221
  9. data/_data/feature/en/theframe.json +160 -160
  10. data/_data/footer/en/data.json +2 -2
  11. data/_data/header/en/data.json +412 -412
  12. data/_data/home/en/en.json +324 -324
  13. data/_data/home/en/posters.json +322 -322
  14. data/_includes/alternates/alternates.html +46 -43
  15. data/_includes/appscms/customblog/contenttool-recent-posts.html +94 -94
  16. data/_includes/appscms/customblog/pageRelatedPosts.html +62 -62
  17. data/_includes/appscms/customblog/recentposts.html +67 -67
  18. data/_includes/appscms/customblog/relatedBlogs.html +82 -82
  19. data/_includes/appscms/customblog/relatedposts.html +193 -193
  20. data/_includes/appscms/extras/appscms-postbox.html +57 -57
  21. data/_includes/appscms/featurePageAuthors/featurePageAuthors.html +85 -85
  22. data/_includes/appscms/head/bloghead.html +128 -128
  23. data/_includes/appscms/head/head.html +3 -2
  24. data/_includes/appscms/headings/contenttool-headings.html +33 -33
  25. data/_includes/appscms/headings/devtool-headings.html +38 -38
  26. data/_includes/appscms/home/contenttool-feature-boxes.html +19 -19
  27. data/_includes/appscms/home/devtool-feature-boxes.html +70 -70
  28. data/_includes/appscms/infographics/infographics.html +166 -166
  29. data/_includes/appscms/loaders/loader.html +4 -4
  30. data/_includes/appscms/navbars/devtool-navbar.html +50 -50
  31. data/_includes/appscms/navbars/devtool-toolbar.html +100 -100
  32. data/_includes/appscms/recent-posts/recent_posts.html +90 -90
  33. data/_includes/appscms/recent-posts/related_categories_post.html +194 -194
  34. data/_includes/appscms/searchbar/devtool-searchbar.html +63 -63
  35. data/_includes/appscms/usp/usp.html +90 -90
  36. data/_includes/author_bio.html +41 -41
  37. data/_includes/authorpagehead/index.html +47 -47
  38. data/_includes/authors/authors.html +39 -39
  39. data/_includes/batch-conversion.html +141 -141
  40. data/_includes/bookmark.html +6 -6
  41. data/_includes/cssfile/links.html +54 -54
  42. data/_includes/custom-head.html +138 -138
  43. data/_includes/customCode.html +1 -1
  44. data/_includes/customScripts.html +1 -1
  45. data/_includes/customblog/pageRelatedPosts.html +87 -87
  46. data/_includes/customblog/recentposts.html +67 -67
  47. data/_includes/customblog/relatedBlogs.html +86 -86
  48. data/_includes/customblog/relatedposts.html +201 -201
  49. data/_includes/dropdown/langdropdown.html +32 -32
  50. data/_includes/feature.html +39 -39
  51. data/_includes/featurePageAuthors/featurePageAuthors.html +101 -101
  52. data/_includes/footer/index.html +537 -537
  53. data/_includes/google-analytics.html +32 -32
  54. data/_includes/head/index.html +623 -623
  55. data/_includes/header/blogHeader.html +34 -34
  56. data/_includes/header/index.html +192 -192
  57. data/_includes/infographics/infographics.html +241 -241
  58. data/_includes/paginationBlogPage.html +70 -70
  59. data/_includes/postbox.html +65 -65
  60. data/_includes/script.html +493 -493
  61. data/_includes/section/count.html +32 -32
  62. data/_includes/section/recent_posts.html +94 -94
  63. data/_includes/section/related_categories_post.html +196 -196
  64. data/_includes/share/socialshare.html +21 -21
  65. data/_includes/userTracking.html +14 -14
  66. data/_layouts/aboutUs.html +175 -175
  67. data/_layouts/allAuthors.html +131 -131
  68. data/_layouts/appscms-about.html +163 -163
  69. data/_layouts/appscms-audio.html +33 -33
  70. data/_layouts/appscms-author.html +436 -436
  71. data/_layouts/appscms-authors.html +145 -145
  72. data/_layouts/appscms-batch.html +141 -141
  73. data/_layouts/appscms-calculator.html +93 -93
  74. data/_layouts/appscms-categories.html +26 -26
  75. data/_layouts/appscms-contact.html +132 -132
  76. data/_layouts/appscms-disclaimer.html +124 -124
  77. data/_layouts/appscms-download.html +289 -289
  78. data/_layouts/appscms-feature-result.html +96 -96
  79. data/_layouts/appscms-help.html +25 -25
  80. data/_layouts/appscms-imagekit.html +96 -96
  81. data/_layouts/appscms-post.html +243 -243
  82. data/_layouts/appscms-privacy-policy.html +781 -781
  83. data/_layouts/appscms-terms-and-conditions.html +646 -646
  84. data/_layouts/appscms-video.html +33 -33
  85. data/_layouts/audio.html +33 -33
  86. data/_layouts/author.html +409 -409
  87. data/_layouts/batch.html +177 -177
  88. data/_layouts/blog-1.html +116 -116
  89. data/_layouts/blog.html +131 -131
  90. data/_layouts/calculator.html +99 -99
  91. data/_layouts/contenttool-feature.html +45 -45
  92. data/_layouts/contenttool-home.html +53 -53
  93. data/_layouts/devtool-blog.html +132 -132
  94. data/_layouts/devtool-feature.html +54 -54
  95. data/_layouts/devtool-home.html +53 -53
  96. data/_layouts/devtools.html +57 -57
  97. data/_layouts/feature-1.html +406 -406
  98. data/_layouts/feature.html +351 -351
  99. data/_layouts/featureResultPage.html +82 -82
  100. data/_layouts/frame.html +222 -222
  101. data/_layouts/home.html +281 -281
  102. data/_layouts/homeResultPage.html +32 -32
  103. data/_layouts/imagekit.html +308 -308
  104. data/_layouts/photo-effects-home.html +190 -190
  105. data/_layouts/post.html +233 -233
  106. data/assets/app.js +75 -75
  107. data/assets/css/appscms-blog.css +505 -505
  108. data/assets/css/appscms-contenttool.css +1384 -1384
  109. data/assets/css/appscms-home.css +5 -5
  110. data/assets/css/appscms-imagekit.css +855 -855
  111. data/assets/css/appscms-variables.css +19 -19
  112. data/assets/css/blog.css +510 -510
  113. data/assets/css/calculators.css +46 -46
  114. data/assets/css/devtool-main.css +1350 -1350
  115. data/assets/css/devtools.css +105 -105
  116. data/assets/css/feature-1.css +293 -293
  117. data/assets/css/imagekit copy.css +848 -848
  118. data/assets/css/imagekit.css +848 -848
  119. data/assets/css/tools.css +1847 -1847
  120. data/assets/images/close-button.svg +31 -31
  121. data/assets/images/digipaint.svg +6 -6
  122. data/assets/images/logo.svg +2 -2
  123. data/assets/images/manthink.svg +3552 -3552
  124. data/assets/images/search-icon.svg +2 -2
  125. data/assets/js/batch.js +219 -219
  126. data/assets/js/devtools.js +81 -81
  127. data/assets/js/sharePage.js +65 -65
  128. data/assets/js/usageTracking.js +143 -143
  129. data/assets/js/usageTrackingEvents.js +6 -6
  130. data/assets/js/webvitals.js +4 -4
  131. metadata +3 -3
@@ -1,494 +1,494 @@
1
- {%- if site.rollbarToken -%}
2
- <script>
3
- var _rollbarConfig = {
4
- accessToken: "{{site.rollbarToken}}",
5
- captureUncaught: true,
6
- captureUnhandledRejections: true,
7
- payload: {
8
- environment: "production",
9
- },
10
- };
11
- !(function (r) {
12
- var e = {};
13
- function o(n) {
14
- if (e[n]) return e[n].exports;
15
- var t = (e[n] = { i: n, l: !1, exports: {} });
16
- return r[n].call(t.exports, t, t.exports, o), (t.l = !0), t.exports;
17
- }
18
- (o.m = r),
19
- (o.c = e),
20
- (o.d = function (r, e, n) {
21
- o.o(r, e) || Object.defineProperty(r, e, { enumerable: !0, get: n });
22
- }),
23
- (o.r = function (r) {
24
- "undefined" != typeof Symbol &&
25
- Symbol.toStringTag &&
26
- Object.defineProperty(r, Symbol.toStringTag, { value: "Module" }),
27
- Object.defineProperty(r, "__esModule", { value: !0 });
28
- }),
29
- (o.t = function (r, e) {
30
- if ((1 & e && (r = o(r)), 8 & e)) return r;
31
- if (4 & e && "object" == typeof r && r && r.__esModule) return r;
32
- var n = Object.create(null);
33
- if (
34
- (o.r(n),
35
- Object.defineProperty(n, "default", { enumerable: !0, value: r }),
36
- 2 & e && "string" != typeof r)
37
- )
38
- for (var t in r)
39
- o.d(
40
- n,
41
- t,
42
- function (e) {
43
- return r[e];
44
- }.bind(null, t)
45
- );
46
- return n;
47
- }),
48
- (o.n = function (r) {
49
- var e =
50
- r && r.__esModule
51
- ? function () {
52
- return r.default;
53
- }
54
- : function () {
55
- return r;
56
- };
57
- return o.d(e, "a", e), e;
58
- }),
59
- (o.o = function (r, e) {
60
- return Object.prototype.hasOwnProperty.call(r, e);
61
- }),
62
- (o.p = ""),
63
- o((o.s = 0));
64
- })([
65
- function (r, e, o) {
66
- "use strict";
67
- var n = o(1),
68
- t = o(5);
69
- (_rollbarConfig = _rollbarConfig || {}),
70
- (_rollbarConfig.rollbarJsUrl =
71
- _rollbarConfig.rollbarJsUrl ||
72
- "https://cdn.rollbar.com/rollbarjs/refs/tags/v2.25.2/rollbar.min.js"),
73
- (_rollbarConfig.async =
74
- void 0 === _rollbarConfig.async || _rollbarConfig.async);
75
- var a = n.setupShim(window, _rollbarConfig),
76
- l = t(_rollbarConfig);
77
- (window.rollbar = n.Rollbar),
78
- a.loadFull(window, document, !_rollbarConfig.async, _rollbarConfig, l);
79
- },
80
- function (r, e, o) {
81
- "use strict";
82
- var n = o(2),
83
- t = o(3);
84
- function a(r) {
85
- return function () {
86
- try {
87
- return r.apply(this, arguments);
88
- } catch (r) {
89
- try {
90
- console.error("[Rollbar]: Internal error", r);
91
- } catch (r) { }
92
- }
93
- };
94
- }
95
- var l = 0;
96
- function i(r, e) {
97
- (this.options = r), (this._rollbarOldOnError = null);
98
- var o = l++;
99
- (this.shimId = function () {
100
- return o;
101
- }),
102
- "undefined" != typeof window &&
103
- window._rollbarShims &&
104
- (window._rollbarShims[o] = { handler: e, messages: [] });
105
- }
106
- var s = o(4),
107
- d = function (r, e) {
108
- return new i(r, e);
109
- },
110
- c = function (r) {
111
- return new s(d, r);
112
- };
113
- function u(r) {
114
- return a(function () {
115
- var e = this,
116
- o = Array.prototype.slice.call(arguments, 0),
117
- n = { shim: e, method: r, args: o, ts: new Date() };
118
- window._rollbarShims[this.shimId()].messages.push(n);
119
- });
120
- }
121
- (i.prototype.loadFull = function (r, e, o, n, t) {
122
- var l = !1,
123
- i = e.createElement("script"),
124
- s = e.getElementsByTagName("script")[0],
125
- d = s.parentNode;
126
- (i.crossOrigin = ""),
127
- (i.src = n.rollbarJsUrl),
128
- o || (i.async = !0),
129
- (i.onload = i.onreadystatechange =
130
- a(function () {
131
- if (
132
- !(
133
- l ||
134
- (this.readyState &&
135
- "loaded" !== this.readyState &&
136
- "complete" !== this.readyState)
137
- )
138
- ) {
139
- i.onload = i.onreadystatechange = null;
140
- try {
141
- d.removeChild(i);
142
- } catch (r) { }
143
- (l = !0),
144
- (function () {
145
- var e;
146
- if (void 0 === r._rollbarDidLoad) {
147
- e = new Error("rollbar.js did not load");
148
- for (var o, n, a, l, i = 0; (o = r._rollbarShims[i++]);)
149
- for (o = o.messages || []; (n = o.shift());)
150
- for (a = n.args || [], i = 0; i < a.length; ++i)
151
- if ("function" == typeof (l = a[i])) {
152
- l(e);
153
- break;
154
- }
155
- }
156
- "function" == typeof t && t(e);
157
- })();
158
- }
159
- })),
160
- d.insertBefore(i, s);
161
- }),
162
- (i.prototype.wrap = function (r, e, o) {
163
- try {
164
- var n;
165
- if (
166
- ((n =
167
- "function" == typeof e
168
- ? e
169
- : function () {
170
- return e || {};
171
- }),
172
- "function" != typeof r)
173
- )
174
- return r;
175
- if (r._isWrap) return r;
176
- if (
177
- !r._rollbar_wrapped &&
178
- ((r._rollbar_wrapped = function () {
179
- o && "function" == typeof o && o.apply(this, arguments);
180
- try {
181
- return r.apply(this, arguments);
182
- } catch (o) {
183
- var e = o;
184
- throw (
185
- (e &&
186
- ("string" == typeof e && (e = new String(e)),
187
- (e._rollbarContext = n() || {}),
188
- (e._rollbarContext._wrappedSource = r.toString()),
189
- (window._rollbarWrappedError = e)),
190
- e)
191
- );
192
- }
193
- }),
194
- (r._rollbar_wrapped._isWrap = !0),
195
- r.hasOwnProperty)
196
- )
197
- for (var t in r)
198
- r.hasOwnProperty(t) && (r._rollbar_wrapped[t] = r[t]);
199
- return r._rollbar_wrapped;
200
- } catch (e) {
201
- return r;
202
- }
203
- });
204
- for (
205
- var p =
206
- "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(
207
- ","
208
- ),
209
- f = 0;
210
- f < p.length;
211
- ++f
212
- )
213
- i.prototype[p[f]] = u(p[f]);
214
- r.exports = {
215
- setupShim: function (r, e) {
216
- if (r) {
217
- var o = e.globalAlias || "Rollbar";
218
- if ("object" == typeof r[o]) return r[o];
219
- (r._rollbarShims = {}), (r._rollbarWrappedError = null);
220
- var l = new c(e);
221
- return a(function () {
222
- e.captureUncaught &&
223
- ((l._rollbarOldOnError = r.onerror),
224
- n.captureUncaughtExceptions(r, l, !0),
225
- e.wrapGlobalEventHandlers && t(r, l, !0)),
226
- e.captureUnhandledRejections &&
227
- n.captureUnhandledRejections(r, l, !0);
228
- var a = e.autoInstrument;
229
- return (
230
- !1 !== e.enabled &&
231
- (void 0 === a ||
232
- !0 === a ||
233
- (function (r) {
234
- return !(
235
- "object" != typeof r ||
236
- (void 0 !== r.page && !r.page)
237
- );
238
- })(a)) &&
239
- r.addEventListener &&
240
- (r.addEventListener("load", l.captureLoad.bind(l)),
241
- r.addEventListener(
242
- "DOMContentLoaded",
243
- l.captureDomContentLoaded.bind(l)
244
- )),
245
- (r[o] = l),
246
- l
247
- );
248
- })();
249
- }
250
- },
251
- Rollbar: c,
252
- };
253
- },
254
- function (r, e, o) {
255
- "use strict";
256
- function n(r, e, o, n) {
257
- r._rollbarWrappedError &&
258
- (n[4] || (n[4] = r._rollbarWrappedError),
259
- n[5] || (n[5] = r._rollbarWrappedError._rollbarContext),
260
- (r._rollbarWrappedError = null));
261
- var t = e.handleUncaughtException.apply(e, n);
262
- o && o.apply(r, n),
263
- "anonymous" === t && (e.anonymousErrorsPending += 1);
264
- }
265
- r.exports = {
266
- captureUncaughtExceptions: function (r, e, o) {
267
- if (r) {
268
- var t;
269
- if ("function" == typeof e._rollbarOldOnError)
270
- t = e._rollbarOldOnError;
271
- else if (r.onerror) {
272
- for (t = r.onerror; t._rollbarOldOnError;)
273
- t = t._rollbarOldOnError;
274
- e._rollbarOldOnError = t;
275
- }
276
- e.handleAnonymousErrors();
277
- var a = function () {
278
- var o = Array.prototype.slice.call(arguments, 0);
279
- n(r, e, t, o);
280
- };
281
- o && (a._rollbarOldOnError = t), (r.onerror = a);
282
- }
283
- },
284
- captureUnhandledRejections: function (r, e, o) {
285
- if (r) {
286
- "function" == typeof r._rollbarURH &&
287
- r._rollbarURH.belongsToShim &&
288
- r.removeEventListener("unhandledrejection", r._rollbarURH);
289
- var n = function (r) {
290
- var o, n, t;
291
- try {
292
- o = r.reason;
293
- } catch (r) {
294
- o = void 0;
295
- }
296
- try {
297
- n = r.promise;
298
- } catch (r) {
299
- n = "[unhandledrejection] error getting `promise` from event";
300
- }
301
- try {
302
- (t = r.detail), !o && t && ((o = t.reason), (n = t.promise));
303
- } catch (r) { }
304
- o ||
305
- (o = "[unhandledrejection] error getting `reason` from event"),
306
- e &&
307
- e.handleUnhandledRejection &&
308
- e.handleUnhandledRejection(o, n);
309
- };
310
- (n.belongsToShim = o),
311
- (r._rollbarURH = n),
312
- r.addEventListener("unhandledrejection", n);
313
- }
314
- },
315
- };
316
- },
317
- function (r, e, o) {
318
- "use strict";
319
- function n(r, e, o) {
320
- if (e.hasOwnProperty && e.hasOwnProperty("addEventListener")) {
321
- for (
322
- var n = e.addEventListener;
323
- n._rollbarOldAdd && n.belongsToShim;
324
-
325
- )
326
- n = n._rollbarOldAdd;
327
- var t = function (e, o, t) {
328
- n.call(this, e, r.wrap(o), t);
329
- };
330
- (t._rollbarOldAdd = n),
331
- (t.belongsToShim = o),
332
- (e.addEventListener = t);
333
- for (
334
- var a = e.removeEventListener;
335
- a._rollbarOldRemove && a.belongsToShim;
336
-
337
- )
338
- a = a._rollbarOldRemove;
339
- var l = function (r, e, o) {
340
- a.call(this, r, (e && e._rollbar_wrapped) || e, o);
341
- };
342
- (l._rollbarOldRemove = a),
343
- (l.belongsToShim = o),
344
- (e.removeEventListener = l);
345
- }
346
- }
347
- r.exports = function (r, e, o) {
348
- if (r) {
349
- var t,
350
- a,
351
- l =
352
- "EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(
353
- ","
354
- );
355
- for (t = 0; t < l.length; ++t)
356
- r[(a = l[t])] && r[a].prototype && n(e, r[a].prototype, o);
357
- }
358
- };
359
- },
360
- function (r, e, o) {
361
- "use strict";
362
- function n(r, e) {
363
- (this.impl = r(e, this)),
364
- (this.options = e),
365
- (function (r) {
366
- for (
367
- var e = function (r) {
368
- return function () {
369
- var e = Array.prototype.slice.call(arguments, 0);
370
- if (this.impl[r]) return this.impl[r].apply(this.impl, e);
371
- };
372
- },
373
- o =
374
- "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(
375
- ","
376
- ),
377
- n = 0;
378
- n < o.length;
379
- n++
380
- )
381
- r[o[n]] = e(o[n]);
382
- })(n.prototype);
383
- }
384
- (n.prototype._swapAndProcessMessages = function (r, e) {
385
- var o, n, t;
386
- for (this.impl = r(this.options); (o = e.shift());)
387
- (n = o.method),
388
- (t = o.args),
389
- this[n] &&
390
- "function" == typeof this[n] &&
391
- ("captureDomContentLoaded" === n || "captureLoad" === n
392
- ? this[n].apply(this, [t[0], o.ts])
393
- : this[n].apply(this, t));
394
- return this;
395
- }),
396
- (r.exports = n);
397
- },
398
- function (r, e, o) {
399
- "use strict";
400
- r.exports = function (r) {
401
- return function (e) {
402
- if (!e && !window._rollbarInitialized) {
403
- for (
404
- var o,
405
- n,
406
- t = (r = r || {}).globalAlias || "Rollbar",
407
- a = window.rollbar,
408
- l = function (r) {
409
- return new a(r);
410
- },
411
- i = 0;
412
- (o = window._rollbarShims[i++]);
413
-
414
- )
415
- n || (n = o.handler),
416
- o.handler._swapAndProcessMessages(l, o.messages);
417
- (window[t] = n), (window._rollbarInitialized = !0);
418
- }
419
- };
420
- };
421
- },
422
- ]);
423
- </script>
424
- {%- endif -%} {%- include adblocker.html -%} {% assign scriptData =
425
- site.data.[page.folderName][lang][file] %} {%- assign dataAtt =
426
- "data-folderName='$folderName' data-lang='$lang' data-fileName='$fileName'
427
- data-tool='$tool'" -%} {%- assign $folderName = '$folderName' -%} {%- if
428
- site.removeJquery != true -%}
429
- <script defer src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" {%- if site.crossorigin -%} {{ }}
430
- crossorigin {%- endif -%}></script>
431
- {%- endif -%}
432
-
433
- <script defer src="/assets/js/theme.js" crossorigin="anonymous"></script>
434
- {%- if site.userTrackingCount -%} {%- include customScripts.html -%} {%- endif
435
- -%} {%- if site.userTrackingCount and page.layout == "feature" -%}
436
- <script defer src="/assets/js/usageTracking.js"></script>
437
- <script defer src="/assets/js/usageTrackingEvents.js"></script>
438
- <script defer src="/assets/js/sharePage.js"></script>
439
- {%- endif -%} {%- if site.removeBootstrapJs != true -%}
440
- <script defer="defer" src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
441
- integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
442
- {%- endif -%} {{site.data.customcdns.customcdns.jsfiles}} {%- if
443
- scriptData.jsfilepaths -%} {%- for path in scriptData.jsfilepaths -%} {%- assign
444
- asset_dir = path -%} {%- if site.versioning and asset_dir != "" -%} {%- if
445
- asset_dir contains "https" and asset_dir contains "https://" -%}
446
- <script defer src="{{path}}" data-folderName="{{page.folderName}}" data-lang="{{page.lang}}"
447
- data-fileName="{{page.fileName}}" data-tool="{{page.tool}}" data-permalink="{{page.permalink}}" {%- if
448
- site.crossorigin -%} {{ }} crossorigin {%- endif -%}></script>
449
- {%- else -%}
450
- <script defer src="{% ministamp { source_path: '{{ asset_dir }}', destination_path: '{{ asset_dir }}' } %}"
451
- data-folderName="{{page.folderName}}" data-lang="{{page.lang}}" data-fileName="{{page.fileName}}"
452
- data-tool="{{page.tool}}" data-permalink="{{page.permalink}}" {%- if site.crossorigin -%} {{ }} crossorigin {%- endif
453
- -%}></script>
454
- {%- endif -%} {%- else -%}
455
- <script defer src="{{path}}" data-folderName="{{page.folderName}}" data-lang="{{page.lang}}"
456
- data-fileName="{{page.fileName}}" data-tool="{{page.tool}}" data-permalink="{{page.permalink}}" {%- if
457
- site.crossorigin -%} {{ }} crossorigin {%- endif -%}></script>
458
- {%- endif -%} {%- endfor -%} {%- endif -%} {%- if scriptData.jscdns -%} {%- for
459
- item in scriptData.jscdns -%} {{item | replace:"$folderName", page.folderName |
460
- replace: "$fileName", page.fileName | replace: "$lang", page.lang | replace:
461
- "$tool", page.tool }} {%- endfor -%} {%- endif -%} {%- if page.layout == "frame"
462
- -%} {%- assign font = "PT Sans" -%} {%- endif -%} {%- if page.layout ==
463
- "photo-effects-home" -%} {%- assign font = "PT Sans" -%} {%- endif -%} {%- if
464
- page.layout == "calculator" -%}
465
- <script defer src="/assets/js/calculator-tooltip.js"></script>
466
- {%- endif -%} {%- if page.layout == 'home-1' or page.layout == "feature-1" -%}
467
- {%- assign font = "Inter" -%} {%- endif -%} {%- if site.removeFontAwesome !=
468
- true -%}
469
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
470
- integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
471
- crossorigin="anonymous" referrerpolicy="no-referrer" />
472
- {%- endif -%}
473
-
474
- {%- if site.bookmark -%}
475
- {%- if page.layout == "feature" -%}
476
- <script>
477
- const toaster = document.querySelector(".toaster");
478
- if (
479
- !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
480
- navigator.userAgent
481
- )
482
- ) {
483
- if (navigator.userAgent.indexOf("Mac OS X") != -1) {
484
- toaster.innerHTML = `Press Command + D to Bookmark this page`;
485
- } else {
486
- toaster.innerHTML = `Press Ctrl + D to Bookmark this page`;
487
- }
488
- }
489
- setTimeout(() => {
490
- toaster.style.display = "none";
491
- }, 20000);
492
- </script>
493
- {%- endif -%}
1
+ {%- if site.rollbarToken -%}
2
+ <script>
3
+ var _rollbarConfig = {
4
+ accessToken: "{{site.rollbarToken}}",
5
+ captureUncaught: true,
6
+ captureUnhandledRejections: true,
7
+ payload: {
8
+ environment: "production",
9
+ },
10
+ };
11
+ !(function (r) {
12
+ var e = {};
13
+ function o(n) {
14
+ if (e[n]) return e[n].exports;
15
+ var t = (e[n] = { i: n, l: !1, exports: {} });
16
+ return r[n].call(t.exports, t, t.exports, o), (t.l = !0), t.exports;
17
+ }
18
+ (o.m = r),
19
+ (o.c = e),
20
+ (o.d = function (r, e, n) {
21
+ o.o(r, e) || Object.defineProperty(r, e, { enumerable: !0, get: n });
22
+ }),
23
+ (o.r = function (r) {
24
+ "undefined" != typeof Symbol &&
25
+ Symbol.toStringTag &&
26
+ Object.defineProperty(r, Symbol.toStringTag, { value: "Module" }),
27
+ Object.defineProperty(r, "__esModule", { value: !0 });
28
+ }),
29
+ (o.t = function (r, e) {
30
+ if ((1 & e && (r = o(r)), 8 & e)) return r;
31
+ if (4 & e && "object" == typeof r && r && r.__esModule) return r;
32
+ var n = Object.create(null);
33
+ if (
34
+ (o.r(n),
35
+ Object.defineProperty(n, "default", { enumerable: !0, value: r }),
36
+ 2 & e && "string" != typeof r)
37
+ )
38
+ for (var t in r)
39
+ o.d(
40
+ n,
41
+ t,
42
+ function (e) {
43
+ return r[e];
44
+ }.bind(null, t)
45
+ );
46
+ return n;
47
+ }),
48
+ (o.n = function (r) {
49
+ var e =
50
+ r && r.__esModule
51
+ ? function () {
52
+ return r.default;
53
+ }
54
+ : function () {
55
+ return r;
56
+ };
57
+ return o.d(e, "a", e), e;
58
+ }),
59
+ (o.o = function (r, e) {
60
+ return Object.prototype.hasOwnProperty.call(r, e);
61
+ }),
62
+ (o.p = ""),
63
+ o((o.s = 0));
64
+ })([
65
+ function (r, e, o) {
66
+ "use strict";
67
+ var n = o(1),
68
+ t = o(5);
69
+ (_rollbarConfig = _rollbarConfig || {}),
70
+ (_rollbarConfig.rollbarJsUrl =
71
+ _rollbarConfig.rollbarJsUrl ||
72
+ "https://cdn.rollbar.com/rollbarjs/refs/tags/v2.25.2/rollbar.min.js"),
73
+ (_rollbarConfig.async =
74
+ void 0 === _rollbarConfig.async || _rollbarConfig.async);
75
+ var a = n.setupShim(window, _rollbarConfig),
76
+ l = t(_rollbarConfig);
77
+ (window.rollbar = n.Rollbar),
78
+ a.loadFull(window, document, !_rollbarConfig.async, _rollbarConfig, l);
79
+ },
80
+ function (r, e, o) {
81
+ "use strict";
82
+ var n = o(2),
83
+ t = o(3);
84
+ function a(r) {
85
+ return function () {
86
+ try {
87
+ return r.apply(this, arguments);
88
+ } catch (r) {
89
+ try {
90
+ console.error("[Rollbar]: Internal error", r);
91
+ } catch (r) { }
92
+ }
93
+ };
94
+ }
95
+ var l = 0;
96
+ function i(r, e) {
97
+ (this.options = r), (this._rollbarOldOnError = null);
98
+ var o = l++;
99
+ (this.shimId = function () {
100
+ return o;
101
+ }),
102
+ "undefined" != typeof window &&
103
+ window._rollbarShims &&
104
+ (window._rollbarShims[o] = { handler: e, messages: [] });
105
+ }
106
+ var s = o(4),
107
+ d = function (r, e) {
108
+ return new i(r, e);
109
+ },
110
+ c = function (r) {
111
+ return new s(d, r);
112
+ };
113
+ function u(r) {
114
+ return a(function () {
115
+ var e = this,
116
+ o = Array.prototype.slice.call(arguments, 0),
117
+ n = { shim: e, method: r, args: o, ts: new Date() };
118
+ window._rollbarShims[this.shimId()].messages.push(n);
119
+ });
120
+ }
121
+ (i.prototype.loadFull = function (r, e, o, n, t) {
122
+ var l = !1,
123
+ i = e.createElement("script"),
124
+ s = e.getElementsByTagName("script")[0],
125
+ d = s.parentNode;
126
+ (i.crossOrigin = ""),
127
+ (i.src = n.rollbarJsUrl),
128
+ o || (i.async = !0),
129
+ (i.onload = i.onreadystatechange =
130
+ a(function () {
131
+ if (
132
+ !(
133
+ l ||
134
+ (this.readyState &&
135
+ "loaded" !== this.readyState &&
136
+ "complete" !== this.readyState)
137
+ )
138
+ ) {
139
+ i.onload = i.onreadystatechange = null;
140
+ try {
141
+ d.removeChild(i);
142
+ } catch (r) { }
143
+ (l = !0),
144
+ (function () {
145
+ var e;
146
+ if (void 0 === r._rollbarDidLoad) {
147
+ e = new Error("rollbar.js did not load");
148
+ for (var o, n, a, l, i = 0; (o = r._rollbarShims[i++]);)
149
+ for (o = o.messages || []; (n = o.shift());)
150
+ for (a = n.args || [], i = 0; i < a.length; ++i)
151
+ if ("function" == typeof (l = a[i])) {
152
+ l(e);
153
+ break;
154
+ }
155
+ }
156
+ "function" == typeof t && t(e);
157
+ })();
158
+ }
159
+ })),
160
+ d.insertBefore(i, s);
161
+ }),
162
+ (i.prototype.wrap = function (r, e, o) {
163
+ try {
164
+ var n;
165
+ if (
166
+ ((n =
167
+ "function" == typeof e
168
+ ? e
169
+ : function () {
170
+ return e || {};
171
+ }),
172
+ "function" != typeof r)
173
+ )
174
+ return r;
175
+ if (r._isWrap) return r;
176
+ if (
177
+ !r._rollbar_wrapped &&
178
+ ((r._rollbar_wrapped = function () {
179
+ o && "function" == typeof o && o.apply(this, arguments);
180
+ try {
181
+ return r.apply(this, arguments);
182
+ } catch (o) {
183
+ var e = o;
184
+ throw (
185
+ (e &&
186
+ ("string" == typeof e && (e = new String(e)),
187
+ (e._rollbarContext = n() || {}),
188
+ (e._rollbarContext._wrappedSource = r.toString()),
189
+ (window._rollbarWrappedError = e)),
190
+ e)
191
+ );
192
+ }
193
+ }),
194
+ (r._rollbar_wrapped._isWrap = !0),
195
+ r.hasOwnProperty)
196
+ )
197
+ for (var t in r)
198
+ r.hasOwnProperty(t) && (r._rollbar_wrapped[t] = r[t]);
199
+ return r._rollbar_wrapped;
200
+ } catch (e) {
201
+ return r;
202
+ }
203
+ });
204
+ for (
205
+ var p =
206
+ "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(
207
+ ","
208
+ ),
209
+ f = 0;
210
+ f < p.length;
211
+ ++f
212
+ )
213
+ i.prototype[p[f]] = u(p[f]);
214
+ r.exports = {
215
+ setupShim: function (r, e) {
216
+ if (r) {
217
+ var o = e.globalAlias || "Rollbar";
218
+ if ("object" == typeof r[o]) return r[o];
219
+ (r._rollbarShims = {}), (r._rollbarWrappedError = null);
220
+ var l = new c(e);
221
+ return a(function () {
222
+ e.captureUncaught &&
223
+ ((l._rollbarOldOnError = r.onerror),
224
+ n.captureUncaughtExceptions(r, l, !0),
225
+ e.wrapGlobalEventHandlers && t(r, l, !0)),
226
+ e.captureUnhandledRejections &&
227
+ n.captureUnhandledRejections(r, l, !0);
228
+ var a = e.autoInstrument;
229
+ return (
230
+ !1 !== e.enabled &&
231
+ (void 0 === a ||
232
+ !0 === a ||
233
+ (function (r) {
234
+ return !(
235
+ "object" != typeof r ||
236
+ (void 0 !== r.page && !r.page)
237
+ );
238
+ })(a)) &&
239
+ r.addEventListener &&
240
+ (r.addEventListener("load", l.captureLoad.bind(l)),
241
+ r.addEventListener(
242
+ "DOMContentLoaded",
243
+ l.captureDomContentLoaded.bind(l)
244
+ )),
245
+ (r[o] = l),
246
+ l
247
+ );
248
+ })();
249
+ }
250
+ },
251
+ Rollbar: c,
252
+ };
253
+ },
254
+ function (r, e, o) {
255
+ "use strict";
256
+ function n(r, e, o, n) {
257
+ r._rollbarWrappedError &&
258
+ (n[4] || (n[4] = r._rollbarWrappedError),
259
+ n[5] || (n[5] = r._rollbarWrappedError._rollbarContext),
260
+ (r._rollbarWrappedError = null));
261
+ var t = e.handleUncaughtException.apply(e, n);
262
+ o && o.apply(r, n),
263
+ "anonymous" === t && (e.anonymousErrorsPending += 1);
264
+ }
265
+ r.exports = {
266
+ captureUncaughtExceptions: function (r, e, o) {
267
+ if (r) {
268
+ var t;
269
+ if ("function" == typeof e._rollbarOldOnError)
270
+ t = e._rollbarOldOnError;
271
+ else if (r.onerror) {
272
+ for (t = r.onerror; t._rollbarOldOnError;)
273
+ t = t._rollbarOldOnError;
274
+ e._rollbarOldOnError = t;
275
+ }
276
+ e.handleAnonymousErrors();
277
+ var a = function () {
278
+ var o = Array.prototype.slice.call(arguments, 0);
279
+ n(r, e, t, o);
280
+ };
281
+ o && (a._rollbarOldOnError = t), (r.onerror = a);
282
+ }
283
+ },
284
+ captureUnhandledRejections: function (r, e, o) {
285
+ if (r) {
286
+ "function" == typeof r._rollbarURH &&
287
+ r._rollbarURH.belongsToShim &&
288
+ r.removeEventListener("unhandledrejection", r._rollbarURH);
289
+ var n = function (r) {
290
+ var o, n, t;
291
+ try {
292
+ o = r.reason;
293
+ } catch (r) {
294
+ o = void 0;
295
+ }
296
+ try {
297
+ n = r.promise;
298
+ } catch (r) {
299
+ n = "[unhandledrejection] error getting `promise` from event";
300
+ }
301
+ try {
302
+ (t = r.detail), !o && t && ((o = t.reason), (n = t.promise));
303
+ } catch (r) { }
304
+ o ||
305
+ (o = "[unhandledrejection] error getting `reason` from event"),
306
+ e &&
307
+ e.handleUnhandledRejection &&
308
+ e.handleUnhandledRejection(o, n);
309
+ };
310
+ (n.belongsToShim = o),
311
+ (r._rollbarURH = n),
312
+ r.addEventListener("unhandledrejection", n);
313
+ }
314
+ },
315
+ };
316
+ },
317
+ function (r, e, o) {
318
+ "use strict";
319
+ function n(r, e, o) {
320
+ if (e.hasOwnProperty && e.hasOwnProperty("addEventListener")) {
321
+ for (
322
+ var n = e.addEventListener;
323
+ n._rollbarOldAdd && n.belongsToShim;
324
+
325
+ )
326
+ n = n._rollbarOldAdd;
327
+ var t = function (e, o, t) {
328
+ n.call(this, e, r.wrap(o), t);
329
+ };
330
+ (t._rollbarOldAdd = n),
331
+ (t.belongsToShim = o),
332
+ (e.addEventListener = t);
333
+ for (
334
+ var a = e.removeEventListener;
335
+ a._rollbarOldRemove && a.belongsToShim;
336
+
337
+ )
338
+ a = a._rollbarOldRemove;
339
+ var l = function (r, e, o) {
340
+ a.call(this, r, (e && e._rollbar_wrapped) || e, o);
341
+ };
342
+ (l._rollbarOldRemove = a),
343
+ (l.belongsToShim = o),
344
+ (e.removeEventListener = l);
345
+ }
346
+ }
347
+ r.exports = function (r, e, o) {
348
+ if (r) {
349
+ var t,
350
+ a,
351
+ l =
352
+ "EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(
353
+ ","
354
+ );
355
+ for (t = 0; t < l.length; ++t)
356
+ r[(a = l[t])] && r[a].prototype && n(e, r[a].prototype, o);
357
+ }
358
+ };
359
+ },
360
+ function (r, e, o) {
361
+ "use strict";
362
+ function n(r, e) {
363
+ (this.impl = r(e, this)),
364
+ (this.options = e),
365
+ (function (r) {
366
+ for (
367
+ var e = function (r) {
368
+ return function () {
369
+ var e = Array.prototype.slice.call(arguments, 0);
370
+ if (this.impl[r]) return this.impl[r].apply(this.impl, e);
371
+ };
372
+ },
373
+ o =
374
+ "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(
375
+ ","
376
+ ),
377
+ n = 0;
378
+ n < o.length;
379
+ n++
380
+ )
381
+ r[o[n]] = e(o[n]);
382
+ })(n.prototype);
383
+ }
384
+ (n.prototype._swapAndProcessMessages = function (r, e) {
385
+ var o, n, t;
386
+ for (this.impl = r(this.options); (o = e.shift());)
387
+ (n = o.method),
388
+ (t = o.args),
389
+ this[n] &&
390
+ "function" == typeof this[n] &&
391
+ ("captureDomContentLoaded" === n || "captureLoad" === n
392
+ ? this[n].apply(this, [t[0], o.ts])
393
+ : this[n].apply(this, t));
394
+ return this;
395
+ }),
396
+ (r.exports = n);
397
+ },
398
+ function (r, e, o) {
399
+ "use strict";
400
+ r.exports = function (r) {
401
+ return function (e) {
402
+ if (!e && !window._rollbarInitialized) {
403
+ for (
404
+ var o,
405
+ n,
406
+ t = (r = r || {}).globalAlias || "Rollbar",
407
+ a = window.rollbar,
408
+ l = function (r) {
409
+ return new a(r);
410
+ },
411
+ i = 0;
412
+ (o = window._rollbarShims[i++]);
413
+
414
+ )
415
+ n || (n = o.handler),
416
+ o.handler._swapAndProcessMessages(l, o.messages);
417
+ (window[t] = n), (window._rollbarInitialized = !0);
418
+ }
419
+ };
420
+ };
421
+ },
422
+ ]);
423
+ </script>
424
+ {%- endif -%} {%- include adblocker.html -%} {% assign scriptData =
425
+ site.data.[page.folderName][lang][file] %} {%- assign dataAtt =
426
+ "data-folderName='$folderName' data-lang='$lang' data-fileName='$fileName'
427
+ data-tool='$tool'" -%} {%- assign $folderName = '$folderName' -%} {%- if
428
+ site.removeJquery != true -%}
429
+ <script defer src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" {%- if site.crossorigin -%} {{ }}
430
+ crossorigin {%- endif -%}></script>
431
+ {%- endif -%}
432
+
433
+ <script defer src="/assets/js/theme.js" crossorigin="anonymous"></script>
434
+ {%- if site.userTrackingCount -%} {%- include customScripts.html -%} {%- endif
435
+ -%} {%- if site.userTrackingCount and page.layout == "feature" -%}
436
+ <script defer src="/assets/js/usageTracking.js"></script>
437
+ <script defer src="/assets/js/usageTrackingEvents.js"></script>
438
+ <script defer src="/assets/js/sharePage.js"></script>
439
+ {%- endif -%} {%- if site.removeBootstrapJs != true -%}
440
+ <script defer="defer" src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
441
+ integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
442
+ {%- endif -%} {{site.data.customcdns.customcdns.jsfiles}} {%- if
443
+ scriptData.jsfilepaths -%} {%- for path in scriptData.jsfilepaths -%} {%- assign
444
+ asset_dir = path -%} {%- if site.versioning and asset_dir != "" -%} {%- if
445
+ asset_dir contains "https" and asset_dir contains "https://" -%}
446
+ <script defer src="{{path}}" data-folderName="{{page.folderName}}" data-lang="{{page.lang}}"
447
+ data-fileName="{{page.fileName}}" data-tool="{{page.tool}}" data-permalink="{{page.permalink}}" {%- if
448
+ site.crossorigin -%} {{ }} crossorigin {%- endif -%}></script>
449
+ {%- else -%}
450
+ <script defer src="{% ministamp { source_path: '{{ asset_dir }}', destination_path: '{{ asset_dir }}' } %}"
451
+ data-folderName="{{page.folderName}}" data-lang="{{page.lang}}" data-fileName="{{page.fileName}}"
452
+ data-tool="{{page.tool}}" data-permalink="{{page.permalink}}" {%- if site.crossorigin -%} {{ }} crossorigin {%- endif
453
+ -%}></script>
454
+ {%- endif -%} {%- else -%}
455
+ <script defer src="{{path}}" data-folderName="{{page.folderName}}" data-lang="{{page.lang}}"
456
+ data-fileName="{{page.fileName}}" data-tool="{{page.tool}}" data-permalink="{{page.permalink}}" {%- if
457
+ site.crossorigin -%} {{ }} crossorigin {%- endif -%}></script>
458
+ {%- endif -%} {%- endfor -%} {%- endif -%} {%- if scriptData.jscdns -%} {%- for
459
+ item in scriptData.jscdns -%} {{item | replace:"$folderName", page.folderName |
460
+ replace: "$fileName", page.fileName | replace: "$lang", page.lang | replace:
461
+ "$tool", page.tool }} {%- endfor -%} {%- endif -%} {%- if page.layout == "frame"
462
+ -%} {%- assign font = "PT Sans" -%} {%- endif -%} {%- if page.layout ==
463
+ "photo-effects-home" -%} {%- assign font = "PT Sans" -%} {%- endif -%} {%- if
464
+ page.layout == "calculator" -%}
465
+ <script defer src="/assets/js/calculator-tooltip.js"></script>
466
+ {%- endif -%} {%- if page.layout == 'home-1' or page.layout == "feature-1" -%}
467
+ {%- assign font = "Inter" -%} {%- endif -%} {%- if site.removeFontAwesome !=
468
+ true -%}
469
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
470
+ integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
471
+ crossorigin="anonymous" referrerpolicy="no-referrer" />
472
+ {%- endif -%}
473
+
474
+ {%- if site.bookmark -%}
475
+ {%- if page.layout == "feature" -%}
476
+ <script>
477
+ const toaster = document.querySelector(".toaster");
478
+ if (
479
+ !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
480
+ navigator.userAgent
481
+ )
482
+ ) {
483
+ if (navigator.userAgent.indexOf("Mac OS X") != -1) {
484
+ toaster.innerHTML = `Press Command + D to Bookmark this page`;
485
+ } else {
486
+ toaster.innerHTML = `Press Ctrl + D to Bookmark this page`;
487
+ }
488
+ }
489
+ setTimeout(() => {
490
+ toaster.style.display = "none";
491
+ }, 20000);
492
+ </script>
493
+ {%- endif -%}
494
494
  {%- endif -%}