更新
This commit is contained in:
1 parent
522abb824b
commit
63389e016a
168 files changed
+11220
No files matched your search
@@ -0,0 +1,11 @@
|
||||
if theme.Open_Graph_meta
|
||||
- let contentType = is_post() ? 'article' : 'website'
|
||||
- let metaImage = full_url_for(page.cover || theme.avatar.img)
|
||||
- let fb_appId = theme.facebook_comments.app_id || ''
|
||||
- let fb_admins = theme.facebook_comments.user_id || ''
|
||||
|
||||
!= open_graph({type: contentType, image: metaImage, fb_admins: fb_admins, fb_app_id: fb_appId})
|
||||
|
||||
else
|
||||
meta(name="description" content=page_description())
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
if theme.baidu_analytics
|
||||
script.
|
||||
var _hmt = _hmt || [];
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?!{theme.baidu_analytics}";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
|
||||
if theme.google_analytics
|
||||
script(async src=`https://www.googletagmanager.com/gtag/js?id=${theme.google_analytics}`)
|
||||
script.
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', '!{theme.google_analytics}');
|
||||
|
||||
if theme.tencent_analytics
|
||||
script.
|
||||
var _mtac = {};
|
||||
(function() {
|
||||
var mta = document.createElement("script");
|
||||
mta.src = "//pingjs.qq.com/h5/stats.js?v2.0.4";
|
||||
mta.setAttribute("name", "MTAH5");
|
||||
mta.setAttribute("sid", "!{theme.tencent_analytics}");
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(mta, s);
|
||||
})();
|
||||
|
||||
if theme.cnzz_analytics
|
||||
script(async data-pjax src=`https://s4.cnzz.com/z_stat.php?id=${theme.cnzz_analytics}&web_id=${theme.cnzz_analytics}`)
|
||||
@@ -0,0 +1,160 @@
|
||||
-
|
||||
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("algolia_search.input_placeholder"),
|
||||
hits_empty: _p("algolia_search.hits_empty"),
|
||||
hits_stats: _p("algolia_search.hits_stats")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
let localSearch = 'undefined';
|
||||
if (theme.local_search && theme.local_search.enable) {
|
||||
localSearch = JSON.stringify({
|
||||
path: config.search.path,
|
||||
languages: {
|
||||
// search languages
|
||||
hits_empty: _p("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 ClickShowText = 'undefined';
|
||||
if (theme.ClickShowText && theme.ClickShowText.enable) {
|
||||
ClickShowText = JSON.stringify({
|
||||
text: theme.ClickShowText.text.join(","),
|
||||
fontSize: theme.ClickShowText.fontSize
|
||||
})
|
||||
}
|
||||
|
||||
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
|
||||
})
|
||||
}
|
||||
|
||||
script.
|
||||
var 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},
|
||||
ClickShowText: !{ClickShowText},
|
||||
lightbox: '!{ theme.medium_zoom ? "mediumZoom" : (theme.fancybox ? "fancybox" : "null" )}',
|
||||
Snackbar: !{Snackbar},
|
||||
justifiedGallery: {
|
||||
js: '!{theme.CDN.justifiedGallery_js}',
|
||||
css: '!{theme.CDN.justifiedGallery_css}'
|
||||
},
|
||||
isPhotoFigcaption: !{theme.photofigcaption},
|
||||
islazyload: !{theme.lazyload.enable},
|
||||
isanchor: !{theme.anchor}
|
||||
};
|
||||
|
||||
var saveToLocal = {
|
||||
set: function setWithExpiry(key, value, ttl) {
|
||||
const now = new Date()
|
||||
const expiryDay = ttl * 86400000
|
||||
const item = {
|
||||
value: value,
|
||||
expiry: now.getTime() + expiryDay,
|
||||
}
|
||||
localStorage.setItem(key, JSON.stringify(item))
|
||||
},
|
||||
|
||||
get: function getWithExpiry(key) {
|
||||
const itemStr = localStorage.getItem(key)
|
||||
|
||||
if (!itemStr) {
|
||||
return undefined
|
||||
}
|
||||
const item = JSON.parse(itemStr)
|
||||
const now = new Date()
|
||||
|
||||
if (now.getTime() > item.expiry) {
|
||||
localStorage.removeItem(key)
|
||||
return undefined
|
||||
}
|
||||
return item.value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
-
|
||||
let isHighlightShrink
|
||||
if (theme.highlight_shrink == 'none') isHighlightShrink = 'undefined'
|
||||
else if (page.highlight_shrink === true || page.highlight_shrink === false) isHighlightShrink = page.highlight_shrink
|
||||
else isHighlightShrink = theme.highlight_shrink
|
||||
|
||||
const pageToc = page.toc === true || page.toc === false ? page.toc : theme.toc.enable
|
||||
const showToc = is_post() && theme.aside.enable && pageToc && (toc(page.content) !== '' || page.encrypt == true )
|
||||
-
|
||||
|
||||
script#config_change
|
||||
.
|
||||
var GLOBAL_CONFIG_SITE = {
|
||||
isPost: !{is_post()},
|
||||
isHome: !{is_home()},
|
||||
isHighlightShrink: !{isHighlightShrink},
|
||||
isToc: !{showToc},
|
||||
postUpdate: '!{full_date(page.updated)}'
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
if (theme.google_adsense && theme.google_adsense.enable)
|
||||
script(async src=theme.google_adsense.js)
|
||||
|
||||
if theme.google_adsense.auto_ads
|
||||
script.
|
||||
(adsbygoogle = window.adsbygoogle || []).push({
|
||||
google_ad_client: '!{theme.google_adsense.client}',
|
||||
enable_page_level_ads: '!{theme.google_adsense.enable_page_level_ads}'
|
||||
});
|
||||
@@ -0,0 +1,65 @@
|
||||
script
|
||||
| (function () {
|
||||
|
||||
if theme.darkmode.enable
|
||||
| window.activateDarkMode = function () {
|
||||
| document.documentElement.setAttribute('data-theme', 'dark')
|
||||
| if (document.querySelector('meta[name="theme-color"]') !== null) {
|
||||
| document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
|
||||
| }
|
||||
| }
|
||||
| window.activateLightMode = function () {
|
||||
| document.documentElement.setAttribute('data-theme', 'light')
|
||||
| if (document.querySelector('meta[name="theme-color"]') !== null) {
|
||||
| document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
|
||||
| }
|
||||
| }
|
||||
|
||||
| const autoChangeMode = '#{theme.darkmode.autoChangeMode}'
|
||||
| const t = saveToLocal.get('theme')
|
||||
| if (autoChangeMode === '1') {
|
||||
| const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
|
||||
| const isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
|
||||
| const isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
|
||||
| const hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified
|
||||
|
||||
| if (t === undefined) {
|
||||
| if (isLightMode) activateLightMode()
|
||||
| else if (isDarkMode) activateDarkMode()
|
||||
| else if (isNotSpecified || hasNoSupport) {
|
||||
| const now = new Date()
|
||||
| const hour = now.getHours()
|
||||
| const isNight = hour <= 6 || hour >= 18
|
||||
| isNight ? activateDarkMode() : activateLightMode()
|
||||
| }
|
||||
| window.matchMedia('(prefers-color-scheme: dark)').addListener(function (e) {
|
||||
| if (saveToLocal.get('theme') === undefined) {
|
||||
| e.matches ? activateDarkMode() : activateLightMode()
|
||||
| }
|
||||
| })
|
||||
| } else if (t === 'light') activateLightMode()
|
||||
| else activateDarkMode()
|
||||
| } else if (autoChangeMode === '2') {
|
||||
| const now = new Date()
|
||||
| const hour = now.getHours()
|
||||
| const isNight = hour <= 6 || hour >= 18
|
||||
| if (t === undefined) isNight ? activateDarkMode() : activateLightMode()
|
||||
| else if (t === 'light') activateLightMode()
|
||||
| else activateDarkMode()
|
||||
| } else {
|
||||
| if (t === 'dark') activateDarkMode()
|
||||
| else if (t === 'light') activateLightMode()
|
||||
| }
|
||||
|
||||
if theme.aside.enable && theme.aside.button
|
||||
| const asideStatus = saveToLocal.get('aside-status')
|
||||
| if (asideStatus !== undefined) {
|
||||
| if (asideStatus === 'hide') {
|
||||
| document.documentElement.classList.add('hide-aside')
|
||||
| } else {
|
||||
| document.documentElement.classList.remove('hide-aside')
|
||||
| }
|
||||
| }
|
||||
|
||||
| })()
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
noscript.
|
||||
<style type="text/css">
|
||||
#nav {
|
||||
opacity: 1
|
||||
}
|
||||
.justified-gallery img {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
#recent-posts time,
|
||||
#post-meta time {
|
||||
display: inline !important
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,22 @@
|
||||
link(rel="preconnect" href="//cdn.jsdelivr.net")
|
||||
|
||||
if theme.google_analytics
|
||||
link(rel="preconnect" href="//www.google-analytics.com" crossorigin)
|
||||
|
||||
if theme.baidu_analytics
|
||||
link(rel="preconnect" href="//hm.baidu.com")
|
||||
|
||||
if theme.tencent_analytics
|
||||
link(rel="preconnect" href="//pingjs.qq.com")
|
||||
|
||||
if theme.cnzz_analytics
|
||||
link(rel="preconnect" href="//s4.cnzz.com")
|
||||
|
||||
if theme.blog_title_font && theme.blog_title_font.font_link && theme.blog_title_font.font_link.indexOf('//fonts.googleapis.com') != -1
|
||||
link(rel="preconnect" href="//fonts.googleapis.com" crossorigin)
|
||||
|
||||
if theme.busuanzi.site_uv || theme.busuanzi.site_pv || theme.busuanzi.page_pv
|
||||
link(rel="preconnect" href="//busuanzi.ibruce.info")
|
||||
|
||||
if theme.baidu_push
|
||||
link(rel="preconnect" href="//zz.bdstatic.com")
|
||||
@@ -0,0 +1,11 @@
|
||||
link(rel="manifest" href=url_for(theme.pwa.manifest))
|
||||
if(theme.pwa.theme_color)
|
||||
meta(name="msapplication-TileColor" content=theme.pwa.theme_color)
|
||||
if(theme.pwa.apple_touch_icon)
|
||||
link(rel="apple-touch-icon" sizes="180x180" href=url_for(theme.pwa.apple_touch_icon))
|
||||
if(theme.pwa.favicon_32_32)
|
||||
link(rel="icon" type="image/png" sizes="32x32" href=url_for(theme.pwa.favicon_32_32))
|
||||
if(theme.pwa.favicon_16_16)
|
||||
link(rel="icon" type="image/png" sizes="16x16" href=url_for(theme.pwa.favicon_16_16))
|
||||
if(theme.pwa.mask_icon)
|
||||
link(rel="mask-icon" href=url_for(theme.pwa.mask_icon) color="#5bbad5")
|
||||
@@ -0,0 +1,14 @@
|
||||
if theme.google_site_verification
|
||||
meta(name="google-site-verification" content=theme.google_site_verification)
|
||||
|
||||
if theme.bing_site_verification
|
||||
meta(name="msvalidate.01" content=theme.bing_site_verification)
|
||||
|
||||
if theme.baidu_site_verification
|
||||
meta(name="baidu-site-verification" content=theme.baidu_site_verification)
|
||||
|
||||
if theme.qihu_site_verification
|
||||
meta(name="360-site-verification" content=theme.qihu_site_verification)
|
||||
|
||||
if theme.yandex_site_verification
|
||||
meta(name="yandex-verification" content=theme.yandex_site_verification)
|
||||
Reference in new issue
Block a user