appscms-tools-theme 2.7.3 → 2.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (161) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -21
  3. data/README.md +50 -50
  4. data/_data/about/en/about.json +16 -16
  5. data/_data/blog/alertbar.yml +3 -3
  6. data/_data/blog/authors.yml +11 -11
  7. data/_data/blog/blog.yml +4 -4
  8. data/_data/blog/nav.json +13 -13
  9. data/_data/blog/share.yml +28 -28
  10. data/_data/calculators/en/biology-calc/bulb-spacing.json +78 -78
  11. data/_data/calculators/en/biology-calc/cat-chocolate-toxicity.json +52 -52
  12. data/_data/calculators/en/chemistry-calc/activation-energy.json +44 -44
  13. data/_data/calculators/en/finance-calc/401k.json +122 -122
  14. data/_data/contact/en/contact.json +38 -38
  15. data/_data/disclaimer/en/disclaimer.json +37 -37
  16. data/_data/download/en/download.json +35 -35
  17. data/_data/feature/en/3_shop_posters.json +351 -351
  18. data/_data/feature/en/allele-frequency.json +246 -246
  19. data/_data/feature/en/batch-conversion.json +77 -77
  20. data/_data/feature/en/compress-pdf.json +202 -202
  21. data/_data/feature/en/face-detection.json +52 -52
  22. data/_data/feature/en/split-pdf.json +115 -115
  23. data/_data/feature/en/theframe.json +56 -56
  24. data/_data/feature/hi/compress-pdf.json +81 -81
  25. data/_data/feature/tr/compress-pdf.json +80 -80
  26. data/_data/filecomparison/en/filecomparison.json +38 -38
  27. data/_data/fileinfo/en/fileinfo.json +15 -15
  28. data/_data/footer/en/data.json +166 -166
  29. data/_data/footer/hi/data.json +68 -68
  30. data/_data/footer/networksites.json +15 -15
  31. data/_data/header/en/data.json +174 -174
  32. data/_data/header/hi/data.json +144 -144
  33. data/_data/home/en/en.json +285 -285
  34. data/_data/home/en/photoeffects.json +23 -23
  35. data/_data/home/en/posters.json +323 -323
  36. data/_data/home/hi/hi.json +86 -86
  37. data/_data/home-1/en/en.json +229 -229
  38. data/_data/languagesupport/compress-pdf-langs.json +11 -11
  39. data/_data/languagesupport/index-langs.json +13 -13
  40. data/_data/photo-categories.json +104 -104
  41. data/_data/photoeffects.json +31 -31
  42. data/_data/privacy/en/privacyPolicy.json +265 -265
  43. data/_data/termAndCondition/en/termAndCondition.json +358 -358
  44. data/_includes/Rating/rating.html +92 -92
  45. data/_includes/Rating/structureddata.html +53 -53
  46. data/_includes/Usp/usp.html +95 -95
  47. data/_includes/adblocker.html +135 -135
  48. data/_includes/adsense/adsense.html +7 -7
  49. data/_includes/alternates/alternates.html +45 -45
  50. data/_includes/author_bio.html +16 -16
  51. data/_includes/authors/authors.html +67 -67
  52. data/_includes/batch-conversion.html +65 -65
  53. data/_includes/cssfile/links.html +11 -11
  54. data/_includes/custom-head.html +136 -136
  55. data/_includes/customblog/recentposts.html +67 -69
  56. data/_includes/customblog/relatedposts.html +203 -203
  57. data/_includes/disqus_comments.html +10 -10
  58. data/_includes/dropdown/langdropdown.html +22 -22
  59. data/_includes/feature.html +37 -37
  60. data/_includes/fileformat/Tabularcompariosn.html +158 -158
  61. data/_includes/fileformat/comparisonfiles.html +151 -151
  62. data/_includes/fileformat/fileformatdetail.html +101 -101
  63. data/_includes/fileformat/fileinfoformat.html +93 -93
  64. data/_includes/footer/index.html +534 -529
  65. data/_includes/google-analytics.html +22 -22
  66. data/_includes/head/index.html +235 -235
  67. data/_includes/header/blogHeader.html +34 -34
  68. data/_includes/header/index.html +188 -188
  69. data/_includes/languages/languages.html +60 -60
  70. data/_includes/monumetric/ads.html +57 -57
  71. data/_includes/monumetric/monumetric.html +57 -57
  72. data/_includes/monumetric/profitablecpmgate.html +51 -51
  73. data/_includes/nofiletransfer/nofiletransfer.html +38 -38
  74. data/_includes/paginationBlogPage.html +71 -71
  75. data/_includes/paginationPostPage.html +14 -14
  76. data/_includes/postauthorbio.html +17 -17
  77. data/_includes/postbox.html +31 -31
  78. data/_includes/script.html +63 -63
  79. data/_includes/section/alertbar.html +11 -11
  80. data/_includes/section/count.html +36 -36
  81. data/_includes/section/recent_posts.html +65 -67
  82. data/_includes/section/related_categories_post.html +198 -198
  83. data/_includes/share/socialshare.html +20 -20
  84. data/_includes/staticfooter.html +67 -67
  85. data/_layouts/aboutUs.html +34 -34
  86. data/_layouts/batch.html +102 -102
  87. data/_layouts/blog-1.html +83 -85
  88. data/_layouts/blog.html +94 -96
  89. data/_layouts/calculator.html +89 -89
  90. data/_layouts/categories.html +33 -33
  91. data/_layouts/contactUs.html +124 -124
  92. data/_layouts/default.html +1 -1
  93. data/_layouts/disclaimer.html +123 -123
  94. data/_layouts/download.html +299 -299
  95. data/_layouts/feature-1.html +320 -320
  96. data/_layouts/feature-download.html +308 -308
  97. data/_layouts/feature.html +258 -259
  98. data/_layouts/featureResultPage.html +58 -58
  99. data/_layouts/fileInfo.html +39 -39
  100. data/_layouts/filecomparison.html +85 -85
  101. data/_layouts/frame.html +434 -434
  102. data/_layouts/help.html +23 -23
  103. data/_layouts/home-1.html +229 -229
  104. data/_layouts/home.html +249 -250
  105. data/_layouts/homeResultPage.html +31 -31
  106. data/_layouts/imagekit.html +125 -125
  107. data/_layouts/page.html +5 -5
  108. data/_layouts/photo-effects-home.html +193 -193
  109. data/_layouts/post.html +177 -177
  110. data/_layouts/privacyPolicy.html +637 -637
  111. data/_layouts/termAndCondition.html +646 -646
  112. data/assets/cross.svg +4 -4
  113. data/assets/css/adblocker.css +187 -187
  114. data/assets/css/batch.css +437 -437
  115. data/assets/css/blog-1.css +65 -65
  116. data/assets/css/blog.css +491 -491
  117. data/assets/css/bootstrap.min.css +6 -6
  118. data/assets/css/calculators.css +47 -47
  119. data/assets/css/common.css +550 -550
  120. data/assets/css/feature-1.css +290 -290
  121. data/assets/css/filecomparison.css +25 -25
  122. data/assets/css/frame.css +781 -781
  123. data/assets/css/home-1.css +187 -187
  124. data/assets/css/imagekit.css +840 -840
  125. data/assets/css/tools.css +1282 -1282
  126. data/assets/facebook.svg +4 -4
  127. data/assets/images/abp.svg +41 -41
  128. data/assets/images/adblock.svg +266 -266
  129. data/assets/images/addimg.svg +2 -2
  130. data/assets/images/convert.svg +8 -8
  131. data/assets/images/safevideoconverter.svg +23 -23
  132. data/assets/images/uo.svg +41 -41
  133. data/assets/images/vectorpaint.svg +5 -5
  134. data/assets/instagram.svg +4 -4
  135. data/assets/js/TopScroll.js +8 -8
  136. data/assets/js/adBlocker.js +44 -44
  137. data/assets/js/ads.js +8 -8
  138. data/assets/js/append-div.js +10 -10
  139. data/assets/js/batch.js +229 -229
  140. data/assets/js/calculator-tooltip.js +3 -3
  141. data/assets/js/face-api.js +38064 -38064
  142. data/assets/js/face-detection.js +303 -303
  143. data/assets/js/featureResult.js +42 -42
  144. data/assets/js/frame.js +262 -262
  145. data/assets/js/googledrive.js +155 -155
  146. data/assets/js/homeResult.js +36 -36
  147. data/assets/js/manifest.json +16 -16
  148. data/assets/js/multiselect.js +157 -157
  149. data/assets/js/perspective.min.js +182 -182
  150. data/assets/js/photo-effects.json +84 -84
  151. data/assets/js/redirectResult.js +9 -9
  152. data/assets/js/testing-batch.js +39 -39
  153. data/assets/js/theme.js +44 -44
  154. data/assets/linkdin.svg +4 -4
  155. data/assets/noserverupload.svg +4 -4
  156. data/assets/pdf.svg +20 -20
  157. data/assets/secure.svg +43 -43
  158. data/assets/star.svg +4 -4
  159. data/assets/twitter.svg +4 -4
  160. data/assets/youtube.svg +4 -4
  161. metadata +7 -7
@@ -1,64 +1,64 @@
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) { var e = {}; function o(n) { if (e[n]) return e[n].exports; var t = e[n] = { i: n, l: !1, exports: {} }; return r[n].call(t.exports, t, t.exports, o), t.l = !0, t.exports } o.m = r, o.c = e, o.d = function (r, e, n) { o.o(r, e) || Object.defineProperty(r, e, { enumerable: !0, get: n }) }, o.r = function (r) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(r, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(r, "__esModule", { value: !0 }) }, o.t = function (r, e) { if (1 & e && (r = o(r)), 8 & e) return r; if (4 & e && "object" == typeof r && r && r.__esModule) return r; var n = Object.create(null); if (o.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: r }), 2 & e && "string" != typeof r) for (var t in r) o.d(n, t, function (e) { return r[e] }.bind(null, t)); return n }, o.n = function (r) { var e = r && r.__esModule ? function () { return r.default } : function () { return r }; return o.d(e, "a", e), e }, o.o = function (r, e) { return Object.prototype.hasOwnProperty.call(r, e) }, o.p = "", o(o.s = 0) }([function (r, e, o) { "use strict"; var n = o(1), t = o(5); _rollbarConfig = _rollbarConfig || {}, _rollbarConfig.rollbarJsUrl = _rollbarConfig.rollbarJsUrl || "https://cdn.rollbar.com/rollbarjs/refs/tags/v2.25.2/rollbar.min.js", _rollbarConfig.async = void 0 === _rollbarConfig.async || _rollbarConfig.async; var a = n.setupShim(window, _rollbarConfig), l = t(_rollbarConfig); window.rollbar = n.Rollbar, a.loadFull(window, document, !_rollbarConfig.async, _rollbarConfig, l) }, function (r, e, o) { "use strict"; var n = o(2), t = o(3); function a(r) { return function () { try { return r.apply(this, arguments) } catch (r) { try { console.error("[Rollbar]: Internal error", r) } catch (r) { } } } } var l = 0; function i(r, e) { this.options = r, this._rollbarOldOnError = null; var o = l++; this.shimId = function () { return o }, "undefined" != typeof window && window._rollbarShims && (window._rollbarShims[o] = { handler: e, messages: [] }) } var s = o(4), d = function (r, e) { return new i(r, e) }, c = function (r) { return new s(d, r) }; function u(r) { return a((function () { var e = this, o = Array.prototype.slice.call(arguments, 0), n = { shim: e, method: r, args: o, ts: new Date }; window._rollbarShims[this.shimId()].messages.push(n) })) } i.prototype.loadFull = function (r, e, o, n, t) { var l = !1, i = e.createElement("script"), s = e.getElementsByTagName("script")[0], d = s.parentNode; i.crossOrigin = "", i.src = n.rollbarJsUrl, o || (i.async = !0), i.onload = i.onreadystatechange = a((function () { if (!(l || this.readyState && "loaded" !== this.readyState && "complete" !== this.readyState)) { i.onload = i.onreadystatechange = null; try { d.removeChild(i) } catch (r) { } l = !0, function () { var e; if (void 0 === r._rollbarDidLoad) { e = new Error("rollbar.js did not load"); for (var o, n, a, l, i = 0; o = r._rollbarShims[i++];)for (o = o.messages || []; n = o.shift();)for (a = n.args || [], i = 0; i < a.length; ++i)if ("function" == typeof (l = a[i])) { l(e); break } } "function" == typeof t && t(e) }() } })), d.insertBefore(i, s) }, i.prototype.wrap = function (r, e, o) { try { var n; if (n = "function" == typeof e ? e : function () { return e || {} }, "function" != typeof r) return r; if (r._isWrap) return r; if (!r._rollbar_wrapped && (r._rollbar_wrapped = function () { o && "function" == typeof o && o.apply(this, arguments); try { return r.apply(this, arguments) } catch (o) { var e = o; throw e && ("string" == typeof e && (e = new String(e)), e._rollbarContext = n() || {}, e._rollbarContext._wrappedSource = r.toString(), window._rollbarWrappedError = e), e } }, r._rollbar_wrapped._isWrap = !0, r.hasOwnProperty)) for (var t in r) r.hasOwnProperty(t) && (r._rollbar_wrapped[t] = r[t]); return r._rollbar_wrapped } catch (e) { return r } }; for (var p = "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","), f = 0; f < p.length; ++f)i.prototype[p[f]] = u(p[f]); r.exports = { setupShim: function (r, e) { if (r) { var o = e.globalAlias || "Rollbar"; if ("object" == typeof r[o]) return r[o]; r._rollbarShims = {}, r._rollbarWrappedError = null; var l = new c(e); return a((function () { e.captureUncaught && (l._rollbarOldOnError = r.onerror, n.captureUncaughtExceptions(r, l, !0), e.wrapGlobalEventHandlers && t(r, l, !0)), e.captureUnhandledRejections && n.captureUnhandledRejections(r, l, !0); var a = e.autoInstrument; return !1 !== e.enabled && (void 0 === a || !0 === a || function (r) { return !("object" != typeof r || void 0 !== r.page && !r.page) }(a)) && r.addEventListener && (r.addEventListener("load", l.captureLoad.bind(l)), r.addEventListener("DOMContentLoaded", l.captureDomContentLoaded.bind(l))), r[o] = l, l }))() } }, Rollbar: c } }, function (r, e, o) { "use strict"; function n(r, e, o, n) { r._rollbarWrappedError && (n[4] || (n[4] = r._rollbarWrappedError), n[5] || (n[5] = r._rollbarWrappedError._rollbarContext), r._rollbarWrappedError = null); var t = e.handleUncaughtException.apply(e, n); o && o.apply(r, n), "anonymous" === t && (e.anonymousErrorsPending += 1) } r.exports = { captureUncaughtExceptions: function (r, e, o) { if (r) { var t; if ("function" == typeof e._rollbarOldOnError) t = e._rollbarOldOnError; else if (r.onerror) { for (t = r.onerror; t._rollbarOldOnError;)t = t._rollbarOldOnError; e._rollbarOldOnError = t } e.handleAnonymousErrors(); var a = function () { var o = Array.prototype.slice.call(arguments, 0); n(r, e, t, o) }; o && (a._rollbarOldOnError = t), r.onerror = a } }, captureUnhandledRejections: function (r, e, o) { if (r) { "function" == typeof r._rollbarURH && r._rollbarURH.belongsToShim && r.removeEventListener("unhandledrejection", r._rollbarURH); var n = function (r) { var o, n, t; try { o = r.reason } catch (r) { o = void 0 } try { n = r.promise } catch (r) { n = "[unhandledrejection] error getting `promise` from event" } try { t = r.detail, !o && t && (o = t.reason, n = t.promise) } catch (r) { } o || (o = "[unhandledrejection] error getting `reason` from event"), e && e.handleUnhandledRejection && e.handleUnhandledRejection(o, n) }; n.belongsToShim = o, r._rollbarURH = n, r.addEventListener("unhandledrejection", n) } } } }, function (r, e, o) { "use strict"; function n(r, e, o) { if (e.hasOwnProperty && e.hasOwnProperty("addEventListener")) { for (var n = e.addEventListener; n._rollbarOldAdd && n.belongsToShim;)n = n._rollbarOldAdd; var t = function (e, o, t) { n.call(this, e, r.wrap(o), t) }; t._rollbarOldAdd = n, t.belongsToShim = o, e.addEventListener = t; for (var a = e.removeEventListener; a._rollbarOldRemove && a.belongsToShim;)a = a._rollbarOldRemove; var l = function (r, e, o) { a.call(this, r, e && e._rollbar_wrapped || e, o) }; l._rollbarOldRemove = a, l.belongsToShim = o, e.removeEventListener = l } } r.exports = function (r, e, o) { if (r) { var t, a, l = "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(","); for (t = 0; t < l.length; ++t)r[a = l[t]] && r[a].prototype && n(e, r[a].prototype, o) } } }, function (r, e, o) { "use strict"; function n(r, e) { this.impl = r(e, this), this.options = e, function (r) { for (var e = function (r) { return function () { var e = Array.prototype.slice.call(arguments, 0); if (this.impl[r]) return this.impl[r].apply(this.impl, e) } }, o = "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","), n = 0; n < o.length; n++)r[o[n]] = e(o[n]) }(n.prototype) } n.prototype._swapAndProcessMessages = function (r, e) { var o, n, t; for (this.impl = r(this.options); o = e.shift();)n = o.method, t = o.args, this[n] && "function" == typeof this[n] && ("captureDomContentLoaded" === n || "captureLoad" === n ? this[n].apply(this, [t[0], o.ts]) : this[n].apply(this, t)); return this }, r.exports = n }, function (r, e, o) { "use strict"; r.exports = function (r) { return function (e) { if (!e && !window._rollbarInitialized) { for (var o, n, t = (r = r || {}).globalAlias || "Rollbar", a = window.rollbar, l = function (r) { return new a(r) }, i = 0; o = window._rollbarShims[i++];)n || (n = o.handler), o.handler._swapAndProcessMessages(l, o.messages); window[t] = n, window._rollbarInitialized = !0 } } } }]);
12
- </script>
13
- {%- endif -%}
14
- {%- include adblocker.html -%}
15
- {% assign scriptData = site.data.[page.folderName][lang][file] %}
16
- {%- assign dataAtt = "data-folderName='$folderName' data-lang='$lang' data-fileName='$fileName' data-tool='$tool'" -%}
17
- {%- assign $folderName = '$folderName' -%}
18
- <script defer src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" {%- if site.crossorigin -%} {{ }}
19
- crossorigin {%- endif -%}></script>
20
- {%- if site.safeui -%}
21
- <script defer src="/assets/js/theme.js" crossorigin="anonymous"></script>
22
- {%- endif -%}
23
-
24
-
25
- <script defer="defer" src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
26
- integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
27
- {{site.data.customcdns.customcdns.jsfiles}}
28
- {%- if scriptData.jsfilepaths -%}
29
- {%- for path in scriptData.jsfilepaths -%}
30
- <script defer src="{{path}}" data-folderName="{{page.folderName}}" data-lang="{{page.lang}}"
31
- data-fileName="{{page.fileName}}" data-tool="{{page.tool}}" data-permalink="{{page.permalink}}" {%- if
32
- site.crossorigin -%} {{ }} crossorigin {%- endif -%}></script>
33
- {%- endfor -%}
34
- {%- endif -%}
35
- {%- if scriptData.jscdns -%}
36
- {%- for item in scriptData.jscdns -%}
37
- {{item | replace:"$folderName", page.folderName | replace: "$fileName", page.fileName | replace: "$lang", page.lang |
38
- replace: "$tool", page.tool }}
39
- {%- endfor -%}
40
- {%- endif -%}
41
- <script src="//cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js" crossorigin="anonymous"></script>
42
-
43
- {%- assign font = "Source Sans Pro" -%}
44
-
45
- {%- if page.layout == "frame" -%}
46
- {%- assign font = "PT Sans" -%}
47
- {%- endif -%}
48
-
49
- {%- if page.layout == "photo-effects-home" -%}
50
- {%- assign font = "PT Sans" -%}
51
- {%- endif -%}
52
-
53
- {%- if page.layout == "calculator" -%}
54
- <script defer src="/assets/js/calculator-tooltip.js"></script>
55
- {%- endif -%}
56
-
57
- {%- if page.layout == 'home-1' or page.layout == "feature-1" -%}
58
- {%- assign font = "Inter" -%}
59
- {%- endif -%}
60
-
61
- <script>WebFont.load({ google: { families: ['{{font}}:200,300,400,500,600,700,800&display=swap'] } })</script>
62
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
63
- integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
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) { var e = {}; function o(n) { if (e[n]) return e[n].exports; var t = e[n] = { i: n, l: !1, exports: {} }; return r[n].call(t.exports, t, t.exports, o), t.l = !0, t.exports } o.m = r, o.c = e, o.d = function (r, e, n) { o.o(r, e) || Object.defineProperty(r, e, { enumerable: !0, get: n }) }, o.r = function (r) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(r, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(r, "__esModule", { value: !0 }) }, o.t = function (r, e) { if (1 & e && (r = o(r)), 8 & e) return r; if (4 & e && "object" == typeof r && r && r.__esModule) return r; var n = Object.create(null); if (o.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: r }), 2 & e && "string" != typeof r) for (var t in r) o.d(n, t, function (e) { return r[e] }.bind(null, t)); return n }, o.n = function (r) { var e = r && r.__esModule ? function () { return r.default } : function () { return r }; return o.d(e, "a", e), e }, o.o = function (r, e) { return Object.prototype.hasOwnProperty.call(r, e) }, o.p = "", o(o.s = 0) }([function (r, e, o) { "use strict"; var n = o(1), t = o(5); _rollbarConfig = _rollbarConfig || {}, _rollbarConfig.rollbarJsUrl = _rollbarConfig.rollbarJsUrl || "https://cdn.rollbar.com/rollbarjs/refs/tags/v2.25.2/rollbar.min.js", _rollbarConfig.async = void 0 === _rollbarConfig.async || _rollbarConfig.async; var a = n.setupShim(window, _rollbarConfig), l = t(_rollbarConfig); window.rollbar = n.Rollbar, a.loadFull(window, document, !_rollbarConfig.async, _rollbarConfig, l) }, function (r, e, o) { "use strict"; var n = o(2), t = o(3); function a(r) { return function () { try { return r.apply(this, arguments) } catch (r) { try { console.error("[Rollbar]: Internal error", r) } catch (r) { } } } } var l = 0; function i(r, e) { this.options = r, this._rollbarOldOnError = null; var o = l++; this.shimId = function () { return o }, "undefined" != typeof window && window._rollbarShims && (window._rollbarShims[o] = { handler: e, messages: [] }) } var s = o(4), d = function (r, e) { return new i(r, e) }, c = function (r) { return new s(d, r) }; function u(r) { return a((function () { var e = this, o = Array.prototype.slice.call(arguments, 0), n = { shim: e, method: r, args: o, ts: new Date }; window._rollbarShims[this.shimId()].messages.push(n) })) } i.prototype.loadFull = function (r, e, o, n, t) { var l = !1, i = e.createElement("script"), s = e.getElementsByTagName("script")[0], d = s.parentNode; i.crossOrigin = "", i.src = n.rollbarJsUrl, o || (i.async = !0), i.onload = i.onreadystatechange = a((function () { if (!(l || this.readyState && "loaded" !== this.readyState && "complete" !== this.readyState)) { i.onload = i.onreadystatechange = null; try { d.removeChild(i) } catch (r) { } l = !0, function () { var e; if (void 0 === r._rollbarDidLoad) { e = new Error("rollbar.js did not load"); for (var o, n, a, l, i = 0; o = r._rollbarShims[i++];)for (o = o.messages || []; n = o.shift();)for (a = n.args || [], i = 0; i < a.length; ++i)if ("function" == typeof (l = a[i])) { l(e); break } } "function" == typeof t && t(e) }() } })), d.insertBefore(i, s) }, i.prototype.wrap = function (r, e, o) { try { var n; if (n = "function" == typeof e ? e : function () { return e || {} }, "function" != typeof r) return r; if (r._isWrap) return r; if (!r._rollbar_wrapped && (r._rollbar_wrapped = function () { o && "function" == typeof o && o.apply(this, arguments); try { return r.apply(this, arguments) } catch (o) { var e = o; throw e && ("string" == typeof e && (e = new String(e)), e._rollbarContext = n() || {}, e._rollbarContext._wrappedSource = r.toString(), window._rollbarWrappedError = e), e } }, r._rollbar_wrapped._isWrap = !0, r.hasOwnProperty)) for (var t in r) r.hasOwnProperty(t) && (r._rollbar_wrapped[t] = r[t]); return r._rollbar_wrapped } catch (e) { return r } }; for (var p = "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","), f = 0; f < p.length; ++f)i.prototype[p[f]] = u(p[f]); r.exports = { setupShim: function (r, e) { if (r) { var o = e.globalAlias || "Rollbar"; if ("object" == typeof r[o]) return r[o]; r._rollbarShims = {}, r._rollbarWrappedError = null; var l = new c(e); return a((function () { e.captureUncaught && (l._rollbarOldOnError = r.onerror, n.captureUncaughtExceptions(r, l, !0), e.wrapGlobalEventHandlers && t(r, l, !0)), e.captureUnhandledRejections && n.captureUnhandledRejections(r, l, !0); var a = e.autoInstrument; return !1 !== e.enabled && (void 0 === a || !0 === a || function (r) { return !("object" != typeof r || void 0 !== r.page && !r.page) }(a)) && r.addEventListener && (r.addEventListener("load", l.captureLoad.bind(l)), r.addEventListener("DOMContentLoaded", l.captureDomContentLoaded.bind(l))), r[o] = l, l }))() } }, Rollbar: c } }, function (r, e, o) { "use strict"; function n(r, e, o, n) { r._rollbarWrappedError && (n[4] || (n[4] = r._rollbarWrappedError), n[5] || (n[5] = r._rollbarWrappedError._rollbarContext), r._rollbarWrappedError = null); var t = e.handleUncaughtException.apply(e, n); o && o.apply(r, n), "anonymous" === t && (e.anonymousErrorsPending += 1) } r.exports = { captureUncaughtExceptions: function (r, e, o) { if (r) { var t; if ("function" == typeof e._rollbarOldOnError) t = e._rollbarOldOnError; else if (r.onerror) { for (t = r.onerror; t._rollbarOldOnError;)t = t._rollbarOldOnError; e._rollbarOldOnError = t } e.handleAnonymousErrors(); var a = function () { var o = Array.prototype.slice.call(arguments, 0); n(r, e, t, o) }; o && (a._rollbarOldOnError = t), r.onerror = a } }, captureUnhandledRejections: function (r, e, o) { if (r) { "function" == typeof r._rollbarURH && r._rollbarURH.belongsToShim && r.removeEventListener("unhandledrejection", r._rollbarURH); var n = function (r) { var o, n, t; try { o = r.reason } catch (r) { o = void 0 } try { n = r.promise } catch (r) { n = "[unhandledrejection] error getting `promise` from event" } try { t = r.detail, !o && t && (o = t.reason, n = t.promise) } catch (r) { } o || (o = "[unhandledrejection] error getting `reason` from event"), e && e.handleUnhandledRejection && e.handleUnhandledRejection(o, n) }; n.belongsToShim = o, r._rollbarURH = n, r.addEventListener("unhandledrejection", n) } } } }, function (r, e, o) { "use strict"; function n(r, e, o) { if (e.hasOwnProperty && e.hasOwnProperty("addEventListener")) { for (var n = e.addEventListener; n._rollbarOldAdd && n.belongsToShim;)n = n._rollbarOldAdd; var t = function (e, o, t) { n.call(this, e, r.wrap(o), t) }; t._rollbarOldAdd = n, t.belongsToShim = o, e.addEventListener = t; for (var a = e.removeEventListener; a._rollbarOldRemove && a.belongsToShim;)a = a._rollbarOldRemove; var l = function (r, e, o) { a.call(this, r, e && e._rollbar_wrapped || e, o) }; l._rollbarOldRemove = a, l.belongsToShim = o, e.removeEventListener = l } } r.exports = function (r, e, o) { if (r) { var t, a, l = "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(","); for (t = 0; t < l.length; ++t)r[a = l[t]] && r[a].prototype && n(e, r[a].prototype, o) } } }, function (r, e, o) { "use strict"; function n(r, e) { this.impl = r(e, this), this.options = e, function (r) { for (var e = function (r) { return function () { var e = Array.prototype.slice.call(arguments, 0); if (this.impl[r]) return this.impl[r].apply(this.impl, e) } }, o = "log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","), n = 0; n < o.length; n++)r[o[n]] = e(o[n]) }(n.prototype) } n.prototype._swapAndProcessMessages = function (r, e) { var o, n, t; for (this.impl = r(this.options); o = e.shift();)n = o.method, t = o.args, this[n] && "function" == typeof this[n] && ("captureDomContentLoaded" === n || "captureLoad" === n ? this[n].apply(this, [t[0], o.ts]) : this[n].apply(this, t)); return this }, r.exports = n }, function (r, e, o) { "use strict"; r.exports = function (r) { return function (e) { if (!e && !window._rollbarInitialized) { for (var o, n, t = (r = r || {}).globalAlias || "Rollbar", a = window.rollbar, l = function (r) { return new a(r) }, i = 0; o = window._rollbarShims[i++];)n || (n = o.handler), o.handler._swapAndProcessMessages(l, o.messages); window[t] = n, window._rollbarInitialized = !0 } } } }]);
12
+ </script>
13
+ {%- endif -%}
14
+ {%- include adblocker.html -%}
15
+ {% assign scriptData = site.data.[page.folderName][lang][file] %}
16
+ {%- assign dataAtt = "data-folderName='$folderName' data-lang='$lang' data-fileName='$fileName' data-tool='$tool'" -%}
17
+ {%- assign $folderName = '$folderName' -%}
18
+ <script defer src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" {%- if site.crossorigin -%} {{ }}
19
+ crossorigin {%- endif -%}></script>
20
+ {%- if site.safeui -%}
21
+ <script defer src="/assets/js/theme.js" crossorigin="anonymous"></script>
22
+ {%- endif -%}
23
+
24
+
25
+ <script defer="defer" src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
26
+ integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
27
+ {{site.data.customcdns.customcdns.jsfiles}}
28
+ {%- if scriptData.jsfilepaths -%}
29
+ {%- for path in scriptData.jsfilepaths -%}
30
+ <script defer src="{{path}}" data-folderName="{{page.folderName}}" data-lang="{{page.lang}}"
31
+ data-fileName="{{page.fileName}}" data-tool="{{page.tool}}" data-permalink="{{page.permalink}}" {%- if
32
+ site.crossorigin -%} {{ }} crossorigin {%- endif -%}></script>
33
+ {%- endfor -%}
34
+ {%- endif -%}
35
+ {%- if scriptData.jscdns -%}
36
+ {%- for item in scriptData.jscdns -%}
37
+ {{item | replace:"$folderName", page.folderName | replace: "$fileName", page.fileName | replace: "$lang", page.lang |
38
+ replace: "$tool", page.tool }}
39
+ {%- endfor -%}
40
+ {%- endif -%}
41
+ <script src="//cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js" crossorigin="anonymous"></script>
42
+
43
+ {%- assign font = "Source Sans Pro" -%}
44
+
45
+ {%- if page.layout == "frame" -%}
46
+ {%- assign font = "PT Sans" -%}
47
+ {%- endif -%}
48
+
49
+ {%- if page.layout == "photo-effects-home" -%}
50
+ {%- assign font = "PT Sans" -%}
51
+ {%- endif -%}
52
+
53
+ {%- if page.layout == "calculator" -%}
54
+ <script defer src="/assets/js/calculator-tooltip.js"></script>
55
+ {%- endif -%}
56
+
57
+ {%- if page.layout == 'home-1' or page.layout == "feature-1" -%}
58
+ {%- assign font = "Inter" -%}
59
+ {%- endif -%}
60
+
61
+ <script>WebFont.load({ google: { families: ['{{font}}:200,300,400,500,600,700,800&display=swap'] } })</script>
62
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
63
+ integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
64
64
  crossorigin="anonymous" referrerpolicy="no-referrer" />
@@ -1,12 +1,12 @@
1
- <div class="alertbar" style="display: none;">
2
- <div class="container text-center">
3
- <span style="font-size: 15px;">{{site.data.blog.alertbar.span}}</span>
4
- <form>
5
- <div class="mc-field-group">
6
- <input type="email" placeholder="Email" name="EMAIL" class="required email" id="mce-EMAIL"
7
- autocomplete="on" required="">
8
- <input type="submit" value="Subscribe" name="subscribe">
9
- </div>
10
- </form>
11
- </div>
1
+ <div class="alertbar" style="display: none;">
2
+ <div class="container text-center">
3
+ <span style="font-size: 15px;">{{site.data.blog.alertbar.span}}</span>
4
+ <form>
5
+ <div class="mc-field-group">
6
+ <input type="email" placeholder="Email" name="EMAIL" class="required email" id="mce-EMAIL"
7
+ autocomplete="on" required="">
8
+ <input type="submit" value="Subscribe" name="subscribe">
9
+ </div>
10
+ </form>
11
+ </div>
12
12
  </div>
@@ -1,37 +1,37 @@
1
- <div class="explore">
2
- <div class="container">
3
- {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
4
-
5
- <div class="row">
6
- <div class="col-md-9 mx-auto">
7
- {%- endif -%}
8
- <h2>Explore <span class="d-none d-md-inline">→</span></h2>
9
-
10
- <ul class="mt-3">
11
- {% assign categories_list = site.categories %}
12
- {% if categories_list.first[0] == null %}
13
- {% for category in categories_list %}
14
- <a class="cat mt-1 mb-1"
15
- href="/blog/categories#{{ category | url_escape | strip | replace: ' ', '-' }}">{{
16
- category
17
- |
18
- camelcase }} ({{ site.tags[category].size }})</a>
19
- {% endfor %}
20
- {% else %}
21
- {% for category in categories_list %}
22
- <a class="cat mt-1 mb-1"
23
- href="/blog/categories#{{ category[0] | url_escape | strip | replace: ' ', '-' }}">{{
24
- category[0]
25
- | camelcase }} ({{ category[1].size }})</a>
26
- {% endfor %}
27
- {% endif %}
28
- {% assign categories_list = nil %}
29
- </ul>
30
- {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
31
-
32
- </div>
33
- </div>
34
- {%- endif -%}
35
-
36
- </div>
1
+ <div class="explore">
2
+ <div class="container">
3
+ {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
4
+
5
+ <div class="row">
6
+ <div class="col-md-9 mx-auto">
7
+ {%- endif -%}
8
+ <h2>Explore <span class="d-none d-md-inline">→</span></h2>
9
+
10
+ <ul class="mt-3">
11
+ {% assign categories_list = site.categories %}
12
+ {% if categories_list.first[0] == null %}
13
+ {% for category in categories_list %}
14
+ <a class="cat mt-1 mb-1"
15
+ href="/blog/categories#{{ category | url_escape | strip | replace: ' ', '-' }}">{{
16
+ category
17
+ |
18
+ camelcase }} ({{ site.tags[category].size }})</a>
19
+ {% endfor %}
20
+ {% else %}
21
+ {% for category in categories_list %}
22
+ <a class="cat mt-1 mb-1"
23
+ href="/blog/categories#{{ category[0] | url_escape | strip | replace: ' ', '-' }}">{{
24
+ category[0]
25
+ | camelcase }} ({{ category[1].size }})</a>
26
+ {% endfor %}
27
+ {% endif %}
28
+ {% assign categories_list = nil %}
29
+ </ul>
30
+ {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
31
+
32
+ </div>
33
+ </div>
34
+ {%- endif -%}
35
+
36
+ </div>
37
37
  </div>
@@ -1,68 +1,66 @@
1
- <section class="related-posts-section">
2
- <div class="container">
3
- <div class="relatedPosts">
4
- {%- if site.posts.size>0 -%}
5
- {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
6
-
7
- <div class="row">
8
- <div class="col-md-9 mx-auto">
9
- {%- endif -%}
10
- <h2 class="related_post_heading">Recent Posts</h2>
11
- {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
12
-
13
- </div>
14
- </div>
15
- {%- endif -%}
16
- {%- endif -%}
17
- <div class="row">
18
- {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
19
-
20
- <div class="col-md-9 mx-auto">
21
- <div class="row">
22
- {%- endif -%}
23
- {% assign posts = site.posts | where_exp:"post","post.url != page.url" %}
24
- {% for post in posts limit: 6%}
25
- {%- include /authors/authors.html -%}
26
- <div class="col-lg-4 col-md-6 mb-4 card-group">
27
- <div class="card h-100">
28
- <a href="{{ post.url }}">
29
- <img src="{{ post.image }}" class="card-img-top" height="215px" width="100%"
30
- loading="lazy" alt="{{post.title}}" {%- if site.crossorigin -%} crossorigin {%-
31
- endif -%}>
32
- </a>
33
- <div class="card-body">
34
- <a class="text-decoration-none text-dark" href="{{ post.url }}" class="anchor_link">
35
- <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
36
- </a>
37
- </div>
38
- <div class="card-footer bg-white">
39
- <div class="wrapfooter">
40
- {% if post.author %}
41
- <span class="meta-footer-thumb">
42
- <img class="author-thumb" loading="lazy" src="{{image}}"
43
- alt="{{ authorName }}" {%- if site.crossorigin -%} crossorigin {%- endif
44
- -%}>
45
- </span>
46
- {% endif %}
47
- <span class="author-meta">
48
- <span class="post-name">
49
- <a target="_blank" href="/blog">{{authorName}}</a>
50
- </span><br>
51
- <span class="post-date">{{post.date | date_to_string }}</span>
52
- </span>
53
- <span class="post-read-more"><a class="text-dark" href="{{ post.url }}"
54
- title="Read Story">Read More</a></span>
55
- </div>
56
- </div>
57
- </div>
58
- </div>
59
- {% endfor %}
60
- {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
61
-
62
- </div>
63
- </div>
64
- {%- endif -%}
65
- </div>
66
- </div>
67
- </div>
1
+ <section class="related-posts-section">
2
+ <div class="container">
3
+ <div class="relatedPosts">
4
+ {%- if site.posts.size>0 -%}
5
+ {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
6
+
7
+ <div class="row">
8
+ <div class="col-md-9 mx-auto">
9
+ {%- endif -%}
10
+ <h4 class="related_post_heading">Recent Posts</h4>
11
+ {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
12
+
13
+ </div>
14
+ </div>
15
+ {%- endif -%}
16
+ {%- endif -%}
17
+ <div class="row">
18
+ {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
19
+
20
+ <div class="col-md-9 mx-auto">
21
+ <div class="row">
22
+ {%- endif -%}
23
+ {% assign posts = site.posts | where_exp:"post","post.url != page.url" %}
24
+ {% for post in posts limit: 6%}
25
+ {%- include /authors/authors.html -%}
26
+ <div class="col-lg-4 col-md-6 mb-4 card-group">
27
+ <div class="card h-100">
28
+ <a href="{{ post.url }}">
29
+ <img src="{{ post.image }}" class="card-img-top" height="215px" width="100%"
30
+ loading="lazy" alt="{{post.title}}" {%- if site.crossorigin -%} crossorigin {%-
31
+ endif -%}>
32
+ </a>
33
+ <div class="card-body">
34
+ <a class="text-decoration-none text-dark" href="{{ post.url }}" class="anchor_link">
35
+ <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
36
+ </a>
37
+ </div>
38
+ <div class="card-footer bg-white">
39
+ <div class="wrapfooter">
40
+ {% if post.author %}
41
+ <span class="meta-footer-thumb">
42
+ <img class="author-thumb" loading="lazy" src="{{image}}"
43
+ alt="{{ authorName }}" {%- if site.crossorigin -%} crossorigin {%- endif
44
+ -%}>
45
+ </span>
46
+ {% endif %}
47
+ <span class="author-meta">
48
+ <span class="post-name">
49
+ <a target="_blank" href="/blog">{{authorName}}</a>
50
+ </span><br>
51
+ <span class="post-date">{{post.date | date_to_string }}</span>
52
+ </span>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ {% endfor %}
58
+ {%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
59
+
60
+ </div>
61
+ </div>
62
+ {%- endif -%}
63
+ </div>
64
+ </div>
65
+ </div>
68
66
  </section>