update theme

This commit is contained in:
2026-02-10 21:17:10 +08:00
parent 522a86b511
commit 4fff64f05f
6 changed files with 106 additions and 39 deletions

View File

@@ -6,4 +6,6 @@ if use
when 'addtoany'
!=partial('includes/third-party/share/addtoany', {}, {cache: true})
when 'sharejs'
include ./share-js.pug
include ./share-js.pug
when 'web_share'
include ./web_share.pug

View File

@@ -0,0 +1,53 @@
//- web_share.pug
style.
#web-share-btn {
background: var(--btn-bg);
color: var(--btn-color);
border: none;
padding: 0.5rem 1rem;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s;
}
#web-share-btn:hover {
background: var(--btn-hover-color);
}
#web-share-component
button#web-share-btn(title='分享本文')
i.fas.fa-share-alt
span= ' ' + _p('分享')
script.
(() => {
const setupWebShare = () => {
const btn = document.getElementById('web-share-btn')
if (!btn) return
// 点击事件处理
btn.addEventListener('click', async () => {
if (navigator.share) {
try {
await navigator.share({
title: '!{page.title || config.title}',
text: '!{truncate(strip_html(page.content), {length: 100})}',
url: window.location.href
})
} catch (err) {
console.log('分享取消或失败', err)
}
} else {
// 降级处理:比如弹出提示或复制链接
const shareData = window.location.href
navigator.clipboard.writeText(shareData).then(() => {
btf.snackbarShow('系统不支持分享,已将链接复制到剪贴板')
})
}
})
}
// 考虑到 Butterfly 的 Pjax 跳转,需要重新绑定
setupWebShare()
document.addEventListener('pjax:complete', setupWebShare)
})()