新增功能:新增主题自动夜间模式,可以自由调整时间
# 前言
实现判断当前时间实现自动夜间模式
# 实现自动夜间模式
在主题的 yaml 配置文件中,自定义新增配置项(自定义命名), 我在原本的
darkmode
项下面新增为darkmode: false
# autodarkmode 新增主题自动夜间模式
auto_dark:
enable: true #是否开启
start: 21 #开始时间
end: 6 #结束时间
代码还是在找到 themes->shoka->source->js->_app,以下修改还是在这里修改。
找到
global.js
,新增函数:
const autoDarkmode = function(){ | |
if(CONFIG.auto_dark.enable){ | |
if(new Date().getHours() >= CONFIG.auto_dark.start || new Date().getHours() <= CONFIG.auto_dark.end){ | |
changeTheme('dark'); | |
}else{ | |
changeTheme(); | |
} | |
} | |
} |
- 找到
pjax.js
,新增:
autoDarkmode() // 新增 |
我个人的增加位置为大概 133 行
autoDarkmode() // 在这里 | |
visibilityListener() | |
themeColorListener() | |
algoliaSearch(pjax) |
- 在 themes->shoka->scripts->generaters,找到
script.js
大概 21 行左右,可以在
favicon: { | |
normal: theme.images + "/favicon.ico", | |
hidden: theme.images + "/failure.ico" | |
}, | |
darkmode: theme.darkmode, | |
auto_scroll: theme.auto_scroll, |
中间修改为
favicon: { | |
normal: theme.images + "/favicon.ico", | |
hidden: theme.images + "/failure.ico" | |
}, | |
darkmode: theme.darkmode, | |
auto_dark: theme.auto_dark, // 新增 | |
auto_scroll: theme.auto_scroll, |
完成!