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