English Version
TripDocsSDK |介绍
-
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