⚡ Improve page scripts configuration files.
This commit is contained in:
parent
a9ff14d312
commit
31f6e21671
@ -1,92 +1,67 @@
|
|||||||
if (!window.NexT) window.NexT = {};
|
if (!window.NexT) window.NexT = {};
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
const className = 'next-config';
|
||||||
|
|
||||||
const siteConfig = {
|
const staticConfig = {};
|
||||||
"hostname" : "{{ .Site.BaseURL }}",
|
let variableConfig = {};
|
||||||
"root" : "/",
|
|
||||||
"vendor" : {
|
const parse = text => JSON.parse(text || '{}');
|
||||||
"plugins" : "{{ .Site.Params.vendors.plugins }}",
|
|
||||||
"router" : "{{ .Scratch.Get "router" }}"
|
const update = name => {
|
||||||
},
|
const targetEle = document.querySelector(`.${className}[data-name="${name}"]`);
|
||||||
"images" : "{{ .Site.Params.images }}",
|
if (!targetEle) return;
|
||||||
"scheme" : "{{ .Site.Params.scheme }}",
|
const parsedConfig = parse(targetEle.text);
|
||||||
"darkmode" : {{ .Site.Params.darkmode }},
|
if (name === 'main') {
|
||||||
"version" : "{{ .Site.Data.config.version }}",
|
Object.assign(staticConfig, parsedConfig);
|
||||||
"sidebar" : {{ .Site.Params.sidebar | jsonify }},
|
} else {
|
||||||
"copybtn" : {{ .Site.Params.codeblock.copyBtn }},
|
variableConfig[name] = parsedConfig;
|
||||||
"bookmark" : {{ .Site.Params.bookmark | jsonify }},
|
|
||||||
"comments" : {{ .Site.Params.comments | jsonify }},
|
|
||||||
"lazyload" : {{ .Site.Params.lazyload }},
|
|
||||||
"pangu" : {{ .Site.Params.pangu }},
|
|
||||||
"stickytabs" : {{ .Site.Params.tabs.sticky }},
|
|
||||||
"motion" : {{ .Site.Params.motion | jsonify }},
|
|
||||||
// TODO Find prismjs
|
|
||||||
//"prism" : "",
|
|
||||||
"i18n" : {
|
|
||||||
"placeholder" : "",
|
|
||||||
"empty" : "${query}",
|
|
||||||
"hits_time" : "'${hits}', '${time}'",
|
|
||||||
"hits" : "${hits}"
|
|
||||||
},
|
|
||||||
{{- if .Site.Params.algoliaSearch.enable }}
|
|
||||||
// TODO
|
|
||||||
"algolia" : {
|
|
||||||
"appID" : "",
|
|
||||||
"apiKey" : "",
|
|
||||||
"indexName" : "",
|
|
||||||
"hits" : ""
|
|
||||||
}
|
}
|
||||||
{{- end }}
|
|
||||||
{{- if .Site.Params.localSearch.enable }}
|
|
||||||
// TODO
|
|
||||||
"path" : "/search.json",
|
|
||||||
"localsearch": {{ .Site.Params.localSearch | jsonify }},
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Site.Params.waline }}
|
|
||||||
"waline" : {
|
|
||||||
"js" : {{ $.Site.Data.resources.waline.js | jsonify }},
|
|
||||||
"css" : {{ $.Site.Data.resources.waline.css | jsonify }},
|
|
||||||
"config" : {{ . | jsonify }}
|
|
||||||
},
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Site.Params.artalk }}
|
|
||||||
"artalk" : {
|
|
||||||
"js" : {{ $.Site.Data.resources.artalk.js | jsonify }},
|
|
||||||
"css" : {{ $.Site.Data.resources.artalk.css | jsonify }},
|
|
||||||
"config" : {{ . | jsonify }}
|
|
||||||
},
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Site.Params.giscus }}
|
|
||||||
"giscus" : {
|
|
||||||
"js" : "{{ $.Site.Data.resources.giscus.js }}",
|
|
||||||
"config" : {{ . | jsonify }}
|
|
||||||
},
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Site.Params.livere }}
|
|
||||||
"livere" : {
|
|
||||||
"js" : "{{ $.Site.Data.resources.livere.js }}"
|
|
||||||
},
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Site.Params.utterances }}
|
|
||||||
"utterances" : {
|
|
||||||
"js" : "{{ $.Site.Data.resources.utterances.js }}",
|
|
||||||
"config" : {{ . | jsonify }}
|
|
||||||
},
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Site.Params.addThisId }}
|
|
||||||
"addthis" : {
|
|
||||||
"js" : "{{ $.Site.Data.resources.addthis.js }}",
|
|
||||||
"config" : { "pubid" : "{{ . }}" }
|
|
||||||
},
|
|
||||||
{{- end }}
|
|
||||||
"lang" : "{{ .Site.LanguageCode }}",
|
|
||||||
"permalink" : "{{ .Page.Permalink | absURL }}",
|
|
||||||
"title" : "{{ .Page.Title }}",
|
|
||||||
"isHome" : {{ .IsHome }},
|
|
||||||
"isPage" : {{ .IsPage }}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
window.NexT.CONFIG = new Proxy(siteConfig, {});
|
|
||||||
|
|
||||||
|
update('main');
|
||||||
|
|
||||||
|
window.NexT.CONFIG = new Proxy({}, {
|
||||||
|
get(overrideConfig, name) {
|
||||||
|
let existing;
|
||||||
|
if (name in staticConfig) {
|
||||||
|
existing = staticConfig[name];
|
||||||
|
} else {
|
||||||
|
if (!(name in variableConfig)) update(name);
|
||||||
|
existing = variableConfig[name];
|
||||||
|
}
|
||||||
|
|
||||||
|
// For unset override and mixable existing
|
||||||
|
if (!(name in overrideConfig) && typeof existing === 'object') {
|
||||||
|
// Get ready to mix.
|
||||||
|
overrideConfig[name] = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (name in overrideConfig) {
|
||||||
|
const override = overrideConfig[name];
|
||||||
|
|
||||||
|
// When mixable
|
||||||
|
if (typeof override === 'object' && typeof existing === 'object') {
|
||||||
|
// Mix, proxy changes to the override.
|
||||||
|
return new Proxy({ ...existing, ...override }, {
|
||||||
|
set(target, prop, value) {
|
||||||
|
target[prop] = value;
|
||||||
|
override[prop] = value;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return override;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only when not mixable and override hasn't been set.
|
||||||
|
return existing;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
// document.addEventListener('pjax:success', () => {
|
||||||
|
// variableConfig = {};
|
||||||
|
// });
|
||||||
})();
|
})();
|
@ -33,7 +33,7 @@ NexT.boot.registerEvents = function() {
|
|||||||
|
|
||||||
NexT.boot.refresh = function() {
|
NexT.boot.refresh = function() {
|
||||||
|
|
||||||
if (!NexT.CONFIG.isPage) return;
|
if (!NexT.CONFIG.page.isPage) return;
|
||||||
/**
|
/**
|
||||||
* Register JS handlers by condition option.
|
* Register JS handlers by condition option.
|
||||||
* Need to add config option in Front-End at 'scripts/helpers/next-config.js' file.
|
* Need to add config option in Front-End at 'scripts/helpers/next-config.js' file.
|
||||||
|
16
assets/js/third-party/comments/artalk.js
vendored
16
assets/js/third-party/comments/artalk.js
vendored
@ -1,19 +1,19 @@
|
|||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
const element = '.artalk-container';
|
const element = '.artalk-container';
|
||||||
if (!NexT.CONFIG.comments.enable
|
if (!NexT.CONFIG.page.comments
|
||||||
|| !NexT.CONFIG.artalk
|
|| !NexT.CONFIG.page.artalk
|
||||||
|| !NexT.utils.checkDOMExist(element)) return;
|
|| !NexT.utils.checkDOMExist(element)) return;
|
||||||
|
|
||||||
const artalk_css = NexT.utils.getCDNResource(NexT.CONFIG.artalk.css);
|
const artalk_css = NexT.utils.getCDNResource(NexT.CONFIG.page.artalk.css);
|
||||||
NexT.utils.getStyle(artalk_css, null);
|
NexT.utils.getStyle(artalk_css, null);
|
||||||
|
|
||||||
const artalk_js = NexT.utils.getCDNResource(NexT.CONFIG.artalk.js);
|
const artalk_js = NexT.utils.getCDNResource(NexT.CONFIG.page.artalk.js);
|
||||||
const {
|
const {
|
||||||
site,
|
site,
|
||||||
placeholder,
|
placeholder,
|
||||||
server,
|
server,
|
||||||
} = NexT.CONFIG.artalk.config;
|
} = NexT.CONFIG.page.artalk.cfg;
|
||||||
|
|
||||||
NexT.utils.loadComments(element)
|
NexT.utils.loadComments(element)
|
||||||
.then(() => NexT.utils.getScript(artalk_js, {
|
.then(() => NexT.utils.getScript(artalk_js, {
|
||||||
@ -22,11 +22,11 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
|
|
||||||
new Artalk({
|
new Artalk({
|
||||||
el : element,
|
el : element,
|
||||||
pageKey : NexT.CONFIG.permalink,
|
pageKey : NexT.CONFIG.page.permalink,
|
||||||
pageTitle : NexT.CONFIG.title,
|
pageTitle : NexT.CONFIG.page.title,
|
||||||
server : server,
|
server : server,
|
||||||
site : site,
|
site : site,
|
||||||
locale : NexT.CONFIG.lang,
|
locale : NexT.CONFIG.page.lang,
|
||||||
placeholder : placeholder,
|
placeholder : placeholder,
|
||||||
darkMode : 'auto'
|
darkMode : 'auto'
|
||||||
});
|
});
|
||||||
|
10
assets/js/third-party/comments/giscus.js
vendored
10
assets/js/third-party/comments/giscus.js
vendored
@ -1,8 +1,8 @@
|
|||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
const element = '.giscus-container';
|
const element = '.giscus-container';
|
||||||
if (!NexT.CONFIG.comments.enable
|
if (!NexT.CONFIG.page.comments
|
||||||
|| !NexT.CONFIG.giscus
|
|| !NexT.CONFIG.page.giscus
|
||||||
|| !NexT.utils.checkDOMExist(element)) return;
|
|| !NexT.utils.checkDOMExist(element)) return;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@ -14,11 +14,11 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
reactions,
|
reactions,
|
||||||
repo,
|
repo,
|
||||||
repoid,
|
repoid,
|
||||||
theme } = NexT.CONFIG.giscus.config;
|
theme } = NexT.CONFIG.page.giscus.cfg;
|
||||||
|
|
||||||
|
|
||||||
NexT.utils.loadComments(element)
|
NexT.utils.loadComments(element)
|
||||||
.then(() => NexT.utils.getScript(NexT.CONFIG.giscus.js, {
|
.then(() => NexT.utils.getScript(NexT.CONFIG.page.giscus.js, {
|
||||||
attributes: {
|
attributes: {
|
||||||
'async' : true,
|
'async' : true,
|
||||||
'crossorigin' : 'anonymous',
|
'crossorigin' : 'anonymous',
|
||||||
@ -31,7 +31,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
'data-emit-metadata' : emit ? 1:0,
|
'data-emit-metadata' : emit ? 1:0,
|
||||||
'data-input-position' : inputposition,
|
'data-input-position' : inputposition,
|
||||||
'data-theme' : theme,
|
'data-theme' : theme,
|
||||||
'data-lang' : NexT.CONFIG.lang,
|
'data-lang' : NexT.CONFIG.page.lang,
|
||||||
'data-loading' : 'lazy'
|
'data-loading' : 'lazy'
|
||||||
},
|
},
|
||||||
parentNode: document.querySelector(element)
|
parentNode: document.querySelector(element)
|
||||||
|
6
assets/js/third-party/comments/livere.js
vendored
6
assets/js/third-party/comments/livere.js
vendored
@ -1,12 +1,12 @@
|
|||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
const element = '#lv-container';
|
const element = '#lv-container';
|
||||||
if (!NexT.CONFIG.comments.enable
|
if (!NexT.CONFIG.page.comments
|
||||||
|| !NexT.CONFIG.livere
|
|| !NexT.CONFIG.page.livere
|
||||||
|| !NexT.utils.checkDOMExist(element)) return;
|
|| !NexT.utils.checkDOMExist(element)) return;
|
||||||
|
|
||||||
NexT.utils.loadComments(element).then(() => {
|
NexT.utils.loadComments(element).then(() => {
|
||||||
NexT.utils.getScript(NexT.CONFIG.livere.js, {
|
NexT.utils.getScript(NexT.CONFIG.page.livere.js, {
|
||||||
attributes: {
|
attributes: {
|
||||||
async: true
|
async: true
|
||||||
},
|
},
|
||||||
|
8
assets/js/third-party/comments/utterances.js
vendored
8
assets/js/third-party/comments/utterances.js
vendored
@ -1,18 +1,18 @@
|
|||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
const element = '.utterances-container';
|
const element = '.utterances-container';
|
||||||
if (!NexT.CONFIG.comments.enable
|
if (!NexT.CONFIG.page.comments
|
||||||
|| !NexT.CONFIG.utterances
|
|| !NexT.CONFIG.page.utterances
|
||||||
|| !NexT.utils.checkDOMExist(element)) return;
|
|| !NexT.utils.checkDOMExist(element)) return;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
repo,
|
repo,
|
||||||
issueterm,
|
issueterm,
|
||||||
label,
|
label,
|
||||||
theme } = NexT.CONFIG.utterances.config;
|
theme } = NexT.CONFIG.page.utterances.cfg;
|
||||||
|
|
||||||
NexT.utils.loadComments(element)
|
NexT.utils.loadComments(element)
|
||||||
.then(() => NexT.utils.getScript(NexT.CONFIG.utterances.js, {
|
.then(() => NexT.utils.getScript(NexT.CONFIG.page.utterances.js, {
|
||||||
attributes: {
|
attributes: {
|
||||||
'async' : true,
|
'async' : true,
|
||||||
'crossorigin' : 'anonymous',
|
'crossorigin' : 'anonymous',
|
||||||
|
12
assets/js/third-party/comments/waline.js
vendored
12
assets/js/third-party/comments/waline.js
vendored
@ -1,8 +1,8 @@
|
|||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
const element = '.waline-container';
|
const element = '.waline-container';
|
||||||
if (!NexT.CONFIG.comments.enable
|
if (!NexT.CONFIG.page.comments
|
||||||
|| !NexT.CONFIG.waline
|
|| !NexT.CONFIG.page.waline
|
||||||
|| !NexT.utils.checkDOMExist(element)) return;
|
|| !NexT.utils.checkDOMExist(element)) return;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@ -13,13 +13,13 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
requiredmeta,
|
requiredmeta,
|
||||||
serverurl,
|
serverurl,
|
||||||
wordlimit
|
wordlimit
|
||||||
} = NexT.CONFIG.waline.config;
|
} = NexT.CONFIG.page.waline.cfg;
|
||||||
|
|
||||||
|
|
||||||
const waline_css = NexT.utils.getCDNResource(NexT.CONFIG.waline.css);
|
const waline_css = NexT.utils.getCDNResource(NexT.CONFIG.page.waline.css);
|
||||||
NexT.utils.getStyle(waline_css, null);
|
NexT.utils.getStyle(waline_css, null);
|
||||||
|
|
||||||
const waline_js = NexT.utils.getCDNResource(NexT.CONFIG.waline.js);
|
const waline_js = NexT.utils.getCDNResource(NexT.CONFIG.page.waline.js);
|
||||||
|
|
||||||
const locale = {
|
const locale = {
|
||||||
placeholder: placeholder
|
placeholder: placeholder
|
||||||
@ -39,7 +39,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
wordLimit : wordlimit,
|
wordLimit : wordlimit,
|
||||||
requiredMeta : requiredmeta,
|
requiredMeta : requiredmeta,
|
||||||
serverURL : serverurl,
|
serverURL : serverurl,
|
||||||
lang : NexT.CONFIG.lang,
|
lang : NexT.CONFIG.page.lang,
|
||||||
dark : "auto"
|
dark : "auto"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
4
assets/js/third-party/share/addthis.js
vendored
4
assets/js/third-party/share/addthis.js
vendored
@ -1,9 +1,9 @@
|
|||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
const element = '.addthis_inline_share_toolbox';
|
const element = '.addthis_inline_share_toolbox';
|
||||||
if (!NexT.CONFIG.addthis || !NexT.utils.checkDOMExist(element)) return;
|
if (!NexT.CONFIG.page.addthis || !NexT.utils.checkDOMExist(element)) return;
|
||||||
|
|
||||||
const addthis_js = NexT.CONFIG.addthis.js + '?pubid=' + NexT.CONFIG.addthis.config.pubid;
|
const addthis_js = NexT.CONFIG.page.addthis.js + '?pubid=' + NexT.CONFIG.page.addthis.cfg.pubid;
|
||||||
|
|
||||||
NexT.utils.loadComments(element).then(() => {
|
NexT.utils.loadComments(element).then(() => {
|
||||||
NexT.utils.getScript(addthis_js, {
|
NexT.utils.getScript(addthis_js, {
|
||||||
|
@ -440,7 +440,7 @@ NexT.utils = {
|
|||||||
}
|
}
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
const element = document.querySelector(selector);
|
const element = document.querySelector(selector);
|
||||||
if (!NexT.CONFIG.comments.lazyload || !element) {
|
if (!element) {
|
||||||
resolve();
|
resolve();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
10
layouts/partials/_thirdparty/analytics/51la.html
vendored
10
layouts/partials/_thirdparty/analytics/51la.html
vendored
@ -4,12 +4,14 @@
|
|||||||
|
|
||||||
script.charset = "UTF-8";
|
script.charset = "UTF-8";
|
||||||
script.id = "LA_COLLECT";
|
script.id = "LA_COLLECT";
|
||||||
script.src = "{{ .ctx.Site.Data.resources.analytics.la }}";
|
script.src = "{{ .Site.Data.resources.analytics.la }}";
|
||||||
script.async = "true"
|
script.async = "true"
|
||||||
script.onload = function() {
|
script.onload = function() {
|
||||||
LA.init({ id: "{{ .id }}",ck: "{{ .id }}", autoTrack:true });
|
{{ with .Site.Params.analytics.laId }}
|
||||||
|
LA.init({ id: "{{ . }}",ck: "{{ . }}", autoTrack:true });
|
||||||
|
{{ end }}
|
||||||
}
|
}
|
||||||
|
|
||||||
document.head.appendChild(script);
|
document.head.appendChild(script);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -5,4 +5,6 @@
|
|||||||
{{- partial "head/facebook.html" . }}
|
{{- partial "head/facebook.html" . }}
|
||||||
{{- partial "head/verify.html" . }}
|
{{- partial "head/verify.html" . }}
|
||||||
{{- partialCached "head/style.html" . }}
|
{{- partialCached "head/style.html" . }}
|
||||||
{{- partialCached "head/analytics.html" . }}
|
{{- partial "head/config.html" . }}
|
||||||
|
{{- partialCached "head/analytics.html" . }}
|
||||||
|
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
{{ $ctx := . }}
|
{{- if isset .Site.Params.analytics "laid" }}
|
||||||
{{- with .Site.Params.analytics }}
|
{{ partial "_thirdparty/analytics/51la.html" . }}
|
||||||
{{- if isset . "laid" }}
|
|
||||||
{{ partial "_thirdparty/analytics/51la.html" (dict "ctx" $ctx "id" .laId) }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
|
63
layouts/partials/head/config.html
Normal file
63
layouts/partials/head/config.html
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<script class="next-config" data-name="page" type="application/json">
|
||||||
|
{{- $pageCnf := dict }}
|
||||||
|
{{- $pageCnf = merge $pageCnf (dict
|
||||||
|
"isHome" .IsHome
|
||||||
|
"isPage" .IsPage
|
||||||
|
"lang" .Site.LanguageCode
|
||||||
|
"comments" .Site.Params.comments.enable
|
||||||
|
"permalink" (.Page.Permalink | absURL)
|
||||||
|
"path" (.Page.Permalink | path.Base)
|
||||||
|
"title" .Page.Title
|
||||||
|
) }}
|
||||||
|
{{- if .IsPage }}
|
||||||
|
|
||||||
|
{{- with .Site.Params.waline }}
|
||||||
|
{{- $waline := dict
|
||||||
|
"js" $.Site.Data.resources.waline.js
|
||||||
|
"css" $.Site.Data.resources.waline.css
|
||||||
|
"cfg" .
|
||||||
|
}}
|
||||||
|
{{- $pageCnf = merge $pageCnf (dict "waline" $waline) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with .Site.Params.giscus }}
|
||||||
|
{{- $giscus := dict
|
||||||
|
"js" $.Site.Data.resources.giscus.js
|
||||||
|
"cfg" .
|
||||||
|
}}
|
||||||
|
{{- $pageCnf = merge $pageCnf (dict "giscus" $giscus) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with .Site.Params.artalk }}
|
||||||
|
{{- $artalk := dict
|
||||||
|
"js" $.Site.Data.resources.artalk.js
|
||||||
|
"css" $.Site.Data.resources.artalk.css
|
||||||
|
"cfg" .
|
||||||
|
}}
|
||||||
|
{{- $pageCnf = merge $pageCnf (dict "artalk" $artalk) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with .Site.Params.livere }}
|
||||||
|
{{- $livere := dict "js" $.Site.Data.resources.livere.js }}
|
||||||
|
{{- $pageCnf = merge $pageCnf (dict "livere" $livere) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with .Site.Params.utterances }}
|
||||||
|
{{- $utterances := dict
|
||||||
|
"js" $.Site.Data.resources.utterances.js
|
||||||
|
"cfg" .
|
||||||
|
}}
|
||||||
|
{{- $pageCnf = merge $pageCnf (dict "utterances" $utterances) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with .Site.Params.addThisId }}
|
||||||
|
{{- $addthis := dict
|
||||||
|
"js" $.Site.Data.resources.addthis.js
|
||||||
|
"cfg" (dict "pubid" .)
|
||||||
|
}}
|
||||||
|
{{- $pageCnf = merge $pageCnf (dict "addthis" $addthis) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- end }}
|
||||||
|
{{- $pageCnf -}}
|
||||||
|
</script>
|
@ -1,18 +1,37 @@
|
|||||||
{{/* Use to defind global variables */}}
|
{{/* Use to defind global variables */}}
|
||||||
|
|
||||||
{{- if not hugo.IsExtended }}
|
{{ if not hugo.IsExtended }}
|
||||||
{{- warnf "Hugo NexT 主题使用了 SCSS 框架,请到官方地址下载 Hugo Extended 版本:https://github.com/gohugoio/hugo/releases" -}}
|
{{ warnf "Hugo NexT 主题使用了 SCSS 框架,请到官方地址下载 Hugo Extended 版本:https://github.com/gohugoio/hugo/releases" }}
|
||||||
{{- errorf "Because that use SCSS framework in Hugo NexT, Please download Hugo extended version on offical site: https://github.com/gohugoio/hugo/releases" -}}
|
{{ errorf "Because that use SCSS framework in Hugo NexT, Please download Hugo extended version on offical site: https://github.com/gohugoio/hugo/releases" }}
|
||||||
{{- end }}
|
{{ end }}
|
||||||
|
|
||||||
{{- $globalVars := newScratch -}}
|
{{ $globalVars := newScratch }}
|
||||||
|
|
||||||
{{- $globalVars.Set "postsCount" (len (where .Page.Site.RegularPages "Section" "in" .Site.Params.mainSections)) -}}
|
{{ $globalVars.Set "postsCount" (len (where .Page.Site.RegularPages "Section" "in" .Site.Params.mainSections)) }}
|
||||||
{{- $globalVars.Set "catsCount" (len .Site.Taxonomies.categories) -}}
|
{{ $globalVars.Set "catsCount" (len .Site.Taxonomies.categories) }}
|
||||||
{{- $globalVars.Set "tagsCount" (len .Site.Taxonomies.tags) -}}
|
{{ $globalVars.Set "tagsCount" (len .Site.Taxonomies.tags) }}
|
||||||
|
|
||||||
{{- $vendor := .Site.Params.vendors.plugins -}}
|
{{ $vendor := .Site.Params.vendors.plugins }}
|
||||||
{{- $router := index .Site.Data.resources.vendors $vendor -}}
|
{{ $router := index .Site.Data.resources.vendors $vendor }}
|
||||||
{{- $globalVars.Set "router" $router -}}
|
{{ $globalVars.Set "router" $router }}
|
||||||
|
|
||||||
{{- return $globalVars.Values -}}
|
{{ $vendorDict := dict
|
||||||
|
"plugins" $vendor
|
||||||
|
"router" $router
|
||||||
|
}}
|
||||||
|
{{ $config := dict
|
||||||
|
"hostname" .Site.BaseURL
|
||||||
|
"root" "/"
|
||||||
|
"vendor" $vendorDict
|
||||||
|
"darkmode" .Site.Params.darkmode
|
||||||
|
"version" .Site.Data.config.version
|
||||||
|
"scheme" .Site.Params.scheme
|
||||||
|
"sidebar" .Site.Params.sidebar
|
||||||
|
"copybtn" .Site.Params.codeblock.copyBtn
|
||||||
|
"bookmark" .Site.Params.bookmark
|
||||||
|
"lazyload" .Site.Params.lazyload
|
||||||
|
"motion" .Site.Params.motion
|
||||||
|
}}
|
||||||
|
{{ $globalVars.Set "config" $config }}
|
||||||
|
|
||||||
|
{{ return $globalVars.Values }}
|
||||||
|
@ -17,7 +17,9 @@
|
|||||||
<script type="text/javascript" src="{{ $pluginJS }}" defer></script>
|
<script type="text/javascript" src="{{ $pluginJS }}" defer></script>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- $config := resources.Get "js/config.js" | resources.ExecuteAsTemplate "config.js" . }}
|
<script class="next-config" data-name="main" type="application/json">{{- .Scratch.Get "config" -}}</script>
|
||||||
|
|
||||||
|
{{- $config := resources.Get "js/config.js" }}
|
||||||
{{- $motion := resources.Get "js/motion.js" }}
|
{{- $motion := resources.Get "js/motion.js" }}
|
||||||
{{- $boot := resources.Get "js/next-boot.js" }}
|
{{- $boot := resources.Get "js/next-boot.js" }}
|
||||||
{{- $utils := resources.Get "js/utils.js" }}
|
{{- $utils := resources.Get "js/utils.js" }}
|
||||||
@ -62,7 +64,7 @@
|
|||||||
{{- $utterancesjs := resources.Get "js/third-party/comments/utterances.js" }}
|
{{- $utterancesjs := resources.Get "js/third-party/comments/utterances.js" }}
|
||||||
{{- $nextjs = $nextjs | append $utterancesjs }}
|
{{- $nextjs = $nextjs | append $utterancesjs }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $nextjs = $nextjs | resources.Concat "js/hugo-next.js"}}
|
{{- $nextjs = $nextjs | resources.Concat "js/main.js"}}
|
||||||
{{ if hugo.IsProduction }}
|
{{ if hugo.IsProduction }}
|
||||||
{{- $nextjs = $nextjs | minify | fingerprint }}
|
{{- $nextjs = $nextjs | minify | fingerprint }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
Loading…
Reference in New Issue
Block a user