首先,我承认标题党的嫌疑是逃不掉的了...但是,诸君请继续看下去,就会发现还是有干货的
源码:https://github.com/shuiRong/markdownEditor
Demo:https://shuirong.github.io/src/
写这个Markdown编辑器的难点有两个:
1.对文本进行Markdown语法的解析
2.实时检测页面文本变化.
针对1,我在Gayhub上找到了[markedJS](https://github.com/chjj/marked),看README就能很快地上手.针对2,我选择的是[VueJS](https://cn.vuejs.org/),因为我看中了她的双向绑定特性.而且VueJS非常轻量,简单容易上手不说,中文文档简直业界良心.(会找代码也是很重要的能力好吧)
(没发现jianshu嵌入代码的方法...)
核心部分就是这些了.再自定义下相关CSS,一个支持实时预览的Markdown编辑器就搞定了.
这么简单?当然不能这么说.因为最难的markdown语法解析和实时预览部分引用了别处的代码.如果都是自己实现的话,够喝一壶的了.
既然说到这里,那就聊聊MD语法解析和数据的双向绑定的实现.
* MD语法解析:简单实现玩玩的话,基本的HTML/CSS/JS,主要正则玩的溜就够了.
* 实时预览的重点在于数据和视图间的单向绑定.进一步介绍看这里
网友评论
还有什么叫“用markdown语法完成”?