feat: Hero 背景图完整显示、导航二级菜单、瞬间朋友圈化、友链申请表单 (v1.1.9)

- Hero:背景图 opacity 0.15 -> 1 完整显示(此前近乎透明的背景图是"蒙灰"观感的
  主因);标题/副标题/一言按明暗模式补轻投影保证复杂图片上的可读性
- 导航栏二级菜单:桌面端纯 CSS 悬停/聚焦展开(零 JS),带悬停桥防误关、
  下拉箭头旋转反馈;移动端菜单以缩进子项形式呈现
- 瞬间页朋友圈化:头像(moment.owner.avatar,缺省回退站点名首字占位)+ 昵称
  + 正文 + 九宫格图片 + 时间操作;九宫格遵循微信规则(单图原比例、2/4 图两列、
  其余三列)
- 友情链接页适配 plugin-links 友链申请:同源表单(POST /links/apply/submit +
  csrfToken + GET /links/apply/captcha 验证码图,点击刷新),支持名称/链接/
  Logo/描述/邮箱/反链/RSS 字段、提交结果与错误提示;插件未开放申请时验证码
  加载失败自动隐藏表单;新增 links_apply_form_enabled 开关(默认开启)
This commit is contained in:
2026-09-26 16:14:20 +08:00
parent c1950e142a
commit 9f677a9f0d
8 changed files with 446 additions and 26 deletions
+17 -1
View File
@@ -281,7 +281,7 @@
inset: 0;
background-size: cover;
background-position: center;
opacity: 0.15;
opacity: 1;
}
/* 深色模式背景图切换:未配置双图时不生效,保持单一背景图 */
@@ -313,6 +313,12 @@
letter-spacing: -0.03em;
color: var(--hero-title-text, var(--ink));
line-height: var(--leading-tight);
/* 背景图完整显示后,用轻投影保证文字在复杂图片上仍可读 */
text-shadow: 0 1px 3px rgba(255, 253, 250, 0.6), 0 1px 14px rgba(255, 253, 250, 0.4);
}
html.dark .hero__title {
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 1px 14px rgba(0, 0, 0, 0.35);
}
.hero__subtitle {
@@ -321,6 +327,11 @@
color: var(--hero-subtitle-text, var(--ink-2));
letter-spacing: 0.05em;
line-height: var(--leading-normal);
text-shadow: 0 1px 3px rgba(255, 253, 250, 0.6), 0 1px 10px rgba(255, 253, 250, 0.4);
}
html.dark .hero__subtitle {
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 1px 10px rgba(0, 0, 0, 0.35);
}
.hero__description {
@@ -330,6 +341,11 @@
max-width: 560px;
text-align: center;
transition: opacity 0.3s ease;
text-shadow: 0 1px 3px rgba(255, 253, 250, 0.55);
}
html.dark .hero__description {
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
.hero__scroll-indicator {