需求分析
作为编辑器使用者,最直接的两个诉求:一是完成内容的编辑预览录入;二是文档的渲染展示。
文档内容编辑预览
完成基础内容如标题、段落、加粗、标记、表格、链接和图片等的录入及快捷键录入;支持图片、文件等附件的上传;支持markdown语法文件的导入预览,具有切换全屏编辑模式的功能。
文档渲染
具有高亮显示特殊内容功能;通用内容的居中、居左和居右显示能力;支持图片预览;支持导出markdown文件,导出pdf等功能。
功能设计
根据上边的分析,我们按照模块拆解为以下四个方面:
- 编辑器输入区
- 直接输入
- 键盘快捷输入
- 键盘复制内容的特殊处理
- 编辑器渲染区
- 基本markdown语法渲染
- 特殊语法如公式、流程图等的渲染
- 图片的特殊处理:如点击放大预览
- 编辑器快捷菜单栏
- 基本语法的键盘快捷键插入
- 图片、附件等的插入
- 全屏、分屏等的操作
- 导入、导出和打印等
- markdown语法插件
- emoji
- 任务列表
- 图片
- katex
- toc
- highlight