# sceditor **Repository Path**: chenlong_sd/sceditor ## Basic Information - **Project Name**: sceditor - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-06 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简易富文本编辑器 一个基于原生 `contenteditable` 的轻量编辑器,不依赖第三方富文本库。当前主线覆盖富文本编辑、表格、表单、图片 / 视频 / 文件、草稿与版本历史、批注,以及 `{ html, document }` 双轨结构化恢复。 ## 先看这些 - `docs/使用文档.md`:初始化、配置、上传、导出和常用 API。 - `docs/功能清单.md`:当前能力和明确边界。 - `docs/结构化文档模型.md`:稳定 ID、结构化模型和恢复信任边界。 - `docs/协作范围.md`:协作第一阶段范围与暂不支持内容。 - `docs/文档索引.md`:完整文档导航和维护规则。 ## 快速开始 1. 保持 `index.html`、`editor.css` 和 `src/` 目录结构完整。 2. 直接用浏览器打开 `index.html`。 3. 初始化编辑器: ```js window.editorInstance = new SimpleRichEditor('#app', { placeholder: '请输入内容...', initialHTML: '
初始化内容
', }).init(); ``` 4. 日常开发直接修改 `src/`;`editor.js` / `editor.min.js` 仅在发布时生成。 ## 常用命令 - `npm test`:运行 `tests.html` 浏览器回归。 - `npm run build`:打包单文件产物。 - `npm run test:browser`:使用 headless 浏览器执行回归。 - 如浏览器不在常见安装路径,可通过 `SCEDITOR_TEST_BROWSER` 指定可执行文件。 ## 目录说明 - `src/core/SimpleRichEditor.js`:核心类和主流程入口。 - `src/modules/`:按功能拆分的编辑器模块。 - `tests.html`:浏览器自动化回归入口。 - `scripts/run-tests.js`:自动化测试 runner。 - `docs/`:接入、能力边界、结构化模型、协作和维护文档。 - `editor.js` / `editor.min.js`:构建产物,平时不直接维护。 ## 当前能力 - 富文本基础块、列表、引用、代码块、分割线和块间插入。 - 表格、表单、图片、视频、文件和上传 / 替换流程。 - 草稿同步、版本历史、批注和结构化恢复。 - `getHTML()`、`getSubmitPayload()`、`getPublishPayload()`、`getDocumentModel()` 等导出接口。 ## 已知边界 - 协作仅完成第一阶段运行时,不包含完整 CRDT / OT 文本合并。 - 表格单元格内容在结构化模型中仍按 sanitized HTML fragment 保守保存。 - 粘贴和导入会经过清洗与归一化,不保证复杂网页样式 100% 原样保留。 - Markdown 仍是辅助编辑能力,不是独立主数据模型。