Markdown编辑器技术调研有哪些细节需要注意?

摘要:本文对Markdown编辑器技术进行了全面调研,分析了Markdown的优势,易用性、通用性、内容专注性和用户需求背景。提出分三期实现的技术路线:预览功能、编辑功能、所见即所得模式。通过竞品分析发现用户核心需求是便捷的信息收集、流畅编辑和安
Markdown 的优势 1. 所见即所得,易上手、自由分享,搭配文档基建,可做内容产品的入口,分享的起点。 2. 通用格式,多平台支持,格式转换和移植方便,文档理应做 markdown 的集散地。 3. 专注内容而非排版,编辑者只需专注内容本身,无需花费时间在排版上。 背景 文档的私有化用户与 c 端用户对于 markdown 格式的文档预览与编辑有强烈的诉求,希望补齐文档这方面的空白,满足客户诉求。 目标 设定 markdown 技术项投入开发的里程碑与时间节点。 一期 - 完成 markdown 上传/预览(兼容多媒体文件预览) 二期 - 完成 markdown 编辑功能(云端编辑/协同) 三期 - 编辑态所见即所得模式 竞品分析 对市面上的 markdown 编辑服务进行调研与分析,方便后续能力上对齐,同时侧面了解市场对 markdown 格式文件的诉求。 cmd 作业部落 HackMD Notion Typroa 是否支持协同 ✅ ✅ ✅ ❌ 优缺点 使用人数较多,主要是用于记录笔记与博客,目前投入比较少,编辑器也比较多 bug 开源为较老的版本,一般是用户私有化部署 作为生产效率工具提供给用户,生态比较完善,不单作为 markdown 编辑 编辑器只支持所见即所得编辑模式,只作为本地 markdown 编辑器使用 是否付费 ✅ ✅ 个人免费 ✅ 目前市面上主流的 markdown 本地编辑软件,主要是靠买断付费,市面上大部分的 markdown 编辑软件,严格意义上来说不算我们的竞品,markdown 面对的用户并不只是技术宅,而是广义上的互联网写作者,他们没有那么在乎 word 的各种高级编辑格式,他们在乎的是: 1. 方便的信息收集 2. 流畅的编辑体验 3. 自由的知识分享 4. 安全的信息备份 技术选型 & 调研 技术调研的方向是: 1. 查找哪类组件满足支持编辑态,预览态的转换与能力支持 2. 区分哪些是完整的编辑器并且具备完善的社区生态。 注意:类似 markdown-it 这种,它只是 parser 库,在能力上与完备性上并不具备支持完整产品的能力,只在后续实现编辑态做技术研究参考。 针对需要的能力对市面上的框架和库进行能力调研, Cherry-Markdown Unified - Remark 社区是否成熟 社区使用比较少,一般是公司内使用 社区成熟,插件丰富 是否支持编辑/预览 支持 支持 是否支持所见即所得模式 暂不支持 支持 cherry-markdown 是公司内组件,方便共建与生态建设,并且基本所需的编辑态与预览态。因此选用 cherry-markdown 作为基座。 预览 预览态的功能规划。 基础语法预览完备 如 markdown todo 列表语法,表格语法,时序图语法都需要支持。 多媒体文件 - 图片 需要实现导入图片的时候,自动将 md 文件里面的本地图片进行上传到对应的图床中,并且自动将文件里面对应的图片链接更换为图床链接。 在导出的时候,需要将原来本地的图片链接更换为相对路径,并且导出为一个 zip 包。 当没有配置图床时,图片以 base64 存储 · Issue #545 · Tencent/cherry-markdown · GitHub 多媒体文件 - 视频 类似图片的处理方式,接入利用 drive 能力,支持视频文件的预览。 多媒体文件 - 远程视频 url(是否带封面) 在支持视频文件的基础上,支持配置视频的封面(markdown 语法实现)。 代码高亮 & 代码主题 code block 支持多种代码主题渲染与多种语言支持。 emoji 渲染支持 目前只有预设的几个表情 需要支持类似中文语法渲染,比如 :呲牙: AI 预览 AI 的结果预览渲染 编辑 编辑态相关的功能规划。 批量上传 支持 markdown 文件上传并进行云端编辑。 多人编辑 支持 markdown 多人协作。这里需要将 openDoc 的 mutation 操作与对于 markdown 文件的底层数据进行映射。通过 mutation 实现多人共同编辑同一 markdown 文件的冲突解决与云端编辑。 版本管理 对于 markdown 文件的编辑,需要有版本管理,用户能够知道单个 markdown 文件的编辑版本历史,并且能够进行回退等操作。 导入导出 支持 markdown 文件导入导出。 注意 markdown 文件中的多媒体文件处理。
阅读全文