/tripdocs

TripDocsSDK是基于携程内部在线文档编辑器内核,提炼的一款通用的,现代的、稳定的、支持协同的、可用于生产环境的在线文档编辑器

Primary LanguageTypeScriptMIT LicenseMIT

logo
现代在线协同文档编辑器应用框架


TripDocsSDK | English Version

介绍

  • TripDocsSDK是基于携程内部在线文档编辑器内核,提炼的一款通用的,现代的、稳定的、支持协同的、可用于生产环境的在线文档编辑器。

  • 目前已在携程内部TripDocs系统、Trippal简报系统集成,iDev系统正在接入中。其中在TripDocs系统中,已运行1年以上,沉淀文档2000+。

  • TripDocsSDK依赖slatejs、yjs、reactjs。并在slatejs基础上,进行了二次的开发,包括丰富的组件和大量的纠错机制,使得编辑器更加稳定可靠。

功能特色

  • 开箱即用:支持NPM包引入和CDN引入。

  • 大量基础插件:提供大量常规插件,按需选择,即插即用,无需额外的开发成本。

  • 稳定性:针对崩溃做了很多的处理。

  • 其它特色功能:支持Markdown编辑和word解析。

截图

截图

开发环境

# Install
npm install

# start up
npm run dev

# run 

# 启动会监听3001、5385两个端口

# 访问

http://127.0.0.1:3001/

生产环境

# 构建npm包
npm run buildNpm 

or

# 构建cdn包
npm run buildPC 

技术文档

文档补充中,文档链接

插件支持情况

  • 撤销/恢复
  • 字号
  • 字间距
  • 字体颜色
  • 加粗
  • 斜体
  • 下划线
  • 删除线
  • 清除样式
  • 增加缩进
  • 减少缩进
  • 左对齐
  • 居中对齐
  • 右对齐
  • 两端对齐
  • 标题样式
  • 无序列表
  • 有序列表
  • 引用
  • 代码
  • 链接
  • 表格
  • 水平线
  • 清除内容
  • 格式刷
  • 待办
  • 顶部栏
  • 悬浮菜单
  • 表格悬浮菜单
  • 表格右键菜单
  • word文件解析
  • markdown解析
  • markdown编辑
  • TOC
  • 快捷键
  • 上标
  • 下标
  • 媒体-图片
  • 媒体-视频
  • 媒体-音频
  • 媒体-媒体库
  • emoji ("" 触发)

打开协同编辑功能

使用slate-collaborative 搭建服务器,修改项目中socketUrl字段为你的服务器地址即可

感谢

感谢以下开源产品的支持

  • Yjs & Yrs -- Fundamental support of CRDTs for our implementation on state management and data sync.
  • React -- View layer support and web GUI framework.
  • slatejs -- Customizable rich-text editor.
  • antd -- Help designers/developers building beautiful products more flexible and working with happiness
  • @emotion -- Emotion is a library designed for writing css styles with JavaScript.
  • @codemirror -- CodeMirror is a code editor component for the web.
  • html2pdf -- html2pdf.js converts any webpage or element into a printable PDF entirely client-side using html2canvas and jsPDF.
  • prismjs -- Lightweight, robust, elegant syntax highlighting.

协议

本项目采用 MIT 协议

社区交流:

需求,bug以github的issue为主

技术交流优先 slack,其次qq: 721424295