You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
4.2 KiB
124 lines
4.2 KiB
- |
|
let algolia = 'undefined'; |
|
let env = process.env; |
|
if (theme.algolia_search.enable) { |
|
algolia = JSON.stringify({ |
|
appId: env.ALGOLIA_APP_ID || config.algolia.appId || config.algolia.applicationID, |
|
apiKey: env.ALGOLIA_API_KEY || config.algolia.apiKey, |
|
indexName: env.ALGOLIA_INDEX_NAME || config.algolia.indexName, |
|
hits: theme.algolia_search.hits, |
|
// search languages |
|
languages: { |
|
input_placeholder: _p("search.algolia_search.input_placeholder"), |
|
hits_empty: _p("search.algolia_search.hits_empty"), |
|
hits_stats: _p("search.algolia_search.hits_stats"), |
|
} |
|
}) |
|
} |
|
|
|
let localSearch = 'undefined'; |
|
if (theme.local_search && theme.local_search.enable) { |
|
localSearch = JSON.stringify({ |
|
path: theme.local_search.CDN ? theme.local_search.CDN : config.root + config.search.path, |
|
preload: theme.local_search.preload, |
|
languages: { |
|
// search languages |
|
hits_empty: _p("search.local_search.hits_empty"), |
|
} |
|
}) |
|
} |
|
|
|
let translate = 'undefined'; |
|
if (theme.translate && theme.translate.enable){ |
|
translate = JSON.stringify({ |
|
defaultEncoding: theme.translate.defaultEncoding, |
|
translateDelay: theme.translate.translateDelay, |
|
msgToTraditionalChinese: theme.translate.msgToTraditionalChinese, |
|
msgToSimplifiedChinese: theme.translate.msgToSimplifiedChinese |
|
}) |
|
} |
|
|
|
let copyright = 'undefined'; |
|
if (theme.copy.enable && theme.copy.copyright.enable){ |
|
copyright = JSON.stringify({ |
|
limitCount: theme.copy.copyright.limit_count, |
|
languages: { |
|
author: _p("copy_copyright.author") + ': ' + config.author, |
|
link: _p("copy_copyright.link") + ': ', |
|
source: _p("copy_copyright.source") + ': ' + config.title, |
|
info: _p("copy_copyright.info") |
|
} |
|
}) |
|
} |
|
|
|
let Snackbar = 'undefined'; |
|
if (theme.snackbar && theme.snackbar.enable) { |
|
Snackbar = JSON.stringify({ |
|
chs_to_cht: _p("Snackbar.chs_to_cht"), |
|
cht_to_chs: _p("Snackbar.cht_to_chs"), |
|
day_to_night: _p("Snackbar.day_to_night"), |
|
night_to_day: _p("Snackbar.night_to_day"), |
|
bgLight: theme.snackbar.bg_light, |
|
bgDark: theme.snackbar.bg_dark, |
|
position: theme.snackbar.position, |
|
}) |
|
} |
|
|
|
let noticeOutdate = 'undefined'; |
|
if (theme.noticeOutdate && theme.noticeOutdate.enable) { |
|
noticeOutdate = JSON.stringify({ |
|
limitDay: theme.noticeOutdate.limit_day, |
|
position: theme.noticeOutdate.position, |
|
messagePrev: theme.noticeOutdate.message_prev, |
|
messageNext: theme.noticeOutdate.message_next, |
|
}) |
|
} |
|
|
|
let highlight = 'undefined'; |
|
if ((config.highlight && config.highlight.enable) || (config.prismjs && config.prismjs.enable)) { |
|
highlight = JSON.stringify({ |
|
plugin: config.highlight.enable ? 'highlighjs' : 'prismjs', |
|
highlightCopy: theme.highlight_copy, |
|
highlightLang: theme.highlight_lang, |
|
highlightHeightLimit: theme.highlight_height_limit |
|
}) |
|
} |
|
|
|
script. |
|
const GLOBAL_CONFIG = { |
|
root: '!{config.root}', |
|
algolia: !{algolia}, |
|
localSearch: !{localSearch}, |
|
translate: !{translate}, |
|
noticeOutdate: !{noticeOutdate}, |
|
highlight: !{highlight}, |
|
copy: { |
|
success: '!{_p("copy.success")}', |
|
error: '!{_p("copy.error")}', |
|
noSupport: '!{_p("copy.noSupport")}' |
|
}, |
|
relativeDate: { |
|
homepage: !{theme.post_meta.page.date_format === 'relative'}, |
|
post: !{theme.post_meta.post.date_format === 'relative'} |
|
}, |
|
runtime: '!{theme.runtimeshow.enable ? _p("aside.card_webinfo.runtime.unit") : ""}', |
|
date_suffix: { |
|
just: '!{_p("date_suffix.just")}', |
|
min: '!{_p("date_suffix.min")}', |
|
hour: '!{_p("date_suffix.hour")}', |
|
day: '!{_p("date_suffix.day")}', |
|
month: '!{_p("date_suffix.month")}' |
|
}, |
|
copyright: !{copyright}, |
|
lightbox: '!{ theme.medium_zoom ? "mediumZoom" : (theme.fancybox ? "fancybox" : "null" )}', |
|
Snackbar: !{Snackbar}, |
|
source: { |
|
justifiedGallery: { |
|
js: '!{url_for(theme.asset.flickr_justified_gallery_js)}', |
|
css: '!{url_for(theme.asset.flickr_justified_gallery_css)}' |
|
} |
|
}, |
|
isPhotoFigcaption: !{theme.photofigcaption}, |
|
islazyload: !{theme.lazyload.enable}, |
|
isAnchor: !{theme.anchor} |
|
}
|
|
|