appscms-tools-theme 3.0.4 → 3.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) 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 +4 -4
  8. data/_data/blog/nav.json +13 -13
  9. data/_data/blog/share.yml +28 -28
  10. data/_data/calculators/en/biology-calc/bulb-spacing.json +78 -78
  11. data/_data/calculators/en/biology-calc/cat-chocolate-toxicity.json +52 -52
  12. data/_data/calculators/en/chemistry-calc/activation-energy.json +44 -44
  13. data/_data/calculators/en/finance-calc/401k.json +122 -122
  14. data/_data/contact/en/contact.json +38 -38
  15. data/_data/disclaimer/en/disclaimer.json +37 -37
  16. data/_data/download/en/download.json +35 -35
  17. data/_data/feature/en/3_shop_posters.json +351 -351
  18. data/_data/feature/en/allele-frequency.json +246 -246
  19. data/_data/feature/en/batch-conversion.json +77 -77
  20. data/_data/feature/en/compress-pdf.json +202 -202
  21. data/_data/feature/en/face-detection.json +52 -52
  22. data/_data/feature/en/split-pdf.json +115 -115
  23. data/_data/feature/en/theframe.json +56 -56
  24. data/_data/feature/hi/compress-pdf.json +81 -81
  25. data/_data/feature/tr/compress-pdf.json +80 -80
  26. data/_data/filecomparison/en/filecomparison.json +38 -38
  27. data/_data/fileinfo/en/fileinfo.json +15 -15
  28. data/_data/footer/en/data.json +166 -166
  29. data/_data/footer/hi/data.json +68 -68
  30. data/_data/footer/networksites.json +15 -15
  31. data/_data/header/en/data.json +173 -173
  32. data/_data/header/hi/data.json +144 -144
  33. data/_data/home/en/en.json +285 -285
  34. data/_data/home/en/photoeffects.json +22 -22
  35. data/_data/home/en/posters.json +323 -323
  36. data/_data/home/hi/hi.json +86 -86
  37. data/_data/home-1/en/en.json +229 -229
  38. data/_data/languagesupport/compress-pdf-langs.json +11 -11
  39. data/_data/languagesupport/index-langs.json +13 -13
  40. data/_data/photo-categories.json +104 -104
  41. data/_data/photoeffects.json +31 -31
  42. data/_data/privacy/en/privacyPolicy.json +265 -265
  43. data/_data/termAndCondition/en/termAndCondition.json +358 -358
  44. data/_includes/Rating/rating.html +92 -92
  45. data/_includes/Rating/structureddata.html +53 -53
  46. data/_includes/Usp/usp.html +95 -95
  47. data/_includes/adblocker.html +240 -240
  48. data/_includes/adsense/adsense.html +7 -7
  49. data/_includes/alternates/alternates.html +45 -45
  50. data/_includes/author_bio.html +16 -16
  51. data/_includes/authors/authors.html +67 -67
  52. data/_includes/batch-conversion.html +65 -65
  53. data/_includes/bookmark.html +5 -5
  54. data/_includes/cssfile/links.html +11 -11
  55. data/_includes/custom-head.html +136 -136
  56. data/_includes/customblog/recentposts.html +67 -67
  57. data/_includes/customblog/relatedposts.html +203 -203
  58. data/_includes/disqus_comments.html +10 -10
  59. data/_includes/dropdown/langdropdown.html +22 -22
  60. data/_includes/feature.html +56 -56
  61. data/_includes/fileformat/Tabularcompariosn.html +158 -158
  62. data/_includes/fileformat/comparisonfiles.html +151 -151
  63. data/_includes/fileformat/fileformatdetail.html +101 -101
  64. data/_includes/fileformat/fileinfoformat.html +93 -93
  65. data/_includes/footer/index.html +538 -538
  66. data/_includes/google-analytics.html +22 -22
  67. data/_includes/head/index.html +235 -235
  68. data/_includes/header/blogHeader.html +34 -34
  69. data/_includes/header/index.html +188 -188
  70. data/_includes/languages/languages.html +60 -60
  71. data/_includes/monumetric/ads.html +57 -57
  72. data/_includes/monumetric/monumetric.html +57 -57
  73. data/_includes/monumetric/profitablecpmgate.html +51 -51
  74. data/_includes/nofiletransfer/nofiletransfer.html +38 -38
  75. data/_includes/paginationBlogPage.html +71 -71
  76. data/_includes/paginationPostPage.html +14 -14
  77. data/_includes/postauthorbio.html +17 -17
  78. data/_includes/postbox.html +31 -31
  79. data/_includes/script.html +508 -508
  80. data/_includes/section/alertbar.html +11 -11
  81. data/_includes/section/count.html +36 -36
  82. data/_includes/section/recent_posts.html +65 -65
  83. data/_includes/section/related_categories_post.html +198 -198
  84. data/_includes/share/socialshare.html +20 -20
  85. data/_includes/staticfooter.html +69 -69
  86. data/_layouts/aboutUs.html +34 -34
  87. data/_layouts/audio.html +33 -33
  88. data/_layouts/batch.html +98 -98
  89. data/_layouts/blog-1.html +83 -83
  90. data/_layouts/blog.html +94 -94
  91. data/_layouts/calculator.html +89 -89
  92. data/_layouts/categories.html +33 -33
  93. data/_layouts/contactUs.html +124 -124
  94. data/_layouts/default.html +1 -1
  95. data/_layouts/disclaimer.html +123 -123
  96. data/_layouts/download.html +299 -299
  97. data/_layouts/feature-1.html +322 -322
  98. data/_layouts/feature-download.html +308 -308
  99. data/_layouts/feature.html +256 -256
  100. data/_layouts/featureResultPage.html +65 -65
  101. data/_layouts/fileInfo.html +39 -39
  102. data/_layouts/filecomparison.html +85 -85
  103. data/_layouts/frame.html +222 -222
  104. data/_layouts/help.html +23 -23
  105. data/_layouts/home-1.html +229 -229
  106. data/_layouts/home.html +265 -265
  107. data/_layouts/homeResultPage.html +31 -31
  108. data/_layouts/imagekit.html +125 -125
  109. data/_layouts/page.html +5 -5
  110. data/_layouts/photo-effects-home.html +5 -5
  111. data/_layouts/post.html +177 -177
  112. data/_layouts/privacyPolicy.html +637 -637
  113. data/_layouts/termAndCondition.html +646 -646
  114. data/_layouts/video.html +33 -33
  115. data/assets/cross.svg +4 -4
  116. data/assets/css/adblocker.css +187 -187
  117. data/assets/css/batch.css +437 -437
  118. data/assets/css/blog-1.css +65 -65
  119. data/assets/css/blog.css +491 -491
  120. data/assets/css/bootstrap.min.css +6 -6
  121. data/assets/css/calculators.css +47 -47
  122. data/assets/css/common.css +550 -550
  123. data/assets/css/feature-1.css +290 -290
  124. data/assets/css/filecomparison.css +25 -25
  125. data/assets/css/frame.css +780 -780
  126. data/assets/css/home-1.css +187 -187
  127. data/assets/css/imagekit.css +840 -840
  128. data/assets/css/tools.css +1546 -1328
  129. data/assets/facebook.svg +4 -4
  130. data/assets/images/abp.svg +41 -41
  131. data/assets/images/adblock.svg +266 -266
  132. data/assets/images/addimg.svg +2 -2
  133. data/assets/images/convert.svg +8 -8
  134. data/assets/images/safevideoconverter.svg +23 -23
  135. data/assets/images/uo.svg +41 -41
  136. data/assets/images/vectorpaint.svg +5 -5
  137. data/assets/instagram.svg +4 -4
  138. data/assets/js/TopScroll.js +8 -8
  139. data/assets/js/adBlocker.js +68 -68
  140. data/assets/js/ads.js +8 -8
  141. data/assets/js/append-div.js +10 -10
  142. data/assets/js/batch.js +229 -229
  143. data/assets/js/calculator-tooltip.js +3 -3
  144. data/assets/js/face-api.js +38064 -38064
  145. data/assets/js/face-detection.js +303 -303
  146. data/assets/js/featureResult.js +48 -48
  147. data/assets/js/frame.js +263 -263
  148. data/assets/js/googledrive.js +155 -155
  149. data/assets/js/homeResult.js +36 -36
  150. data/assets/js/manifest.json +16 -16
  151. data/assets/js/multiselect.js +157 -157
  152. data/assets/js/perspective.min.js +182 -182
  153. data/assets/js/photo-effects.json +84 -84
  154. data/assets/js/redirectResult.js +9 -9
  155. data/assets/js/testing-batch.js +39 -39
  156. data/assets/js/theme.js +44 -44
  157. data/assets/linkdin.svg +4 -4
  158. data/assets/noserverupload.svg +4 -4
  159. data/assets/pdf.svg +20 -20
  160. data/assets/secure.svg +43 -43
  161. data/assets/star.svg +4 -4
  162. data/assets/twitter.svg +4 -4
  163. data/assets/youtube.svg +4 -4
  164. metadata +7 -7
@@ -1,156 +1,156 @@
1
- ---
2
- ---
3
-
4
- const addScripts=()=>{
5
- const scripts=document.getElementsByTagName('script')
6
- const check= Array.from(scripts).find(item=>item.src==='https://www.dropbox.com/static/api/2/dropins.js')
7
- if(!check){
8
- const dropboxscript = document.createElement('script')
9
- dropboxscript.src = 'https://www.dropbox.com/static/api/2/dropins.js'
10
- dropboxscript.crossOrigin = 'anonymous'
11
- dropboxscript.dataset.appKey = '{{site.dropboxapikey}}'
12
- dropboxscript.id='dropboxjs'
13
- document.head.append(dropboxscript)
14
- }
15
- const checkgooglescript= Array.from(scripts).find(item=>item.src==='https://apis.google.com/js/api.js')
16
- if(!checkgooglescript){
17
- const googlescript = document.createElement('script')
18
- googlescript.src = 'https://apis.google.com/js/api.js'
19
- googlescript.crossOrigin = 'anonymous'
20
- document.head.append(googlescript)
21
- }
22
- }
23
- const developerKey = '{{site.developerKey}}'
24
- const clientId ='{{site.clientId}}'
25
- const appId = '{{site.appId}}'
26
- const scope = [
27
- 'https://www.googleapis.com/auth/drive.file',
28
- 'https://www.googleapis.com/auth/drive.appdata',
29
- ]
30
- let pickerApiLoaded = false
31
- let oauthToken
32
- const loadPicker = () => {
33
- gapi.load('auth', { callback: onAuthApiLoad })
34
- gapi.load('picker', { callback: onPickerApiLoad })
35
- }
36
- const onAuthApiLoad = () => {
37
- window.gapi.auth.authorize(
38
- {
39
- client_id: clientId,
40
- scope: scope,
41
- immediate: false,
42
- },
43
- handleAuthResult
44
- )
45
- }
46
- let onPickerApiLoad = () => {
47
- pickerApiLoaded = true
48
- createPicker()
49
- }
50
- const handleAuthResult = (authResult) => {
51
- if (authResult && !authResult.error) {
52
- oauthToken = authResult.access_token
53
- createPicker()
54
- }
55
- }
56
- const createPicker = () => {
57
- if (pickerApiLoaded && oauthToken) {
58
- const view = new google.picker.View(google.picker.ViewId.DOCS)
59
- view.setMimeTypes(mimeTypes)
60
- const picker = new google.picker.PickerBuilder()
61
- .enableFeature(google.picker.Feature.NAV_HIDDEN)
62
- .enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
63
- .setAppId(appId)
64
- .setOAuthToken(oauthToken)
65
- .addView(view)
66
- .addView(new google.picker.DocsUploadView())
67
- .setDeveloperKey(developerKey)
68
- .setCallback(pickerCallback)
69
- .build()
70
- picker.setVisible(true)
71
- }
72
- }
73
- const pickerCallback = async (data) => {
74
- if (data.action == google.picker.Action.PICKED) {
75
- showLoader()
76
- const res = await fetch(
77
- `https://www.googleapis.com/drive/v3/files/${data.docs[0].id}?alt=media`,
78
- {
79
- headers: {
80
- Authorization: `Bearer ${oauthToken}`,
81
- },
82
- }
83
- ).then((res) => res.blob())
84
- let metadata = {
85
- type: data.docs[0].mimeType,
86
- }
87
- let file = new File([res], data.docs[0].name, metadata)
88
- closeLoader()
89
- getFile(file)
90
- }
91
- }
92
- function chooseFromDropbox() {
93
- Dropbox.choose({
94
- success: async (files) => {
95
- if (files.length < 0) {
96
- return
97
- }
98
- var file = files[0]
99
- const url = new URL(file.link)
100
- showLoader()
101
- const response = await fetch(url).then((res) => res.blob())
102
- let metadata = {
103
- type: response.type,
104
- }
105
- let newFile = new File([response], file.name, metadata)
106
- closeLoader()
107
- getDropBoxFile(newFile)
108
- },
109
- cancel: function () {},
110
- linkType: 'direct',
111
- multiselect: false,
112
- extensions: [...filemimes],
113
- folderselect: false,
114
- })
115
- }
116
-
117
- const fileupload=(file)=>{
118
- gapi.load('auth', {'callback': onAuthLoad});
119
- }
120
- const onAuthLoad=()=> {
121
- window.gapi.auth.authorize(
122
- {
123
- 'client_id': clientId,
124
- 'scope': scope,
125
- 'immediate': false
126
- },
127
- handleAuth);
128
- }
129
- const handleAuth=(authResult)=> {
130
- if (authResult && !authResult.error) {
131
- showuploadloading()
132
- var formData = new FormData();
133
- const fileToUpload = file
134
- var metadata = {
135
- name: fileToUpload.name,
136
- mimeType: fileToUpload.type
137
- };
138
- formData.append( "metadata", new Blob( [JSON.stringify( metadata )], {type: "application/json"} ));
139
- formData.append( "file", fileToUpload );
140
- fetch( "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart", {
141
- method: "POST",
142
- headers: new Headers({ "Authorization": "Bearer " + gapi.auth.getToken().access_token }),
143
- body: formData
144
- }).then( function( response ){
145
- stopuploadloading()
146
- return response.json();
147
-
148
- }).then( function( value ){
149
- stopuploadloading()
150
- showmessage()
151
- });
152
- }
153
- }
154
-
155
-
1
+ ---
2
+ ---
3
+
4
+ const addScripts=()=>{
5
+ const scripts=document.getElementsByTagName('script')
6
+ const check= Array.from(scripts).find(item=>item.src==='https://www.dropbox.com/static/api/2/dropins.js')
7
+ if(!check){
8
+ const dropboxscript = document.createElement('script')
9
+ dropboxscript.src = 'https://www.dropbox.com/static/api/2/dropins.js'
10
+ dropboxscript.crossOrigin = 'anonymous'
11
+ dropboxscript.dataset.appKey = '{{site.dropboxapikey}}'
12
+ dropboxscript.id='dropboxjs'
13
+ document.head.append(dropboxscript)
14
+ }
15
+ const checkgooglescript= Array.from(scripts).find(item=>item.src==='https://apis.google.com/js/api.js')
16
+ if(!checkgooglescript){
17
+ const googlescript = document.createElement('script')
18
+ googlescript.src = 'https://apis.google.com/js/api.js'
19
+ googlescript.crossOrigin = 'anonymous'
20
+ document.head.append(googlescript)
21
+ }
22
+ }
23
+ const developerKey = '{{site.developerKey}}'
24
+ const clientId ='{{site.clientId}}'
25
+ const appId = '{{site.appId}}'
26
+ const scope = [
27
+ 'https://www.googleapis.com/auth/drive.file',
28
+ 'https://www.googleapis.com/auth/drive.appdata',
29
+ ]
30
+ let pickerApiLoaded = false
31
+ let oauthToken
32
+ const loadPicker = () => {
33
+ gapi.load('auth', { callback: onAuthApiLoad })
34
+ gapi.load('picker', { callback: onPickerApiLoad })
35
+ }
36
+ const onAuthApiLoad = () => {
37
+ window.gapi.auth.authorize(
38
+ {
39
+ client_id: clientId,
40
+ scope: scope,
41
+ immediate: false,
42
+ },
43
+ handleAuthResult
44
+ )
45
+ }
46
+ let onPickerApiLoad = () => {
47
+ pickerApiLoaded = true
48
+ createPicker()
49
+ }
50
+ const handleAuthResult = (authResult) => {
51
+ if (authResult && !authResult.error) {
52
+ oauthToken = authResult.access_token
53
+ createPicker()
54
+ }
55
+ }
56
+ const createPicker = () => {
57
+ if (pickerApiLoaded && oauthToken) {
58
+ const view = new google.picker.View(google.picker.ViewId.DOCS)
59
+ view.setMimeTypes(mimeTypes)
60
+ const picker = new google.picker.PickerBuilder()
61
+ .enableFeature(google.picker.Feature.NAV_HIDDEN)
62
+ .enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
63
+ .setAppId(appId)
64
+ .setOAuthToken(oauthToken)
65
+ .addView(view)
66
+ .addView(new google.picker.DocsUploadView())
67
+ .setDeveloperKey(developerKey)
68
+ .setCallback(pickerCallback)
69
+ .build()
70
+ picker.setVisible(true)
71
+ }
72
+ }
73
+ const pickerCallback = async (data) => {
74
+ if (data.action == google.picker.Action.PICKED) {
75
+ showLoader()
76
+ const res = await fetch(
77
+ `https://www.googleapis.com/drive/v3/files/${data.docs[0].id}?alt=media`,
78
+ {
79
+ headers: {
80
+ Authorization: `Bearer ${oauthToken}`,
81
+ },
82
+ }
83
+ ).then((res) => res.blob())
84
+ let metadata = {
85
+ type: data.docs[0].mimeType,
86
+ }
87
+ let file = new File([res], data.docs[0].name, metadata)
88
+ closeLoader()
89
+ getFile(file)
90
+ }
91
+ }
92
+ function chooseFromDropbox() {
93
+ Dropbox.choose({
94
+ success: async (files) => {
95
+ if (files.length < 0) {
96
+ return
97
+ }
98
+ var file = files[0]
99
+ const url = new URL(file.link)
100
+ showLoader()
101
+ const response = await fetch(url).then((res) => res.blob())
102
+ let metadata = {
103
+ type: response.type,
104
+ }
105
+ let newFile = new File([response], file.name, metadata)
106
+ closeLoader()
107
+ getDropBoxFile(newFile)
108
+ },
109
+ cancel: function () {},
110
+ linkType: 'direct',
111
+ multiselect: false,
112
+ extensions: [...filemimes],
113
+ folderselect: false,
114
+ })
115
+ }
116
+
117
+ const fileupload=(file)=>{
118
+ gapi.load('auth', {'callback': onAuthLoad});
119
+ }
120
+ const onAuthLoad=()=> {
121
+ window.gapi.auth.authorize(
122
+ {
123
+ 'client_id': clientId,
124
+ 'scope': scope,
125
+ 'immediate': false
126
+ },
127
+ handleAuth);
128
+ }
129
+ const handleAuth=(authResult)=> {
130
+ if (authResult && !authResult.error) {
131
+ showuploadloading()
132
+ var formData = new FormData();
133
+ const fileToUpload = file
134
+ var metadata = {
135
+ name: fileToUpload.name,
136
+ mimeType: fileToUpload.type
137
+ };
138
+ formData.append( "metadata", new Blob( [JSON.stringify( metadata )], {type: "application/json"} ));
139
+ formData.append( "file", fileToUpload );
140
+ fetch( "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart", {
141
+ method: "POST",
142
+ headers: new Headers({ "Authorization": "Bearer " + gapi.auth.getToken().access_token }),
143
+ body: formData
144
+ }).then( function( response ){
145
+ stopuploadloading()
146
+ return response.json();
147
+
148
+ }).then( function( value ){
149
+ stopuploadloading()
150
+ showmessage()
151
+ });
152
+ }
153
+ }
154
+
155
+
156
156
 
@@ -1,37 +1,37 @@
1
- let script = document.currentScript
2
- const params = new URLSearchParams(window.location.search)
3
- let type = params.get('fileName')
4
- let jsonFileName = atob(type);
5
- let folderName = script.dataset.foldername
6
- let fileName = jsonFileName
7
- let lang = script.dataset.lang
8
-
9
- let home_h1 = document.querySelector(".home-top-h1")
10
- let home_h2 = document.querySelector(".home-top-h2")
11
- let home_img = document.querySelector(".home-img")
12
-
13
- const getSeodata = async () => {
14
- let URL = '/data' + '/' + folderName + '/' + lang + '/' + fileName + '.json'
15
- const data = await fetch(URL)
16
- const seoData = await data.json()
17
-
18
- home_h1.innerHTML = seoData.h1
19
- home_h2.innerHTML = seoData.h2
20
-
21
- document.head.querySelector('meta[property="og:title"]').setAttribute("content", seoData.TITLE);
22
- document.head.querySelector('meta[name="description"]').setAttribute("content", seoData.META);
23
- document.head.querySelector('meta[name="twitter:title"]').setAttribute("content", seoData.TITLE);
24
- document.head.querySelector('meta[name="twitter:description"]').setAttribute("content", seoData.META);
25
-
26
-
27
- if (seoData.img) {
28
- home_img.src = seoData.img
29
- home_img.setAttribute("alt", seoData.imgalt)
30
- home_img.style.width = seoData.imgwidth
31
- home_img.style.height = seoData.imgheight
32
- }
33
-
34
- document.title = seoData.TITLE
35
-
36
- }
1
+ let script = document.currentScript
2
+ const params = new URLSearchParams(window.location.search)
3
+ let type = params.get('fileName')
4
+ let jsonFileName = atob(type);
5
+ let folderName = script.dataset.foldername
6
+ let fileName = jsonFileName
7
+ let lang = script.dataset.lang
8
+
9
+ let home_h1 = document.querySelector(".home-top-h1")
10
+ let home_h2 = document.querySelector(".home-top-h2")
11
+ let home_img = document.querySelector(".home-img")
12
+
13
+ const getSeodata = async () => {
14
+ let URL = '/data' + '/' + folderName + '/' + lang + '/' + fileName + '.json'
15
+ const data = await fetch(URL)
16
+ const seoData = await data.json()
17
+
18
+ home_h1.innerHTML = seoData.h1
19
+ home_h2.innerHTML = seoData.h2
20
+
21
+ document.head.querySelector('meta[property="og:title"]').setAttribute("content", seoData.TITLE);
22
+ document.head.querySelector('meta[name="description"]').setAttribute("content", seoData.META);
23
+ document.head.querySelector('meta[name="twitter:title"]').setAttribute("content", seoData.TITLE);
24
+ document.head.querySelector('meta[name="twitter:description"]').setAttribute("content", seoData.META);
25
+
26
+
27
+ if (seoData.img) {
28
+ home_img.src = seoData.img
29
+ home_img.setAttribute("alt", seoData.imgalt)
30
+ home_img.style.width = seoData.imgwidth
31
+ home_img.style.height = seoData.imgheight
32
+ }
33
+
34
+ document.title = seoData.TITLE
35
+
36
+ }
37
37
  getSeodata()
@@ -1,17 +1,17 @@
1
- ---
2
- ---
3
- {
4
- "short_name": "{{site.name}}",
5
- "name": "{{site.name}}",
6
- "icons": [
7
- {
8
- "src": "{{site.pwalogo}}",
9
- "type": "image/png",
10
- "sizes": "1024x1024"
11
- }
12
- ],
13
- "start_url": "/",
14
- "display": "standalone",
15
- "theme_color": "#000000",
16
- "background_color": "#ffffff"
1
+ ---
2
+ ---
3
+ {
4
+ "short_name": "{{site.name}}",
5
+ "name": "{{site.name}}",
6
+ "icons": [
7
+ {
8
+ "src": "{{site.pwalogo}}",
9
+ "type": "image/png",
10
+ "sizes": "1024x1024"
11
+ }
12
+ ],
13
+ "start_url": "/",
14
+ "display": "standalone",
15
+ "theme_color": "#000000",
16
+ "background_color": "#ffffff"
17
17
  }