大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!今天给大家带来的主题是富文本编辑器中的Tiptap Editor。话不多说,直接进入正题!1.
大家好,我是前端西瓜哥,这次来看看 Yjs 如何帮助我们实现协同编辑能力的。当修改被我限速为 1 KB/s 的 tab 的编辑器内容时,来自同一浏览器的另一个 tab 页立刻发生了变更,而另一个浏览器的 tab 则慢得多。
笔者平时写文章使用的都是Markdown,但是发布的时候就会遇到一些平台不支持Markdown的情况,重排是不可能重排的,所以都会使用一些Markdown转富文本的工具,比如markdown-nice,用的多了就会好奇是怎么实现的,于是就有了本篇文章。
因为富文本编辑不是在表单控件中实现,这意味着要将富文本编辑结果提交给服务器,就要手动进行。我们会在表单中添加一个 type=“hidden” 的字段,在提交表单时,通过监听器,从元素中提取出 HTML 并插入隐藏字段中。
2012 年 Quill 编辑器开源,它的数据模型 Delta 就是基于 OT 算法设计的,个人觉得 Quill 编辑器的开源对于协同编辑以及 OT 的发展是一个重要的里程碑,在以前协同编辑可能是少数大公司在研究的技术,Quill 编辑之后协同编辑就逐渐应用更多的中小公司产品中,比如国内的石墨文档整个核心技术包括协同编辑可能就是基于 Quill 和 Delta 实现的。
需求:实现一套灵活的活动组件模板,编辑人员只需要打开后台,拖拽相应组件,填入相应内容,最终就生成一个活动页面。因为涉及投票,评论,关注等功能(每个功能都当做一个组件),所以一个富文本编辑器是无法实现的。