跳至正文

文档对应 SoEditor 1.6.0

按需格式化 ​

格式化是独立的增强需求。打开 Source 不应自动下载 Prettier;明确调用格式化命令时才加载相应工具。

格式化只调整缩进与属性排版,保留原有属性引号、实体、正文空白、注释及内嵌脚本/CSS。行内文本边界、代码块和显式保留空白的内容不会被重写。压缩直接删除源码中的结构缩进与标签内冗余空白,不重新序列化标签或属性。两种操作都支持撤销。自动格式化需明确配置 source.autoFormat,不默认开启。

1.6.0:错误定位与原文保护 ​

HTML 无法解析时,格式化与压缩会显示第一个错误的原因、从 1 开始的行列和稳定错误代码,并明确保留原文。错误不会产生撤销记录。Worker 与 CSP 限制下的主线程回退提供相同诊断,支持英语、简中和繁中。

未关闭标签可能在文末才被发现,提示位置代表解析器发现问题的位置。有效的 <style> 和内联 style 保留;格式化不校验 CSS,也不会自动删样式或修复标签。

未发布源码:CSP 与 Worker 资源 ​

当前开发源码改用独立同源 Worker,不再要求 blob: 权限。打包或复制时必须保留完整 dist(包括 assets/formatting-worker-*.js),资源地址按格式化模块解析,支持子目录。仍在首次格式化时加载,Worker 不可用时保留原回退。此变更尚未包含在公共 1.6.0 中。

可运行代码 ​

ts
export async function format(editor: ClassicEditor) {
    await editor.setWorkspaceView('source');
    await editor.editor.execute('document.format');
}

此代码使用发布版类型检查;完整导入说明见入口与类型。

下一步 ​

运行示例 · 配置参考 · 常见问题

面向网站 CMS 的 HTML 编辑器 · MIT