富文本编辑器功能建议:斜杠命令(类似 Notion)

这可能只是我一时糊涂,但它可能很有用,因为它已成为许多应用程序(如 Notion)的用户体验/用户界面标准。

是否可以添加一个“/”命令功能,当用户在新/空行上时,会弹出一个上下文菜单,提供创建特定元素(如图像、链接、GIF、投票等)的选项?

如果插件和主题组件能够“访问”这一点,那就太好了。

有什么想法吗?这有意义吗?

2 个赞

我相信这已经在我们的关注之中,但我们收到的社区请求越多越好!

2 个赞

这可以通过 TC/插件或直接的 PR/代码库更改来实现吗?因为查看 这个,它似乎不容易使用 TC/插件进行修改,因为它还需要一个 lib/ 文件?

1 个赞

我绝对不是该问的人,但我怀疑任何与 Composer 相关的东西是否能轻易地通过 TC 实现,或者根本不可能。我把这个问题交给我们的内部专家 @renato :slight_smile:

2 个赞

富文本编辑器组合器可以通过注册的扩展进行高度自定义,这些扩展遵循 RichEditorExtension 类型。每个自定义的 ProseMirror 节点/标记/插件等都通过 registerRichEditorExtension 调用进行处理。

如果为富文本编辑器创建一个斜杠命令功能,那将是可行的方法,尽管在我看来,我们已经有了非常接近我们想要的斜杠命令的自动完成实现,并且它还能轻松支持 Markdown 模式,这一点非常吸引人。

自动完成功能旨在同时适用于两种编辑器,而不仅仅是富文本编辑器,它位于富文本编辑器特定自定义的上方。表情符号、提及和标签在两种编辑器模式下工作方式相同。

它们在 setupEditor 中应用,并在该编辑器实例销毁时(例如在模式之间切换时)一并销毁:

是的,可以通过主题组件或插件来构建此功能(尽管目前通过 setupEditor/析构函数可能会有些棘手),但这方面我们理想情况下应该允许进一步的自定义——新的主题组件或插件应该能够为斜杠命令添加更多选项,并具有其特定的过滤规则——因此,核心提供的插件 API 是理想的选择。

1 个赞