Funktionsvorschlag für Rich Text Editor: `/` Slash Command (a la Notion)

Der Rich-Editor-Composer ist über registrierte Erweiterungen sehr anpassbar, was dem RichEditorExtension Typ folgt. Jeder benutzerdefinierte ProseMirror-Knoten/Mark/Plugin/etc. durchläuft einen registerRichEditorExtension-Aufruf.

Wenn eine Slash-Command-Funktion nur für den Rich-Editor erstellt werden sollte, wäre dies der richtige Weg, obwohl meiner Meinung nach unsere Autocomplete-Implementierung bereits sehr ähnlich zu dem ist, was wir für einen Slash-Command wollen, und die Tatsache, dass auch der Markdown-Modus einfach unterstützt werden könnte, ist sehr interessant.

Autocompletes, die eine Funktion sind, die in beiden Editoren funktionieren soll, nicht nur im Rich-Editor, leben oberhalb der Rich-Editor-spezifischen Anpassungen. Emojis, Erwähnungen und Hashtags funktionieren in beiden Editor-Modi auf die gleiche Weise.

Sie werden in setupEditor angewendet und zerstört, wenn diese Editor-Instanz ebenfalls zerstört wird (z. B. beim Umschalten zwischen Modi):

Ja, es ist möglich, dies über eine Theme-Komponente oder ein Plugin zu erstellen (obwohl die Durchlaufung von setupEditor/Destruktor derzeit umständlich sein kann), aber dies ist ein Bereich, in dem wir idealerweise weitere Anpassungen zulassen sollten – neue Theme-Komponenten oder Plugins sollten in der Lage sein, weitere Optionen für den Slash-Command mit ihren spezifischen Filterregeln hinzuzufügen –, sodass eine von der Core bereitgestellte Plugin-API ideal ist.

1 „Gefällt mir“