CKEditor5 - 让 Mention 与 Markdown 一起工作

CKEditor5 - Making Mention work together with Markdown

我正在使用 CKEditor5 并尝试使 Mention 插件与 Markdown 插件一起工作。目前,添加 @mention 是可行的,但它只是通过 editor.getData() 作为 @mention 导出,并且使用 data = '@mention' 实例化编辑器不会导致包将此数据解析为编辑器中的提及.

理想情况下,我希望有一个转义的降价内联块,例如 {objectName[objectId]} 作为数据输入,然后将其作为 MentionAttribute 上传到模型。对于向下转换,需要找到这些 MentionAttributes 并将它们向下转换为正确的语法。

我不知道该怎么做,我是 CKEditor5 的新手,包的体系结构很复杂,很难添加自定义。我知道我可以创建向上转换和向下转换转换器,但我找不到任何用于匹配文本并将其插入到模型中的内容。

有谁知道我是怎么做到的?

我通过以下方式完成了这项工作:

  • 将编辑器用作受控组件
  • 在我们的 markdown 格式中实现提及的自定义语法
  • 将 Markdown 转换为模型层可解释的 HTML,包括 Mention 插件使用的提及语法,传递给编辑器包装器的数据属性
  • 在 onChange 事件中,将 HTML 转换回 markdown 传递给控制器​​