appscms-tools-theme 2.9.5 → 2.9.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +21 -21
- data/README.md +50 -50
- data/_data/about/en/about.json +16 -16
- data/_data/blog/alertbar.yml +3 -3
- data/_data/blog/authors.yml +11 -11
- data/_data/blog/blog.yml +4 -4
- data/_data/blog/nav.json +13 -13
- data/_data/blog/share.yml +28 -28
- data/_data/calculators/en/biology-calc/bulb-spacing.json +78 -78
- data/_data/calculators/en/biology-calc/cat-chocolate-toxicity.json +52 -52
- data/_data/calculators/en/chemistry-calc/activation-energy.json +44 -44
- data/_data/calculators/en/finance-calc/401k.json +122 -122
- data/_data/contact/en/contact.json +38 -38
- data/_data/disclaimer/en/disclaimer.json +37 -37
- data/_data/download/en/download.json +35 -35
- data/_data/feature/en/3_shop_posters.json +351 -351
- data/_data/feature/en/allele-frequency.json +246 -246
- data/_data/feature/en/batch-conversion.json +77 -77
- data/_data/feature/en/compress-pdf.json +202 -202
- data/_data/feature/en/face-detection.json +52 -52
- data/_data/feature/en/split-pdf.json +115 -115
- data/_data/feature/en/theframe.json +56 -56
- data/_data/feature/hi/compress-pdf.json +81 -81
- data/_data/feature/tr/compress-pdf.json +80 -80
- data/_data/filecomparison/en/filecomparison.json +38 -38
- data/_data/fileinfo/en/fileinfo.json +15 -15
- data/_data/footer/en/data.json +164 -164
- data/_data/footer/hi/data.json +68 -68
- data/_data/footer/networksites.json +15 -15
- data/_data/header/en/data.json +173 -173
- data/_data/header/hi/data.json +144 -144
- data/_data/home/en/en.json +285 -285
- data/_data/home/en/photoeffects.json +23 -23
- data/_data/home/en/posters.json +323 -323
- data/_data/home/hi/hi.json +86 -86
- data/_data/home-1/en/en.json +229 -229
- data/_data/languagesupport/compress-pdf-langs.json +11 -11
- data/_data/languagesupport/index-langs.json +13 -13
- data/_data/photo-categories.json +104 -104
- data/_data/photoeffects.json +31 -31
- data/_data/privacy/en/privacyPolicy.json +265 -265
- data/_data/termAndCondition/en/termAndCondition.json +358 -358
- data/_includes/Rating/rating.html +92 -92
- data/_includes/Rating/structureddata.html +53 -53
- data/_includes/Usp/usp.html +95 -95
- data/_includes/adblocker.html +135 -135
- data/_includes/adsense/adsense.html +7 -7
- data/_includes/alternates/alternates.html +45 -45
- data/_includes/author_bio.html +16 -16
- data/_includes/authors/authors.html +67 -67
- data/_includes/batch-conversion.html +65 -65
- data/_includes/cssfile/links.html +11 -11
- data/_includes/custom-head.html +136 -136
- data/_includes/customblog/recentposts.html +67 -67
- data/_includes/customblog/relatedposts.html +203 -203
- data/_includes/disqus_comments.html +10 -10
- data/_includes/dropdown/langdropdown.html +22 -22
- data/_includes/feature.html +37 -37
- data/_includes/fileformat/Tabularcompariosn.html +158 -158
- data/_includes/fileformat/comparisonfiles.html +151 -151
- data/_includes/fileformat/fileformatdetail.html +101 -101
- data/_includes/fileformat/fileinfoformat.html +93 -93
- data/_includes/footer/index.html +534 -534
- data/_includes/google-analytics.html +22 -22
- data/_includes/head/index.html +235 -235
- data/_includes/header/blogHeader.html +34 -34
- data/_includes/header/index.html +188 -188
- data/_includes/languages/languages.html +60 -60
- data/_includes/monumetric/ads.html +57 -57
- data/_includes/monumetric/monumetric.html +57 -57
- data/_includes/monumetric/profitablecpmgate.html +51 -51
- data/_includes/nofiletransfer/nofiletransfer.html +38 -38
- data/_includes/paginationBlogPage.html +71 -71
- data/_includes/paginationPostPage.html +14 -14
- data/_includes/postauthorbio.html +17 -17
- data/_includes/postbox.html +31 -31
- data/_includes/script.html +58 -58
- data/_includes/section/alertbar.html +11 -11
- data/_includes/section/count.html +36 -36
- data/_includes/section/recent_posts.html +65 -65
- data/_includes/section/related_categories_post.html +198 -198
- data/_includes/share/socialshare.html +20 -20
- data/_includes/staticfooter.html +67 -67
- data/_layouts/aboutUs.html +34 -34
- data/_layouts/batch.html +102 -102
- data/_layouts/blog-1.html +83 -83
- data/_layouts/blog.html +94 -94
- data/_layouts/calculator.html +89 -89
- data/_layouts/categories.html +33 -33
- data/_layouts/contactUs.html +124 -124
- data/_layouts/default.html +1 -1
- data/_layouts/disclaimer.html +123 -123
- data/_layouts/download.html +299 -299
- data/_layouts/feature-1.html +320 -320
- data/_layouts/feature-download.html +308 -308
- data/_layouts/feature.html +258 -258
- data/_layouts/featureResultPage.html +65 -65
- data/_layouts/fileInfo.html +39 -39
- data/_layouts/filecomparison.html +85 -85
- data/_layouts/frame.html +222 -434
- data/_layouts/help.html +23 -23
- data/_layouts/home-1.html +229 -229
- data/_layouts/home.html +249 -249
- data/_layouts/homeResultPage.html +31 -31
- data/_layouts/imagekit.html +125 -125
- data/_layouts/page.html +5 -5
- data/_layouts/photo-effects-home.html +191 -193
- data/_layouts/post.html +177 -177
- data/_layouts/privacyPolicy.html +637 -637
- data/_layouts/termAndCondition.html +646 -646
- data/assets/cross.svg +4 -4
- data/assets/css/adblocker.css +187 -187
- data/assets/css/batch.css +437 -437
- data/assets/css/blog-1.css +65 -65
- data/assets/css/blog.css +491 -491
- data/assets/css/bootstrap.min.css +6 -6
- data/assets/css/calculators.css +47 -47
- data/assets/css/common.css +550 -550
- data/assets/css/feature-1.css +290 -290
- data/assets/css/filecomparison.css +25 -25
- data/assets/css/frame.css +780 -780
- data/assets/css/home-1.css +187 -187
- data/assets/css/imagekit.css +840 -840
- data/assets/css/tools.css +1278 -1278
- data/assets/facebook.svg +4 -4
- data/assets/images/abp.svg +41 -41
- data/assets/images/adblock.svg +266 -266
- data/assets/images/addimg.svg +2 -2
- data/assets/images/convert.svg +8 -8
- data/assets/images/safevideoconverter.svg +23 -23
- data/assets/images/uo.svg +41 -41
- data/assets/images/vectorpaint.svg +5 -5
- data/assets/instagram.svg +4 -4
- data/assets/js/TopScroll.js +8 -8
- data/assets/js/adBlocker.js +44 -44
- data/assets/js/ads.js +8 -8
- data/assets/js/append-div.js +10 -10
- data/assets/js/batch.js +229 -229
- data/assets/js/calculator-tooltip.js +3 -3
- data/assets/js/face-api.js +38064 -38064
- data/assets/js/face-detection.js +303 -303
- data/assets/js/featureResult.js +48 -48
- data/assets/js/frame.js +263 -263
- data/assets/js/googledrive.js +155 -155
- data/assets/js/homeResult.js +36 -36
- data/assets/js/manifest.json +16 -16
- data/assets/js/multiselect.js +157 -157
- data/assets/js/perspective.min.js +182 -182
- data/assets/js/photo-effects.json +84 -84
- data/assets/js/redirectResult.js +9 -9
- data/assets/js/testing-batch.js +39 -39
- data/assets/js/theme.js +44 -44
- data/assets/linkdin.svg +4 -4
- data/assets/noserverupload.svg +4 -4
- data/assets/pdf.svg +20 -20
- data/assets/secure.svg +43 -43
- data/assets/star.svg +4 -4
- data/assets/twitter.svg +4 -4
- data/assets/youtube.svg +4 -4
- metadata +7 -7
data/assets/js/googledrive.js
CHANGED
@@ -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
|
|
data/assets/js/homeResult.js
CHANGED
@@ -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()
|
data/assets/js/manifest.json
CHANGED
@@ -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
|
}
|