fix theme
This commit is contained in:
76
themes/butterfly/scripts/tag/link.js
Normal file
76
themes/butterfly/scripts/tag/link.js
Normal file
@@ -0,0 +1,76 @@
|
||||
function link(args) {
|
||||
args = args.join(' ').split(',');
|
||||
let title = args[0];
|
||||
let sitename = args[1];
|
||||
let link = args[2];
|
||||
|
||||
// 定义不同域名对应的头像URL
|
||||
const avatarUrls = {
|
||||
'github.com': 'https://pic.biss.click/image/ed410d4e-d3f8-4b26-8840-50dd58f7dc4e.webp',
|
||||
'csdn.net': 'https://pic.biss.click/image/ed410d4e-d3f8-4b26-8840-50dd58f7dc4e.webp',
|
||||
'gitee.com': 'https://pic.biss.click/image/579241d4-6224-467b-840e-57bf63380e54.webp',
|
||||
'zhihu.com': 'https://pic.biss.click/image/1fe71116-4535-4be9-9378-0e0650fd0532.webp',
|
||||
'stackoverflow.com': 'https://pic.biss.click/image/0c02383a-f97b-4f0d-8ab0-486bc13478bd.svg',
|
||||
'wikipedia.org': 'https://pic.biss.click/image/fa4fc91d-b3a3-4559-b72c-b2d2046feacf.webp',
|
||||
};
|
||||
|
||||
// 定义白名单域名
|
||||
const whitelistDomains = [
|
||||
'biss.click'
|
||||
];
|
||||
|
||||
// 获取URL的根域名
|
||||
function getRootDomain(url) {
|
||||
const hostname = new URL(url).hostname;
|
||||
const domainParts = hostname.split('.').reverse();
|
||||
if (domainParts.length > 1) {
|
||||
return domainParts[1] + '.' + domainParts[0];
|
||||
}
|
||||
return hostname;
|
||||
}
|
||||
|
||||
// 根据URL获取对应的头像URL
|
||||
function getAvatarUrl(url) {
|
||||
const rootDomain = getRootDomain(url);
|
||||
for (const domain in avatarUrls) {
|
||||
if (domain.endsWith(rootDomain)) {
|
||||
return avatarUrls[domain];
|
||||
}
|
||||
}
|
||||
return 'https://pic.biss.click/image/1971bdc1-4349-4bb9-b683-20404f5da7d7.webp'; // 默认头像URL
|
||||
}
|
||||
|
||||
// 检查是否在白名单中
|
||||
function isWhitelisted(url) {
|
||||
const rootDomain = getRootDomain(url);
|
||||
for (const domain of whitelistDomains) {
|
||||
if (rootDomain.endsWith(domain)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// 获取对应的头像URL
|
||||
let imgUrl = getAvatarUrl(link);
|
||||
|
||||
// 判断并生成提示信息
|
||||
// 判断并生成提示信息
|
||||
let tipMessage = isWhitelisted(link)
|
||||
? "✅来自本站,本站可确保其安全性,请放心点击跳转"
|
||||
: "🪧引用站外地址,不保证站点的可用性和安全性";
|
||||
|
||||
return `<div class='liushen-tag-link'><a class="tag-Link" target="_blank" href="${link}">
|
||||
<div class="tag-link-tips">${tipMessage}</div>
|
||||
<div class="tag-link-bottom">
|
||||
<div class="tag-link-left" style="background-image: url(${imgUrl});"></div>
|
||||
<div class="tag-link-right">
|
||||
<div class="tag-link-title">${title}</div>
|
||||
<div class="tag-link-sitename">${sitename}</div>
|
||||
</div>
|
||||
<i class="fa-solid fa-angle-right"></i>
|
||||
</div>
|
||||
</a></div>`;
|
||||
}
|
||||
|
||||
hexo.extend.tag.register('link', link, { ends: false });
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
#nav-right{
|
||||
flex:1 1 auto;
|
||||
justify-content: flex-end;
|
||||
@@ -176,22 +175,17 @@
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
/* --- 附加补丁:确保文章标题正常显示且居中 --- */
|
||||
|
||||
/* 1. 当文章标题显示类名触发时,确保它能浮现 */
|
||||
#nav.show-title .nav-page-title {
|
||||
display: flex !important;
|
||||
opacity: 1 !important;
|
||||
visibility: visible !important;
|
||||
/* 强制居中,不影响你原本的 blog-info 和 nav-right */
|
||||
position: absolute !important;
|
||||
left: 50% !important;
|
||||
transform: translateX(-50%) !important;
|
||||
white-space: nowrap !important;
|
||||
z-index: 1000 !important; /* 确保层级高于你原本的 menus */
|
||||
z-index: 1000 !important;
|
||||
}
|
||||
|
||||
/* 2. 滚动时自动隐藏原本占据 100% 宽度的菜单和站点标题,防止重叠 */
|
||||
#nav.show-title #menus,
|
||||
#nav.show-title .nav-site-title {
|
||||
opacity: 0 !important;
|
||||
@@ -199,13 +193,11 @@
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
/* 3. 修正文章标题的基础状态,防止它在页面顶端时乱入 */
|
||||
#nav .nav-page-title {
|
||||
display: none; /* 默认隐藏,由 show-title 类名控制 */
|
||||
display: none;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
/* 4. 保持你原本 blog-info 的溢出显示,确保指纹菜单可用 */
|
||||
#nav #blog-info {
|
||||
overflow: visible !important;
|
||||
}
|
||||
@@ -28,6 +28,9 @@
|
||||
position: relative;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-wrap: wrap; /* 允许换行 */
|
||||
align-items: flex-start; /* 防止高度拉伸导致变形 */
|
||||
}
|
||||
|
||||
#talk .talk_item {
|
||||
@@ -60,6 +63,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* 给 Meting 播放器预留约 80px 的固定高度 */
|
||||
meting-js {
|
||||
display: block;
|
||||
min-height: 100px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
/* 如果有视频,也预留一下比例高度 */
|
||||
.talk_content iframe {
|
||||
min-height: 150px;
|
||||
}
|
||||
|
||||
/* ================= 头部信息 ================= */
|
||||
#talk .talk_meta,
|
||||
#talk .talk_bottom {
|
||||
|
||||
Reference in New Issue
Block a user