Merge pull request #1764 from zhdbk3/dev

feat: 随机背景
This commit is contained in:
Jerry Wong
2025-11-25 14:54:04 +08:00
committed by GitHub
3 changed files with 27 additions and 4 deletions

View File

@@ -91,7 +91,8 @@ category_per_img:
footer_img: false footer_img: false
# Website Background # Website Background
# Can set it to color or image url # Can set it to color, image URL or an array containing colors and/or image URLs
# If an array is provided, a random background will be selected from the array on each load
background: background:
cover: cover:

View File

@@ -13,7 +13,29 @@ html(lang=config.language data-theme=theme.display_mode class=htmlClassHideAside
!=partial('includes/loading/index', {}, {cache: true}) !=partial('includes/loading/index', {}, {cache: true})
if theme.background if theme.background
#web_bg(style=getBgPath(theme.background)) if !Array.isArray(theme.background)
#web_bg.bg-animation(style=getBgPath(theme.background))
else
#web_bg.bg-animation
- const bgStyleArr = theme.background.map(getBgPath)
script.
(() => {
const arr = !{JSON.stringify(bgStyleArr)}
const webBgDiv = document.getElementById('web_bg')
const setRandomBg = () => {
webBgDiv.style = arr[Math.floor(Math.random() * arr.length)]
requestAnimationFrame(() => webBgDiv.classList.add('bg-animation'))
}
document.addEventListener('pjax:send', () => {
webBgDiv.style = ''
webBgDiv.classList.remove('bg-animation')
})
document.addEventListener('pjax:complete', setRandomBg)
document.addEventListener('DOMContentLoaded', setRandomBg)
})()
!=partial('includes/sidebar', {}, {cache: true}) !=partial('includes/sidebar', {}, {cache: true})

View File

@@ -159,7 +159,7 @@ if hexo-config('enter_transitions')
animation: titleScale 1s animation: titleScale 1s
canvas:not(#ribbon-canvas), canvas:not(#ribbon-canvas),
#web_bg #web_bg.bg-animation
animation: to_show 4s animation: to_show 4s
#ribbon-canvas #ribbon-canvas