Prosemirror 通过这样的方式将编辑器中的每个状态以 EditorState 的方式保存了下来 , 它是一颗树状结构 。 而有一点编译原理基础的朋友都知道 , 任何编程语言都有对应的 AST(抽象语法树) 。 因此我们需要的就是建立 Prosemirror 中的 EditorState 与 Markdown 的抽象语法树之间的联系 。 Remark 完美契合我们的需求 , 因为它有设计良好的 AST , 并且易于扩展自己的语法 。
这样一来 Milkdown 的架构也逐渐清晰:
Markdown <-> Remark AST <-> Prosemirror State <-> UI四、结语在开始这个项目前 , 我尝试过各种各样的 Markdown 编辑器 , 但没有找到一款特别满意的 。 因为它们都是闭源 , 而且功能由开发商提供 , 有的功能太过于臃肿、有的又太过简单 。 既然这样 , 我索性自己做一款能够轻松定制功能 , 非程序员也能轻松使用的 Markdown 编辑器 , 也就有了大家看到的 Milkdown 。
希望开源的 Milkdown 让用户有更自由的选择 , 打破 Markdown 编辑器的“垄断” 。 开源不易如果 Milkdown 对您有帮助 , 也请给个 Star? 。
最后 , 感谢 HelloGithub 的支持和帮助 。 Milkdown 先是有幸入选了 第 65 期 月刊 , 然后受邀合作了这篇文章 , 让更多人知道我的开源项目 。
- 英伟达|「资讯」NV最强AI黑科技?能将文字描述一键转为逼真画像
- 程序员|45岁程序员在国务院网站发帖:码农能不能干到老,未来几年是关键
- 程序员|重磅!小米汽车自造锂电池!
- 程序员|为什么程序员容易失去动力?
- 甲骨文|考古学家在仰韶遗址,发现古老的“陶文”,这种文字竟然可以解读
- 程序员|百度网盘大更新,下载不限速,但我劝你别用
- 中国联通|中国的顶级水平程序员之吴石
- 程序员|Java培训:学习java 的十大原因
- 程序员|央媒评45岁程序员求助政府网站
- LG|程序员的挣扎?