mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-12 22:17:06 +08:00
improvements: 補全card-categories和card-archives的 '查看更多‘鏈接 close #337 fix: 修復comments沒設置時,報Unexpected token ')'的bugs close #344 improvements: 優化js和html fix: 修復toc 滾動百分比不準的Bugs
51 lines
2.1 KiB
Plaintext
51 lines
2.1 KiB
Plaintext
if theme.darkmode.enable
|
|
script.
|
|
var 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')
|
|
}
|
|
}
|
|
var 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')
|
|
}
|
|
}
|
|
|
|
var autoChangeMode = '#{theme.darkmode.autoChangeMode}'
|
|
var t = saveToLocal.get('theme')
|
|
if (autoChangeMode === '1') {
|
|
var isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
|
|
var isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
|
|
var isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
|
|
var hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified
|
|
|
|
if (t === undefined) {
|
|
if (isLightMode) activateLightMode()
|
|
else if (isDarkMode) activateDarkMode()
|
|
else if (isNotSpecified || hasNoSupport) {
|
|
var now = new Date()
|
|
var hour = now.getHours()
|
|
var 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') {
|
|
now = new Date()
|
|
hour = now.getHours()
|
|
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()
|
|
}
|