上一页 1 2 3 4 5 6 ··· 50 下一页
摘要: 在先前我们实现了编辑器选区和模型选区的双向同步,来实现受控的选区操作,这是编辑器中非常重要的基础能力。接下来我们需要在编辑器选区模块的基础上,通过浏览器的组合事件来实现半受控的输入模式,在这里我们需要处理浏览器复杂DOM结构默认行为,还需要兼容IME输入法的各种输入场景。 开源地址: https:/ 阅读全文
posted @ 2025-09-02 10:32 WindRunnerMax 阅读(405) 评论(0) 推荐(0)
摘要: RAG Retrieval-Augmented Generation是一种用于自然语言处理的模型架构,结合了检索Retrieval和生成Generation两种技术。而RAG服务在知识问答、代码生成、事实验证、专业领域检索等任务中表现出色,能够通过检索相关知识来增强生成模型的回答质量和准确性。 实际 阅读全文
posted @ 2025-08-06 10:22 WindRunnerMax 阅读(617) 评论(0) 推荐(2)
摘要: 在先前我们基于Range对象与Selection对象实现了基本的浏览器选区操作,并且基于编辑器数据模型设计了RawRange和Range对象两种选区模型。在这里我们需要将浏览器选区与编辑器选区关联起来,以此来确认应用变更时的操作区间,相当于我们需要基于DOM实现受控的选区同步。 开源地址: http 阅读全文
posted @ 2025-08-05 10:36 WindRunnerMax 阅读(342) 评论(0) 推荐(4)
摘要: 先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区,编辑器中应用变更时的操作范围,就是以模型选区为基准来实现的。在这里我们就以编辑器状态为基础,来设计模型选区的结构表达。 开源地址: https:/ 阅读全文
posted @ 2025-06-10 10:23 WindRunnerMax 阅读(393) 评论(0) 推荐(1)
摘要: 先前我们提到了,数据模型的设计是编辑器的基础模块,其直接影响了选区模块的表示。选区模块的设计同样是编辑器的基础部分,编辑器应用变更时操作范围的表达,就需要基于选区模型来实现,也就是说选区代表的意义是编辑器需要感知在什么范围内执行变更命令。 开源地址: https://github.com/WindR 阅读全文
posted @ 2025-05-28 10:25 WindRunnerMax 阅读(405) 评论(1) 推荐(2)
摘要: 在富文本编辑器中,序列化与反序列化是非常重要的环节,其涉及到了编辑器的内容复制、粘贴、导入导出等模块。当用户在编辑器中进行复制操作时,富文本内容会被转换为标准的HTML格式,并存储在剪贴板中。而在粘贴操作中,编辑器则需要将这些HTML内容解析并转换为编辑器的私有JSON结构,以便于实现跨编辑器内容的 阅读全文
posted @ 2025-05-07 10:18 WindRunnerMax 阅读(664) 评论(1) 推荐(2)
摘要: 我们使用Git来管理项目的时候,可能会提交一些Blob的二进制文件,这些文件并不能像文本文件一样采用diff delta的形式进行版本控制。如果这些文件一直跟随master的主版本,那么就是属于有效的文件。 然而很多时候这些二进制文件会被删除重建,那么由于Git的特性,这些文件会一直留在Git的历史 阅读全文
posted @ 2025-04-29 12:42 WindRunnerMax 阅读(605) 评论(4) 推荐(1)
摘要: 在复杂应用中,例如低代码、富文本编辑器的场景下,数据结构的设计就显得非常重要,这种情况下的状态管理并非是redux、mobx等通用解决方案,而是需要针对具体场景进行定制化设计,那么在这里我们来尝试基于Immer以及OT-JSON实现原子化、可协同、高扩展的应用级状态管理方案。 描述 将Immer与O 阅读全文
posted @ 2025-04-23 10:12 WindRunnerMax 阅读(5711) 评论(0) 推荐(0)
摘要: 数据模型的设计是编辑器的核心基础,其直接影响了选区模型、DOM模型、状态管理等模块的设计。例如在quill中的选区模型是index + len的表达,而slate中则是anchor + focus的表达,这些都是基于数据模型的设计而来的。因此我们从零实现的富文本编辑器就需要从数据模型的设计开始,之后 阅读全文
posted @ 2025-04-22 10:42 WindRunnerMax 阅读(1135) 评论(2) 推荐(9)
摘要: 在先前的规划中我们是需要实现MVC架构的编辑器,将应用程序分为控制器、模型、视图三个核心组件,通过控制器执行命令时会修改当前的数据模型,进而表现到视图的渲染上。简单来说就是构建一个描述文档结构与内容的数据模型,并且使用自定义的execCommand对数据描述模型进行修改。以此实现的L1级富文本编辑器 阅读全文
posted @ 2025-04-15 10:22 WindRunnerMax 阅读(1838) 评论(1) 推荐(2)
上一页 1 2 3 4 5 6 ··· 50 下一页
©Copyright    @Blog    @WindRunnerMax