CKEditor 5 - 允许span元素和属性

时间:2017-12-09 23:28:14

标签: javascript ecmascript-6 ckeditor ckeditor5

我正在尝试使用CKEditor 5 Framework制作自定义插件。但是,我无法插入(通过export enum AppConfig { ONESIGNAL_API_KEY = 'myoskey', MIXPANEL_TOKEN = 'mymptoken' } export const FIREBASE_CONFIG = { apiKey : "myfbkey", authDomain : "myfbdomain" } )段落和其他元素(如span)的任何属性。有没有办法实现这个目标?

谢谢!

1 个答案:

答案 0 :(得分:1)

CKEditor 5实现了一个自定义数据模型,您可以在Architecture introduction guide中阅读更多内容。

自定义数据模型的存在意味着编辑器需要知道如何将该模型转换为视图结构(DOM)以进行编辑。此外,由于编辑器通常输出HTML(或结构上“兼容”的格式,如Markdown,BBCode等),因此需要进行类似的转换以从编辑器获取数据。最后,编辑器需要能够将视图转换为模型,以便您能够将数据加载到编辑器中。

附注:您可能还希望将模型直接保存到数据库中,这样可以避免将视图转换为模型(在setData()上),但尽管可能仍然意味着编辑器需要知道如何将模型转换为视图以进行编辑,以及如何将模型视图转换为模型。

这一切意味着什么?这意味着除非现有编辑器功能可以选择特定内容,否则它将被删除。它不会在数据加载时从视图转换为模型,因此将被遗忘。

因此,一切都与转换器相关。您需要教您的编辑器如何理解HTML以及如何呈现HTML。实际上,您还需要教它如何编辑模型的这些特定部分(此时)(通过配置模式并实现适当的UI)。

那么,如何编写转换器并配置架构?

嗯,这是一个问题,因为现在(截至2017年12月)我们处于CKEditor 5 engine重构的中间位置。我们拥有的架构很棒,但API证明难以使用,所以我们现在正在改进它们,这意味着我在这里写的任何内容都将在下个月无效。因此,我建议您浏览CKEditor 5 packages的来源(例如,请参阅plugins in the basic styles package)。