开源项目名称:ZebraEditorCore
开源项目负责人:aco
开源项目简介:最基础、纯粹的富文本编辑器
开源项目类型:个人开源
项目创建时间:2020.05
GitHub 数据:211 star 11 fork
GitHub 地址:https://github.com/acccco/zebra-editor-core
项目介绍
目前,市面上流行的富文本编辑器主要有三大类:
1、Markdown 编辑器,功能有限,并不富文本,不能轻易的给文字加颜色,设置段落的样式等等。
2、基于 contenteditable 的 html 富文本编辑器,如 ckeditor 。生成的 html 过于混乱,不能提取大纲,掌控不了文章内容,虽能获取 html ,但却控制不了 html 的结构,不能直接生成 Markdown,或是别的结构,局限性很大。
3、基于 contenteditable 的 js 富文本编辑器,与第二类的区别主要在于:它的内容是保存在 js 中的,html 的呈现只是它内容的映射,所有的编辑行为实际操作的是 js 内存中的模型,比如 DraftJs 等,但是目前这一类的编辑器,功能简单,可操作性太差。
该项目为第 3 类的富文本编辑器,但相对于别的第三类富文本编辑器来说,它功能丰富,理论上支持所有的 css 属性,支持 Markdown 中所有的类型,包括但不限于标题、表格、列表、引用、图片等,同时表格、列表、支持多层级嵌套,由于内容由 JS 表示,还可生成别的类型:如 Markdown。
可扩展性方面:
- 项目提供了一整套的类组件,如果想添加新的内容,只需要继承响应的类,并实现方法即可。
- 项目提供一个抽象生成器,只要实现该类,并设置自定义的生成器,可轻松替换文章生成的内容,比如 Markdown。
- 真的很富文本,在 Markdown 里缺失的一切都可以在这得到补充。
思否推荐
编辑器的设计难度在前端中可谓是困难模式,所以很少能够在开源项目中看到编辑器的开源,特别是富文本编辑器的开源。
ZebraEditorCore 作为一款编辑器的核心,有着丰富的功能支持,理论上支持所有的 css 属性,支持 Markdown 中所有的类型,包括但不限于标题、表格、列表、引用、图片等,同时表格、列表、支持多层级嵌套,由于内容由 JS 表示,还可生成别的类型:如 Markdown。
该项目已入选「SFOSSP - 思否开源项目支持计划」,我们希望借助社区的资源对开源项目进行相关的宣传推广,并作为一个长期项目助力开源事业的发展,与广大开发者共建开源新生态。
有意向的开源项目负责人或团队成员,可通过邮箱(pr@segmentfault.com)提供相应的信息(开源项目地址、项目介绍、团队介绍、联系方式等),以便提升交流的效率。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。