CKEditor 5 缺少可用的工具栏项目

Posted

技术标签:

【中文标题】CKEditor 5 缺少可用的工具栏项目【英文标题】:CKEditor 5 Missing Available Toolbar Items 【发布时间】:2018-09-01 13:13:02 【问题描述】:

我已经列出了 CKEditor 5 内联编辑器的所有可用工具栏项目,我想知道为什么缺少一些基本项目。我正在使用https://cdn.ckeditor.com/ckeditor5/1.0.0-beta.1/inline/ckeditor.js 的构建,文档说它应该包含整套功能。

editor.ui.componentFactory.names() 输出:

撤消 重做 粗体 斜体 块引用 imageTextAlternative 图片上传 标题 imageStyle:完整 imageStyle:side 链接 编号列表 bulletedList

如您所见,CKEditor 4 中包含的一些核心项目丢失了,例如:

复制 粘贴 下划线 字体大小 文本颜色 左对齐 正当理由 调整中心

为什么这些物品不见了?是不是因为 CKEditor 5 还处于测试阶段?

【问题讨论】:

【参考方案1】:

哎呀!文档不正确。 This guide 说:

由于 CKEditor 构建启用了所有功能,因此向它们添加更多功能的唯一方法是创建自定义构建。

虽然它应该这样说:

由于 CKEditor 构建不包含所有可能的功能,向它们添加更多功能的唯一方法是创建自定义构建。

另外,你很不幸地发现了这个错误,因为,例如在Builds – Overview 指南中,文档说:

如果一个版本没有提供所有必要的功能,或者您想创建一个高度优化的编辑器版本,只包含您需要的功能,您需要自定义版本或创建一个全新的版本。查看自定义构建以了解有关如何更改默认构建以匹配您的偏好的详细信息。

为什么不在所有版本中包含所有功能?

大多数构建(classic、inline、balloon)仅包含Editor Recommendations 中列出的功能(有一个小例外和一个缺少的功能 - 表)。我们将这种设置称为“文章预设”。

还有document editor build,它实际上是解耦的编辑器创建者+文档预设。文档预设比文章预设宽得多。

那么,为什么不在所有版本中包含所有功能呢?因为这样的构建将是巨大的。这不仅会影响性能(加载时间、执行时间),还会影响 UX。每个编辑器集成都应针对将要使用的特定环境进行调整。这组功能及其配置需要根据用户应该能够编辑的内容、生成方式和生成内容进行调整。不幸的是,大多数开发人员会因为可用而启用太多功能,这会导致糟糕的集成、糟糕的用户体验以及此类集成产生的糟糕内容。

因此,我们提出了我们认为合理的设置,并稍微迫使开发人员思考他们真正需要的设置。

在哪里可以找到所有功能?

在examples 和features list 上。某些功能在任何构建中都不可用,因此它们可能只能在功能列表中找到,并且某些功能太常见而无法在功能列表中列出,因为它们在示例中可用。

如果您在这些地方都找不到某些功能,那么它可能尚未实施。您可以在existing issues 中搜索或举报新的。

【讨论】:

感谢您的信息。是否可以根据docs.ckeditor.com/ckeditor5/latest/builds/guides/development/… 的文档将插件添加到构建的 CDN 版本中?我在cdn.ckeditor.com 看到有为 CKEditor 4 添加插件的说明,但是对于 CKEditor 5,这些说明丢失了。 这是可能的,但程度非常有限。基本上 - 如果您需要导入任何源模块,则不应尝试将插件添加到现有构建中。导入例如Plugin 类或 Command 或来自引擎的任何内容都会导致危险的代码重复。我们正在努力允许编写简单的插件而无需导入任何东西,仅此而已。问题是,CKEditor 5 是高度模块化的,以避免臃肿。这需要在需要时导入内容。

以上是关于CKEditor 5 缺少可用的工具栏项目的主要内容,如果未能解决你的问题,请参考以下文章

CKEditor 5:将表功能添加到classic-build失败

vue集成CKEditor构建框架的使用,遇到富文本框不出现工具栏等操作

选择编辑器中插入的图像时,CKEditor 4.10 工具栏中的中心对齐被禁用

MVC 5 项目中缺少图标

ckeditor4 使用总结

ckeditor4 使用总结