markdown-总结

引言

目的

总结是为了回顾整个项目从0到1的完整过程,梳理里程碑,发现各个环节的做的好的地方与不足,做好项目沉淀,反思和复盘,为下次项目执行做好基础,每次进步一点点,到几次项目积累后,你会发现自己是不断的在成长。

背景

需求来源于实际的一个大型项目中,markdown编辑器作为其中的一个子模块单独完成。子模块单独立项,目标是对标市场上同类的编辑器,希望最终做到完美,故起名perfect-markdown。在该项目中该编辑器的使用者大部分为开发者,语法的学习门槛很低。

定义

英文名 中文含义 备注
markdown 一种语法
markdown-it 一种markdown语法解析引擎
perfect-markdown 自定义命名,完美markdown,简写pmd

参考资料

实际开发效果

产品

主要功能

  • 基本语法的快捷输入
  • 高级语法如letax公式等的解析
  • 图片、附件的上传
  • 文件导入导出
  • 渲染文档的图片预览:放大缩小

进度

原计划是趁着过年(2018-2019)前后共一周的时间完成perfect-markdown v1.0版本,这个时间段业务需求不多。实际花费的时间大概是10天,因此在拿不准需求的情况下,实际排期=1.5*预估排期,这样基本是可以的=——=。主要是处理其中的一些坑,花费了一些时间。到今天为止共发了10个小版本,最新的版本为v1.0.10。

开发评价

开发效率

perfect-markdown是在其它业务项目并行的情况下,抽时间完成的,满分10分的话,开发效率打8分。

产品质量

满分10分,目前只能给到7分。

技术和方法

目前项目采用的vux全家桶和markdown-it插件,都是比较成熟的技术了;需要特别说明的是公式的渲染支持两种类型:katex与mathjax,mathjax的公式渲染是纯dom操作,而katex是markdown-it的扩展,因此为了兼容mathjax格式的公式,做了一个取巧的设计,copyDom的逻辑。具体实现可以看下github.

经验和教训

在满足业务方使用需求的时候,有不同的实现方案,比如公式渲染的实现(katex和mathjax),有的需求其实业务方可以做让步的(舍弃一些小的需求点),而我们为了完全满足业务方,可能需要付出很多的投入,造成投入产出比太大的问题,因此做好需求的控制,是该项目中觉得最重要的。

本文结束感谢您的阅读