feat(5f): reader 模式+版式基底+首屏 tagline+图库质感(T4/T7/T8)

- T4 reader:html.reader 单 class(去装饰非去内容:隐辉光/图标
  钮/pv 行,ICP 合规底线永留;正文字号+1px 行宽 56ch;入场动效
  关);命令面板 reader 命令+r 键+localStorage;ThemeScript 预绘
  防闪
- T7 基底:--flow-* 五流距变量双轨应用;暗色 hairline 降档;
  页面标题 700→600(裁定 #6 减字重不减号);focus-visible ring
  统一;列表行距 +2px;--paper/--radius-img/--ease-out 入库
- T8:首页 IdCard slot 落 tagline「写作者 · 读者 · 快门按压者,
  拥抱开源。」;图库暗色 4% 轻衬底+圆角统一(裁定 #4 双模式分判)

验证: E2E 33/33;reader r 键触发+辉光 none+刷新保持实测;流距
      computed 0.6em 实算;tagline 渲染实测

Spec: 2026-10-26_blog-5f

Co-authored-by: GLM-5.3
This commit is contained in:
wait4xandGLM-5.3 committed 2026-11-01 09:09:27 +08:00
1 parent 22930cfffd
commit 8ec1712135
8 files changed
+80 -3

No files matched your search

+10
View File
@@ -39,6 +39,10 @@ const navItems = [
<div id="cmd-commands" class="cmd-commands">
<p class="cmd-group" role="presentation" id="cmd-h-actions">{t('cmd_group_actions', locale)}</p>
<ul class="cmd-ul" role="group" aria-labelledby="cmd-h-actions">
<li class="cmd-item" role="option" aria-selected="false" data-cmd="reader">
<span class="cmd-label">{t('cmd_reader', locale)}</span>
<span class="cmd-kbd" aria-hidden="true">r</span>
</li>
<li class="cmd-item" role="option" aria-selected="false" data-cmd="theme">
<span class="cmd-label">{t('cmd_toggle_theme', locale)}</span>
<span class="cmd-kbd" aria-hidden="true">t</span>
@@ -134,6 +138,12 @@ const navItems = [
}
switch (item.dataset.cmd) {
// 复用 Header 主题钮的现成切换(同一 localStorage key),不另起第二套实现
case 'reader': {
const root = document.documentElement;
root.classList.toggle('reader');
localStorage.setItem('reader', root.classList.contains('reader') ? '1' : '0');
break;
}
case 'theme': {
const btn = document.querySelector('[data-theme-toggle]') as HTMLElement | null;
if (btn) {