Gutenberg: قارن الأساليب الفنية المختلفة

تم إنشاؤها على ٢٣ فبراير ٢٠١٧  ·  3تعليقات  ·  مصدر: WordPress/gutenberg

حتى الآن ، لدينا هذه النماذج الأولية التقنية:

1- https://wordpress.github.io/gutenberg/tinymce-per-block/

  • متعدد TinyMCE
  • خاضع للرقابة (حالة -> تقديم -> حدث -> حالة -> إعادة عرض)
  • يتم تمثيل الدولة ككائن
  • باستخدام القواعد

2- https://wordpress.github.io/gutenberg/tinymce-single/ (Single TinyMCE، unontrolled، no grammar، HTML parsing)

  • TinyMCE عالمي واحد
  • غير متحكم فيه (حالة -> تصيير -> حدث -> حالة جديدة)
  • الحالة عبارة عن سلسلة بسيطة تحتوي على HTML بالكامل
  • عدم استخدام القواعد النحوية داخل المحرر ولكن قد نتمكن من إضافة التعليقات النحوية أثناء استدعاء tinymce.getContent

(لا تتردد في إضافة أي نموذج أولي تقني آخر هنا)

أنا أقوم بإنشاء هذه المشكلة حتى نتمكن من مقارنة إيجابيات / سلبيات كل نهج لمساعدتنا في تحديد النهج الذي نختار تنفيذه.

[Type] Question

التعليق الأكثر فائدة

إليكم مشاعري حول هذين النموذجين:

النموذج الأولي 1:

الايجابيات:

  • يبدو أنه من الأسهل استخدام الكتل خارج سياق المحرر
  • لدي تفضيل شخصي على امتلاك الدولة ككائن ، يبدو أن التلاعب الخارجي بالحالة (الإجراءات غير المضمنة في TinyMCE) أسهل في التحقيق.

سلبيات:

  • يبدو أن الاختيار متعدد الكتل مستحيل التحقيق. Ctrl + A لكل كتلة.

النموذج الأولي 2:

الايجابيات:

  • اختيار متعدد القوالب
  • أسهل لتحقيق شعور واجهة المستخدم بالنص الكامل

سلبيات

بناءً على هذا النموذج الأولي التجريبي https://github.com/WordPress/gutenberg/pull/113 حاولت العمل على نهج مختلط حيث نستخدم TinyMCE كغلاف ولكن نعيد عرض محتواه بناءً على تغييرات الحالة. بعد بعض الاستكشاف ، يبدو هذا النهج وكأنه محاولة إعادة إنشاء DraftJS أو ProseMirror. ولا أعتقد أنها الطريقة الصحيحة لاستخدام TinyMCE.

ال 3 كومينتر

إليكم مشاعري حول هذين النموذجين:

النموذج الأولي 1:

الايجابيات:

  • يبدو أنه من الأسهل استخدام الكتل خارج سياق المحرر
  • لدي تفضيل شخصي على امتلاك الدولة ككائن ، يبدو أن التلاعب الخارجي بالحالة (الإجراءات غير المضمنة في TinyMCE) أسهل في التحقيق.

سلبيات:

  • يبدو أن الاختيار متعدد الكتل مستحيل التحقيق. Ctrl + A لكل كتلة.

النموذج الأولي 2:

الايجابيات:

  • اختيار متعدد القوالب
  • أسهل لتحقيق شعور واجهة المستخدم بالنص الكامل

سلبيات

بناءً على هذا النموذج الأولي التجريبي https://github.com/WordPress/gutenberg/pull/113 حاولت العمل على نهج مختلط حيث نستخدم TinyMCE كغلاف ولكن نعيد عرض محتواه بناءً على تغييرات الحالة. بعد بعض الاستكشاف ، يبدو هذا النهج وكأنه محاولة إعادة إنشاء DraftJS أو ProseMirror. ولا أعتقد أنها الطريقة الصحيحة لاستخدام TinyMCE.

شكرا لإنشاء هذه التذكرة.

كما نقارن ، يجب أن نفكر أيضًا في # 3 ، حيث يبدو أن ذلك يعتمد على النهج الذي نختاره.

أعتقد أن Prototype 2 هو الطريق الذي يجب اتباعه ، على الرغم من أنه قد يكون أكثر صعوبة لأنه سيتضمن الكثير من أعمال TinyMCE ، فقد يكون في النهاية أفضل نهج للمضي قدمًا في الوقت الحالي.

من الصعب إعادة استخدام الكتل خارج المحرر؟

أعتقد أن هذا لن يكون خداعًا لـ Prototype 2 ، طالما أن واجهة برمجة التطبيقات لتحديد أنواع الكتل وأنواع التحكم توفر بيانات كافية لشيء آخر غير TinyMCE لاستخدامها. أعتقد أنه يجب علينا تطوير واجهة برمجة تطبيقات تحدد نوع الكتلة / نوع التحكم والتي سيتم استخدامها لتغذية مثيل TinyMCE مخصص للغاية. يمكن أيضًا استخدام البيانات من نوع الكتلة / نوع التحكم لتغذية شيء آخر محتمل في المستقبل.

بقدر ما هو غير مستساغ على الأرجح ، يعكس Prototype 2 معظم كيفية عمل WordPress بالفعل ويقوم TinyMCE بالكثير ، مما يجعله مسارًا معقولاً للغاية للمضي قدمًا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات