appscms-tools-theme 3.0.2 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_includes/adblocker.html +228 -124
- data/_includes/bookmark.html +5 -0
- data/_includes/feature.html +51 -33
- data/_includes/script.html +497 -48
- data/_layouts/feature.html +2 -1
- data/assets/css/tools.css +17 -0
- data/assets/js/adBlocker.js +62 -38
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9773f43a6c37c43e0d94f8bc293c79b8b9c279e4dafa87306fe7a13c9334429c
|
|
4
|
+
data.tar.gz: 6b84aaf32663ffc9aa9edd3ba72c684f07c231472e2b0a0b7e59a3f6690e68d5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 663744fc9f945c7f4a21fd70d612327018b1aaebd57f48bfc75a977fdb0d87ef894acc6500f7723921c0f406bae67736f2d4eeb67697f0c2733fdeeb8e1d6213
|
|
7
|
+
data.tar.gz: f23592fd5154c55648605045256991d379f75a6beb72b6809902f511dd6d412bfb6c233d793d8bc89887013185764c3bdf38f74bdf5fe52f83af7ac6fa0b2239
|
data/_includes/adblocker.html
CHANGED
|
@@ -1,136 +1,240 @@
|
|
|
1
1
|
{%- if site.show_allow_ad_blocker_pop -%}
|
|
2
|
-
<link rel="stylesheet" href="/assets/css/adBlocker.css"
|
|
2
|
+
<link rel="stylesheet" href="/assets/css/adBlocker.css" />
|
|
3
3
|
<div id="detect"></div>
|
|
4
4
|
<div class="wrapper text-center">
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
<div class="innerWrapper">
|
|
6
|
+
{%- if site.adBlockerClose -%}
|
|
7
|
+
<div class="closePopup p-1">
|
|
8
|
+
<i class="fas fa-times"></i>
|
|
9
|
+
</div>
|
|
10
|
+
{%- endif -%}
|
|
11
|
+
<h2 class="brand-title">{{site.adspopuptitle}}</h2>
|
|
12
|
+
<p class="show-ads">Please allow ads on our site</p>
|
|
13
|
+
<p>
|
|
14
|
+
Looks like you're using an ad blocker. We rely on advertising to help fund
|
|
15
|
+
our site to keep it 100% free
|
|
16
|
+
</p>
|
|
17
|
+
<div class="btn-container mx-auto">
|
|
18
|
+
<div class="bg-layer"></div>
|
|
19
|
+
<button class="allow-ads-btn">Allow ads</button>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="extensions">
|
|
24
|
+
<section>
|
|
25
|
+
<div class="ads__content">
|
|
26
|
+
{%- if site.adBlockerClose -%}
|
|
27
|
+
<div class="closePopup">
|
|
28
|
+
<i class="fas fa-times"></i>
|
|
29
|
+
</div>
|
|
30
|
+
{%- endif -%}
|
|
31
|
+
<p style="font-size: 18px">Which of these extensions do you have?</p>
|
|
32
|
+
<ul class="nav nav-tabs tablist" role="tablist">
|
|
33
|
+
<a
|
|
34
|
+
class="nav-link nav-tab-link active"
|
|
35
|
+
data-toggle="tab"
|
|
36
|
+
href="#home"
|
|
37
|
+
role="tab"
|
|
38
|
+
>
|
|
39
|
+
<li class="nav-item">
|
|
40
|
+
<img
|
|
41
|
+
class="ads_img"
|
|
42
|
+
loading="lazy"
|
|
43
|
+
src="/assets/images/adblock.svg"
|
|
44
|
+
alt="AdBlock image"
|
|
45
|
+
/>
|
|
46
|
+
</li>
|
|
47
|
+
AdBlock
|
|
48
|
+
</a>
|
|
49
|
+
<a
|
|
50
|
+
class="nav-link nav-tab-link"
|
|
51
|
+
data-toggle="tab"
|
|
52
|
+
href="#adsblockPlus"
|
|
53
|
+
role="tab"
|
|
54
|
+
>
|
|
55
|
+
<li class="nav-item">
|
|
56
|
+
<img
|
|
57
|
+
class="ads_img"
|
|
58
|
+
loading="lazy"
|
|
59
|
+
src="/assets/images/abp.svg"
|
|
60
|
+
alt="Adblock Plus Image"
|
|
61
|
+
/>
|
|
62
|
+
</li>
|
|
63
|
+
Adblock Plus
|
|
64
|
+
</a>
|
|
65
|
+
<a
|
|
66
|
+
class="nav-link nav-tab-link"
|
|
67
|
+
data-toggle="tab"
|
|
68
|
+
href="#uBlock"
|
|
69
|
+
role="tab"
|
|
70
|
+
>
|
|
71
|
+
<li class="nav-item">
|
|
72
|
+
<img
|
|
73
|
+
class="ads_img"
|
|
74
|
+
loading="lazy"
|
|
75
|
+
src="/assets/images/uo.svg"
|
|
76
|
+
alt="uBlock image"
|
|
77
|
+
/>
|
|
78
|
+
</li>
|
|
79
|
+
uBlock Origin
|
|
80
|
+
</a>
|
|
81
|
+
<a
|
|
82
|
+
class="nav-link nav-tab-link"
|
|
83
|
+
data-toggle="tab"
|
|
84
|
+
href="#other"
|
|
85
|
+
role="tab"
|
|
86
|
+
>
|
|
87
|
+
<li class="nav-item">
|
|
88
|
+
<div class="three_dot">...</div>
|
|
89
|
+
</li>
|
|
90
|
+
Other
|
|
91
|
+
</a>
|
|
92
|
+
</ul>
|
|
93
|
+
|
|
94
|
+
<!-- Tab panes -->
|
|
95
|
+
<div class="tab-content">
|
|
96
|
+
<div class="tab-pane active" id="home" role="tabpanel">
|
|
97
|
+
<ol class="listContainer">
|
|
98
|
+
<li class="listItem">
|
|
99
|
+
Click the AdBlock icon
|
|
100
|
+
<img
|
|
101
|
+
width="18px"
|
|
102
|
+
loading="lazy"
|
|
103
|
+
src="/assets/images/adblock.svg"
|
|
104
|
+
alt="AdBlock image"
|
|
105
|
+
/>
|
|
106
|
+
in the browser extension area on the upper right-hand corner. (You
|
|
107
|
+
may see a small number covering part of the icon.)
|
|
108
|
+
</li>
|
|
109
|
+
<li class="listItem">
|
|
110
|
+
Select <b>Don't run on pages on this site</b>.
|
|
111
|
+
</li>
|
|
112
|
+
<li class="listItem">
|
|
113
|
+
In the "Don’t run AdBlock on..." dialog box, select
|
|
114
|
+
<b>Exclude</b>. The AdBlock icon changes to a “thumbs up” image.
|
|
115
|
+
</li>
|
|
116
|
+
</ol>
|
|
117
|
+
<div class="text-center w-100" onclick="refresh()">
|
|
118
|
+
<button class="btn btn-primary" style="font-size: 12px">
|
|
119
|
+
Refresh page
|
|
120
|
+
</button>
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="tab-pane" id="adsblockPlus" role="tabpanel">
|
|
124
|
+
<ol class="listContainer">
|
|
125
|
+
<li class="listItem">
|
|
126
|
+
Click the Adblock Plus icon
|
|
127
|
+
<img
|
|
128
|
+
width="18px"
|
|
129
|
+
loading="lazy"
|
|
130
|
+
src="/assets/images/abp.svg"
|
|
131
|
+
alt="Adblock Plus Image"
|
|
132
|
+
/>
|
|
133
|
+
in the browser extension area on the upper right-hand corner. (You
|
|
134
|
+
may see a small number covering part of the icon.)
|
|
135
|
+
</li>
|
|
136
|
+
<li class="listItem">
|
|
137
|
+
Click the “power” button Power icon so that it slides left.
|
|
138
|
+
</li>
|
|
139
|
+
<li class="listItem">Click the <b>Refresh</b> button.</li>
|
|
140
|
+
</ol>
|
|
141
|
+
<div class="text-center w-100" onclick="refresh()">
|
|
142
|
+
<button class="btn btn-primary" style="font-size: 12px">
|
|
143
|
+
Refresh page
|
|
144
|
+
</button>
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
<div class="tab-pane" id="uBlock" role="tabpanel">
|
|
148
|
+
<ol class="listContainer">
|
|
149
|
+
<li class="listItem">
|
|
150
|
+
Click the uBlock Origin icon
|
|
151
|
+
<img
|
|
152
|
+
width="18px"
|
|
153
|
+
loading="lazy"
|
|
154
|
+
src="/assets/images/uo.svg"
|
|
155
|
+
alt="uBlock image"
|
|
156
|
+
/>
|
|
157
|
+
in the browser extension area on the upper right-hand corner. (You
|
|
158
|
+
may see a small number covering part of the icon.)
|
|
159
|
+
</li>
|
|
160
|
+
<li class="listItem">
|
|
161
|
+
Click the “power” button so that it slides left.
|
|
162
|
+
</li>
|
|
163
|
+
<li class="listItem">Click the <b>Refresh</b> button.</li>
|
|
164
|
+
</ol>
|
|
165
|
+
<div class="text-center w-100" onclick="refresh()">
|
|
166
|
+
<button class="btn btn-primary" style="font-size: 12px">
|
|
167
|
+
Refresh page
|
|
168
|
+
</button>
|
|
169
|
+
</div>
|
|
9
170
|
</div>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
171
|
+
<div class="tab-pane" id="other" role="tabpanel">
|
|
172
|
+
<ol class="listContainer">
|
|
173
|
+
<li class="listItem">
|
|
174
|
+
Click the icon of the ad blocker extension installed on your
|
|
175
|
+
browser.
|
|
176
|
+
</li>
|
|
177
|
+
<p class="text-muted">
|
|
178
|
+
You’ll usually find this icon in the upper right-hand corner of
|
|
179
|
+
your screen. You may have more than one ad blocker installed.
|
|
180
|
+
</p>
|
|
181
|
+
<li class="listItem">
|
|
182
|
+
Follow the instructions for disabling the ad blocker on the site
|
|
183
|
+
you’re viewing.
|
|
184
|
+
</li>
|
|
185
|
+
<p class="text-muted">
|
|
186
|
+
You may have to select a menu option or click a button.
|
|
187
|
+
</p>
|
|
188
|
+
<li class="listItem">
|
|
189
|
+
Refresh the page, either by following prompts or clicking your
|
|
190
|
+
browser’s “refresh” or “reload” button.
|
|
191
|
+
</li>
|
|
192
|
+
</ol>
|
|
193
|
+
<div class="text-center w-100" onclick="refresh()">
|
|
194
|
+
<button class="btn btn-primary" style="font-size: 12px">
|
|
195
|
+
Refresh page
|
|
196
|
+
</button>
|
|
197
|
+
</div>
|
|
19
198
|
</div>
|
|
199
|
+
</div>
|
|
20
200
|
</div>
|
|
201
|
+
</section>
|
|
21
202
|
</div>
|
|
22
|
-
<div class="extensions">
|
|
23
|
-
<section>
|
|
24
|
-
<div class="ads__content">
|
|
25
|
-
{%- if site.adBlockerClose -%}
|
|
26
|
-
<div class="closePopup">
|
|
27
|
-
<i class="fas fa-times"></i>
|
|
28
|
-
</div>
|
|
29
|
-
{%- endif -%}
|
|
30
|
-
<p style="font-size: 18px">Which of these extensions do you have?</p>
|
|
31
|
-
<ul class="nav nav-tabs tablist" role="tablist">
|
|
32
|
-
<a class="nav-link nav-tab-link active" data-toggle="tab" href="#home" role="tab">
|
|
33
|
-
<li class="nav-item">
|
|
34
|
-
<img class="ads_img" loading="lazy" src="/assets/images/adblock.svg" alt="AdBlock image">
|
|
35
|
-
</li>
|
|
36
|
-
AdBlock
|
|
37
|
-
</a>
|
|
38
|
-
<a class="nav-link nav-tab-link" data-toggle="tab" href="#adsblockPlus" role="tab">
|
|
39
|
-
<li class="nav-item">
|
|
40
|
-
<img class="ads_img" loading="lazy" src="/assets/images/abp.svg" alt="Adblock Plus Image">
|
|
41
|
-
</li>
|
|
42
|
-
Adblock Plus
|
|
43
|
-
</a>
|
|
44
|
-
<a class="nav-link nav-tab-link" data-toggle="tab" href="#uBlock" role="tab">
|
|
45
|
-
<li class="nav-item">
|
|
46
|
-
<img class="ads_img" loading="lazy" src="/assets/images/uo.svg" alt="uBlock image">
|
|
47
|
-
</li>
|
|
48
|
-
uBlock Origin
|
|
49
|
-
</a>
|
|
50
|
-
<a class="nav-link nav-tab-link" data-toggle="tab" href="#other" role="tab">
|
|
51
|
-
<li class="nav-item">
|
|
52
|
-
<div class="three_dot">...</div>
|
|
53
|
-
</li>
|
|
54
|
-
Other
|
|
55
|
-
</a>
|
|
56
|
-
</ul>
|
|
57
203
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
<li class="listItem">Select <b>Don't run on pages on this site</b>.</li>
|
|
70
|
-
<li class="listItem">In the "Don’t run AdBlock on..." dialog box, select <b>Exclude</b>. The
|
|
71
|
-
AdBlock
|
|
72
|
-
icon
|
|
73
|
-
changes to a “thumbs up” image.</li>
|
|
74
|
-
</ol>
|
|
75
|
-
<div class="text-center w-100" onclick="refresh()">
|
|
76
|
-
<button class="btn btn-primary" style="font-size: 12px;">Refresh page</button>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
<div class="tab-pane" id="adsblockPlus" role="tabpanel">
|
|
80
|
-
<ol class="listContainer">
|
|
81
|
-
<li class="listItem">Click the Adblock Plus icon
|
|
82
|
-
<img width="18px" loading="lazy" src="/assets/images/abp.svg" alt="Adblock Plus Image">
|
|
83
|
-
in the browser extension area on the
|
|
84
|
-
upper right-hand corner. (You may see a small number covering part of the icon.)
|
|
85
|
-
</li>
|
|
86
|
-
<li class="listItem">Click the “power” button Power icon so that it slides left.</li>
|
|
87
|
-
<li class="listItem">Click the <b>Refresh</b> button.</li>
|
|
88
|
-
</ol>
|
|
89
|
-
<div class="text-center w-100" onclick="refresh()">
|
|
90
|
-
<button class="btn btn-primary" style="font-size: 12px;">Refresh page</button>
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
<div class="tab-pane" id="uBlock" role="tabpanel">
|
|
94
|
-
<ol class="listContainer">
|
|
95
|
-
<li class="listItem">Click the uBlock Origin icon
|
|
96
|
-
<img width="18px" loading="lazy" src="/assets/images/uo.svg" alt="uBlock image"> in the
|
|
97
|
-
browser
|
|
98
|
-
extension area on
|
|
99
|
-
the upper right-hand corner. (You may see a small number covering part of the icon.)
|
|
100
|
-
</li>
|
|
101
|
-
<li class="listItem">
|
|
102
|
-
Click the “power” button so that it slides left.
|
|
103
|
-
</li>
|
|
104
|
-
<li class="listItem">Click the <b>Refresh</b> button.</li>
|
|
105
|
-
</ol>
|
|
106
|
-
<div class="text-center w-100" onclick="refresh()">
|
|
107
|
-
<button class="btn btn-primary" style="font-size: 12px;">Refresh page</button>
|
|
108
|
-
</div>
|
|
109
|
-
</div>
|
|
110
|
-
<div class="tab-pane" id="other" role="tabpanel">
|
|
111
|
-
<ol class="listContainer">
|
|
112
|
-
<li class="listItem">Click the icon of the ad blocker extension installed on your browser.</li>
|
|
113
|
-
<p class="text-muted">You’ll usually find this icon in the upper right-hand corner of your
|
|
114
|
-
screen. You may
|
|
115
|
-
have more than
|
|
116
|
-
one ad blocker installed.</p>
|
|
117
|
-
<li class="listItem">Follow the instructions for disabling the ad blocker on the site you’re
|
|
118
|
-
viewing.</li>
|
|
119
|
-
<p class="text-muted">You may have to select a menu option or click a button.</p>
|
|
120
|
-
<li class="listItem">Refresh the page, either by following prompts or clicking your browser’s
|
|
121
|
-
“refresh” or
|
|
122
|
-
“reload” button.</li>
|
|
123
|
-
</ol>
|
|
124
|
-
<div class="text-center w-100" onclick="refresh()">
|
|
125
|
-
<button class="btn btn-primary" style="font-size: 12px;">Refresh page</button>
|
|
126
|
-
</div>
|
|
127
|
-
</div>
|
|
128
|
-
</div>
|
|
204
|
+
{% if page.url != '/' and page.lang == "en" %}
|
|
205
|
+
<script>
|
|
206
|
+
const autoLoadDuration = 5; //In Seconds
|
|
207
|
+
const eventList = [
|
|
208
|
+
"keydown",
|
|
209
|
+
"mousemove",
|
|
210
|
+
"wheel",
|
|
211
|
+
"touchmove",
|
|
212
|
+
"touchstart",
|
|
213
|
+
"touchend",
|
|
214
|
+
];
|
|
129
215
|
|
|
216
|
+
const autoLoadTimeout = setTimeout(runScripts, autoLoadDuration * 1000);
|
|
130
217
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
218
|
+
eventList.forEach(function (event) {
|
|
219
|
+
window.addEventListener(event, triggerScripts, { passive: true });
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
function triggerScripts() {
|
|
223
|
+
runScripts();
|
|
224
|
+
clearTimeout(autoLoadTimeout);
|
|
225
|
+
eventList.forEach(function (event) {
|
|
226
|
+
window.removeEventListener(event, triggerScripts, { passive: true });
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function runScripts() {
|
|
231
|
+
document.querySelectorAll("script[delay]").forEach(function (scriptTag) {
|
|
232
|
+
scriptTag.setAttribute("src", scriptTag.getAttribute("delay"));
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
</script>
|
|
236
|
+
|
|
237
|
+
{% endif %}
|
|
134
238
|
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
|
|
135
239
|
<script delay="/assets/js/adBlocker.js"></script>
|
|
136
|
-
{%- endif -%}
|
|
240
|
+
{%- endif -%}
|
data/_includes/feature.html
CHANGED
|
@@ -1,38 +1,56 @@
|
|
|
1
|
-
{% assign path = page.jsonFile %}
|
|
2
|
-
|
|
3
|
-
{% assign dataToShow = jsonPath %}
|
|
1
|
+
{% assign path = page.jsonFile %} {% assign jsonPath = site.data[path] %} {%
|
|
2
|
+
assign dataToShow = jsonPath %}
|
|
4
3
|
<div class="container-fluid">
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div class="col-xl-3 col-lg-12">
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-xl-3 p-0">
|
|
8
|
+
<div class="feature">
|
|
9
|
+
<img
|
|
10
|
+
src="/assets/images/left_obj_01.png"
|
|
11
|
+
alt=""
|
|
12
|
+
{%-
|
|
13
|
+
if
|
|
14
|
+
site.crossorigin
|
|
15
|
+
-%}
|
|
16
|
+
crossorigin
|
|
17
|
+
{%-
|
|
18
|
+
endif
|
|
19
|
+
-%}
|
|
20
|
+
/>
|
|
21
|
+
<span class="site-no"> {{dataToShow.featureNo}}</span>
|
|
22
|
+
<h5 class="title">{{dataToShow.feature_title}}</h5>
|
|
23
|
+
<p class="description">{{dataToShow.feature_description}}</p>
|
|
24
|
+
</div>
|
|
18
25
|
</div>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
{% endfor %}
|
|
33
|
-
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="col-xl-9 col-lg-12">
|
|
29
|
+
<div class="row text-center">
|
|
30
|
+
{% for entry in dataToShow.featureList %}
|
|
31
|
+
<div class="col-lg-4 col-md-6 my-3">
|
|
32
|
+
<div class="card-body h-100">
|
|
33
|
+
<i loading="lazy" class="{{ entry.fa_class }} FA"></i>
|
|
34
|
+
<h5 class="card-title">{{ entry.feature_heading }}</h5>
|
|
35
|
+
<p class="card-text" style="color: #a7a7a7; font-size: 14px">
|
|
36
|
+
{{ entry.feature_text}}
|
|
37
|
+
</p>
|
|
38
|
+
</div>
|
|
34
39
|
</div>
|
|
40
|
+
{% endfor %}
|
|
41
|
+
</div>
|
|
35
42
|
</div>
|
|
43
|
+
</div>
|
|
36
44
|
</div>
|
|
37
|
-
<link
|
|
38
|
-
|
|
45
|
+
<link
|
|
46
|
+
rel="stylesheet"
|
|
47
|
+
href="{{ 'css/feature.css' | relative_url }}"
|
|
48
|
+
{%-
|
|
49
|
+
if
|
|
50
|
+
site.crossorigin
|
|
51
|
+
-%}
|
|
52
|
+
crossorigin
|
|
53
|
+
{%-
|
|
54
|
+
endif
|
|
55
|
+
-%}
|
|
56
|
+
/>
|
data/_includes/script.html
CHANGED
|
@@ -1,59 +1,508 @@
|
|
|
1
1
|
{%- if site.rollbarToken -%}
|
|
2
2
|
<script>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
+
};
|
|
9
94
|
}
|
|
10
|
-
|
|
11
|
-
|
|
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
|
+
]);
|
|
12
423
|
</script>
|
|
13
|
-
{%- endif -%}
|
|
14
|
-
{%-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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' -%}
|
|
428
|
+
<script
|
|
429
|
+
defer
|
|
430
|
+
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"
|
|
431
|
+
{%-
|
|
432
|
+
if
|
|
433
|
+
site.crossorigin
|
|
434
|
+
-%}
|
|
435
|
+
{{
|
|
436
|
+
}}
|
|
437
|
+
crossorigin
|
|
438
|
+
{%-
|
|
439
|
+
endif
|
|
440
|
+
-%}
|
|
441
|
+
></script>
|
|
20
442
|
{%- if site.safeui -%}
|
|
21
443
|
<script defer src="/assets/js/theme.js" crossorigin="anonymous"></script>
|
|
22
444
|
{%- endif -%}
|
|
23
445
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
446
|
+
<script
|
|
447
|
+
defer="defer"
|
|
448
|
+
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
|
|
449
|
+
integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
|
|
450
|
+
crossorigin="anonymous"
|
|
451
|
+
></script>
|
|
452
|
+
{{site.data.customcdns.customcdns.jsfiles}} {%- if scriptData.jsfilepaths -%}
|
|
29
453
|
{%- for path in scriptData.jsfilepaths -%}
|
|
30
|
-
<script
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
{
|
|
35
|
-
{
|
|
36
|
-
{
|
|
37
|
-
{{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{
|
|
454
|
+
<script
|
|
455
|
+
defer
|
|
456
|
+
src="{{path}}"
|
|
457
|
+
data-folderName="{{page.folderName}}"
|
|
458
|
+
data-lang="{{page.lang}}"
|
|
459
|
+
data-fileName="{{page.fileName}}"
|
|
460
|
+
data-tool="{{page.tool}}"
|
|
461
|
+
data-permalink="{{page.permalink}}"
|
|
462
|
+
{%-
|
|
463
|
+
if
|
|
464
|
+
site.crossorigin
|
|
465
|
+
-%}
|
|
466
|
+
{{
|
|
467
|
+
}}
|
|
468
|
+
crossorigin
|
|
469
|
+
{%-
|
|
470
|
+
endif
|
|
471
|
+
-%}
|
|
472
|
+
></script>
|
|
473
|
+
{%- endfor -%} {%- endif -%} {%- if scriptData.jscdns -%} {%- for item in
|
|
474
|
+
scriptData.jscdns -%} {{item | replace:"$folderName", page.folderName | replace:
|
|
475
|
+
"$fileName", page.fileName | replace: "$lang", page.lang | replace: "$tool",
|
|
476
|
+
page.tool }} {%- endfor -%} {%- endif -%} {%- if page.layout == "frame" -%} {%-
|
|
477
|
+
assign font = "PT Sans" -%} {%- endif -%} {%- if page.layout ==
|
|
478
|
+
"photo-effects-home" -%} {%- assign font = "PT Sans" -%} {%- endif -%} {%- if
|
|
479
|
+
page.layout == "calculator" -%}
|
|
51
480
|
<script defer src="/assets/js/calculator-tooltip.js"></script>
|
|
481
|
+
{%- endif -%} {%- if page.layout == 'home-1' or page.layout == "feature-1" -%}
|
|
482
|
+
{%- assign font = "Inter" -%} {%- endif -%}
|
|
483
|
+
<link
|
|
484
|
+
rel="stylesheet"
|
|
485
|
+
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
|
|
486
|
+
integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
|
|
487
|
+
crossorigin="anonymous"
|
|
488
|
+
referrerpolicy="no-referrer"
|
|
489
|
+
/>
|
|
490
|
+
{%- if page.layout == "feature" -%}
|
|
491
|
+
<script>
|
|
492
|
+
const toaster = document.querySelector(".toaster");
|
|
493
|
+
if (
|
|
494
|
+
!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
|
495
|
+
navigator.userAgent
|
|
496
|
+
)
|
|
497
|
+
) {
|
|
498
|
+
if (navigator.userAgent.indexOf("Mac OS X") != -1) {
|
|
499
|
+
toaster.innerHTML = `Press Command + D to Bookmark this page`;
|
|
500
|
+
} else {
|
|
501
|
+
toaster.innerHTML = `Press Ctrl + D to Bookmark this page`;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
setTimeout(() => {
|
|
505
|
+
toaster.style.display = "none";
|
|
506
|
+
}, 20000);
|
|
507
|
+
</script>
|
|
52
508
|
{%- endif -%}
|
|
53
|
-
|
|
54
|
-
{%- if page.layout == 'home-1' or page.layout == "feature-1" -%}
|
|
55
|
-
{%- assign font = "Inter" -%}
|
|
56
|
-
{%- endif -%}
|
|
57
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
|
|
58
|
-
integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
|
|
59
|
-
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
data/_layouts/feature.html
CHANGED
|
@@ -192,7 +192,8 @@
|
|
|
192
192
|
</div>
|
|
193
193
|
</div>
|
|
194
194
|
</section>
|
|
195
|
-
{%-
|
|
195
|
+
{%- if page.layout == "feature" -%} {%- include bookmark.html -%} {%- endif
|
|
196
|
+
-%} {%- assign showFaqs= true -%} {%- for item in site.noFaqsList -%} {%- if
|
|
196
197
|
item == page.lang -%} {%- assign showFaqs = false -%} {%- break -%} {%- else
|
|
197
198
|
-%} {%- assign showFaqs = true -%} {%- endif -%} {%- endfor -%} {%- if
|
|
198
199
|
showFaqs == true -%} {%- if featureData.FAQ.size>0 -%}
|
data/assets/css/tools.css
CHANGED
|
@@ -1309,3 +1309,20 @@ ol li::marker {
|
|
|
1309
1309
|
.audio-h2 {
|
|
1310
1310
|
font-size: 22px;
|
|
1311
1311
|
}
|
|
1312
|
+
.toaster {
|
|
1313
|
+
top: 15px;
|
|
1314
|
+
padding: 12px 20px;
|
|
1315
|
+
color: #fff;
|
|
1316
|
+
display: inline-block;
|
|
1317
|
+
box-shadow: 0 3px 6px -1px rgb(0 0 0 / 12%),
|
|
1318
|
+
0 10px 36px -4px rgb(77 96 232 / 30%);
|
|
1319
|
+
background: linear-gradient(to right, rgb(221, 36, 118), rgb(255, 81, 47));
|
|
1320
|
+
position: fixed;
|
|
1321
|
+
transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
|
|
1322
|
+
border-radius: 2px;
|
|
1323
|
+
right: 15px;
|
|
1324
|
+
cursor: pointer;
|
|
1325
|
+
text-decoration: none;
|
|
1326
|
+
max-width: calc(50% - 20px);
|
|
1327
|
+
z-index: 2147483647;
|
|
1328
|
+
}
|
data/assets/js/adBlocker.js
CHANGED
|
@@ -1,44 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
let showPop = false;
|
|
2
|
+
if (
|
|
3
|
+
!localStorage.getItem("timeDisplayed") ||
|
|
4
|
+
new Date().getTime() - localStorage.getItem("timeDisplayed") >=
|
|
5
|
+
60000 * 24 * 60
|
|
6
|
+
) {
|
|
7
|
+
showPop = true;
|
|
8
|
+
localStorage.setItem("timeDisplayed", new Date().getTime());
|
|
9
|
+
} else {
|
|
10
|
+
showPop = false;
|
|
11
|
+
}
|
|
12
|
+
let freeCount = localStorage.getItem("freeCount");
|
|
13
|
+
if (!freeCount) {
|
|
14
|
+
freeCount = 0;
|
|
15
|
+
}
|
|
16
|
+
localStorage.setItem(
|
|
17
|
+
"freeCount",
|
|
18
|
+
Number(freeCount) < 5 ? Number(freeCount) + 1 : 5
|
|
19
|
+
);
|
|
20
|
+
if (freeCount >= 5 || showPop) {
|
|
21
|
+
$(".nav-tabs a.nav-tab-link").click(function () {
|
|
22
|
+
$(".nav-tabs a.nav-tab-link").removeClass("active");
|
|
23
|
+
});
|
|
4
24
|
|
|
5
|
-
const detect = document.querySelector(
|
|
6
|
-
const wrapper = document.querySelector(
|
|
7
|
-
const closePopup = document.getElementsByClassName(
|
|
8
|
-
const extensions = document.querySelector(
|
|
25
|
+
const detect = document.querySelector("#detect");
|
|
26
|
+
const wrapper = document.querySelector(".wrapper");
|
|
27
|
+
const closePopup = document.getElementsByClassName("closePopup");
|
|
28
|
+
const extensions = document.querySelector(".extensions");
|
|
9
29
|
|
|
10
|
-
const refresh = () => {
|
|
11
|
-
|
|
12
|
-
}
|
|
30
|
+
const refresh = () => {
|
|
31
|
+
location.reload();
|
|
32
|
+
};
|
|
13
33
|
|
|
14
|
-
let adsBtn = document.querySelector(
|
|
15
|
-
adsBtn.addEventListener(
|
|
16
|
-
|
|
17
|
-
})
|
|
34
|
+
let adsBtn = document.querySelector(".allow-ads-btn");
|
|
35
|
+
adsBtn.addEventListener("click", () => {
|
|
36
|
+
extensions.classList.add("show");
|
|
37
|
+
});
|
|
18
38
|
|
|
19
|
-
let adClasses = [
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
]
|
|
29
|
-
for (let item of adClasses) {
|
|
30
|
-
|
|
31
|
-
}
|
|
39
|
+
let adClasses = [
|
|
40
|
+
"ad",
|
|
41
|
+
"ads",
|
|
42
|
+
"adsbox",
|
|
43
|
+
"doubleclick",
|
|
44
|
+
"ad-placement",
|
|
45
|
+
"ad-placeholder",
|
|
46
|
+
"adbadge",
|
|
47
|
+
"BannerAd",
|
|
48
|
+
];
|
|
49
|
+
for (let item of adClasses) {
|
|
50
|
+
detect.classList.add(item);
|
|
51
|
+
}
|
|
32
52
|
|
|
33
|
-
let getProperty = window.getComputedStyle(detect).getPropertyValue(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
53
|
+
let getProperty = window.getComputedStyle(detect).getPropertyValue("display");
|
|
54
|
+
console.log(getProperty);
|
|
55
|
+
if (!wrapper.classList.contains("show")) {
|
|
56
|
+
getProperty == "none"
|
|
57
|
+
? wrapper.classList.add("show")
|
|
58
|
+
: wrapper.classList.remove("show");
|
|
59
|
+
}
|
|
60
|
+
closePopup[0].addEventListener("click", () => {
|
|
61
|
+
wrapper.classList.remove("show");
|
|
62
|
+
localStorage.setItem("freeCount", 0);
|
|
63
|
+
});
|
|
64
|
+
closePopup[1].addEventListener("click", () => {
|
|
65
|
+
extensions.classList.remove("show");
|
|
66
|
+
localStorage.setItem("freeCount", 0);
|
|
67
|
+
});
|
|
38
68
|
}
|
|
39
|
-
closePopup[0].addEventListener('click', () => {
|
|
40
|
-
wrapper.classList.remove('show')
|
|
41
|
-
})
|
|
42
|
-
closePopup[1].addEventListener('click', () => {
|
|
43
|
-
extensions.classList.remove('show')
|
|
44
|
-
})
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appscms-tools-theme
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- vivek-appscms
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-12-
|
|
11
|
+
date: 2022-12-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -2395,6 +2395,7 @@ files:
|
|
|
2395
2395
|
- _includes/author_bio.html
|
|
2396
2396
|
- _includes/authors/authors.html
|
|
2397
2397
|
- _includes/batch-conversion.html
|
|
2398
|
+
- _includes/bookmark.html
|
|
2398
2399
|
- _includes/cssfile/links.html
|
|
2399
2400
|
- _includes/custom-head.html
|
|
2400
2401
|
- _includes/customblog/recentposts.html
|