Textbus:支持在线协作 富文本编辑器框架

科技   2024-12-06 17:25   湖北  


文章底部获取项目地址



Textbus 是一个高性能的富文本编辑器开发框架,可以根据需求开发出完全自定义的编辑器。Textbus 支持 1000w 文字、25w DOM 节点、5w 段落的无卡顿编辑,支持 TypeScript,支持在线协作,允许多人同时在线编辑,支持在 Vue、React 中使用。
Textbus 默认提供一个富文本编辑器 XNote,包含大多数功能,如加粗、斜体、下、中划线、字体、文字颜色、上、下标、代码块、表格、视频、图片、高亮块、对齐方式、有序、无序列表、待办事项、引用块、数学公式、@ 他人等。
安装 XNote:
// npm
npm install @textbus/xnote
// import
import { Editor } from '@textbus/xnote'
import '@textbus/xnote/bundles/index.css'
const box = document.getElementById('box')
const editor = new Editor()
editor.mount(box).then(() => {
 console.log('创建完成')
})
接入协作功能:
如果 XNote 无法满足你的需求,可以使用 Textbus 开发自定义编辑器,其特点是以组件和数据驱动为核心的开发框架,支持自动记录操作历史,支持插槽编辑等等。
Textbus 相关模块如下:
Textbus 使用:
npm install @viewfly/core @viewfly/platform-browser
npm install @textbus/core @textbus/platform-browser @textbus/adapter-viewfly
适配其他框架:
Textbus 兼容现代浏览器,包含 Chrome、Firefox、Safari、Edge 等等。
API 介绍:
功能和特性:
组件化系统:组件化系统允许富文本编辑支持复杂布局和特殊控件的插入,类似于现代前端框架的操作方式,使得操作变得简单直观。
完全可控:采用数据驱动的方式,确保了输入输出完全依赖于内核完成。这意味着在不同的浏览器上,它的行为和结果将是一致的,不存在差异。
易扩展:支持 hooks 风格的扩展代码,使得在不同上下文中对同一事件定制不同行为变得简单。它原生支持多种前端框架渲染,简化了复杂交互的编写。
语法糖支持:提供了高度灵活的语法糖支持,允许用户定制输入实时转换功能。例如在 Markdown 中,可以通过 # 号加空格将文本转换为标题。用户也可以创造自己的语法,只要满足需求。
格式兼容:具有完全可定制的文档解析能力,可以最大限度地保持从网页、Word 等其他页面复制过来的内容和格式。
格式限制:既可以实现组件的深层次嵌套,也可以像大多数现代编辑器一样实现 block 化,提供了灵活的格式限制选项。
转换便捷:内置了强大的格式转换能力,这对于支持树状数据结构的编辑器来说是一个难点,但 Textbus 实现了这一点,使得格式转换变得简单。
在线协作:提供了基于 Yjs 的协作能力支持,用户也可以采用其他协作方案来对接 Textbus 的数据模型,实现在线协作编辑。
高度抽象;提供了完全抽象的光标和选区系统,开发者无需关心浏览器复杂的选区问题,简化了开发过程。

《前端资源推荐》公众号收集各种前端组件 UI 框架、JS 插件工具、中后台系统模板、动画库、低代码、可视化资源、开源项目、学习资源、特效源码等,如有其他优秀资源,欢迎发消息投稿,感谢点赞、在看、转发、关注!!!

其他推荐


Uppy:支持断点续传 模块化的文件上传库

kkFileView:支持数十种文件格式预览开源工具库

Arco Design Mobile:字节新开源移动端 UI 组件库

V3 Admin Vite:低成本上手 中后台管理系统模板

Vxe Table:Vue3 支持超大数据量渲染的表格组件

勾股 OA:开源 企业办公管理系统

Fabricjs:交互式 canvas 图形绘制库

likeadmin:多语言 多终端 多应用 系统框架

项目地址


GitHub:https://github.com/textbus/textbus

XNote 地址:https://github.com/textbus/xnote

官方文档:https://textbus.io/

前端资源推荐
推荐分享各种前端组件UI、插件工具、中后台系统、低代码、可视化、开源项目、学习资源、特效源码等
 最新文章