无界的 CkEditor5 视图值

Unbounded CkEditor5 view values

我目前正在尝试为 CkEditor5 构建一个颜色插件,以模仿可用于 CkEditor4 的插件。

我有一个输入法,但将模型值映射到视图值是我的绊脚石。该系统似乎已设置为预先知道并映射每个可能的值——这对于十六进制值显然是不切实际的。

有没有办法告诉CkEditor直接使用视图样式标签中的模型值和模型中的视图值?

我假设您正在创建一个带有颜色选择器的插件 UI。

您将无法将其与 CKE5 可用的现有高亮插件相结合。相反,我建议创建一个新插件。您可以查看 highlight plugin 以了解提供插件需要做些什么。

Is there any way to tell CKEditor to just directly use the model value in the view style tag and the view value in the model?

是的。您需要设置适当的向下转换(模型->视图)和向上转换(视图->模型)转换。为此,您需要提供一个生成 model/view 元素的函数。

请参阅 downcastAttributeToElement and upcastElementToAttribute() 的文档。在这些文档中,有一些示例说明如何设置使用 style 属性值的转换。 Upcast 转换器显示了一个更复杂的示例,但您可以简单地 return 视图中的值。

要添加此类转换器,您需要使用 model.Conversion#for..#add construction:

  • editor.conversion.for( 'downcast' ).add( downcastAttributeToElement( downcastConfig ) )
  • editor.conversion.for( 'upcast' ).add( upcastElementToAttribute( upcastConfig ) )