feat(web): 页脚品牌与备案信息、首页文案精简及导航/侧栏交互优化

- 页脚「纯文本驱动」改为 Powered by Pure Note(链至仓库地址),新增
  公安备案展示:国徽图标 + 备案号链至 beian.mps.gov.cn,备案号可在
  后台设置(站点描述下一项)配置,留空不显示
- settings 白名单新增 beian_no 键(trim、≤200 字符、可清空),/api/site
  一并下发;TestSettingsWhitelist 补生效/清空/超长用例
- 去除首页 hero 文案区(PURE NOTE · 极简笔记/记录,而不打扰。等),
  同步清理失效样式并微调顶部留白
- 博客 header 首页/标签菜单补 House/Tags 图标,与管理按钮同风格
- 管理侧栏「返回博客/退出登录」浓缩为图标按钮置于用户行右侧,CSS
  悬浮 tooltip(top-center、带箭头,原生 title 延迟高不采用),返回
  博客改新窗口打开
This commit is contained in:
2026-09-08 23:40:57 +08:00
parent 13ad202924
commit 646a49a26e
9 changed files with 196 additions and 56 deletions
+92 -31
View File
@@ -517,6 +517,24 @@ button:focus-visible {
.pn-site-footer-inner a:hover {
color: var(--foreground);
}
.pn-site-footer-line {
margin: 0;
}
.pn-site-beian {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 8px;
}
.pn-site-beian img {
width: 14px;
height: 14px;
flex: none;
opacity: 0.85;
}
.pn-site-beian:hover img {
opacity: 1;
}
@media (max-width: 640px) {
.pn-site-header-inner {
@@ -535,35 +553,9 @@ button:focus-visible {
首页(博客首页.html)
============================================================ */
.pn-home-content {
padding-top: 64px;
padding-top: 56px;
padding-bottom: 24px;
}
.pn-home-hero {
margin-bottom: 48px;
}
.pn-home-eyebrow {
margin: 0 0 18px;
font-family: var(--font-mono);
font-size: 12px;
letter-spacing: 0.14em;
color: var(--muted-foreground);
}
.pn-home-title {
margin: 0 0 18px;
font-family: var(--font-serif);
font-weight: 400;
font-size: clamp(34px, 6vw, 46px);
line-height: 1.18;
letter-spacing: var(--tracking-tight);
color: var(--foreground);
}
.pn-home-desc {
margin: 0;
max-width: 560px;
font-size: 15px;
line-height: 1.8;
color: var(--muted-foreground);
}
.pn-home-filter {
margin-bottom: 8px;
}
@@ -728,10 +720,7 @@ button:focus-visible {
}
@media (max-width: 640px) {
.pn-home-content {
padding-top: 44px;
}
.pn-home-hero {
margin-bottom: 40px;
padding-top: 40px;
}
.pn-home-post {
padding: 26px 0;
@@ -1597,6 +1586,78 @@ button:focus-visible {
gap: 10px;
padding: 8px 10px 2px;
}
.pn-admin-user-actions {
display: inline-flex;
align-items: center;
gap: 4px;
margin-left: auto;
}
.pn-admin-iconbtn {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
padding: 0;
border: 0;
border-radius: var(--radius-sm);
background: transparent;
color: var(--muted-foreground);
text-decoration: none;
cursor: pointer;
transition: background-color 0.15s ease, color 0.15s ease;
}
.pn-admin-iconbtn:hover {
background: var(--sidebar-accent);
color: var(--sidebar-accent-foreground);
}
.pn-admin-iconbtn svg {
width: 15px;
height: 15px;
}
/* CSS 悬浮 tooltip(原生 title 延迟高且部分环境不显示) */
.pn-admin-iconbtn::after {
content: attr(data-tip);
position: absolute;
left: 50%;
bottom: calc(100% + 10px);
z-index: 30;
padding: 4px 8px;
border-radius: var(--radius-sm);
background: var(--primary);
color: var(--primary-foreground);
font-size: 11px;
font-weight: 500;
line-height: 1.4;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transform: translate(-50%, 2px);
transition: opacity 0.15s ease, transform 0.15s ease;
}
.pn-admin-iconbtn::before {
content: "";
position: absolute;
left: 50%;
bottom: 100%;
z-index: 30;
margin-left: -5px;
border: 5px solid transparent;
border-top-color: var(--primary);
opacity: 0;
pointer-events: none;
transition: opacity 0.15s ease;
}
.pn-admin-iconbtn:hover::after,
.pn-admin-iconbtn:focus-visible::after {
opacity: 1;
transform: translate(-50%, 0);
}
.pn-admin-iconbtn:hover::before,
.pn-admin-iconbtn:focus-visible::before {
opacity: 1;
}
.pn-admin-avatar {
width: 28px;
height: 28px;