04 2025 档案

摘要:我们使用Git来管理项目的时候,可能会提交一些Blob的二进制文件,这些文件并不能像文本文件一样采用diff delta的形式进行版本控制。如果这些文件一直跟随master的主版本,那么就是属于有效的文件。 然而很多时候这些二进制文件会被删除重建,那么由于Git的特性,这些文件会一直留在Git的历史 阅读全文
posted @ 2025-04-29 12:42 WindRunnerMax 阅读(589) 评论(4) 推荐(1)
摘要:在复杂应用中,例如低代码、富文本编辑器的场景下,数据结构的设计就显得非常重要,这种情况下的状态管理并非是redux、mobx等通用解决方案,而是需要针对具体场景进行定制化设计,那么在这里我们来尝试基于Immer以及OT-JSON实现原子化、可协同、高扩展的应用级状态管理方案。 描述 将Immer与O 阅读全文
posted @ 2025-04-23 10:12 WindRunnerMax 阅读(5690) 评论(0) 推荐(0)
摘要:数据模型的设计是编辑器的核心基础,其直接影响了选区模型、DOM模型、状态管理等模块的设计。例如在quill中的选区模型是index + len的表达,而slate中则是anchor + focus的表达,这些都是基于数据模型的设计而来的。因此我们从零实现的富文本编辑器就需要从数据模型的设计开始,之后 阅读全文
posted @ 2025-04-22 10:42 WindRunnerMax 阅读(1101) 评论(2) 推荐(9)
摘要:在先前的规划中我们是需要实现MVC架构的编辑器,将应用程序分为控制器、模型、视图三个核心组件,通过控制器执行命令时会修改当前的数据模型,进而表现到视图的渲染上。简单来说就是构建一个描述文档结构与内容的数据模型,并且使用自定义的execCommand对数据描述模型进行修改。以此实现的L1级富文本编辑器 阅读全文
posted @ 2025-04-15 10:22 WindRunnerMax 阅读(1803) 评论(1) 推荐(2)
摘要:富文本编辑器是允许用户在输入和编辑文本内容时,可以应用不同的格式、样式等功能,例如图文混排等,具有所见即所得的能力。与简单的纯文本编辑组件<input>等不同,富文本编辑器提供了更多的功能和灵活性,让用户可以创建更丰富和结构化的内容。现代的富文本编辑器也已经不仅限于文字和图片,还包括视频、表格、代码 阅读全文
posted @ 2025-04-09 10:33 WindRunnerMax 阅读(3329) 评论(7) 推荐(16)

©Copyright    @Blog    @WindRunnerMax