资料介绍
软件简介
TextBus 是一个通过自建数据模型、内置 Diff 算法、以数据为核心驱动的富文本编辑器。
同时,TextBus 拥有非常好的可扩展性和定制能力,你可以基于 TextBus 的数据模型扩展自己的组件(Component)、格式(Formatter)及工具。当然,内置的组件、格式、工具、插件等,你也可以随意添加和删除。甚至,你也可以把 TextBus 当成一个源码生成器,通过定制组件的 render
方法,输出 Vue、React 或 Angular 的模板源代码。因此 TextBus 拥有类似于建站工具的能力。
安装
通过 npm 安装 TextBus:
npm install @textbus/textbus
在 html 中准备一个空的元素
id="editor">
通过 css 选择器,或直接传入一个 DOM 元素初始化 TextBus。
import { createEditor } from '@textbus/textbus'; import { Observable } from 'rxjs'; const editor = createEditor('#editor', { uploader(type: string): string | Promise<string> | Observable<string> { // switch (type) { // case 'video': // console.log('上传视频'); // break; // case 'image': // console.log('上传视频'); // break; // case 'audio': // console.log('上传音频'); // break; // } return Promise.resolve().then(() => { return '/test' }) }, content: `欢迎你使用 TextBus 富文本编辑器...
` }); editor.onChange.subscribe(() => { console.log(editor.getContents()); });
官网地址
为什么要开发 TextBus?
众所周知,富文本编辑器一直是前端开发领域的一个天坑。但同时市面上的富文本编辑器却又数不胜数,那为什么我还要另起炉灶呢?
- 目前大多数富文本内容都太脏了,比如,加粗一段文字,可能是一个 strong 标签,也有可能是多个,如果这段文字同时还有其它格式,那么就更热闹了,基本处于一个不可控的状态。能把显示状态和编辑处理成正常的,就算很不错的编辑器,基本不会管内容脏不脏的问题。
- 目前比较新的编辑器,基本都有自己的一套抽象数据结构来描述富文本,这同时又引起了另一个问题,即这一数据结构对有的富文本内容描述不了,导致要扩展特定的格式不能实现。
- 部分富文本编辑器依赖特定的框架或库,造成使用上的限制。
- 扩展困难,不能方便的扩展格式、组件和模板,也不方便定制特定的编辑行为。
- 实时的代码高亮,这个对程序员写文档来说,是一个比较重要的功能。
- 对于粘贴进来的内容,要么粗爆的只是提取文本内容,导致格式丢失。要么就直接扔进页面,产生非常多的脏数据(如粘贴 word 的内容),虽然有的编辑器做了过滤,但基本不能做到完全剔除脏数据。
- 粘贴进来的资源不能触发上传行为。
对于以上所列举的只是部分问题,有问题虽然不好,但也不完全是坏事,这时就需要 TextBus 来解决这些问题。针对上面的问题,TextBus 解决如下:
- TextBus 输出非常干净,没有冗余的标签及样式。
- TextBus 没有定义一个标准的数据结构,只抽象出了 Formatter(格式) 和 Component(组件)两个维度的数据来格式化富文本的 Content(内容)。现在大家日常基本都是组件化开发,TextBus 也有自己的组件,你可以像写 Vue/React/Angular 组件一样,来写 TextBus 的组件,只要你愿意,没有什么效果是实现不了的。
- TextBus 不依赖特定的库,开箱即用。
- TextBus 扩展真的很简单,如果你使用 Typescript 开发的话,IDE 会给你非常好的代码提示,你只需要实现对应的接口,其它的就交给 TextBus 帮你处理。
- 实时代码高亮,在 TextBus 里真的不是问题。
- 由于 TextBus 的架构设计天然的支持过滤脏内容,所以,当粘贴进 TextBus 不认识的数据时,会自动忽略掉,而不会遗留在最终的结果里。
- 粘贴进来的资源上传,会自动分析,并触发上传。
当然,除了上述列举的问题,其实大家可能还有更多的需求亟待解决,这里就不一一阐述了,欢迎大家试用,并给出评价。更欢迎提出问题,要是能一起来完善 TextBus,那就更好了!
开发环境
对于一部分需要更详细了解 TextBus 原理,需要本地调试的开发者来说,可以通过以下方式在本地运行 TextBus。
TextBus 采用 lerna 作为多模块管理工具。如果你没有安装,请先安装 lerna。
npm install -g lerna
在项目根目录,通过 lerna 安装本地依赖
lerna bootstrap --hoist
启动项目
npm start
至此,你就可以在浏览器看到开发版本的 TextBus 效果了
- 超好用的Win/Mac文本编辑器npp.7.9.5.Installer 5次下载
- Python文本编辑器实用工具免费下载 0次下载
- 如何进行HTML在线文本编辑器在Java web开发中的使用分析 10次下载
- 如何从Linux中探讨Ⅵ编辑器的教学问题 9次下载
- linux系统教程之Vi编辑器的使用教程免费下载 52次下载
- UltraEdit文本编辑器免费下载 0次下载
- CentOS下vi编辑器用法大全 2次下载
- JAVA教程之简单的文本编辑器 11次下载
- UltraEdit_文本编辑器 13次下载
- EditPlus(文本编辑器)下载入口 4次下载
- 程序员必备的文本编辑器_GVim for windows 4次下载
- 文本编辑器的实现 0次下载
- linux_vi命令详解-屏幕文本编辑器
- linux文本编辑器工具下载
- java文本编辑器下载(源代码)
- Vivado编辑器乱码问题 940次阅读
- UltraEdit文本编辑功能介绍 4462次阅读
- VSCode编辑器的安装及使用教程是什么 1559次阅读
- 如何使用Gnu nano文本编辑器 6123次阅读
- Vim编辑器的使用学习和使用技巧 2251次阅读
- 基于终端的Linux 编辑器 3072次阅读
- 在Linux上使用JOE文本编辑器的方法 3467次阅读
- 使用Atom文本编辑器的五个优势 4235次阅读
- Xedit文本编辑器的使用指南 2841次阅读
- PADS的元件编辑器的使用方法 9229次阅读
- 干货 | Linux 流编辑器 SED 详解 3126次阅读
- 我们有各种现代文本编辑器,还有必要学习Vim吗? 3789次阅读
- VI 编辑器的命令、模式和选项介绍 6307次阅读
- 分享3个可以替代Emacs和Vim的编辑器:Geany、Atom、Xed 1.2w次阅读
- 编译器跟编辑器有什么区别 3w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多