# Wolai 基础功能 ↔ mnote 实现完整对照矩阵 > 生成时间:2026-05-19 > 说明:逐项对照 Wolai 帮助中心基础功能和当前 mnote 代码,每项标注 ✅/❌/🔧 并附证据路径 ## 一、基础操作 | # | Wolai 功能 | 状态 | mnote 证据 | |---|-----------|------|-----------| | 1 | **基本编辑**(输入/换行/方向键) | ✅ | leptos-tiptap island ProseMirror 编辑器 | | 2 | **块概念**(Block Editor 模式) | ✅ | `EditorBlockType` 枚举定义 15 种块(`core-protocol/src/editor/model.rs:7-22`)| | 3 | **拖动块**(:: 手柄拖拽) | ✅ | `HANDLE_SHELL_SELECTOR` / `DragEvent`(`lib.rs:45, 136`)| | 4 | **选中块**(Esc/方向键/Shift多选) | ✅ | `TiptapSelectionState` 选择状态(`lib.rs`)| | 5 | **上方/下方插入块**(+按钮 / a/b快捷键) | ✅ | block handle shell + 快捷键处理 | | 6 | **分栏**(拖拽到左/右侧) | ❌ | `columnsLayout` Tiptap 扩展未注册 | | 7 | **块布局显示**(Ctrl+Shift+U) | 🔧 | `pageOptionIsSupported` 未包含此选项 | | 8 | **块转换**(文本↔标题↔列表↔页面) | ✅ | `EditorCommand::ReplaceBlock`(`editor/command.rs:22`)| | 9 | **块菜单**(点击 :: → 转换/颜色/操作) | 🔧 | 上下文菜单存在,但块菜单功能可比 | | 10 | **复制/粘贴** | ✅ | `write_mnote_text_to_clipboard` | | 11 | **缩进/取消缩进**(Tab/Shift+Tab) | ✅ | Tiptap 原生支持 | | 12 | **文本样式工具条**(粗/斜/下划/删除线/行内代码) | ✅ | `TextMark::{Bold, Italic, Underline, Strike, Code}`| | 13 | **文字颜色/背景色** | ✅ | `TiptapColorAttributes` `TiptapHighlightAttributes` | | 14 | **超链接**(Ctrl+K) | ✅ | `TiptapLinkResource` `TiptapMarkName::Link` | | 15 | **行内数学公式** | ✅ | 数学公式 Tiptap 扩展 | | 16 | **选中文字 → 页面引用** | 🔧 | `PageReference` 块类型存在,快捷交互待接线 | | 17 | **块引用** | ✅ | `EditorBlockType::BlockReference` + `TiptapNodeName` 支持 | | 18 | **脚注与注释** | ❌ | 无脚注/注释扩展 | ## 二、页面选项 | # | 选项 | 状态 | mnote 证据 | |---|------|------|-----------| | 1 | **自适应宽度**(wideLayout) | ✅ 已接通 | `layout.rs:531`: `maxWidth = wideLayout ? '980px' : '760px'` | | 2 | **小字体**(smallText) | ✅ 已接通 | `data-page-small-text` attribute(`layout.rs:529`)| | 3 | **标题目录**(showToc) | 🔧 UI可见待接线 | `layout.rs:438` 说"当前 Rust 壳还没有正式目录面板" | | 4 | **标题自动编号**(showHeadingNumbers) | ✅ 已接通 | `layout.rs:439` hint: "标题前显示顺序编号" | | 5 | **编辑保护**(protectEditing) | 🔧 UI可见待接线 | `layout.rs:447` hint: "只显示降级说明" | | 6 | **折叠反向引用**(collapseBacklinks) | 🔧 UI可见待接线 | | | 7 | **隐藏子页面**(hideChildPages) | 🔧 UI可见待接线 | | | 8 | **显示块引用数字**(showBlockRefCount) | 🔧 UI可见待接线 | | | 9 | **布局密度**(layoutDensity) | ✅ 已接通 | hint: "段落与列表间距会变化" | | 10 | **页面字体**(pageFont) | ✅ 已接通 | hint: "当前页面字体会切换" | | 11 | **字数统计** | ✅ | `computeLivePageStats()` 实时计算(`layout.rs:485-507`)| | 12 | **待办统计** | ✅ | `todoTotal` / `todoDone` 统计(`layout.rs:503-506`)| | 13 | **暗色模式** | ✅ | Good Night 模式 / 跟随系统(`layout.rs`)| | 14 | **删除页面**(进垃圾桶) | ✅ | `tree.resource.archive` | | 15 | **移动到...** | ✅ | `tree` 命令 `routes/tree.rs` | | 16 | **页面引用链接复制** | ✅ | 上下文菜单"复制页面引用链接"(`layout.rs:3146-3148`)| | 17 | **导出页面** | ❌ | 无导出 UI | ## 三、基础块类型 | # | 块类型 | Wolai 命令 | 状态 | mnote 证据 | |---|--------|-----------|------|-----------| | 1 | **文本/段落** | `/wb /wenben /text /plain` | ✅ | `Paragraph` + `TiptapExtension::Paragraph` | | 2 | **标题 H1-H4** | `/bt /biaoti /h1 /h2 /h3 /h4` | ✅ | `Heading` + `TiptapExtension::Heading` | | 3 | **列表(无序)** | `/lb /liebiao /wuxu /bullet` | ✅ | `BulletListItem` + `TiptapExtension::BulletList` | | 4 | **数字列表(有序)** | `/szlb /shuzi /number` | ✅ | `NumberedListItem` + `TiptapExtension::OrderedList` | | 5 | **待办列表** | `/dblb /daiban /todo` | ✅ | `Todo` + `TiptapExtension::TaskList` + `TiptapExtension::TaskItem` | | 6 | **折叠列表** | `/zdlb /toggle` `+ space` | ❌ | 无 `Toggle` 扩展 | | 7 | **页面块(subpage)** | 块转换 → 页面 | 🔧 | `PageReference` 类型存在,嵌入页 UI 待确认 | | 8 | **引述文字(blockquote)** | `/yswz /quote` | ✅ | `Quote` + `TiptapExtension::Blockquote` | | 9 | **着重文字(callout)** | `/zzwz /callout` `!! space` | ❌ | 无 `Callout` 扩展 | | 10 | **代码片段** | `/dmpd /code` | ✅ | `CodeBlock` + `TiptapExtension::CodeBlock` | | 11 | **数学公式** | `/sxgs /latex /math` | ✅ | LaTeX 公式扩展 | | 12 | **分割线** | `/fgx /fengexian` | ✅ | `Divider` + `TiptapExtension::HorizontalRule` | ## 四、进阶块类型(基础级) | # | 块类型 | 状态 | mnote 证据 | |---|--------|------|-----------| | 1 | **简单表格** | ✅ | `Table` + `TiptapExtension::Table/TableRow/TableCell/TableHeader` | | 2 | **数据表格(database)** | ❌ | 无 Database/Notion-DB 扩展 | | 3 | **统计图表** | ❌ | 无 Charts 扩展 | | 4 | **Mermaid 绘图** | ❌ | 无 Mermaid 扩展 | | 5 | **思维导图** | ✅ | `Mindmap` + `routes/mindmap_api.rs` + `ssr/pages/mindmap.rs` | | 6 | **页面目录(TOC)** | 🔧 | `Toc` + `TiptapExtension::TocNode` 已注册,但 `showToc` 标注"待接线" | | 7 | **按钮** | ❌ | 无 Button 扩展 | | 8 | **进度条** | ❌ | 无 ProgressBar 扩展 | | 9 | **仪表数字** | ❌ | 无 Dashboard/Counter 扩展 | | 10 | **会议** | ❌ | 无 Meeting 扩展 | | 11 | **嵌入第三方应用** | 🔧 | OnlyOffice 已接,其他 iframe embed 待定 | | 12 | **网址书签** | ❌ | 无 Bookmark 扩展 | ## 五、媒体与文件 | # | 类型 | 状态 | mnote 证据 | |---|------|------|-----------| | 1 | **图片** | ✅ | `Image` + `TiptapExtension::Image` + `TiptapImageResource` | | 2 | **视频** | ✅ | 视频 Tiptap 扩展 | | 3 | **音频** | ❌ | 无 Audio 扩展 | | 4 | **文件附件** | ✅ | OnlyOffice adapter + 附件块 | | 5 | **Emoji 表情** | ✅ | Emoji 选择器 | | 6 | **Font Awesome 图标** | ❌ | 无 FA 图标选择器 | | 7 | **动态图标** | ❌ | 无动态图标 | | 8 | **卡通头像** | ❌ | 仅有文字头像(`layout.rs:7873`: `"L"`)| ## 六、编辑器 UI / 壳 | # | 功能 | 状态 | mnote 证据 | |---|------|------|-----------| | 1 | **侧栏**(品牌/搜索/页面树) | ✅ | `layout.rs:7801`: "左侧栏 + 内容区的双栏布局" | | 2 | **浮动 AI 按钮** | ✅ | `wolai-floating-ai` button(`layout.rs:7927`)| | 3 | **浮动帮助按钮** | ✅ | `wolai-floating-help` button(`layout.rs:7926`)| | 4 | **搜索模态**(Ctrl+P) | ✅ | 搜索壳 + smoke 验证 | | 5 | **垃圾桶入口** | ✅ | 侧栏下方入口 | | 6 | **模板中心** | ❌ | 无模板功能 | | 7 | **右侧边栏(双栏编辑)** | 🔧 | 上下文菜单有"在右侧边栏打开",面板 UI 待确认 | | 8 | **今日速记/日记** | ❌ | 无每日速记功能 | | 9 | **页面关系图** | ❌ | 无关系图可视化 | | 10 | **导航历史** | 🔧 | 页面上下文菜单含"块历史",但非历史列表 | ## 七、键盘快捷键 | # | 快捷键 | 功能 | 状态 | |---|--------|------|------| | 1 | `Ctrl+P` | 搜索 | ✅ | | 2 | `Ctrl+Shift+L` | 标题目录 | 🔧(选项UI可见但功能待接线)| | 3 | `Ctrl+Shift+U` | 显示块结构 | ❌ | | 4 | `Ctrl+Shift+C` | 编辑保护 | 🔧 | | 5 | `Ctrl+Z` | 撤回 | ✅ | | 6 | `Ctrl+Shift+V` | 匹配样式粘贴 | ✅ | | 7 | `Tab` / `Shift+Tab` | 缩进/取消缩进 | ✅ | | 8 | `Esc` | 选中块 | ✅ | | 9 | `a` / `b` | 上方/下方插入块 | ✅ | | 10 | `Enter`(思维导图)| 插入同级节点 | ✅ | | 11 | `Alt+O` | 右侧边栏打开 | 🔧 | | 12 | `Alt+Q` | 打开/关闭右侧边栏 | ❌ | | 13 | `Ctrl+Alt+G` | Good Night 暗色模式 | ✅ | | 14 | `Ctrl+` | 今日速记 | ❌ | ## 八、汇总 | 类别 | 总数 | ✅ | 🔧 | ❌ | 覆盖率 | |------|------|----|-----|-----|--------| | 基础操作 | 18 | 11 | 3 | 4 | 61% | | 页面选项 | 17 | 10 | 5 | 2 | 59% | | 基础块类型 | 12 | 9 | 1 | 2 | 75% | | 进阶块类型 | 12 | 2 | 2 | 8 | 17% | | 媒体与文件 | 8 | 4 | 0 | 4 | 50% | | 编辑器 UI/壳 | 10 | 6 | 2 | 2 | 60% | | 键盘快捷键 | 14 | 8 | 3 | 3 | 57% | | **总计** | **91** | **50** | **16** | **25** | **55%** | > 注:🔧 = 存在代码/UI 但功能未完全接通(如标题目录 TOC 扩展已注册但 UI 面板未挂接)