富文本编辑器 Quill.js 系列三:架构与扩展

Quill.js 是一个借助 contenteditable + MutationObserver 实现的 API 驱动的富文本编辑器。 有以下特性: 为开发者构建,细粒度访问、更新文本内容,一致的的 JSON 格式输入输出 跨平台。所有现代浏览器,在手机端、平板、桌面 伸缩性强。大小项目都可简单使用,可通过自定义扩展丰富富文本功能。

富文本
洋葱

富文本编辑器 Quill.js 系列二:Parchment - 文档模型

Parchment 是 Quill.js 的文档对象模型,类似 DOM 之于 web 页面的关系。Parchment 树是由多个 Blot 组成的,这也同样类似 DOM 树与 Node 的关系。Parchment 应用于结构、格式和内容,Attributes 提供轻量级的格式信息。

富文本
洋葱

老旧服务的接口保障

一、背景在数字经济背景下,产品会依据市场需求不停更新迭代,新产品会不断淘汰老产品。在新老产品更替的过渡时期,老服务将会进入维护状态,研发的投入会急剧减少,服务的维护人员也会发生较大变动。因此,对于基础设施升级或者服务合并的情况,旧服务的测试工作就会变得相当棘手。总结有以下2个痛点

炬尧

富文本编辑器 Quill.js 系列一:Delta 文档结构

Delta 是用于描述富文本文档结构的内容与变更。由于其描述的通用性,quill.js 将其独立维护。它的数据结构是基于 JSON 格式的,方便服务间进行互解析,例如 一份描述富文本格式的 数据,可很方便的渲染于 Web 与 Android or iOS。相比于复杂和带有歧义的 HTML,其更简单纯粹。

富文本
洋葱

输入法与 keydown 事件

输入、回车提交,这是一组在搜索场景中常见、友好的交互形式,但要将其做好以获得更好的用户体验,还需要关注其中的小小细节。监听回车所谓的细节就是关于“回车”的监听。因为输入法的存在,引入了文本合成现象,使得字符输入变得不再纯粹简单。若处理不当,就会出现在开着输入法的情况下,当只想使用

前端
时中

安卓项目架构设计-梳理现有项目的混乱

架构设计通常发生在一个项目生长到一定程度时,结束了野蛮生长进入稳定期,回过头来审视整体项目的架构,大多是一个比较混乱的状态。本文将从现有项目出发,梳理项目中混乱的结构,讲述项目架构设计的过程。一、目标与规划1.1 完整的项目架构对于一个成熟项目来说,项目架构中应该包含基础层、核心

炬尧

同事这样做接口校验,两天就完成了OKR

​一、背景:接口自动化是一种能提高服务回归效率,保证服务稳定性的重要方式。但是对很多做接口自动化的测试来说,往往痛苦大于快乐。主要问题还是在于接口自动化的校验。写校验成本较高。很多接口响应字段可能非常多,结构体复杂,要做到详细校验编写成本很高。而越详细的校验,维护成本也越高。测试

炬尧

代码检测利器“利特莫斯”之优化血泪史

“利特莫斯”是什么?Litmus由测试效能开发,用于检测代码质量的平台。Litmus支持代码异味、重复代码、复杂度、单元测试成功率、单元测试覆盖率等指标的获取。只有提测的代码质量越高,我们交付的产品的质量才有可能越高。上述指标的获取基于开源工具Sonar和Jacoco。下图为Li

炬尧

跨平台 Hooks npm 包的接口设计

一、OverviewTaro 是用 React 的方式来写小程序,拥有与 React 一致的 api,因此可通过相同的实现来同时满足多端的需求。现在正在构建一个可跨端使用的 Hooks 包,关键的问题在于如何处理包的依赖。当在小程序中使用时,实际上是依赖了  @tarojs/ta

前端
时中