Bisher haben wir diese technischen Prototypen:
1- https://wordpress.github.io/gutenberg/tinymce-per-block/
2- https://wordpress.github.io/gutenberg/tinymce-single/ (Single TinyMCE, unkontrolliert, keine Grammatik, HTML-Parsing)
tinymce.getContent
aufrufen(Fühlen Sie sich frei, hier einen anderen technischen Prototyp hinzuzufügen)
Ich erstelle dieses Thema, damit wir die Vor- und Nachteile jedes Ansatzes vergleichen können, um uns bei der Entscheidung zu helfen, welchen Ansatz wir implementieren möchten.
Hier sind meine Gefühle zu diesen beiden Prototypen:
Vorteile:
Nachteile:
Vorteile:
Nachteile
Basierend auf diesem experimentellen Prototyp https://github.com/WordPress/gutenberg/pull/113 habe ich versucht, an einem gemischten Ansatz zu arbeiten, bei dem wir TinyMCE als Wrapper verwenden, aber seinen Inhalt basierend auf Zustandsänderungen neu rendern. Nach einiger Erkundung fühlt sich dieser Ansatz wie der Versuch an, DraftJS oder ProseMirror neu zu erstellen. Und ich glaube nicht, dass es der richtige Weg ist, TinyMCE zu verwenden.
Vielen Dank für die Erstellung dieses Tickets.
Beim Vergleich sollten wir auch an #3 denken, da dies davon abhängig zu sein scheint, welchen Ansatz wir wählen.
Ich denke, Prototype 2 ist der richtige Weg, auch wenn es mühsamer sein könnte, weil es viel mehr TinyMCE-Arbeit beinhalten wird, letztendlich wäre es wahrscheinlich der beste Ansatz für den Moment.
Ist es schwieriger, die Blöcke außerhalb des Editors wiederzuverwenden?
Ich denke, das wäre kein Nachteil für Prototype 2, solange die API zum Definieren von Blocktypen und Kontrolltypen genügend Daten bereitstellt, um etwas anderes als TinyMCE zu verwenden. Ich denke, wir sollten eine API zur Definition von Blocktyp/Steuerungstyp entwickeln, die verwendet wird, um eine hochgradig benutzerdefinierte TinyMCE-Instanz zu füttern. Daten vom Blocktyp/Kontrolltyp könnten auch verwendet werden, um in Zukunft möglicherweise etwas anderes zu füttern.
So sehr es wahrscheinlich nicht schmackhaft ist, Prototype 2 spiegelt das meiste wider, wie WordPress bereits funktioniert und TinyMCE macht viel, was es für mich zu einem sehr vernünftigen Weg nach vorne macht.
Hilfreichster Kommentar
Hier sind meine Gefühle zu diesen beiden Prototypen:
Prototyp 1:
Vorteile:
Nachteile:
Prototyp 2:
Vorteile:
Nachteile
Basierend auf diesem experimentellen Prototyp https://github.com/WordPress/gutenberg/pull/113 habe ich versucht, an einem gemischten Ansatz zu arbeiten, bei dem wir TinyMCE als Wrapper verwenden, aber seinen Inhalt basierend auf Zustandsänderungen neu rendern. Nach einiger Erkundung fühlt sich dieser Ansatz wie der Versuch an, DraftJS oder ProseMirror neu zu erstellen. Und ich glaube nicht, dass es der richtige Weg ist, TinyMCE zu verwenden.