Commit Graph
2 Commits
Author SHA1 Message Date
wait4xandGLM-5.3 eb5e3f851e fix(cms): 页面文案可编辑性修复(结构压平)+ 样式旋钮退役 + favicon 直传
用户实测「瞬间/书架 说明文字」在后台无法编辑。根因:Sveltia 对「可选对象
嵌套可选对象」的子编辑器渲染缺陷线(sveltia-cms #446/#654,双层嵌套正踩
雷区)——压平为单层可选对象 + markdown 直挂,与已验证可编辑的主页/关于
页同构。顺应用户第二问:样式旋钮(字号/颜色/字体三档)整体退役,排版
并入内联类(Insert▸排版,预览直接可见),视觉基线由 .page-note scoped
样式承载(13px/ink-4,与原默认一致零回归);favicon 从贴路径 string
改为 image 直传(落 public/icons/,yaml 存 /icons/…)。

验证: pnpm astro build exit 0;config-check 226 字段全过;content-lint 53 页 0/0/0;E2E 61/61

Spec: none (用户实测报告的后台编辑 bug 紧急修复)

Co-authored-by: GLM-5.3
2026-11-05 11:42:40 +08:00
wait4xandGLM-5.3 58baad5a7b feat(content): 瞬间/书架标题下的话语改为后台可编辑(5j T3)
用户原话:「瞬间、书架大标题下的话语我从哪里去改?包括其字号颜色还有字体」——
此前这两行是硬编码(瞬间来自 i18n 字典、书架是组件里的字面量),后台完全改不了。

- 新增 sitePages 单例(content/site/pages.yaml)+ pageNote() 访问器:note 走富文本
  行内管线,空则回落内置默认(原硬编码两句逐字搬入 PAGE_NOTE_DEFAULTS)
- 样式只开放三档并全部夹取:size 11–16px、color 仅 ink-1..ink-4、font 仅排版类白名单
  —— 后台可填任意值,不能让它破版或染色
- **关键坑**:字体类不能只挂 class——global.css 的 .font-kai/.font-sans 全挂在富文本
  容器作用域(.prose-*/.rich/.mom-text/.prose-body),裸 .page-note.font-kai 拿不到
  规则(实测第一次无效,仍是 Noto Sans)。改为复用 fontVarFor() 产出 inline
  font-family,class 仅作语义
- 书架与瞬间各自独立配置;默认值取「改造前外观」(均 font-sans)

验证: 构建 exit 0;content-lint 52 页 0/0/0;E2E 56/56;
      实测(只改 books 样式)书架 computed = 16px / rgb(51,52,58) / Ma Shan Zheng,
      瞬间保持 13px / ink-4 / Noto Sans(两页互不影响);
      op-gitea 侧另测:仅改文本、整段删 style(与基线逐字段一致)、非法值
      (size:40/color:red/font 乱写)全部安全回落

Spec: 2026-11-03_blog-5j-content-refine (T3)

Co-authored-by: GLM-5.3
2026-11-04 20:14:59 +08:00