关于markdown
最后更新于:2022-04-01 23:43:26
**好多使用者问到,wangEditor编辑器能否集成`markdown`?——答案是:富文本编辑器无法和`markdown`集成到一起。**
----
先不说为什么,咱们先看看一个成熟产品中,对于富文本和`markdown`是如何处理的。
[简书](http://www.jianshu.com/) 是现在很火的一个博客网站,听人说它之所以快速的火起来,和支持`markdown`还有很大的关系。那么咱们看看这位靠着`markdown`火起来的网站,是不是真正的富文本和`markdown`集成起来了?
其实它的`markdown`编辑器和富文本编辑器完全是两个东西,根本没有在一个页面中集成起来。而切换富文本和`markdown`是在用户配置页来切换的。
默认进来是富文本编辑器,如下图:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-19_56c70b5087195.png)
可以进入用户配置页面切换成`markdown`编辑器,如下图:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-19_56c70b509b9a2.png)
再回头来新建一片文章,编辑器就切换到`markdown`了。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-19_56c70b50a924e.png)
看明白了吧?
----
下面说说从技术角度为什么难以实现这两者的切换。
简单讲来,富文本和`markdown`对于文字的处理完全是两码事儿。例如,我们选择`abcd`进行加粗,富文本会生成`abcd`,而`markdown`会生成`**abcd**`。
如果想要两者自由切换,需要在切换时,随时切换两种规则,这就会带来很多问题。
第一,如果文字量大,要处理的信息多,单纯用js进行进算,性能是一个问题。
第二,`**abcd**`格式切换成`abcd`格式,有现成的js库可利用,但是`abcd`切换为`**abcd**`怎么办?`markdown`只能编辑常用格式的文字,没有`html`的样式那么强大。例如,``或`abc`切换成为`markdown`就无法实现。
**所以,目前还找不到一款编辑器能自由切换`markdown`和富文本。一个东西不存在,也是有不存在的道理的。**
----
最后,请大家想明白,在你的产品中,到底是想要一个"理想主义"的自由切换,还是想要简书那样的两种形式。
想清楚。
';