帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:文本编辑器  BASE  EDI  COL  文本  collaborative  基于web  TEX  
The Ritzy editor is a rich text, real-time character-by-character collaborative browser-based editor

  • 源代码名称:ritzy
  • 源代码网址:http://www.github.com/ritzyed/ritzy
  • ritzy源代码文档
  • ritzy源代码下载
  • Git URL:
    git://www.github.com/ritzyed/ritzy.git
  • Git Clone代码到本地:
    git clone http://www.github.com/ritzyed/ritzy
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/ritzyed/ritzy
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Ritzy编辑器 table

    Join%20Chatlicense Apache blueritzyritzy

    演示/简短介绍( TL ;博士)

    最后,一个好的开放源码。跨浏览器 [1] 。富文本。实时。可以嵌入。协同编辑器。 下面是演示:

    http://demo-ritzy.rhcloud.com/ ( 源)

    支持 [1] IE10+和evergreen浏览器,也许早期的浏览器也会。

    请注意,代码是alpha质量。

    较长的介绍

    Ritzy编辑器是一种富文本。实时character-by-character协同嵌入式浏览器编辑器。 属性使用 contentEditable 属性,支持定制编辑器 Surface 和布局引擎,这与 Google Docs 实现的方法完全一样。

    另外,与 Google Docs 同样,Ritzy也是基于实时协作编辑支持的,不同于基于第三方插件的编辑器。 这个机制的基础机制是一个因果树( CRDT ) 。

    Ritzy实现了所有基本的预期文本编辑功能,如粗体。下划线。删除线。上标。下标。选择。选择。剪切。复制和粘贴等。 更多功能将根据需要添加,或者作为第三方贡献被。

    特性

    • 实时协同文本编辑,与 Google Docs 一样,具有所有基本的标准编辑功能和快捷方式。

    • 多作者彩色/标记 cursor 和实时选择跟踪。

    • 段落流控制,包括对长单词/url的换行支持。

    • 模仿通用平台如微软Word和 Google Docs的选择和键盘导航行为。

    • 光标装饰如使用焦点和空闲,在遍历 italic 文本时倾斜,在没有焦点时不可以见。

    • 编辑器没有焦点时的选择装饰如灰色。

    • 自动滚动文档窗口水平和垂直,以保持 cursor 可见。

    • 剪贴板数据的Cut/copy/paste,包括在富文本和HTML之间的转换,包括对复制/粘贴的支持。

    • 用于控制编辑器并以富文本。HTML或者纯文本形式获取选择的API 。

    • 非英语语言的输入处理和支持。

    • 脱机同步编辑。

    限制和目标受众

    Google Docs 不同,Ritzy不支持基于复杂页面的布局需要构建字处理器。 对于那些希望在浏览器应用程序中添加协作丰富文本数据输入字段的开发人员来说,这将是最有用的。 但是,一些布局功能计划随着时间的推移而增加,例如项目符号和编号列表。样式和其他此类功能。

    移动支持

    部分支持移动在 Nexus 5和 Nexus 7上带有最近的Chrome,如下所示:

    • 基本文本条目( 虽然有些古怪- 由于某些原因,手机希望大写每个单词,而不是自动输入空格),

    • 光标定位,以及

    • 用户,选择和键入其他光标的实时视图。

    尽管在任何iOS设备上都没有测试过 Ritzy,但是它很可能与前面提到的类似,在任何最近的模型中都可能会。

    选择 do 工作。 因为如何选择移动工作的选择,编辑器现在可以能是一个难题。 一种可以能的方法是采用与文档相同的方法编辑,创建一个本机组件,用于协作。 目前没有计划对此进行处理。

    另外,类似的集成也可以针对本地桌面编辑器进行。

    产品就绪

    的代码为alpha质量 。 需要大量真实的测试。 当编辑器加载后,客户端的性能非常好,大量的优化工作仍然需要完成,尤它的是基础CRDT数据结构。

    支持数据格式的

    Ritzy可以在 JSON,HTML和文本中导入和导出数据。 请参见 API内容API选择工具。

    Rich文本 JSON

    Ritzy可以以导入和导出包含一个包含关联属性的文本块的array的JSON结构。 这些属性当前为粗体。斜体等布尔值,但将来包括它的他值,如样式名称。

    提示这里格式为"完全保真度"换句话说,导出的富文本数据保证导入准确。 以下是一个示例:
    let content = [
     { 'text':'This is some ', 'attrs':null },
     { 'text':'bold', 'attrs': {'bold':true} },
     { 'text':' text.', 'attrs':null }
    ]

    HTML

    Ritzy可以导入和导出 HTML 。 编辑/粘贴富文本到外部应用程序( 如Word或者 Google Docs ) 时,编辑器将内部使用。

    纯文本

    Ritzy可以导入和导出纯文本。 编辑/粘贴纯文本到外部应用程序时,编辑器在内部使用它,例如文本编辑器。

    原生因果树

    编辑器的内部数据模型是一个因果树,CRDT在设计过程中描述。

    除了描述最常用的格式 above,这些数据也可以通过 API

    警告这里格式不是 final,在将来版本中可能会发生更改。

    用法

    Ritzy是一个ES6响应组件,带有可选的API包装器。 目前,它确实需要一个服务器端实现来支持协作。 在未来,这将是可选的。

    有关如何将Ritzy集成到客户端和服务器端基础设施的信息,请参阅安装文档。

    路线图

    以下是将随时间增加的特性和功能的暂定列表。 欢迎使用捐赠。

    • 测试( 很多,请参见GitHub问题 xx ) ( 硬) 。

    • 测试就绪后,重构使编辑器代码更模块化/更易于理解( 硬硬盘) 。

    • 撤消/恢复( 硬硬盘) 。

    • 性能改进。性能现在相当好,但是可以做很多改进以进一步提高性能。 一些想法:

      • 尽可能使用不可变的集合( 尽可能多的比如 http://facebook.github.io/immutable-js/) 。

      • 实现某些类型的压缩和/或者在因果树CRDT中的字符索引。

      • 清除来自因果树CRDT的陈旧数据,例如删除( 但保留到修订历史) 。

      • 缓存频繁使用/慢速操作。

      • 服务器端性能改进。当前的负载可能会变得非常缓慢,因为副本继续增长。

    • 内容 比如 标题。列表。等等 ( 介质)的样式。

    • 添加到 API ( 轻松):

      • 在本机数据模型指定的特定位置插入 HTML

      • 文本属性 比如的命令和状态支持支持工具栏

      • 参见历史编辑 api based基于contenteditable的api的比较/实现。

    • leverages和/或者可以替换工具栏,利用编辑器 API ( 介质) 。

    • 测试和支持编辑器字体除 OpenSans ( 易于使用) 之外。

    • 将字体大小作为字符属性( 中等到硬) 处理。

    • 尽可以能减少依赖项数量和下载大小,而不会损害清晰性和可以维护性。

    • 搜索/替换( 待办事项) 。

    • 图形和表格( 待办事项) 。

    • 项目符号和编号( 待办事项) 。

    • 内嵌图像( 待办事项) 。

    • 右键单击菜单支持( 介质) 。

    • 彩色编码创作显示( 介质) 。

    • 文本高亮显示( 易于使用) 。

    • History/timeline/revision 视图( 硬硬盘) 。

    • 拖放支持( 介质) 。

    商业特性( 未来)

    In的编辑将提供免费的。开放源码的系统,它的组织 behind Ritzy正在考虑提供一个服务,作为服务。 服务器端组件是实时协作所必需的。

    便笺一个简单但工作的服务器端组件。 请参阅安装文档。

    商业服务器端解决方案将处理存储。通信。安全。可以用性,并为开发人员提供与它的控件的编辑器。 这里API的一些特性可能包括:

    • 创建。归档和销毁文本副本。

    • 用户标识和创作标签的规范。

    • 设置和修改访问控制。

    • 获取编辑器内容( 快照+ 实时双向推送) 。

      • 各种服务器端库 比如 Akka,Vert.X, RxJava,Kafka 等集成。

    • 设置或者修改编辑器内容。

    • 在编辑器 Surface 比如 comments/errors/word 高亮显示上显示服务器反馈。

    • 获取修订历史记录。

    • 编辑统计数据 比如 作者,整体和作者,词汇总体和作者,时间编辑,编辑等。

    • 编辑端服务器端的同构呈现与客户端性能。

    如果你的公司或者启动可能对此类服务感兴趣,请让我们知道你的公司。

    开发人员

    请参见提供开发工具。

    支持

    支持是通过 GitHub发布的问题提供的。

    联系 raman@vivosys.com @ 系统paid支持或者增强。



    文章标签:WEB  BASE  COL  文本  TEX  EDI  基于web  文本编辑器  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语