appscms-tools-theme 1.8.0 → 1.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -21
  3. data/README.md +50 -50
  4. data/_data/about/en/about.json +16 -16
  5. data/_data/blog/alertbar.yml +3 -3
  6. data/_data/blog/authors.yml +11 -11
  7. data/_data/blog/blog.yml +3 -3
  8. data/_data/blog/nav.json +13 -13
  9. data/_data/blog/share.yml +28 -28
  10. data/_data/contact/en/contact.json +38 -38
  11. data/_data/disclaimer/en/disclaimer.json +37 -37
  12. data/_data/download/en/download.json +35 -35
  13. data/_data/feature/en/compress-pdf.json +6 -0
  14. data/_data/feature/en/split-pdf.json +115 -115
  15. data/_data/feature/hi/compress-pdf.json +81 -81
  16. data/_data/feature/tr/compress-pdf.json +80 -80
  17. data/_data/fileinfo/en/fileinfo.json +14 -14
  18. data/_data/files/.gitignore +4 -4
  19. data/_data/files/en/3gp.json +144 -144
  20. data/_data/files/en/acc.json +25 -25
  21. data/_data/files/en/aff.json +65 -65
  22. data/_data/files/en/cr2.json +169 -169
  23. data/_data/files/en/dvd.json +25 -25
  24. data/_data/files/en/mov.json +146 -146
  25. data/_data/files/en/ogg.json +163 -163
  26. data/_data/files/en/vmv.json +47 -47
  27. data/_data/footer/en/data.json +72 -72
  28. data/_data/footer/hi/data.json +68 -68
  29. data/_data/footer/networksites.json +15 -15
  30. data/_data/header/en/data.json +134 -134
  31. data/_data/header/hi/data.json +144 -144
  32. data/_data/home/en/en.json +282 -282
  33. data/_data/home/hi/hi.json +86 -86
  34. data/_data/languagesupport/compress-pdf-langs.json +11 -11
  35. data/_data/languagesupport/index-langs.json +13 -13
  36. data/_data/privacy/en/privacyPolicy.json +265 -265
  37. data/_data/termAndCondition/en/termAndCondition.json +358 -358
  38. data/_includes/Rating/rating.html +92 -92
  39. data/_includes/Rating/structureddata.html +53 -53
  40. data/_includes/Usp/usp.html +86 -86
  41. data/_includes/adBlocker/adBlocker.html +136 -0
  42. data/_includes/adsense/adsense.html +7 -7
  43. data/_includes/alternates/alternates.html +45 -45
  44. data/_includes/author_bio.html +16 -16
  45. data/_includes/cssfile/links.html +11 -11
  46. data/_includes/custom-head.html +33 -33
  47. data/_includes/customblog/recentposts.html +46 -46
  48. data/_includes/customblog/relatedposts.html +174 -162
  49. data/_includes/disqus_comments.html +10 -10
  50. data/_includes/dropdown/langdropdown.html +22 -22
  51. data/_includes/feature.html +37 -37
  52. data/_includes/fileformat/comparisonfiles.html +151 -151
  53. data/_includes/fileformat/fileformatdetail.html +101 -101
  54. data/_includes/fileformat/fileinfoformat.html +93 -93
  55. data/_includes/footer/index.html +249 -249
  56. data/_includes/google-analytics.html +22 -22
  57. data/_includes/header/blogHeader.html +29 -29
  58. data/_includes/header/index.html +95 -95
  59. data/_includes/languages/languages.html +61 -28
  60. data/_includes/monumetric/monumetric.html +60 -60
  61. data/_includes/nofiletransfer/nofiletransfer.html +38 -38
  62. data/_includes/paginationBlogPage.html +34 -34
  63. data/_includes/paginationPostPage.html +14 -14
  64. data/_includes/postauthorbio.html +17 -17
  65. data/_includes/postbox.html +31 -31
  66. data/_includes/script.html +27 -26
  67. data/_includes/section/alertbar.html +11 -11
  68. data/_includes/section/count.html +23 -23
  69. data/_includes/section/recent_posts.html +46 -46
  70. data/_includes/section/related_categories_post.html +173 -161
  71. data/_includes/share/socialshare.html +20 -20
  72. data/_includes/staticfooter.html +55 -55
  73. data/_layouts/aboutUs.html +24 -24
  74. data/_layouts/blog.html +70 -70
  75. data/_layouts/categories.html +25 -25
  76. data/_layouts/contactUs.html +78 -78
  77. data/_layouts/default.html +1 -1
  78. data/_layouts/disclaimer.html +78 -78
  79. data/_layouts/download.html +285 -280
  80. data/_layouts/feature.html +209 -200
  81. data/_layouts/fileInfo.html +39 -39
  82. data/_layouts/help.html +23 -23
  83. data/_layouts/home.html +208 -197
  84. data/_layouts/page.html +5 -5
  85. data/_layouts/post.html +144 -144
  86. data/_layouts/privacyPolicy.html +402 -402
  87. data/_layouts/termAndCondition.html +406 -406
  88. data/assets/cross.svg +4 -4
  89. data/assets/css/adblocker.css +187 -0
  90. data/assets/css/blog.css +491 -491
  91. data/assets/css/bootstrap.min.css +6 -6
  92. data/assets/css/tools.css +1260 -1212
  93. data/assets/facebook.svg +4 -4
  94. data/assets/images/abp.svg +41 -0
  95. data/assets/images/adblock.svg +266 -0
  96. data/assets/images/safevideoconverter.svg +23 -23
  97. data/assets/images/uo.svg +41 -0
  98. data/assets/instagram.svg +4 -4
  99. data/assets/js/TopScroll.js +8 -8
  100. data/assets/js/adBlocker.js +45 -0
  101. data/assets/js/googledrive.js +155 -155
  102. data/assets/js/manifest.json +16 -16
  103. data/assets/js/multiselect.js +157 -157
  104. data/assets/linkdin.svg +4 -4
  105. data/assets/pdf.svg +20 -20
  106. data/assets/secure.svg +43 -43
  107. data/assets/star.svg +4 -4
  108. data/assets/twitter.svg +4 -4
  109. data/assets/youtube.svg +4 -4
  110. metadata +8 -2
@@ -1,281 +1,286 @@
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 head/index.html %}
8
-
9
- <body>
10
- {% include header/index.html %}
11
- <div class="container">
12
- <div class="download-section">
13
- <div class="row">
14
- <div class="col-md-12 px-0">
15
- <p class="success-msg mb-0">
16
- <?xml version="1.0" encoding="iso-8859-1"?>
17
- <svg height='22px' width='22px' version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
18
- xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 496.158 496.158"
19
- style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
20
- <path style="fill:#32BEA6;" d="M496.158,248.085c0-137.021-111.07-248.082-248.076-248.082C111.07,0.003,0,111.063,0,248.085
21
- c0,137.002,111.07,248.07,248.082,248.07C385.088,496.155,496.158,385.087,496.158,248.085z" />
22
- <path style="fill:#FFFFFF;" d="M384.673,164.968c-5.84-15.059-17.74-12.682-30.635-10.127c-7.701,1.605-41.953,11.631-96.148,68.777
23
- c-22.49,23.717-37.326,42.625-47.094,57.045c-5.967-7.326-12.803-15.164-19.982-22.346c-22.078-22.072-46.699-37.23-47.734-37.867
24
- c-10.332-6.316-23.82-3.066-30.154,7.258c-6.326,10.324-3.086,23.834,7.23,30.174c0.211,0.133,21.354,13.205,39.619,31.475
25
- c18.627,18.629,35.504,43.822,35.67,44.066c4.109,6.178,11.008,9.783,18.266,9.783c1.246,0,2.504-0.105,3.756-0.322
26
- c8.566-1.488,15.447-7.893,17.545-16.332c0.053-0.203,8.756-24.256,54.73-72.727c37.029-39.053,61.723-51.465,70.279-54.908
27
- c0.082-0.014,0.141-0.02,0.252-0.043c-0.041,0.01,0.277-0.137,0.793-0.369c1.469-0.551,2.256-0.762,2.301-0.773
28
- c-0.422,0.105-0.641,0.131-0.641,0.131l-0.014-0.076c3.959-1.727,11.371-4.916,11.533-4.984
29
- C385.405,188.218,389.034,176.214,384.673,164.968z" />
30
- <g>
31
- </g>
32
- <g>
33
- </g>
34
- <g>
35
- </g>
36
- <g>
37
- </g>
38
- <g>
39
- </g>
40
- <g>
41
- </g>
42
- <g>
43
- </g>
44
- <g>
45
- </g>
46
- <g>
47
- </g>
48
- <g>
49
- </g>
50
- <g>
51
- </g>
52
- <g>
53
- </g>
54
- <g>
55
- </g>
56
- <g>
57
- </g>
58
- <g>
59
- </g>
60
- </svg>
61
- {{downloadData.successmessage | default: 'Hurray! your operation was completed' }}
62
- </p>
63
- <div class="try-more-features ">
64
- <h2 class="success-msg border-bottom-none"> {{downloadData.tryfeatureheading | default: 'You can also try
65
- These features'
66
- }} </h2>
67
- <div class="row feature-showcase ">
68
- {%- if downloadData.recommendedfeatures -%}
69
- {%- for item in downloadData.recommendedfeatures -%}
70
- <div class="col-md-6 pb-3">
71
-
72
- <a class="px-2 feature-showcase-div w-100 d-flex justify-content-between " href="{{item.url}}">
73
- <span><img src="{{item.logo}}" alt="feature-logo" {%- if site.crossorigin -%} crossorigin {%- endif
74
- -%}> <span class="ml-3 ">
75
- {{item.name}}</span></span> <span class='d-inline-block ml-auto'><i
76
- class="fas fa-chevron-right"></i></span> </a>
77
- </div>
78
- {%- endfor -%}
79
- {%- else -%}
80
- code2
81
- {%- endif -%}
82
-
83
- </div>
84
- </div>
85
- </div>
86
- <div class="row w-100 px-3">
87
- <div class="col-12">
88
- {%- if downloadData.recommendedsitesheading -%}
89
- <p class="success-msg mb-0">{{downloadData.recommendedsitesheading}}</p>
90
- {%- else -%}
91
- <p class="success-msg mb-0">Try our other sites for safe processing of you files ! </p>
92
- {%- endif -%}
93
- </div>
94
-
95
- {%- if downloadData.recommendedsites -%}
96
- {%- assign recommendedsitesData = downloadData.recommendedsites -%}
97
- {%- for item in recommendedsitesData -%}
98
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap ">
99
- <img loading='lazy' class="website-img" src="{{item.logo}}" alt="{{item.name}} logo" {%- if site.crossorigin
100
- -%} crossorigin {%- endif -%}> <a target="_blank" href="{{item.url}}">{{item.name}}</a>
101
- </div>
102
- {%- endfor -%}
103
- {%- else -%}
104
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
105
- <img loading='lazy' class="website-img"
106
- src="https://d33wubrfki0l68.cloudfront.net/0623ca017395ac8b757b16b645ff38a89963b01b/a43c6/assets/logo.svg"
107
- alt="safepdfkitlogo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
108
- href="https://safepdfkit.com">Safepdfkit.com</a>
109
- </div>
110
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
111
- <img class="website-img" loading='lazy'
112
- src="https://d33wubrfki0l68.cloudfront.net/796c1a01dae9c2d10224fd72a820156974b26ab1/3b885/assets/images/logo.png"
113
- alt="Safeaudiokit-logo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
114
- href="https://safeaudiokit.com">safeaudiokit.com</a>
115
- </div>
116
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
117
- <img class="website-img"
118
- src="https://d33wubrfki0l68.cloudfront.net/ab0207d780c019c54db62b002396bc8c3fddddaf/9abb9/assets/safevideokit.svg"
119
- alt="Safevideokitlogo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
120
- href="https://safevideokit.com">safevideokit.com</a>
121
- </div>
122
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap ">
123
- <img loading='lazy' class="website-img"
124
- src="https://d33wubrfki0l68.cloudfront.net/2e37a1020563aa528471da7425b8e58343e2baf7/a186c/picture.png"
125
- alt="Safeimagekitlogo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
126
- href="https://safeimagekit.com/">safeimagekit.com</a>
127
- </div>
128
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
129
- <img loading='lazy' class="website-img"
130
- src="https://d33wubrfki0l68.cloudfront.net/74bf3f3836d56b30d16137169cd4c28bf15494ed/11962/js/pt.png"
131
- alt="safezipkitlogo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
132
- href="https://safezipkit.com/">safezipkit.com</a>
133
- </div>
134
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
135
- <img loading='lazy' class="website-img"
136
- src="https://d33wubrfki0l68.cloudfront.net/325cdfad7de6cae4a03aecfadc70b38af754cbd0/d87f9/assets/images/logo.png"
137
- alt="Safeimageconverter logo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
138
- href="https://safeaudioconverter.com/">
139
- safeaudioconverter.com
140
-
141
- </a>
142
- </div>
143
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
144
- <img loading='lazy' class="website-img" src="/assets//images/safevideoconverter.svg"
145
- alt="safevideoconverter logo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
146
- href="https://safevideoconverter.com/">safevideoconverter.com</a>
147
- </div>
148
- <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
149
- <img loading='lazy' class="website-img"
150
- src="https://d33wubrfki0l68.cloudfront.net/c8fef6be5192b9fa57b8503c6ad93befa361926d/a66d0/picture.svg"
151
- alt="safeimageconverter logo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
152
- href="https://safeimageconverter.com/">safeimageconverter</a>
153
- </div>
154
- {%- endif -%}
155
-
156
- </div>
157
- <div class="col-md-12 download-page-rate-us sites-config py-0">
158
- <div class="rating-tool" style="border: none;">
159
- <div class="rating-text">{{downloadData.rateus | default: 'Rate us'}}</div>
160
- <div class="rating-stars">
161
- <i class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
162
- class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
163
- class="fas fa-star rating-star"></i>
164
- </div>
165
- <div class="rating-value ml-2">
166
- {%- for item in data -%}
167
- {%- if item.name ==tool -%}
168
- {%- assign rating = item.rating -%}
169
- {%- assign votes = item.votes -%}
170
- {%- endif -%}
171
- {%- endfor -%}
172
- <span class="rating"> <strong id='rating'>0</strong><span>/5</span> </span>
173
- &nbsp; <span class="total-ratings" id='count'>0 </span>{{downloadData.votes | default: 'votes'}}
174
- </div>
175
- </div>
176
- <script>
177
- const ratingValue = document.getElementById('rating')
178
- const count = document.getElementById('count')
179
- const setRating = async (rating) => {
180
- const name = '{{site.name}}'
181
- const urlParams = new URLSearchParams(window.location.search)
182
- let tool = urlParams.get('tool')
183
- const data = { website: name, feature: tool, rating: rating };
184
- fetch('https://ratingapi-main.netlify.app/.netlify/functions/api/v1/rating/add', {
185
- method: 'POST',
186
- headers: {
187
- 'Content-Type': 'application/json',
188
- },
189
- body: JSON.stringify(data),
190
- })
191
- .then(response => response.json())
192
- .then(data => {
193
- ratingValue.innerText = data.rating
194
- count.innerText = data.count
195
- })
196
- .catch((error) => {
197
- console.error('Error:', error);
198
- });
199
- }
200
- const urlParams = new URLSearchParams(window.location.search)
201
- let tool = urlParams.get('tool')
202
- const fetchRating = async () => {
203
-
204
- const data = await fetch(`https://ratingapi-main.netlify.app/.netlify/functions/api/v1/${tool}/rating`).then(res => res.json())
205
- ratingValue.innerText = data.rating
206
- count.innerText = data.votes
207
- }
208
- window.addEventListener('DOMContentLoaded', () => {
209
- fetchRating()
210
- });
211
- const ratingNode = document.getElementsByClassName('rating-star')
212
- let ratedValue = localStorage.getItem(`${tool}rating`)
213
- if (ratedValue) {
214
- Array.from(ratingNode).slice(0, ratedValue).map(item => {
215
- item.style.color = '#FDD300'
216
- })
217
- }
218
-
219
- Array.from(ratingNode).map(item => item.addEventListener('click', () => {
220
- const urlParams = new URLSearchParams(window.location.search)
221
- let tool = urlParams.get('tool')
222
- if (!localStorage.getItem(`${tool}rating`)) {
223
- function indexInClass(node) {
224
- var className = node.className;
225
- var num = 0;
226
- for (var i = 0; i < ratingNode.length; i++) {
227
- if (ratingNode[i] === node) {
228
- return num;
229
- }
230
- num++;
231
- }
232
- return -1;
233
- }
234
- const index = indexInClass(item)
235
- Array.from(ratingNode).slice(0, index + 1).map(item => {
236
- item.style.color = '#FDD300'
237
- })
238
- setRating(index + 1)
239
- localStorage.setItem(`${tool}rating`, index + 1)
240
- }
241
- }))
242
- </script>
243
- </div>
244
- <div class="col-12">
245
- <div class="download-social-share">
246
- {%- if site.data.blog.share.platforms -%}
247
- <div class="d-flex align-items-center flex-column justify-content-center" " >
248
- <p class=" share-heading mb-0 " >
249
- {%- if downloadData.socialshareheading -%}
250
- {{downloadData.socialshareheading}}
251
- {%- else -%}
252
- 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 !
253
- {%- endif -%}
254
- </p>
255
- <div>
256
- {% assign url = site.url %}
257
- {% for share in site.data.blog.share.platforms %}
258
- {% assign link = share.link | replace: 'URL', url %}
259
- {{page.title}}
260
- <a id=" {{share.type}}" href="{{ link }}" data-toggle="tooltip"
261
- onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
262
- data-placement="top" title="{{ share.type }}" aria-label="{{ share.type }}">
263
- <i class="fa-fw {{ share.icon }} mb-0 py-3"></i>
264
- </a>
265
- {% endfor %}
266
- </div>
267
- </ul>
268
- </ul>
269
- </div>
270
- {%- endif -%}</p>
271
- </div>
272
- </div>
273
-
274
- </div>
275
- </div>
276
-
277
- {% include footer/index.html %}
278
- {% include script.html %}
279
- </body>
280
-
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 head/index.html %}
8
+
9
+ <body>
10
+ {% include header/index.html %}
11
+ <div class="container">
12
+ <div class="download-section">
13
+ <div class="row">
14
+ <div class="col-md-12 px-0">
15
+ <div class="success-msg-cont mb-0 ">
16
+ <?xml version="1.0" encoding="iso-8859-1"?>
17
+ <div class="success-greeting">
18
+ <svg height='22px' width='22px' version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
19
+ xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 496.158 496.158"
20
+ style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
21
+ <path style="fill:#32BEA6;" d="M496.158,248.085c0-137.021-111.07-248.082-248.076-248.082C111.07,0.003,0,111.063,0,248.085
22
+ c0,137.002,111.07,248.07,248.082,248.07C385.088,496.155,496.158,385.087,496.158,248.085z" />
23
+ <path style="fill:#FFFFFF;" d="M384.673,164.968c-5.84-15.059-17.74-12.682-30.635-10.127c-7.701,1.605-41.953,11.631-96.148,68.777
24
+ c-22.49,23.717-37.326,42.625-47.094,57.045c-5.967-7.326-12.803-15.164-19.982-22.346c-22.078-22.072-46.699-37.23-47.734-37.867
25
+ c-10.332-6.316-23.82-3.066-30.154,7.258c-6.326,10.324-3.086,23.834,7.23,30.174c0.211,0.133,21.354,13.205,39.619,31.475
26
+ c18.627,18.629,35.504,43.822,35.67,44.066c4.109,6.178,11.008,9.783,18.266,9.783c1.246,0,2.504-0.105,3.756-0.322
27
+ c8.566-1.488,15.447-7.893,17.545-16.332c0.053-0.203,8.756-24.256,54.73-72.727c37.029-39.053,61.723-51.465,70.279-54.908
28
+ c0.082-0.014,0.141-0.02,0.252-0.043c-0.041,0.01,0.277-0.137,0.793-0.369c1.469-0.551,2.256-0.762,2.301-0.773
29
+ c-0.422,0.105-0.641,0.131-0.641,0.131l-0.014-0.076c3.959-1.727,11.371-4.916,11.533-4.984
30
+ C385.405,188.218,389.034,176.214,384.673,164.968z" />
31
+ <g>
32
+ </g>
33
+ <g>
34
+ </g>
35
+ <g>
36
+ </g>
37
+ <g>
38
+ </g>
39
+ <g>
40
+ </g>
41
+ <g>
42
+ </g>
43
+ <g>
44
+ </g>
45
+ <g>
46
+ </g>
47
+ <g>
48
+ </g>
49
+ <g>
50
+ </g>
51
+ <g>
52
+ </g>
53
+ <g>
54
+ </g>
55
+ <g>
56
+ </g>
57
+ <g>
58
+ </g>
59
+ <g>
60
+ </g>
61
+ </svg>
62
+ <p class="success-msg "> {{downloadData.successmessage | default: 'Hurray! your operation was completed'
63
+ }}
64
+ </p>
65
+ </div>
66
+ <button onclick="history.back()"> <i class="fas fa-redo"></i> Try processing another file</button>
67
+ </div>
68
+ <div class="try-more-features ">
69
+ <h2 class="success-msg border-bottom-none"> {{downloadData.tryfeatureheading | default: 'You can also try
70
+ These features'
71
+ }} </h2>
72
+ <div class="row feature-showcase ">
73
+ {%- if downloadData.recommendedfeatures -%}
74
+ {%- for item in downloadData.recommendedfeatures -%}
75
+ <div class="col-md-6 pb-3">
76
+
77
+ <a class="px-2 feature-showcase-div w-100 d-flex justify-content-between " href="{{item.url}}">
78
+ <span><img src="{{item.logo}}" alt="feature-logo" {%- if site.crossorigin -%} crossorigin {%- endif
79
+ -%}> <span class="ml-3 ">
80
+ {{item.name}}</span></span> <span class='d-inline-block ml-auto'><i
81
+ class="fas fa-chevron-right"></i></span> </a>
82
+ </div>
83
+ {%- endfor -%}
84
+ {%- else -%}
85
+ code2
86
+ {%- endif -%}
87
+
88
+ </div>
89
+ </div>
90
+ </div>
91
+ <div class="row w-100 px-3">
92
+ <div class="col-12">
93
+ {%- if downloadData.recommendedsitesheading -%}
94
+ <p class="success-msg mb-0">{{downloadData.recommendedsitesheading}}</p>
95
+ {%- else -%}
96
+ <p class="success-msg mb-0">Try our other sites for safe processing of you files ! </p>
97
+ {%- endif -%}
98
+ </div>
99
+
100
+ {%- if downloadData.recommendedsites -%}
101
+ {%- assign recommendedsitesData = downloadData.recommendedsites -%}
102
+ {%- for item in recommendedsitesData -%}
103
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap ">
104
+ <img loading='lazy' class="website-img" src="{{item.logo}}" alt="{{item.name}} logo" {%- if site.crossorigin
105
+ -%} crossorigin {%- endif -%}> <a target="_blank" href="{{item.url}}">{{item.name}}</a>
106
+ </div>
107
+ {%- endfor -%}
108
+ {%- else -%}
109
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
110
+ <img loading='lazy' class="website-img"
111
+ src="https://d33wubrfki0l68.cloudfront.net/0623ca017395ac8b757b16b645ff38a89963b01b/a43c6/assets/logo.svg"
112
+ alt="safepdfkitlogo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
113
+ href="https://safepdfkit.com">Safepdfkit.com</a>
114
+ </div>
115
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
116
+ <img class="website-img" loading='lazy'
117
+ src="https://d33wubrfki0l68.cloudfront.net/796c1a01dae9c2d10224fd72a820156974b26ab1/3b885/assets/images/logo.png"
118
+ alt="Safeaudiokit-logo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
119
+ href="https://safeaudiokit.com">safeaudiokit.com</a>
120
+ </div>
121
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
122
+ <img class="website-img"
123
+ src="https://d33wubrfki0l68.cloudfront.net/ab0207d780c019c54db62b002396bc8c3fddddaf/9abb9/assets/safevideokit.svg"
124
+ alt="Safevideokitlogo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
125
+ href="https://safevideokit.com">safevideokit.com</a>
126
+ </div>
127
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap ">
128
+ <img loading='lazy' class="website-img"
129
+ src="https://d33wubrfki0l68.cloudfront.net/2e37a1020563aa528471da7425b8e58343e2baf7/a186c/picture.png"
130
+ alt="Safeimagekitlogo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
131
+ href="https://safeimagekit.com/">safeimagekit.com</a>
132
+ </div>
133
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
134
+ <img loading='lazy' class="website-img"
135
+ src="https://d33wubrfki0l68.cloudfront.net/74bf3f3836d56b30d16137169cd4c28bf15494ed/11962/js/pt.png"
136
+ alt="safezipkitlogo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
137
+ href="https://safezipkit.com/">safezipkit.com</a>
138
+ </div>
139
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
140
+ <img loading='lazy' class="website-img"
141
+ src="https://d33wubrfki0l68.cloudfront.net/325cdfad7de6cae4a03aecfadc70b38af754cbd0/d87f9/assets/images/logo.png"
142
+ alt="Safeimageconverter logo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
143
+ href="https://safeaudioconverter.com/">
144
+ safeaudioconverter.com
145
+
146
+ </a>
147
+ </div>
148
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
149
+ <img loading='lazy' class="website-img" src="/assets//images/safevideoconverter.svg"
150
+ alt="safevideoconverter logo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
151
+ href="https://safevideoconverter.com/">safevideoconverter.com</a>
152
+ </div>
153
+ <div class="col-md-4 col-sm-6 mb-4 col-lg-3 website-wrap">
154
+ <img loading='lazy' class="website-img"
155
+ src="https://d33wubrfki0l68.cloudfront.net/c8fef6be5192b9fa57b8503c6ad93befa361926d/a66d0/picture.svg"
156
+ alt="safeimageconverter logo" {%- if site.crossorigin -%} crossorigin {%- endif -%}> <a target="_blank"
157
+ href="https://safeimageconverter.com/">safeimageconverter</a>
158
+ </div>
159
+ {%- endif -%}
160
+
161
+ </div>
162
+ <div class="col-md-12 download-page-rate-us sites-config py-0">
163
+ <div class="rating-tool" style="border: none;">
164
+ <div class="rating-text">{{downloadData.rateus | default: 'Rate us'}}</div>
165
+ <div class="rating-stars">
166
+ <i class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
167
+ class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
168
+ class="fas fa-star rating-star"></i>
169
+ </div>
170
+ <div class="rating-value ml-2">
171
+ {%- for item in data -%}
172
+ {%- if item.name ==tool -%}
173
+ {%- assign rating = item.rating -%}
174
+ {%- assign votes = item.votes -%}
175
+ {%- endif -%}
176
+ {%- endfor -%}
177
+ <span class="rating"> <strong id='rating'>0</strong><span>/5</span> </span>
178
+ &nbsp; <span class="total-ratings" id='count'>0 </span>{{downloadData.votes | default: 'votes'}}
179
+ </div>
180
+ </div>
181
+ <script>
182
+ const ratingValue = document.getElementById('rating')
183
+ const count = document.getElementById('count')
184
+ const setRating = async (rating) => {
185
+ const name = '{{site.name}}'
186
+ const urlParams = new URLSearchParams(window.location.search)
187
+ let tool = urlParams.get('tool')
188
+ const data = { website: name, feature: tool, rating: rating };
189
+ fetch('https://ratingapi-main.netlify.app/.netlify/functions/api/v1/rating/add', {
190
+ method: 'POST',
191
+ headers: {
192
+ 'Content-Type': 'application/json',
193
+ },
194
+ body: JSON.stringify(data),
195
+ })
196
+ .then(response => response.json())
197
+ .then(data => {
198
+ ratingValue.innerText = data.rating
199
+ count.innerText = data.count
200
+ })
201
+ .catch((error) => {
202
+ console.error('Error:', error);
203
+ });
204
+ }
205
+ const urlParams = new URLSearchParams(window.location.search)
206
+ let tool = urlParams.get('tool')
207
+ const fetchRating = async () => {
208
+
209
+ const data = await fetch(`https://ratingapi-main.netlify.app/.netlify/functions/api/v1/${tool}/rating`).then(res => res.json())
210
+ ratingValue.innerText = data.rating
211
+ count.innerText = data.votes
212
+ }
213
+ window.addEventListener('DOMContentLoaded', () => {
214
+ fetchRating()
215
+ });
216
+ const ratingNode = document.getElementsByClassName('rating-star')
217
+ let ratedValue = localStorage.getItem(`${tool}rating`)
218
+ if (ratedValue) {
219
+ Array.from(ratingNode).slice(0, ratedValue).map(item => {
220
+ item.style.color = '#FDD300'
221
+ })
222
+ }
223
+
224
+ Array.from(ratingNode).map(item => item.addEventListener('click', () => {
225
+ const urlParams = new URLSearchParams(window.location.search)
226
+ let tool = urlParams.get('tool')
227
+ if (!localStorage.getItem(`${tool}rating`)) {
228
+ function indexInClass(node) {
229
+ var className = node.className;
230
+ var num = 0;
231
+ for (var i = 0; i < ratingNode.length; i++) {
232
+ if (ratingNode[i] === node) {
233
+ return num;
234
+ }
235
+ num++;
236
+ }
237
+ return -1;
238
+ }
239
+ const index = indexInClass(item)
240
+ Array.from(ratingNode).slice(0, index + 1).map(item => {
241
+ item.style.color = '#FDD300'
242
+ })
243
+ setRating(index + 1)
244
+ localStorage.setItem(`${tool}rating`, index + 1)
245
+ }
246
+ }))
247
+ </script>
248
+ </div>
249
+ <div class="col-12">
250
+ <div class="download-social-share">
251
+ {%- if site.data.blog.share.platforms -%}
252
+ <div class="d-flex align-items-center flex-column justify-content-center" " >
253
+ <p class=" share-heading mb-0 " >
254
+ {%- if downloadData.socialshareheading -%}
255
+ {{downloadData.socialshareheading}}
256
+ {%- else -%}
257
+ 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 !
258
+ {%- endif -%}
259
+ </p>
260
+ <div>
261
+ {% assign url = site.url %}
262
+ {% for share in site.data.blog.share.platforms %}
263
+ {% assign link = share.link | replace: 'URL', url %}
264
+ {{page.title}}
265
+ <a id=" {{share.type}}" href="{{ link }}" data-toggle="tooltip"
266
+ onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
267
+ data-placement="top" title="{{ share.type }}" aria-label="{{ share.type }}">
268
+ <i class="fa-fw {{ share.icon }} mb-0 py-3"></i>
269
+ </a>
270
+ {% endfor %}
271
+ </div>
272
+ </ul>
273
+ </ul>
274
+ </div>
275
+ {%- endif -%}</p>
276
+ </div>
277
+ </div>
278
+
279
+ </div>
280
+ </div>
281
+
282
+ {% include footer/index.html %}
283
+ {% include script.html %}
284
+ </body>
285
+
281
286
  </html>