mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-16 19:10:53 +08:00
Breaking change 1. 手機端界面卡片化,同時,手機端也可以顯示側邊欄的內容 2. 修復當menu過多時,header界面出現錯亂的bug。當menu過多時,會變為sidebar模式 3. 增加medium-zoom大圖查看模式 4. 增加鼠標點擊特效:文字和愛心 兩個點擊特效 5. 主頁subtitle可以調用第三方api(金山詞霸每日一句、一言網的一句話、一句網、今日詩詞) 6. 添加 snackbar 彈窗 7. 修改nightshift為darkmode,darkmode可隨系統設置而自動切換,可設置隨時間而切換darkmode 8. 修復hexo自帶的標籤外掛(Tag Plugins)顯示bug(Block Quote、Code Block With caption、Gist、Youtube、Vimeo) 9. 主題所需要的css和js可根據需要配置CDN 10. 更改darkmode的加載方式,網站設置dark mode後,現在進入網頁不會在'閃'一下 11. 背景特效和背景圖片在手機界面也會顯示 12. 增加justified-gallery圖片顯示(Tag Plugins) Feature 1. 文章頁面,字數統計、閲讀時長和閲讀量前面添加icon 2. 更改懶加載js 3. 升級typed.js/instantpage.js到最新版 4. 搜索和右下角按鈕添加退出特效 Fixed 1. 修復在 Hexo 4.0.0下,一些按鈕點擊會跳出一個空白頁的bug 2. 修復在 Hexo 4.0.0下,分頁按鈕出現代碼的bug 3. 修復當沒有設置評論時,右下角依舊出現'直達評論'按鈕的bug 4. 優化sidebar的打開速度 5. 修復文章頁標題左右邊距不平等的bug 6. 修復keywords讀取的bug 7. 修復當post/page 內容為空時,footer位置錯亂的bug 8. 修復在手機safari,toc sidebar底部內容被遮擋的bug 9. 完善Dark mode,一些界面的配色 10. 修復 card-archives 查看更多 跳轉bug Remove 1. 移除Gitment 2. 移除Gallery
49 lines
1.8 KiB
Plaintext
49 lines
1.8 KiB
Plaintext
script.
|
|
const autoChangeMode = '#{theme.autoChangeMode}'
|
|
var t = Cookies.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){
|
|
console.log('You specified no preference for a color scheme or your browser does not support it. I Schedule dark mode during night time.')
|
|
now = new Date();
|
|
hour = now.getHours();
|
|
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')
|
|
}
|
|
}
|
|
|