fix editor page transform true source
This commit is contained in:
@@ -349,12 +349,19 @@ GREEN:
|
||||
- 块菜单 refresh Wolai 基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-wolai-refresh/`,确认二级/三级菜单、Esc/外部点击关闭、鼠标移出保持打开。
|
||||
- 块菜单 refresh 本地 smoke:`MNOTE_PHASE_E_SCREENSHOT_DIR=/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-local-smoke-10 node scripts/task137-wolai-phase-e-smoke.js`,通过;覆盖第二行手柄不跳行、240px 菜单、底部编辑信息、转换子菜单缺失项、鼠标移出保持、Esc 关闭、H4 真实转换。
|
||||
- 块菜单 refresh subagent 本地复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task138-phase-e-local-subagent-postfix/`,通过;复核第 1-4 行手柄不跳行、菜单未被侧栏裁剪、鼠标移出保持、Esc/外部点击关闭、H4 真实转换。
|
||||
- `转换为 -> 页面` Wolai 基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task139-transform-page-wolai-baseline/`;确认 Wolai 点击页面后 URL 不变、不新开标签、不立即创建/选中 sidebar 新页面,当前块原地从 text 变 page block,标题沿用原文本,重新打开转换菜单时 `页面` 为勾选态。
|
||||
- `转换为 -> 页面` 本地 smoke:`MNOTE_PHASE_E_SCREENSHOT_DIR=/mnt/Data1T/mnote/tmp/wolai-editor-parity/task139-transform-page-local-smoke-5 node scripts/task137-wolai-phase-e-smoke.js`,通过;覆盖页面项可点击、URL 不变、无 `/api/tree/commands` create、页面块非蓝色普通链接、独立页面图标、整行弱红底、重新打开菜单页面勾选态。
|
||||
- `转换为 -> 页面` subagent 本地复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task139-transform-page-local-subagent-postfix/`,通过;关键截图 `06-transform-page.png`、`10-transform-page-current-menu.png`。
|
||||
- 代码改动:`rust/spikes/leptos-tiptap-spike/src/lib.rs` 与生成的 `rust/spikes/leptos-tiptap-spike/generated/island/*`。
|
||||
- `转换为 -> 页面` task139 本地实现曾只做原地伪页面块;该结论已被用户复核纠偏,不能作为完成口径。后续以 task140 Wolai 真源基线为准:转换必须产生/绑定真正子页面,页面树可见且点击页面块可打开。
|
||||
- `转换为 -> 页面` task140 Wolai 真源基线:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task140-transform-page-true-source-wolai-baseline/`;确认父页 URL 当下不变,当前块原地变 page block,点击后打开真实子页面 `5ZNTivwkmVyRSGN3AAntqJ`,返回父页后页面树 `软件开发 -> Hermes` 下可见同名子页面。
|
||||
- `转换为 -> 页面` task140 本地 smoke:`MNOTE_PHASE_E_SCREENSHOT_DIR=/mnt/Data1T/mnote/tmp/wolai-editor-parity/task140-transform-page-true-source-local-smoke-4 node scripts/task137-wolai-phase-e-smoke.js`,通过;覆盖 `/api/tree/commands` create、`parentId=当前文档`、返回 `documentId`、页面块 href 指向子页面、点击后进入子页面、刷新后页面树出现同名子页面。
|
||||
- `转换为 -> 页面` task140 subagent 本地复核:`/mnt/Data1T/mnote/tmp/wolai-editor-parity/task140-transform-page-true-source-local-subagent-postfix/`,通过;关键断言 child documentId 存在、`parentId` 指向当前文档、父页 URL 不立即变化、点击页面块进入子页面、页面树可见同名子页面;主线程复核截图 `06-transform-page.png` / `09-transform-page-open-child.png` 未见 true-source 语义差异。
|
||||
- 代码改动:`rust/spikes/leptos-tiptap-spike/src/lib.rs` 与生成的 `rust/spikes/leptos-tiptap-spike/generated/island/*`;`scripts/task137-wolai-phase-e-smoke.js` 已在本地 ignored smoke 中升级真源断言,默认不入库。
|
||||
- 验证命令:`cargo fmt --check`、`cargo check`、`node wolai-frontend/scripts/build-leptos-tiptap-island.js`、`node scripts/task137-wolai-phase-e-smoke.js`、`node scripts/task121-rust-web-editor-island-hydration-smoke.js`、`node scripts/task136-wolai-aline-phase-d-smoke.js`。
|
||||
|
||||
### Phase E 参考 Tiptap 审计记录(2026-04-30)
|
||||
|
||||
- `tiptap-notion-like-registry` / `tiptap-notion-like-template` 包含 197 个 registry 组件,核心能力不是单个菜单,而是 `DragContextMenu`、`SlashDropdownMenu`、`NotionToolbarFloating`、AI、颜色、链接、表格、图片、TOC、缩进、节点背景、节点对齐、emoji、mention、协作和移动端 toolbar 的组合。
|
||||
- `leptos-tiptap` 当前已支持 `starter-kit` 与 `full`:blockquote、bold、bullet/ordered/task list、code/codeBlock、heading、history、horizontalRule、italic、strike、text-align、highlight、image、link、placeholder、youtube;未直接覆盖表格、数学、emoji、mention、TOC、AI、collaboration caret、节点背景、节点对齐、缩进和 UniqueID。
|
||||
- Phase E 后续实施按 Wolai 基线优先级拆小任务;参考 Tiptap 能力先进入 checklist,不直接视为 mnote 必须一次性照搬。
|
||||
|
||||
### Phase E 说明页扩展 backlog
|
||||
|
||||
| ID | 状态 | 任务 | 验收要点 |
|
||||
@@ -374,7 +381,12 @@ GREEN:
|
||||
| E23 | TODO | 折叠待办三级菜单 | hover `折叠待办` 显示 `折叠待办列表/折叠高级待办列表`;真实折叠待办语义需接 editor/core 命令 |
|
||||
| E24 | TODO | 复制链接/颜色/文字翻译子菜单 | 复制链接、颜色、文字翻译按 Wolai 展开子菜单;颜色至少覆盖文字色/背景色真实写入,复制链接不只反馈文案 |
|
||||
| E25 | TODO | 块菜单关闭状态机 | Esc 与外部点击关闭所有层级;鼠标移出菜单保持打开,三级菜单可按 Wolai 收回到二级菜单;smoke 覆盖三条路径 |
|
||||
| E26 | DONE | `转换为 -> 页面` | Wolai Hermes 实测为原地 page block 转换;本地点击后 URL 不变、不触发 tree create、当前块显示页面图标 + 标题 + 整行弱红底,重新打开转换菜单时 `页面` 显示勾选态 |
|
||||
| E26 | DONE | `转换为 -> 页面` 真源 | 已按 task140 修正:本地转换时调用 `/api/tree/commands` 创建 `parentId=当前文档` 的真实子页面,当前块原地变 page block,页面块 href 指向子页面且点击可打开,刷新后页面树显示同名子页面;仍需在后续任务补齐 Wolai 重新打开菜单时 `页面` 勾选态的完整二次复核 |
|
||||
| E27 | TODO | 参考 Tiptap slash 插入扩展 | 对齐 `tiptap-notion-like-template`:slash 菜单除文本/标题/列表/引用/代码外,还应覆盖 AI continue/ask、mention、emoji、table、divider、TOC、image upload;每项要按 schema/后端能力拆 smoke,不只显示文案 |
|
||||
| E28 | TODO | 参考 Tiptap floating toolbar 扩展 | 对齐 floating toolbar:Improve/AI、TurnInto、bold/italic/underline/strike/code、image floating、link popover、text color、superscript/subscript、text align、indent/outdent;当前仅覆盖基础行内样式与颜色入口,真实写入需补齐 |
|
||||
| E29 | TODO | 参考 Tiptap drag context menu 扩展 | 对齐 drag context:copy to clipboard、copy anchor link、reset formatting、Ask AI、ColorMenu、TableAlign/Fit/Clear、TOC show title、image download、delete;当前块菜单仍有多项静态或缺失 |
|
||||
| E30 | TODO | 参考 Tiptap 表格/图片/TOC 节点 | 对齐 TableKit/TableHandle/TableSelectionOverlay/ImageUpload/Image floating/TOC sidebar;本地 `leptos-tiptap` crate 当前 full feature 只到 image/link/highlight/youtube,表格、数学、emoji、mention、TOC、协作光标等需按架构另列能力边界 |
|
||||
| E31 | TODO | 参考 Tiptap 节点级样式扩展 | 对齐 NodeBackground、NodeAlignment、Indent、ListNormalization、UniqueID/anchor;当前有 text-align/color/highlight 的局部能力,块背景、缩进结构、锚点复制和列表规范化需补 smoke 与真源映射 |
|
||||
|
||||
## 9. Phase F:Page Aggregate 和命令边界
|
||||
|
||||
|
||||
Reference in New Issue
Block a user