Taleweaver 支持分页的在线编辑器开源项目

我要开发同款
匿名用户2019年08月29日
56阅读
开发技术TypeScript
所属分类可视化HTML编辑器、Web应用开发
授权协议MIT

作品详情

Taleweaver,支持分页的在线编辑器。

有很多在线编辑器(WYSIWYG),但是这些编辑器都不支持分页。这些编辑器都是在浏览器中使用,浏览器关注的是布局和渲染,不关心内容将会渲染在什么地方。当页面需要印刷到文档中的时候,很多特性就不在适用了。比如将一个页面印刷到A4纸张上面,这些编辑器就无法做到想微软的office中的word那样,可以支持分页、页面等特性。

支持此特性的商业编辑器有谷歌文档、微软的officeonline中的 word,taleweaver似乎是第一个支持分页的开源软件。

Taleweaver拥有排版引擎同时提供了一套API来访问排版信息。它的目标就是把word那种风格的文字编辑体验带到开源社区。

实现方式:

Taleweaver通过获取文档状态并将其呈现到屏幕上来工作。通过状态转换修改状态时,通过一系列步骤将更改传播到屏幕。

[状态]->[模型树]->[呈现树]->[布局树]->[视图树]

状态

文档的State是用一系列的水平的token来表示的.共有三种token:

Opentagtoken——标记文档中元素的开始Closetagtoken——标记文档中元素的结尾Charactertoken——文档内容的一个字符

State允许在数组上以插入或删除的形式进行更改。这个简单的接口能够实现以最小的工作量实现协作编辑。

便于存储和基于文本的传输,state可以序列化为标记,且能够通过分词相关技术从标记中恢复。

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论