Markdown和WYSIWYG富文本编辑器的最佳形态 做好自己 做好自己
-
对于一个创作平台而言,一款好用的Web富文本编辑器是至关重要的,对目前市面上的Web版的富文本编辑器作了一番研究,发现目前Web编辑器主要集中在两种类型: Markdown编辑器和WYSIWYG(所见即所得)编辑器, 两者之争由来已久。下面简要说说两者的优缺点:

Markdown
优点:
专注你的文字内容而不是排版样式,专心写作,这也是Markdown被设计出来的初衷,这对于从vi/vim过来的人来说有种天然的亲切感,同样是书写时手不碰鼠标。
纯文本内容,兼容所有的文本编辑器软件。
可以随时修改你的文章。
可读、直观、学习成本低。
轻松的导出 HTML、PDF 和本身的 .md 文件,有许多高质量的库可供选择。
缺点:Markdown是扁平结构的,这也导致了Markdown的表现力不够丰富。无法实现精细的排版。
Markdown的标准不一。由于Markdown基本标准支持的格式有限,所以出现了很多不同的扩展,这些扩展没有统一的标准,这导致了兼容性成为问题。
Markdown不是所见即所得的,Markdown需要渲染后才可被真正阅读。
对于写技术文档、备忘录、笔记等就非常适合用Markdown来书写和预览,因为这些注重内容不注重排版。我个人有写笔记的习惯,我使用VS Code内置的Markdown编辑器来书写和预览我的所有个人文档。
WYSIWYG(所见即所得)编辑器
优点:
表现力丰富,可实现复杂的排版,Web版的MS Office Word就是一个WYSIWYG(所见即所得)编辑器。
所见即所得,编辑时和阅读时可以做到一致。
缺点:全功能的编辑器实现难度大。
后端存储的字节数比markdown大很多。
书写和排版通常分成两个步骤,通常是先书写后统一排版。上面分析了Markdown和WYSIWYG编辑器的优缺点,下面分析一下编辑器的选型问题:
首先,选择何种编辑器需要考虑你的平台的受众人群,如果是IT技术人员为主的,采用Markdown编辑器合适。但如果是知乎这类面向普罗大众的创作平台,那么只使用Markdown编辑器就不合适了。因此,知乎的文章编辑器选择了WYSIWYG富文本编辑器,我想它是做了分析与权衡的,从它的产品定位和平台受众来说,它的选择是正确的。
有些创作平台使用了双编辑器,书写文章时可以选择Markdown编辑器或富文本编辑,但这并不完美。难道选择了富文本编辑器, 我就不能在其中使用Markdown?
知乎的文章编辑器在这方面作了一番努力,它称之为Markdown语法识别,使得书写体验尽可能的接近Markdown,不幸的是,它没有做到最佳。目前知乎的编辑器存在的问题:
不支持从Markdown中直接复制粘贴,需要导入文件的形式来兼容Markdown。这对需要从多个Markdown文档中复制部分内容到一篇文章中那简直是灾难,这也是知乎编辑器最大的问题。
支持数学公式,但不支持行内数学公式,这对于数学专业的文章来说排版是个问题。块级数学公式不能居中。
不支持文本删除线
不支持任务列表
不支持上标和下标
不支持文本对齐
表格不支持单元格合并和拆分,不支持手动调整列宽,表格单元格输入有bug,经常新行的单元格中输入时会丢失游标。
表格不支持嵌套
想要输入+ xxx,- xxx,* xxx 麻烦的要死,因为它会强行识别为列表,可有时我就想输入这些文本,不信你可以自己去试试, 其它语法识别也一样,它没有一种使你可以快速放弃转换的操作。
罗列了这么多知乎编辑器的不足之处,知乎的文章编辑器又不开源,想帮它优化也没办法。于是我决定参考知乎的文章编辑器的功能自己研发一套Web富文本编辑器,我的目标是:采用WYSIWYG富文本模式,这样适用性更广,吸收知乎的文章编辑器的所有优点,同时要支持从Markdown内容中直接粘贴,输入时支持Mardown语法识别。目前已经开发完成,我都还没有为它取好名,广大网友也可以帮我取个名。
-
对于一个创作平台而言,一款好用的Web富文本编辑器是至关重要的,对目前市面上的Web版的富文本编辑器作了一番研究,发现目前Web编辑器主要集中在两种类型: Markdown编辑器和WYSIWYG(所见即所得)编辑器, 两者之争由来已久。下面简要说说两者的优缺点:

Markdown
优点:
专注你的文字内容而不是排版样式,专心写作,这也是Markdown被设计出来的初衷,这对于从vi/vim过来的人来说有种天然的亲切感,同样是书写时手不碰鼠标。
纯文本内容,兼容所有的文本编辑器软件。
可以随时修改你的文章。
可读、直观、学习成本低。
轻松的导出 HTML、PDF 和本身的 .md 文件,有许多高质量的库可供选择。
缺点:Markdown是扁平结构的,这也导致了Markdown的表现力不够丰富。无法实现精细的排版。
Markdown的标准不一。由于Markdown基本标准支持的格式有限,所以出现了很多不同的扩展,这些扩展没有统一的标准,这导致了兼容性成为问题。
Markdown不是所见即所得的,Markdown需要渲染后才可被真正阅读。
对于写技术文档、备忘录、笔记等就非常适合用Markdown来书写和预览,因为这些注重内容不注重排版。我个人有写笔记的习惯,我使用VS Code内置的Markdown编辑器来书写和预览我的所有个人文档。
WYSIWYG(所见即所得)编辑器
优点:
表现力丰富,可实现复杂的排版,Web版的MS Office Word就是一个WYSIWYG(所见即所得)编辑器。
所见即所得,编辑时和阅读时可以做到一致。
缺点:全功能的编辑器实现难度大。
后端存储的字节数比markdown大很多。
书写和排版通常分成两个步骤,通常是先书写后统一排版。上面分析了Markdown和WYSIWYG编辑器的优缺点,下面分析一下编辑器的选型问题:
首先,选择何种编辑器需要考虑你的平台的受众人群,如果是IT技术人员为主的,采用Markdown编辑器合适。但如果是知乎这类面向普罗大众的创作平台,那么只使用Markdown编辑器就不合适了。因此,知乎的文章编辑器选择了WYSIWYG富文本编辑器,我想它是做了分析与权衡的,从它的产品定位和平台受众来说,它的选择是正确的。
有些创作平台使用了双编辑器,书写文章时可以选择Markdown编辑器或富文本编辑,但这并不完美。难道选择了富文本编辑器, 我就不能在其中使用Markdown?
知乎的文章编辑器在这方面作了一番努力,它称之为Markdown语法识别,使得书写体验尽可能的接近Markdown,不幸的是,它没有做到最佳。目前知乎的编辑器存在的问题:
不支持从Markdown中直接复制粘贴,需要导入文件的形式来兼容Markdown。这对需要从多个Markdown文档中复制部分内容到一篇文章中那简直是灾难,这也是知乎编辑器最大的问题。
支持数学公式,但不支持行内数学公式,这对于数学专业的文章来说排版是个问题。块级数学公式不能居中。
不支持文本删除线
不支持任务列表
不支持上标和下标
不支持文本对齐
表格不支持单元格合并和拆分,不支持手动调整列宽,表格单元格输入有bug,经常新行的单元格中输入时会丢失游标。
表格不支持嵌套
想要输入+ xxx,- xxx,* xxx 麻烦的要死,因为它会强行识别为列表,可有时我就想输入这些文本,不信你可以自己去试试, 其它语法识别也一样,它没有一种使你可以快速放弃转换的操作。
罗列了这么多知乎编辑器的不足之处,知乎的文章编辑器又不开源,想帮它优化也没办法。于是我决定参考知乎的文章编辑器的功能自己研发一套Web富文本编辑器,我的目标是:采用WYSIWYG富文本模式,这样适用性更广,吸收知乎的文章编辑器的所有优点,同时要支持从Markdown内容中直接粘贴,输入时支持Mardown语法识别。目前已经开发完成,我都还没有为它取好名,广大网友也可以帮我取个名。