appscms-tools-theme 4.6.2 → 4.6.3
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/_data/about/en/about.json +16 -16
- data/_data/blog/nav.json +14 -14
- data/_data/blog/relatedblogs.json +2816 -2816
- data/_data/feature/en/batch-conversion.json +192 -192
- data/_data/feature/en/compress-pdf.json +209 -305
- data/_data/feature/en/devtools.json +321 -321
- data/_data/feature/en/face-detection.json +156 -156
- data/_data/feature/en/split-pdf.json +221 -221
- data/_data/feature/en/theframe.json +160 -160
- data/_data/footer/en/data.json +2 -2
- data/_data/header/en/data.json +412 -412
- data/_data/home/en/en.json +324 -324
- data/_data/home/en/posters.json +322 -322
- data/_includes/appscms/customblog/contenttool-recent-posts.html +94 -94
- data/_includes/appscms/customblog/pageRelatedPosts.html +68 -68
- data/_includes/appscms/customblog/recentposts.html +67 -67
- data/_includes/appscms/customblog/relatedBlogs.html +82 -82
- data/_includes/appscms/customblog/relatedposts.html +193 -193
- data/_includes/appscms/extras/appscms-postbox.html +57 -57
- data/_includes/appscms/featurePageAuthors/featurePageAuthors.html +85 -85
- data/_includes/appscms/head/bloghead.html +128 -128
- data/_includes/appscms/headings/contenttool-headings.html +33 -33
- data/_includes/appscms/headings/devtool-headings.html +38 -38
- data/_includes/appscms/home/contenttool-feature-boxes.html +19 -19
- data/_includes/appscms/home/devtool-feature-boxes.html +70 -70
- data/_includes/appscms/infographics/infographics.html +166 -166
- data/_includes/appscms/loaders/loader.html +4 -4
- data/_includes/appscms/navbars/devtool-navbar.html +50 -50
- data/_includes/appscms/navbars/devtool-toolbar.html +100 -100
- data/_includes/appscms/navbars/toolbar.html +4 -17
- data/_includes/appscms/recent-posts/recent_posts.html +90 -90
- data/_includes/appscms/recent-posts/related_categories_post.html +194 -194
- data/_includes/appscms/searchbar/devtool-searchbar.html +63 -63
- data/_includes/appscms/usp/usp.html +90 -90
- data/_includes/author_bio.html +41 -41
- data/_includes/authorpagehead/index.html +47 -47
- data/_includes/authors/authors.html +39 -39
- data/_includes/batch-conversion.html +141 -141
- data/_includes/bookmark.html +6 -6
- data/_includes/cssfile/links.html +54 -54
- data/_includes/custom-head.html +138 -138
- data/_includes/customCode.html +1 -1
- data/_includes/customScripts.html +1 -1
- data/_includes/customblog/pageRelatedPosts.html +87 -87
- data/_includes/customblog/recentposts.html +67 -67
- data/_includes/customblog/relatedBlogs.html +86 -86
- data/_includes/customblog/relatedposts.html +201 -201
- data/_includes/dropdown/langdropdown.html +32 -32
- data/_includes/feature.html +39 -39
- data/_includes/featurePageAuthors/featurePageAuthors.html +101 -101
- data/_includes/footer/index.html +537 -537
- data/_includes/google-analytics.html +32 -32
- data/_includes/head/index.html +623 -623
- data/_includes/header/blogHeader.html +34 -34
- data/_includes/header/index.html +192 -192
- data/_includes/infographics/infographics.html +241 -241
- data/_includes/paginationBlogPage.html +70 -70
- data/_includes/postbox.html +65 -65
- data/_includes/script.html +493 -493
- data/_includes/section/count.html +32 -32
- data/_includes/section/recent_posts.html +94 -94
- data/_includes/section/related_categories_post.html +196 -196
- data/_includes/share/socialshare.html +21 -21
- data/_includes/userTracking.html +14 -14
- data/_layouts/aboutUs.html +175 -175
- data/_layouts/allAuthors.html +131 -131
- data/_layouts/appscms-about.html +163 -163
- data/_layouts/appscms-audio.html +33 -33
- data/_layouts/appscms-author.html +436 -436
- data/_layouts/appscms-authors.html +145 -145
- data/_layouts/appscms-batch.html +141 -141
- data/_layouts/appscms-calculator.html +93 -93
- data/_layouts/appscms-categories.html +26 -26
- data/_layouts/appscms-contact.html +132 -132
- data/_layouts/appscms-disclaimer.html +124 -124
- data/_layouts/appscms-download.html +289 -289
- data/_layouts/appscms-feature-result.html +96 -96
- data/_layouts/appscms-help.html +25 -25
- data/_layouts/appscms-imagekit.html +96 -96
- data/_layouts/appscms-post.html +243 -243
- data/_layouts/appscms-privacy-policy.html +781 -781
- data/_layouts/appscms-terms-and-conditions.html +646 -646
- data/_layouts/appscms-video.html +33 -33
- data/_layouts/audio.html +33 -33
- data/_layouts/author.html +409 -409
- data/_layouts/batch.html +177 -177
- data/_layouts/blog-1.html +116 -116
- data/_layouts/blog.html +131 -131
- data/_layouts/calculator.html +99 -99
- data/_layouts/contenttool-feature.html +45 -45
- data/_layouts/contenttool-home.html +53 -53
- data/_layouts/devtool-blog.html +132 -132
- data/_layouts/devtool-feature.html +54 -54
- data/_layouts/devtool-home.html +53 -53
- data/_layouts/devtools.html +57 -57
- data/_layouts/feature-1.html +406 -406
- data/_layouts/feature.html +351 -351
- data/_layouts/featureResultPage.html +82 -82
- data/_layouts/frame.html +222 -222
- data/_layouts/home.html +281 -281
- data/_layouts/homeResultPage.html +32 -32
- data/_layouts/imagekit.html +308 -308
- data/_layouts/photo-effects-home.html +190 -190
- data/_layouts/post.html +233 -233
- data/assets/app.js +75 -75
- data/assets/css/appscms-blog.css +505 -505
- data/assets/css/appscms-contenttool.css +1384 -1384
- data/assets/css/appscms-home.css +5 -5
- data/assets/css/appscms-imagekit.css +855 -855
- data/assets/css/appscms-variables.css +19 -19
- data/assets/css/blog.css +510 -510
- data/assets/css/calculators.css +46 -46
- data/assets/css/devtool-main.css +1350 -1350
- data/assets/css/devtools.css +105 -105
- data/assets/css/feature-1.css +293 -293
- data/assets/css/imagekit copy.css +848 -848
- data/assets/css/imagekit.css +848 -848
- data/assets/css/tools.css +1847 -1847
- data/assets/images/close-button.svg +31 -31
- data/assets/images/digipaint.svg +6 -6
- data/assets/images/logo.svg +2 -2
- data/assets/images/manthink.svg +3552 -3552
- data/assets/images/search-icon.svg +2 -2
- data/assets/js/batch.js +219 -219
- data/assets/js/devtools.js +81 -81
- data/assets/js/sharePage.js +65 -65
- data/assets/js/usageTracking.js +143 -143
- data/assets/js/usageTrackingEvents.js +6 -6
- data/assets/js/webvitals.js +4 -4
- metadata +3 -3
|
@@ -1,290 +1,290 @@
|
|
|
1
|
-
{% assign file = page.fileName %}
|
|
2
|
-
{% assign lang = page.lang %}
|
|
3
|
-
{% assign folder = page.folderName %}
|
|
4
|
-
{% assign downloadData= site.data[folder][lang][file] %}
|
|
5
|
-
<!DOCTYPE html>
|
|
6
|
-
<html lang="{{homeData.htmlLangAtt}}">
|
|
7
|
-
{%- include appscms/head/head.html -%}
|
|
8
|
-
<body>
|
|
9
|
-
{%- include appscms/navbars/navbar.html -%} {%- include
|
|
10
|
-
appscms/navbars/toolbar.html -%}
|
|
11
|
-
<div class="container">
|
|
12
|
-
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
|
13
|
-
<div class="row">
|
|
14
|
-
<div class="col-md-9 mx-auto">
|
|
15
|
-
{%- endif -%}
|
|
16
|
-
<div class="appscms-download-section">
|
|
17
|
-
<div class="row">
|
|
18
|
-
<div class="col-md-12 px-0">
|
|
19
|
-
<div class="success-msg-cont mb-0 ">
|
|
20
|
-
<div class="success-greeting">
|
|
21
|
-
<p class="success-msg"> {{downloadData.successmessage | default: 'Hurray! your operation was
|
|
22
|
-
completed'
|
|
23
|
-
}}
|
|
24
|
-
</p>
|
|
25
|
-
</div>
|
|
26
|
-
<div class="go-back-block">
|
|
27
|
-
<button id="processing-btn"> <span class="button-loader"></span> Try processing another file</button>
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
</div>
|
|
31
|
-
<!-- <div class="col-lg-7 col-md-9 col-sm-11 text-center mx-auto">
|
|
32
|
-
<img id="rating-img" loading='lazy' src="/assets/images/rating.png" alt="rating-img" {%- if
|
|
33
|
-
site.crossorigin -%} crossorigin {%- endif -%}>
|
|
34
|
-
<div class="rating-tool" style="border: none;">
|
|
35
|
-
<div class="rating-text mr-2">{{downloadData.rateus | default: 'Rate us'}}: </div>
|
|
36
|
-
<div class="rating-stars">
|
|
37
|
-
<i class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
|
|
38
|
-
class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
|
|
39
|
-
class="fas fa-star rating-star"></i>
|
|
40
|
-
</div>
|
|
41
|
-
<div class="rating-value ml-2">
|
|
42
|
-
{%- for item in data -%}
|
|
43
|
-
{%- if item.name ==tool -%}
|
|
44
|
-
{%- assign rating = item.rating -%}
|
|
45
|
-
{%- assign votes = item.votes -%}
|
|
46
|
-
{%- endif -%}
|
|
47
|
-
{%- endfor -%}
|
|
48
|
-
<span class="rating"> <span id='rating'>0</span><span>/5</span> </span>
|
|
49
|
-
<span class="total-ratings" id='count'>0 </span>{{downloadData.votes | default: 'votes'}}
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
<script>
|
|
53
|
-
const ratingValue = document.getElementById('rating')
|
|
54
|
-
const count = document.getElementById('count')
|
|
55
|
-
const setRating = async (rating) => {
|
|
56
|
-
const name = '{{site.name}}'
|
|
57
|
-
const urlParams = new URLSearchParams(window.location.search)
|
|
58
|
-
let tool = urlParams.get('tool')
|
|
59
|
-
const data = { website: name, feature: tool, rating: rating };
|
|
60
|
-
fetch('https://ratingapi-main.netlify.app/.netlify/functions/api/v1/rating/add', {
|
|
61
|
-
method: 'POST',
|
|
62
|
-
headers: {
|
|
63
|
-
'Content-Type': 'application/json',
|
|
64
|
-
},
|
|
65
|
-
body: JSON.stringify(data),
|
|
66
|
-
})
|
|
67
|
-
.then(response => response.json())
|
|
68
|
-
.then(data => {
|
|
69
|
-
ratingValue.innerText = data.rating
|
|
70
|
-
count.innerText = data.count
|
|
71
|
-
})
|
|
72
|
-
.catch((error) => {
|
|
73
|
-
console.error('Error:', error);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
const urlParams = new URLSearchParams(window.location.search)
|
|
77
|
-
let tool = urlParams.get('tool')
|
|
78
|
-
const fetchRating = async () => {
|
|
79
|
-
const data = await fetch(`https://ratingapi-main.netlify.app/.netlify/functions/api/v1/${tool}/rating`).then(res => res.json())
|
|
80
|
-
ratingValue.innerText = data.rating
|
|
81
|
-
count.innerText = data.votes
|
|
82
|
-
}
|
|
83
|
-
let ratingImg = document.querySelector('#rating-img');
|
|
84
|
-
ratingImg.addEventListener('load', (event) => {
|
|
85
|
-
fetchRating()
|
|
86
|
-
});
|
|
87
|
-
const ratingNode = document.getElementsByClassName('rating-star')
|
|
88
|
-
let ratedValue = localStorage.getItem(`${tool}rating`)
|
|
89
|
-
if (ratedValue) {
|
|
90
|
-
Array.from(ratingNode).slice(0, ratedValue).map(item => {
|
|
91
|
-
item.style.color = '#FF8A1F'
|
|
92
|
-
})
|
|
93
|
-
}
|
|
94
|
-
Array.from(ratingNode).map(item => item.addEventListener('click', () => {
|
|
95
|
-
const urlParams = new URLSearchParams(window.location.search)
|
|
96
|
-
let tool = urlParams.get('tool')
|
|
97
|
-
if (!localStorage.getItem(`${tool}rating`)) {
|
|
98
|
-
function indexInClass(node) {
|
|
99
|
-
var className = node.className;
|
|
100
|
-
var num = 0;
|
|
101
|
-
for (var i = 0; i < ratingNode.length; i++) {
|
|
102
|
-
if (ratingNode[i] === node) {
|
|
103
|
-
return num;
|
|
104
|
-
}
|
|
105
|
-
num++;
|
|
106
|
-
}
|
|
107
|
-
return -1;
|
|
108
|
-
}
|
|
109
|
-
const index = indexInClass(item)
|
|
110
|
-
Array.from(ratingNode).slice(0, index + 1).map(item => {
|
|
111
|
-
item.style.color = '#FF8A1F'
|
|
112
|
-
})
|
|
113
|
-
setRating(index + 1)
|
|
114
|
-
localStorage.setItem(`${tool}rating`, index + 1)
|
|
115
|
-
}
|
|
116
|
-
}))
|
|
117
|
-
</script>
|
|
118
|
-
</div> -->
|
|
119
|
-
<div class="try-more-features mt-4 ">
|
|
120
|
-
<h2 class="appscms-heading"> {{downloadData.tryfeatureheading | default: 'You can also
|
|
121
|
-
try
|
|
122
|
-
These features'
|
|
123
|
-
}} </h2>
|
|
124
|
-
<div class="feature-showcase row">
|
|
125
|
-
{%- if downloadData.recommendedfeatures -%}
|
|
126
|
-
{%- for item in downloadData.recommendedfeatures -%}
|
|
127
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
128
|
-
|
|
129
|
-
<a class="px-2 feature-showcase-div w-100 d-flex justify-content-between " href="{{item.url}}">
|
|
130
|
-
<img src="{{item.logo}}" loading="lazy" alt="feature-logo" {%- if site.crossorigin -%}
|
|
131
|
-
crossorigin="anonymous" {%- endif -%}> <span class="ml-3 ">
|
|
132
|
-
{{item.name}}</span> </a>
|
|
133
|
-
</div>
|
|
134
|
-
{%- endfor -%}
|
|
135
|
-
{%- else -%}
|
|
136
|
-
code2
|
|
137
|
-
{%- endif -%}
|
|
138
|
-
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
</div>
|
|
142
|
-
|
|
143
|
-
{%- if downloadData.recommendedsitesheading -%}
|
|
144
|
-
<p class="appscms-heading col-12">{{downloadData.recommendedsitesheading}}</p>
|
|
145
|
-
{%- else -%}
|
|
146
|
-
<p class="appscms-heading col-12">Try our other sites for safe processing of you files ! </p>
|
|
147
|
-
{%- endif -%}
|
|
148
|
-
<div class="row w-100 px-3 website-showcases">
|
|
149
|
-
{%- if downloadData.recommendedsites -%}
|
|
150
|
-
{%- assign recommendedsitesData = downloadData.recommendedsites -%}
|
|
151
|
-
{%- for item in recommendedsitesData -%}
|
|
152
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
153
|
-
<div class="website-showcase">
|
|
154
|
-
<img loading='lazy' class="website-img" src="{{item.logo}}" alt="{{item.name}} logo" {%- if
|
|
155
|
-
site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a target="_blank"
|
|
156
|
-
href="{{item.url}}">{{item.name}}</a>
|
|
157
|
-
</div>
|
|
158
|
-
</div>
|
|
159
|
-
{%- endfor -%}
|
|
160
|
-
{%- else -%}
|
|
161
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
162
|
-
<div class="website-showcase">
|
|
163
|
-
<img loading='lazy' class="website-img"
|
|
164
|
-
src="https://d33wubrfki0l68.cloudfront.net/0623ca017395ac8b757b16b645ff38a89963b01b/a43c6/assets/logo.svg"
|
|
165
|
-
alt="safepdfkitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
166
|
-
target="_blank" href="https://safepdfkit.com">Safepdfkit.com</a>
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
170
|
-
<div class="website-showcase">
|
|
171
|
-
<img class="website-img" loading='lazy'
|
|
172
|
-
src="https://d33wubrfki0l68.cloudfront.net/796c1a01dae9c2d10224fd72a820156974b26ab1/3b885/assets/images/logo.png"
|
|
173
|
-
alt="Safeaudiokit-logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
174
|
-
target="_blank" href="https://safeaudiokit.com">safeaudiokit.com</a>
|
|
175
|
-
</div>
|
|
176
|
-
</div>
|
|
177
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
178
|
-
<div class="website-showcase">
|
|
179
|
-
<img class="website-img" loading="lazy"
|
|
180
|
-
src="https://d33wubrfki0l68.cloudfront.net/ab0207d780c019c54db62b002396bc8c3fddddaf/9abb9/assets/safevideokit.svg"
|
|
181
|
-
alt="Safevideokitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
182
|
-
target="_blank" href="https://safevideokit.com">safevideokit.com</a>
|
|
183
|
-
</div>
|
|
184
|
-
</div>
|
|
185
|
-
<div class="col-md-4 col-sm-6 col-6 ">
|
|
186
|
-
<div class="website-showcase">
|
|
187
|
-
<img loading='lazy' class="website-img"
|
|
188
|
-
src="https://d33wubrfki0l68.cloudfront.net/2e37a1020563aa528471da7425b8e58343e2baf7/a186c/picture.png"
|
|
189
|
-
alt="Safeimagekitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
190
|
-
target="_blank" href="https://safeimagekit.com/">safeimagekit.com</a>
|
|
191
|
-
</div>
|
|
192
|
-
</div>
|
|
193
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
194
|
-
<div class="website-showcase">
|
|
195
|
-
<img loading='lazy' class="website-img"
|
|
196
|
-
src="https://d33wubrfki0l68.cloudfront.net/74bf3f3836d56b30d16137169cd4c28bf15494ed/11962/js/pt.png"
|
|
197
|
-
alt="safezipkitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
198
|
-
target="_blank" href="https://safezipkit.com/">safezipkit.com</a>
|
|
199
|
-
</div>
|
|
200
|
-
</div>
|
|
201
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
202
|
-
<div class="website-showcase">
|
|
203
|
-
<img loading='lazy' class="website-img"
|
|
204
|
-
src="https://d33wubrfki0l68.cloudfront.net/325cdfad7de6cae4a03aecfadc70b38af754cbd0/d87f9/assets/images/logo.png"
|
|
205
|
-
alt="Safeimageconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
206
|
-
target="_blank" href="https://safeaudioconverter.com/">
|
|
207
|
-
safeaudioconverter.com
|
|
208
|
-
|
|
209
|
-
</a>
|
|
210
|
-
</div>
|
|
211
|
-
</div>
|
|
212
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
213
|
-
<div class="website-showcase">
|
|
214
|
-
<img loading='lazy' class="website-img" src="/assets//images/safevideoconverter.svg"
|
|
215
|
-
alt="safevideoconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
216
|
-
target="_blank" href="https://safevideoconverter.com/">safevideoconverter.com</a>
|
|
217
|
-
</div>
|
|
218
|
-
</div>
|
|
219
|
-
<div class="col-md-4 col-sm-6 col-6">
|
|
220
|
-
<div class="website-showcase">
|
|
221
|
-
<img loading='lazy' class="website-img"
|
|
222
|
-
src="https://d33wubrfki0l68.cloudfront.net/c8fef6be5192b9fa57b8503c6ad93befa361926d/a66d0/picture.svg"
|
|
223
|
-
alt="safeimageconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
224
|
-
target="_blank" href="https://safeimageconverter.com/">safeimageconverter</a>
|
|
225
|
-
</div>
|
|
226
|
-
</div>
|
|
227
|
-
{%- endif -%}
|
|
228
|
-
|
|
229
|
-
</div>
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
</div>
|
|
233
|
-
</div>
|
|
234
|
-
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
|
235
|
-
|
|
236
|
-
</div>
|
|
237
|
-
</div>
|
|
238
|
-
</div>
|
|
239
|
-
{%- endif -%}
|
|
240
|
-
|
|
241
|
-
</div>
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
<div class="download-social-share">
|
|
245
|
-
<div class="container">
|
|
246
|
-
<div class="row">
|
|
247
|
-
<div class="col-md-12 mx-auto">
|
|
248
|
-
<div class="row">
|
|
249
|
-
<div class="col-md-8">
|
|
250
|
-
<p class=" share-heading mb-0 " >
|
|
251
|
-
{%- if downloadData.socialshareheading -%}
|
|
252
|
-
{{downloadData.socialshareheading}}
|
|
253
|
-
{%- else -%}
|
|
254
|
-
we are a free to use platform for safe processing of your files. We need to your support to grow. Help us by sharing us on social media. Thanks !
|
|
255
|
-
{%- endif -%}
|
|
256
|
-
</p>
|
|
257
|
-
</div>
|
|
258
|
-
<div class="col-md-4">
|
|
259
|
-
{%- if site.data.blog.share.platforms -%}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
<div class="share-icons">
|
|
263
|
-
{% assign url = site.url %}
|
|
264
|
-
{% for share in site.data.blog.share.platforms %}
|
|
265
|
-
{% assign link = share.link | replace: 'URL', url %}
|
|
266
|
-
{{page.title}}
|
|
267
|
-
<a id=" {{share.type}}" href="{{ link }}" data-toggle="tooltip"
|
|
268
|
-
onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
|
|
269
|
-
data-placement="top" title="{{ share.type }}" aria-label="{{ share.type }}">
|
|
270
|
-
<i class="fa-fw {{ share.icon }} mb-0"></i>
|
|
271
|
-
</a>
|
|
272
|
-
{% endfor %}
|
|
273
|
-
</div>
|
|
274
|
-
</ul>
|
|
275
|
-
|
|
276
|
-
{%- endif -%}
|
|
277
|
-
</div>
|
|
278
|
-
|
|
279
|
-
</div>
|
|
280
|
-
</div>
|
|
281
|
-
</div>
|
|
282
|
-
</div>
|
|
283
|
-
</div>
|
|
284
|
-
|
|
285
|
-
{% include appscms/footer/footer.html %}
|
|
286
|
-
{% include appscms/scripts/script.html %}
|
|
287
|
-
|
|
288
|
-
</body>
|
|
289
|
-
|
|
1
|
+
{% assign file = page.fileName %}
|
|
2
|
+
{% assign lang = page.lang %}
|
|
3
|
+
{% assign folder = page.folderName %}
|
|
4
|
+
{% assign downloadData= site.data[folder][lang][file] %}
|
|
5
|
+
<!DOCTYPE html>
|
|
6
|
+
<html lang="{{homeData.htmlLangAtt}}">
|
|
7
|
+
{%- include appscms/head/head.html -%}
|
|
8
|
+
<body>
|
|
9
|
+
{%- include appscms/navbars/navbar.html -%} {%- include
|
|
10
|
+
appscms/navbars/toolbar.html -%}
|
|
11
|
+
<div class="container">
|
|
12
|
+
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
|
13
|
+
<div class="row">
|
|
14
|
+
<div class="col-md-9 mx-auto">
|
|
15
|
+
{%- endif -%}
|
|
16
|
+
<div class="appscms-download-section">
|
|
17
|
+
<div class="row">
|
|
18
|
+
<div class="col-md-12 px-0">
|
|
19
|
+
<div class="success-msg-cont mb-0 ">
|
|
20
|
+
<div class="success-greeting">
|
|
21
|
+
<p class="success-msg"> {{downloadData.successmessage | default: 'Hurray! your operation was
|
|
22
|
+
completed'
|
|
23
|
+
}}
|
|
24
|
+
</p>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="go-back-block">
|
|
27
|
+
<button id="processing-btn"> <span class="button-loader"></span> Try processing another file</button>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
</div>
|
|
31
|
+
<!-- <div class="col-lg-7 col-md-9 col-sm-11 text-center mx-auto">
|
|
32
|
+
<img id="rating-img" loading='lazy' src="/assets/images/rating.png" alt="rating-img" {%- if
|
|
33
|
+
site.crossorigin -%} crossorigin {%- endif -%}>
|
|
34
|
+
<div class="rating-tool" style="border: none;">
|
|
35
|
+
<div class="rating-text mr-2">{{downloadData.rateus | default: 'Rate us'}}: </div>
|
|
36
|
+
<div class="rating-stars">
|
|
37
|
+
<i class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
|
|
38
|
+
class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
|
|
39
|
+
class="fas fa-star rating-star"></i>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="rating-value ml-2">
|
|
42
|
+
{%- for item in data -%}
|
|
43
|
+
{%- if item.name ==tool -%}
|
|
44
|
+
{%- assign rating = item.rating -%}
|
|
45
|
+
{%- assign votes = item.votes -%}
|
|
46
|
+
{%- endif -%}
|
|
47
|
+
{%- endfor -%}
|
|
48
|
+
<span class="rating"> <span id='rating'>0</span><span>/5</span> </span>
|
|
49
|
+
<span class="total-ratings" id='count'>0 </span>{{downloadData.votes | default: 'votes'}}
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
<script>
|
|
53
|
+
const ratingValue = document.getElementById('rating')
|
|
54
|
+
const count = document.getElementById('count')
|
|
55
|
+
const setRating = async (rating) => {
|
|
56
|
+
const name = '{{site.name}}'
|
|
57
|
+
const urlParams = new URLSearchParams(window.location.search)
|
|
58
|
+
let tool = urlParams.get('tool')
|
|
59
|
+
const data = { website: name, feature: tool, rating: rating };
|
|
60
|
+
fetch('https://ratingapi-main.netlify.app/.netlify/functions/api/v1/rating/add', {
|
|
61
|
+
method: 'POST',
|
|
62
|
+
headers: {
|
|
63
|
+
'Content-Type': 'application/json',
|
|
64
|
+
},
|
|
65
|
+
body: JSON.stringify(data),
|
|
66
|
+
})
|
|
67
|
+
.then(response => response.json())
|
|
68
|
+
.then(data => {
|
|
69
|
+
ratingValue.innerText = data.rating
|
|
70
|
+
count.innerText = data.count
|
|
71
|
+
})
|
|
72
|
+
.catch((error) => {
|
|
73
|
+
console.error('Error:', error);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const urlParams = new URLSearchParams(window.location.search)
|
|
77
|
+
let tool = urlParams.get('tool')
|
|
78
|
+
const fetchRating = async () => {
|
|
79
|
+
const data = await fetch(`https://ratingapi-main.netlify.app/.netlify/functions/api/v1/${tool}/rating`).then(res => res.json())
|
|
80
|
+
ratingValue.innerText = data.rating
|
|
81
|
+
count.innerText = data.votes
|
|
82
|
+
}
|
|
83
|
+
let ratingImg = document.querySelector('#rating-img');
|
|
84
|
+
ratingImg.addEventListener('load', (event) => {
|
|
85
|
+
fetchRating()
|
|
86
|
+
});
|
|
87
|
+
const ratingNode = document.getElementsByClassName('rating-star')
|
|
88
|
+
let ratedValue = localStorage.getItem(`${tool}rating`)
|
|
89
|
+
if (ratedValue) {
|
|
90
|
+
Array.from(ratingNode).slice(0, ratedValue).map(item => {
|
|
91
|
+
item.style.color = '#FF8A1F'
|
|
92
|
+
})
|
|
93
|
+
}
|
|
94
|
+
Array.from(ratingNode).map(item => item.addEventListener('click', () => {
|
|
95
|
+
const urlParams = new URLSearchParams(window.location.search)
|
|
96
|
+
let tool = urlParams.get('tool')
|
|
97
|
+
if (!localStorage.getItem(`${tool}rating`)) {
|
|
98
|
+
function indexInClass(node) {
|
|
99
|
+
var className = node.className;
|
|
100
|
+
var num = 0;
|
|
101
|
+
for (var i = 0; i < ratingNode.length; i++) {
|
|
102
|
+
if (ratingNode[i] === node) {
|
|
103
|
+
return num;
|
|
104
|
+
}
|
|
105
|
+
num++;
|
|
106
|
+
}
|
|
107
|
+
return -1;
|
|
108
|
+
}
|
|
109
|
+
const index = indexInClass(item)
|
|
110
|
+
Array.from(ratingNode).slice(0, index + 1).map(item => {
|
|
111
|
+
item.style.color = '#FF8A1F'
|
|
112
|
+
})
|
|
113
|
+
setRating(index + 1)
|
|
114
|
+
localStorage.setItem(`${tool}rating`, index + 1)
|
|
115
|
+
}
|
|
116
|
+
}))
|
|
117
|
+
</script>
|
|
118
|
+
</div> -->
|
|
119
|
+
<div class="try-more-features mt-4 ">
|
|
120
|
+
<h2 class="appscms-heading"> {{downloadData.tryfeatureheading | default: 'You can also
|
|
121
|
+
try
|
|
122
|
+
These features'
|
|
123
|
+
}} </h2>
|
|
124
|
+
<div class="feature-showcase row">
|
|
125
|
+
{%- if downloadData.recommendedfeatures -%}
|
|
126
|
+
{%- for item in downloadData.recommendedfeatures -%}
|
|
127
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
128
|
+
|
|
129
|
+
<a class="px-2 feature-showcase-div w-100 d-flex justify-content-between " href="{{item.url}}">
|
|
130
|
+
<img src="{{item.logo}}" loading="lazy" alt="feature-logo" {%- if site.crossorigin -%}
|
|
131
|
+
crossorigin="anonymous" {%- endif -%}> <span class="ml-3 ">
|
|
132
|
+
{{item.name}}</span> </a>
|
|
133
|
+
</div>
|
|
134
|
+
{%- endfor -%}
|
|
135
|
+
{%- else -%}
|
|
136
|
+
code2
|
|
137
|
+
{%- endif -%}
|
|
138
|
+
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
{%- if downloadData.recommendedsitesheading -%}
|
|
144
|
+
<p class="appscms-heading col-12">{{downloadData.recommendedsitesheading}}</p>
|
|
145
|
+
{%- else -%}
|
|
146
|
+
<p class="appscms-heading col-12">Try our other sites for safe processing of you files ! </p>
|
|
147
|
+
{%- endif -%}
|
|
148
|
+
<div class="row w-100 px-3 website-showcases">
|
|
149
|
+
{%- if downloadData.recommendedsites -%}
|
|
150
|
+
{%- assign recommendedsitesData = downloadData.recommendedsites -%}
|
|
151
|
+
{%- for item in recommendedsitesData -%}
|
|
152
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
153
|
+
<div class="website-showcase">
|
|
154
|
+
<img loading='lazy' class="website-img" src="{{item.logo}}" alt="{{item.name}} logo" {%- if
|
|
155
|
+
site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a target="_blank"
|
|
156
|
+
href="{{item.url}}">{{item.name}}</a>
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
{%- endfor -%}
|
|
160
|
+
{%- else -%}
|
|
161
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
162
|
+
<div class="website-showcase">
|
|
163
|
+
<img loading='lazy' class="website-img"
|
|
164
|
+
src="https://d33wubrfki0l68.cloudfront.net/0623ca017395ac8b757b16b645ff38a89963b01b/a43c6/assets/logo.svg"
|
|
165
|
+
alt="safepdfkitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
166
|
+
target="_blank" href="https://safepdfkit.com">Safepdfkit.com</a>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
170
|
+
<div class="website-showcase">
|
|
171
|
+
<img class="website-img" loading='lazy'
|
|
172
|
+
src="https://d33wubrfki0l68.cloudfront.net/796c1a01dae9c2d10224fd72a820156974b26ab1/3b885/assets/images/logo.png"
|
|
173
|
+
alt="Safeaudiokit-logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
174
|
+
target="_blank" href="https://safeaudiokit.com">safeaudiokit.com</a>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
178
|
+
<div class="website-showcase">
|
|
179
|
+
<img class="website-img" loading="lazy"
|
|
180
|
+
src="https://d33wubrfki0l68.cloudfront.net/ab0207d780c019c54db62b002396bc8c3fddddaf/9abb9/assets/safevideokit.svg"
|
|
181
|
+
alt="Safevideokitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
182
|
+
target="_blank" href="https://safevideokit.com">safevideokit.com</a>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
<div class="col-md-4 col-sm-6 col-6 ">
|
|
186
|
+
<div class="website-showcase">
|
|
187
|
+
<img loading='lazy' class="website-img"
|
|
188
|
+
src="https://d33wubrfki0l68.cloudfront.net/2e37a1020563aa528471da7425b8e58343e2baf7/a186c/picture.png"
|
|
189
|
+
alt="Safeimagekitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
190
|
+
target="_blank" href="https://safeimagekit.com/">safeimagekit.com</a>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
194
|
+
<div class="website-showcase">
|
|
195
|
+
<img loading='lazy' class="website-img"
|
|
196
|
+
src="https://d33wubrfki0l68.cloudfront.net/74bf3f3836d56b30d16137169cd4c28bf15494ed/11962/js/pt.png"
|
|
197
|
+
alt="safezipkitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
198
|
+
target="_blank" href="https://safezipkit.com/">safezipkit.com</a>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
202
|
+
<div class="website-showcase">
|
|
203
|
+
<img loading='lazy' class="website-img"
|
|
204
|
+
src="https://d33wubrfki0l68.cloudfront.net/325cdfad7de6cae4a03aecfadc70b38af754cbd0/d87f9/assets/images/logo.png"
|
|
205
|
+
alt="Safeimageconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
206
|
+
target="_blank" href="https://safeaudioconverter.com/">
|
|
207
|
+
safeaudioconverter.com
|
|
208
|
+
|
|
209
|
+
</a>
|
|
210
|
+
</div>
|
|
211
|
+
</div>
|
|
212
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
213
|
+
<div class="website-showcase">
|
|
214
|
+
<img loading='lazy' class="website-img" src="/assets//images/safevideoconverter.svg"
|
|
215
|
+
alt="safevideoconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
216
|
+
target="_blank" href="https://safevideoconverter.com/">safevideoconverter.com</a>
|
|
217
|
+
</div>
|
|
218
|
+
</div>
|
|
219
|
+
<div class="col-md-4 col-sm-6 col-6">
|
|
220
|
+
<div class="website-showcase">
|
|
221
|
+
<img loading='lazy' class="website-img"
|
|
222
|
+
src="https://d33wubrfki0l68.cloudfront.net/c8fef6be5192b9fa57b8503c6ad93befa361926d/a66d0/picture.svg"
|
|
223
|
+
alt="safeimageconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
224
|
+
target="_blank" href="https://safeimageconverter.com/">safeimageconverter</a>
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
{%- endif -%}
|
|
228
|
+
|
|
229
|
+
</div>
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
</div>
|
|
233
|
+
</div>
|
|
234
|
+
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
|
235
|
+
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
238
|
+
</div>
|
|
239
|
+
{%- endif -%}
|
|
240
|
+
|
|
241
|
+
</div>
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
<div class="download-social-share">
|
|
245
|
+
<div class="container">
|
|
246
|
+
<div class="row">
|
|
247
|
+
<div class="col-md-12 mx-auto">
|
|
248
|
+
<div class="row">
|
|
249
|
+
<div class="col-md-8">
|
|
250
|
+
<p class=" share-heading mb-0 " >
|
|
251
|
+
{%- if downloadData.socialshareheading -%}
|
|
252
|
+
{{downloadData.socialshareheading}}
|
|
253
|
+
{%- else -%}
|
|
254
|
+
we are a free to use platform for safe processing of your files. We need to your support to grow. Help us by sharing us on social media. Thanks !
|
|
255
|
+
{%- endif -%}
|
|
256
|
+
</p>
|
|
257
|
+
</div>
|
|
258
|
+
<div class="col-md-4">
|
|
259
|
+
{%- if site.data.blog.share.platforms -%}
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
<div class="share-icons">
|
|
263
|
+
{% assign url = site.url %}
|
|
264
|
+
{% for share in site.data.blog.share.platforms %}
|
|
265
|
+
{% assign link = share.link | replace: 'URL', url %}
|
|
266
|
+
{{page.title}}
|
|
267
|
+
<a id=" {{share.type}}" href="{{ link }}" data-toggle="tooltip"
|
|
268
|
+
onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
|
|
269
|
+
data-placement="top" title="{{ share.type }}" aria-label="{{ share.type }}">
|
|
270
|
+
<i class="fa-fw {{ share.icon }} mb-0"></i>
|
|
271
|
+
</a>
|
|
272
|
+
{% endfor %}
|
|
273
|
+
</div>
|
|
274
|
+
</ul>
|
|
275
|
+
|
|
276
|
+
{%- endif -%}
|
|
277
|
+
</div>
|
|
278
|
+
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
</div>
|
|
284
|
+
|
|
285
|
+
{% include appscms/footer/footer.html %}
|
|
286
|
+
{% include appscms/scripts/script.html %}
|
|
287
|
+
|
|
288
|
+
</body>
|
|
289
|
+
|
|
290
290
|
</html>
|