مكون موسيقي متدوير

:discourse2: ملخص يُضيف مكون “Rotating Composer Placeholder” نص نائبا ديناميكيا متناوبا إلى محرر Discourse، بحيث يعرض مطالبة مختلفة في كل مرة يتم فيها فتح المحرر.
:hammer_and_wrench: رابط المستودع https://github.com/Ethsim12/discourse-rotating-composer-placeholder
:open_book: جديد في مواضيع Discourse؟ دليل المبتدئين لاستخدام مواضيع Discourse

تثبيت مكون هذا الموضوع

الميزات

  • يُبدّل نص النائم في المحرر في كل مرة يُفتح فيها المحرر
  • يعمل لـ:
    • الردود
    • محرر الموضوع الجديد
  • قابل للتكوين بالكامل عبر إعدادات مكون الموضوع
  • لا يتطلب أي إضافة
  • يعمل فقط على جانب العميل (آمن وخفيف الوزن)
  • يستخدم api-initializers الحديثة

التثبيت

  1. في لوحة إدارة Discourse، انتقل إلى:
    الإدارة → المظهر → المواضيع والمكونات → المكونات → النقاط الثلاث (3 dots)

  2. انقر على تثبيت.

  3. اختر من مستودع Git.

  4. الصق عنوان URL للمستودع هذا ثم انقر على تثبيت.

تفعيل مكون الموضوع

تثبيت مكون الموضوع لا يُفعّله تلقائيا.
يجب ربطه بموضوع.

  1. انتقل إلى:
    الإدارة → المظهر → المواضيع والمكونات → المكونات → Rotating Composer Placeholder

  2. انقر على الموضوع النشط
    (على سبيل المثال: «الافتراضي»، «سطح المكتب»، أو موضوعك المخصص).

  3. اضغط على علامة الصح الخضراء.

  4. حدّث متصفحك.

بمجرد التفعيل، سيتم تطبيق المكون فورًا على ذلك الموضوع.

تكوين المكون

  1. ابقَ داخل صفحة مكون الموضوع.

  2. حرّر قائمة rotating_placeholders.

أمثلة للقيم:

  • «ما الذي جربته؟ يتضمن خطوات إعادة إنتاج المشكلة.»
  • «فكرة واحدة لكل رد. إذا كانت مشكلة جديدة، ابدأ موضوعًا جديدًا.»
  • «يرجى تضمين: النتيجة المتوقعة، النتيجة الفعلية، وأي أخطاء.»
  • «نصيحة: الصق السجلات داخل ثلاث علامات اقتباس خلفية.`

ملاحظات:

  • يصبح كل عنصر في القائمة نائما محتملًا.
  • تُتجاهل العناصر الفارغة.
  • إذا كانت القائمة فارغة، يُستخدم نص نائم افتراضي.

قيود معروفة

  • تحسين واجهة المستخدم فقط
  • لا يؤثر على محتوى المنشور
  • يتبدّل النص النائم عند فتح المحرر
  • قد تتطلب إعادة هيكلة المحرر في المستقبل تحديثات طفيفة للمحددات

التوافق

  • مُصمم لإصدارات Discourse الحديثة
  • الحد الأدنى الموصى به: Discourse 3.2 أو أعلى
  • يستخدم فقط واجهات برمجة التطبيقات المدعومة للمواضيع
4 إعجابات

هل يمكنك مشاركة أمثلة لحالات الاستخدام؟

إعجاب واحد (1)

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

يمكنك أيضًا وضع بيض عيد الفصح المضحك.

4 إعجابات

أوه، صحيح، لم أرَ الأمثلة حتى.

Game of Thrones: The Walk of Shame

3 إعجابات

شكرًا لك! إحدى الميزات الإضافية الرائعة التي وجدتها هي أن المكون يعمل بسلاسة مع محرر النصوص المنسقة أيضًا - يستمر العنصر النائب في الدوران بشكل صحيح هناك أيضًا.

نظرًا لأنه يتصل بدورة حياة المحرر بدلاً من التفاصيل الداخلية الخاصة بالمحرر، فإنه لا يعتمد على محددات Markdown فقط، مما يساعد في الحفاظ على توافقه عبر أوضاع المحرر.

إذا أعاد Discourse هيكلة المحرر مرة أخرى في المستقبل، فمن المؤمل أن يحافظ هذا على مساحة السطح للتعطيل صغيرة إلى حد ما.

إعجاب واحد (1)

أريد في الواقع استخدام هذا لجعلها كلها مضحكة في أحد منتدياتي…

“ما الخطأ الذي ترتكبه؟ ألا تستطيع القراءة؟؟؟”
“ما الفرق بين شخص لا يبحث قبل النشر وشخص كسول؟”
“إذا كنت تبلغ عن خطأ، يرجى التأكد أولاً من أنه ليس عنكبوتًا.”
“ما هي سرعة طيران السنونو غير المحمل؟”

5 إعجابات

على الرحب والسعة! :slightly_smiling_face:

العناصر النائبة الخاصة بالفئة هي فكرة جميلة حقًا - يمكنني أن أرى أنها مفيدة بشكل خاص لفئتي “الدعم / الأخطاء” مقابل “الدردشة العامة”، حيث تكون المطالبات التي تريد أن يراها المستخدمون مختلفة تمامًا.

من ناحية التنفيذ، يوفر سياق المؤلف عادةً إشارة كافية للقيام بذلك بسلاسة:

  • موضوع جديد: اعتمد على categoryId المحددة في نموذج المؤلف
  • الرد: اشتق الفئة من سياق الموضوع

لذا، يمكن أن يبدو الإصدار الأول المحتمل كما يلي:

  • إعداد سمة يعيّن category_id ← قائمة العناصر النائبة
  • الرجوع إلى rotating_placeholders العام إذا لم يتم العثور على تطابق للفئة

إذا تذكرت المكون الحالي الذي تفكر فيه، سأكون سعيدًا برابط - وإلا، يسعدني إضافته هنا كطلب ميزة وقياس الاهتمام (وتجنب تكرار العمل إذا كان موجودًا بالفعل).

أيضًا - قائمة “الكل مضحك” الخاصة بك هي بالضبط نوع الخير الفوضوي الذي كنت أفكر فيه :joy:

(ربما ما زلت أخلط بعض العناصر الجادة، حتى يتسلل تذكير مفيد من حين لآخر!)

يوجد https://meta.discourse.org/t/topic-template-placeholder-text-theme-component/149053 حيث يمكنك استخدام قالب الفئة كنص نائب.

إعجابَين (2)

شكرًا! هذا رابط مفيد حقًا.

هذا المكون (“نص العنصر النائب لقالب الموضوع”) يختلف قليلاً عما يفعله هذا المكون: فهو يستخدم قالب موضوع الفئة كعنصر نائب (لذا فإن العنصر النائب خاص بالفئة، ولكنه في الأساس محتوى القالب).

يقوم مكون السمة هذا بتدوير قائمة من المطالبات القصيرة في كل مرة يتم فيها فتح المؤلف (وينطبق على الردود بالإضافة إلى المواضيع الجديدة). لذا، يمكن أن تكون “العناصر النائبة الخاصة بالفئة” إضافة مفيدة هنا إذا أردنا قوائم دوارة خاصة بكل فئة مع الرجوع إلى القائمة العامة - خاصة بالنسبة لـ “الدعم/الأخطاء” مقابل “الدردشة العامة”.

ولكن إذا كان هدف شخص ما هو تحديدًا “إظهار قالب الفئة الخاص بي كعنصر نائب”، فإن مكون السمة الآخر يحل المشكلة بشكل جيد.