appscms-tools-theme 4.7.7 → 4.7.8

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.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/_data/about/en/about.json +16 -16
  3. data/_data/blog/nav.json +14 -14
  4. data/_data/blog/relatedblogs.json +2816 -2816
  5. data/_data/feature/en/batch-conversion.json +192 -192
  6. data/_data/feature/en/compress-pdf.json +223 -223
  7. data/_data/feature/en/devtools.json +321 -321
  8. data/_data/feature/en/face-detection.json +156 -156
  9. data/_data/feature/en/split-pdf.json +221 -221
  10. data/_data/feature/en/theframe.json +160 -160
  11. data/_data/footer/en/data.json +264 -264
  12. data/_data/header/en/data.json +672 -672
  13. data/_data/home/en/en.json +250 -250
  14. data/_data/home/en/posters.json +322 -322
  15. data/_data/home-1/en/en.json +236 -236
  16. data/_includes/alternates/alternates.html +88 -88
  17. data/_includes/appscms/customblog/contenttool-recent-posts.html +94 -94
  18. data/_includes/appscms/customblog/pageRelatedPosts.html +68 -68
  19. data/_includes/appscms/customblog/recentposts.html +67 -67
  20. data/_includes/appscms/customblog/relatedBlogs.html +82 -82
  21. data/_includes/appscms/customblog/relatedposts.html +193 -193
  22. data/_includes/appscms/extras/appscms-postbox.html +57 -57
  23. data/_includes/appscms/featurePageAuthors/featurePageAuthors.html +85 -85
  24. data/_includes/appscms/head/bloghead.html +128 -128
  25. data/_includes/appscms/headings/contenttool-headings.html +33 -33
  26. data/_includes/appscms/headings/devtool-headings.html +38 -38
  27. data/_includes/appscms/home/contenttool-feature-boxes.html +19 -19
  28. data/_includes/appscms/home/devtool-feature-boxes.html +70 -70
  29. data/_includes/appscms/infographics/infographics.html +160 -160
  30. data/_includes/appscms/loaders/loader.html +4 -4
  31. data/_includes/appscms/navbars/devtool-navbar.html +50 -50
  32. data/_includes/appscms/navbars/devtool-toolbar.html +100 -100
  33. data/_includes/appscms/recent-posts/recent_posts.html +90 -90
  34. data/_includes/appscms/recent-posts/related_categories_post.html +194 -194
  35. data/_includes/appscms/searchbar/devtool-searchbar.html +63 -63
  36. data/_includes/appscms/usp/usp.html +90 -90
  37. data/_includes/author_bio.html +41 -41
  38. data/_includes/authorpagehead/index.html +47 -47
  39. data/_includes/authors/authors.html +39 -39
  40. data/_includes/batch-conversion.html +141 -141
  41. data/_includes/bookmark.html +6 -6
  42. data/_includes/cssfile/links.html +54 -54
  43. data/_includes/custom-head.html +138 -138
  44. data/_includes/customCode.html +1 -1
  45. data/_includes/customScripts.html +1 -1
  46. data/_includes/customblog/pageRelatedPosts.html +87 -87
  47. data/_includes/customblog/recentposts.html +67 -67
  48. data/_includes/customblog/relatedBlogs.html +86 -86
  49. data/_includes/customblog/relatedposts.html +201 -201
  50. data/_includes/dropdown/langdropdown.html +32 -32
  51. data/_includes/feature.html +39 -39
  52. data/_includes/featurePageAuthors/featurePageAuthors.html +101 -101
  53. data/_includes/footer/index.html +537 -537
  54. data/_includes/google-analytics.html +32 -32
  55. data/_includes/head/index.html +627 -627
  56. data/_includes/header/blogHeader.html +34 -34
  57. data/_includes/header/index.html +152 -152
  58. data/_includes/infographics/infographics.html +244 -244
  59. data/_includes/internationalization-section.html +44 -0
  60. data/_includes/paginationBlogPage.html +70 -70
  61. data/_includes/postbox.html +65 -65
  62. data/_includes/script.html +493 -493
  63. data/_includes/section/count.html +32 -32
  64. data/_includes/section/recent_posts.html +94 -94
  65. data/_includes/section/related_categories_post.html +196 -196
  66. data/_includes/share/socialshare.html +21 -21
  67. data/_includes/userTracking.html +14 -14
  68. data/_layouts/aboutUs.html +175 -175
  69. data/_layouts/allAuthors.html +131 -131
  70. data/_layouts/appscms-about.html +163 -163
  71. data/_layouts/appscms-audio.html +33 -33
  72. data/_layouts/appscms-author.html +436 -436
  73. data/_layouts/appscms-authors.html +145 -145
  74. data/_layouts/appscms-batch.html +141 -141
  75. data/_layouts/appscms-calculator.html +93 -93
  76. data/_layouts/appscms-categories.html +26 -26
  77. data/_layouts/appscms-contact.html +132 -132
  78. data/_layouts/appscms-disclaimer.html +124 -124
  79. data/_layouts/appscms-download.html +289 -289
  80. data/_layouts/appscms-feature-result.html +96 -96
  81. data/_layouts/appscms-feature.html +22 -24
  82. data/_layouts/appscms-help.html +25 -25
  83. data/_layouts/appscms-imagekit.html +96 -96
  84. data/_layouts/appscms-post.html +243 -243
  85. data/_layouts/appscms-privacy-policy.html +781 -781
  86. data/_layouts/appscms-terms-and-conditions.html +646 -646
  87. data/_layouts/appscms-video.html +33 -33
  88. data/_layouts/audio.html +33 -33
  89. data/_layouts/author.html +409 -409
  90. data/_layouts/batch.html +177 -177
  91. data/_layouts/blog-1.html +116 -116
  92. data/_layouts/blog.html +131 -131
  93. data/_layouts/calculator.html +99 -99
  94. data/_layouts/contenttool-feature.html +45 -45
  95. data/_layouts/contenttool-home.html +53 -53
  96. data/_layouts/devtool-blog.html +132 -132
  97. data/_layouts/devtool-feature.html +54 -54
  98. data/_layouts/devtool-home.html +53 -53
  99. data/_layouts/devtools.html +57 -57
  100. data/_layouts/feature-1.html +285 -285
  101. data/_layouts/feature.html +351 -351
  102. data/_layouts/featureResultPage.html +82 -82
  103. data/_layouts/frame.html +222 -222
  104. data/_layouts/home-1.html +186 -186
  105. data/_layouts/home.html +375 -375
  106. data/_layouts/homeResultPage.html +32 -32
  107. data/_layouts/imagekit.html +308 -308
  108. data/_layouts/photo-effects-home.html +190 -190
  109. data/_layouts/post.html +233 -233
  110. data/assets/app.js +75 -75
  111. data/assets/css/appscms-blog.css +505 -505
  112. data/assets/css/appscms-contenttool.css +1384 -1384
  113. data/assets/css/appscms-home.css +5 -5
  114. data/assets/css/appscms-imagekit.css +855 -855
  115. data/assets/css/appscms-variables.css +19 -19
  116. data/assets/css/blog.css +510 -510
  117. data/assets/css/calculators.css +46 -46
  118. data/assets/css/common.css +944 -944
  119. data/assets/css/devtool-main.css +1350 -1350
  120. data/assets/css/devtools.css +105 -105
  121. data/assets/css/feature-1.css +293 -293
  122. data/assets/css/home-1.css +188 -188
  123. data/assets/css/imagekit copy.css +848 -848
  124. data/assets/css/imagekit.css +848 -848
  125. data/assets/css/tools.css +1846 -1846
  126. data/assets/images/close-button.svg +31 -31
  127. data/assets/images/digipaint.svg +6 -6
  128. data/assets/images/iconn.svg +12 -12
  129. data/assets/images/logo.svg +2 -2
  130. data/assets/images/manthink.svg +3552 -3552
  131. data/assets/images/search-icon.svg +2 -2
  132. data/assets/js/batch.js +219 -219
  133. data/assets/js/devtools.js +81 -81
  134. data/assets/js/sharePage.js +65 -65
  135. data/assets/js/usageTracking.js +143 -143
  136. data/assets/js/usageTrackingEvents.js +6 -6
  137. data/assets/js/webvitals.js +4 -4
  138. metadata +4 -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
- &nbsp; <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
+ &nbsp; <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>