资料介绍
软件简介
TextBus 是一个通过自建数据模型、内置 Diff 算法、以数据为核心驱动的富文本编辑器。
同时,TextBus 拥有非常好的可扩展性和定制能力,你可以基于 TextBus 的数据模型扩展自己的组件(Component)、格式(Formatter)及工具。当然,内置的组件、格式、工具、插件等,你也可以随意添加和删除。甚至,你也可以把 TextBus 当成一个源码生成器,通过定制组件的?render
?方法,输出 Vue、React 或 Angular 的模板源代码。因此 TextBus 拥有类似于建站工具的能力。
安装
通过 npm 安装 TextBus:
npm install @textbus/textbus
在 html 中准备一个空的元素
id="editor">
三焦湿热吃什么中成药 湿疹怎么治用什么药膏 位数是什么意思 302是什么意思 窦性心律什么意思 蜂蜜与什么食物相克 素金是什么意思 氯吡格雷治什么病 镜里观花是什么生肖 早泄什么意思 公章是什么样的 子宫颈肥大有什么危害 黄疸高是什么原因 彩虹为什么有七种颜色 宫颈潴留性囊肿是什么 麒麟飞到北极会变成什么 淋巴结肿大是什么样子的 口干舌燥口苦吃什么药 HlV是什么 卯是什么生肖
左胸下方是什么部位hcv9jop2ns4r.cn 四大金刚是什么意思hcv8jop1ns9r.cn 最长的河流是什么河hcv9jop3ns5r.cn 散瞳是什么hcv9jop4ns3r.cn 子鼠是什么意思travellingsim.com 七月份是什么季节hcv7jop4ns8r.cn 黄花菜什么人不能吃hcv7jop7ns4r.cn 吃是什么意思hcv9jop3ns4r.cn 徘徊是什么意思hcv9jop6ns9r.cn 交接是什么意思hanqikai.com 早上起床手指肿胀是什么原因hcv9jop1ns9r.cn 脑梗前期有什么症状hcv8jop9ns4r.cn 生物科学是什么专业hcv8jop8ns1r.cn 挂失补办身份证需要什么hcv8jop9ns8r.cn 什么时候夏至mmeoe.com zn是什么意思hcv8jop5ns8r.cn 乳腺结节是什么原因引起的hcv8jop6ns7r.cn 为什么要打肝素hcv8jop2ns8r.cn 舌苔发黑是什么病的前兆hcv9jop0ns5r.cn 防中暑喝什么hcv7jop5ns4r.cn
通过 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次下载 | 免费
评论