mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-16 18:50:53 +08:00
48 lines
1.9 KiB
Plaintext
48 lines
1.9 KiB
Plaintext
script.
|
|
var autoChangeMode = '#{theme.darkmode.autoChangeMode}'
|
|
var t = Cookies.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){
|
|
console.log('You specified no preference for a color scheme or your browser does not support it. I Schedule dark mode during night time.')
|
|
var now = new Date()
|
|
var hour = now.getHours()
|
|
var isNight = hour < 6 || hour >= 18
|
|
isNight ? 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()
|
|
}
|
|
|
|
function activateDarkMode(){
|
|
document.documentElement.setAttribute('data-theme', 'dark')
|
|
if (document.querySelector('meta[name="theme-color"]') !== null){
|
|
document.querySelector('meta[name="theme-color"]').setAttribute('content','#000')
|
|
}
|
|
}
|
|
function activateLightMode(){
|
|
document.documentElement.setAttribute('data-theme', 'light')
|
|
if (document.querySelector('meta[name="theme-color"]') !== null){
|
|
document.querySelector('meta[name="theme-color"]').setAttribute('content','#fff')
|
|
}
|
|
}
|
|
|