feat: 升级 CodeMirror 编辑器并新增 Markdown 工具栏

This commit is contained in:
SkyJourney
2026-07-30 12:39:35 +08:00
parent f7d4efeafc
commit 7831bc23f0
11 changed files with 1603 additions and 35 deletions
+12 -1
View File
@@ -83,6 +83,14 @@ Schema、资源、Pandoc capability、错误码、结果、诊断、耗时、MIM
现有主题、图片和 Markdown 安全渲染能力,为后续 Server 与 Desktop DOCX
引擎返回同一种准备结果。本阶段未新增 HTTP 路由、IPC 或 Pandoc 调用。
`v0.6.0` 阶段 4 已将左侧原生文本框升级为 CodeMirror 6,并建立项目
自有 Markdown 命令注册层和响应式基础工具栏。当前支持撤销、重做、
H1~H6、加粗、斜体、删除线、行内代码、代码块、引用、三类列表、尺寸
表格和分隔线;链接、图片等功能化工具延后。现有实现保留受控 Markdown
状态、防抖预览、文件工作流、文档脏状态、折叠恢复焦点及编辑/预览滚动
同步。外部文档替换会重置历史,单次工具栏操作形成一个 CodeMirror
事务。
## 2. 已完成
### 2.1 项目骨架
@@ -919,6 +927,9 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
- `apps/web/src/PreviewPageControl.tsx``preview-page.ts` 负责当前页输入、
页码边界、滚动页识别和快速跳转。
- `apps/web/src/preview-zoom.ts``PreviewZoomControl.tsx` 负责预览缩放缓存、边界和控制界面。
- `apps/web/src/MarkdownEditor.tsx` 负责 CodeMirror 受控状态、文档历史
重建、快捷键、焦点和滚动容器适配;`MarkdownToolbar.tsx`
`markdown-editor-commands.ts` 负责可扩展命令注册和基础工具栏。
- `packages/markdown-echarts` 负责 ECharts YAML 协议、验证、安全过滤、
Markdown-it 插件、浏览器 SVG 渲染和分页样式。
- `apps/server/src/pdf-engine.ts` 负责 Chromium 生命周期、并发、网络限制、分页调用和 PDF 输出。
@@ -962,7 +973,7 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
- 阶段 2:已冻结 Pandoc `3.9.0.2`、许可证、Docker 与 Desktop
分发方式;
- 阶段 3:已实现 DOCX 共享模型和跨端导出协议;
- 阶段 4:实现 CodeMirror 6 与可扩展基础 Markdown 工具栏;
- 阶段 4实现 CodeMirror 6 与可扩展基础 Markdown 工具栏;
- 阶段 5~8:依次实现资源预处理、动态 reference.docx、Pandoc 转换服务
以及 Web/Desktop 导出交互;
- 阶段 910:完成自动化和 Word/WPS 互操作验收,再构建正式发布产物。