بونانزا زر الملحن

:warning: محرر النص المنسق (ذو الإطار الواحد، WYSIWYG) غير مكتمل ولا يدعم مكون السمة هذا بشكل صحيح بعد.

:information_source: ملخص يسمح Composer Button Bonanza لمسؤول الموقع بتعريف وإضافة أزرار ترميز جديدة إلى شريط أدوات Composer، ويوفر وفرة من الأزرار الجديدة في تكوينه الافتراضي.
:hammer_and_wrench: المستودع centertap/DiscourseComposerButtonBonanza - Codeberg.org
:eyes: اقرأني README.md
:spiral_notepad: ملاحظات الإصدار RELEASE-NOTES.md
:question: دليل التثبيت كيفية تثبيت مكون سمة أو سمة
:heart: الرعاية مقدم لكم من… CTAP
تم تطوير مكون السمة هذا بواسطة Center for Transparent Analysis and Policy، وهي منظمة غير ربحية 501(c)(3). إذا كان هذا المكون مفيدًا لموقعك، فكر في تقديم تبرع لدعم CTAP.

تثبيت Composer Button Bonanza

“إمكانيات Composer التي يمكنك تحمل تكلفتها!”

Composer Button Bonanza هو مكون سمة يوفر المزيد من أزرار الترميز لـ Composer.

مباشرةً من العلبة، يوفر مجموعة من الأزرار الجديدة، ومجموعة من الأزرار، ووفرة من الأزرار. التكوين الافتراضي يضيف ثلاثة أزرار جديدة إلى شريط الأدوات (هل يمكنك تحديدها؟ :smile:)، ويخفي الباقي خلف زر تبديل في القائمة المنبثقة :gear::

بعد النقر على زر التبديل، تصبح بقية الأزرار مرئية:

عبر إعدادات تكوين مكون السمة، يمكنك:

  • إضافة تعريفات أزرار جديدة (و/أو إزالة التعريفات المقدمة)؛
  • تحديد الأزرار التي سيتم عرضها ومتى يتم عرضها؛
  • تغيير ترتيب الأزرار، ووضع الأزرار في شريط الأدوات أو القائمة المنبثقة :gear: لشريط الأدوات؛
  • توفير ترجمات/تعريب للأزرار.

هذا المكون لا يحدد أي ترميز أو أنماط — إنه يضيف ببساطة أزرارًا ملائمة (إمكانيات!) لكتابة الترميز الحالي الذي يستدعي الأنماط الموجودة. الغرض الأساسي منه هو مساعدة المستخدمين لديك على اكتشاف واستخدام وظائف Composer. على سبيل المثال، المستخدمون الذين يستخدمون الكثير من الحواشي السفلية ربما سيقومون بكتابة ^[ و ] مباشرة على لوحة المفاتيح؛ لكن البقية منا سيكونون سعداء بوجود زر :asterisk: لتذكيرنا بما يجب فعله.

إحدى فوائد هذا النهج هي أنه إذا قررت إزالة مكون السمة هذا، فلن تزعج نمط أي مشاركات موجودة. هذا المكون غير مسؤول عن القيام بأي أنماط؛ إنه يوفر اختصارات للوظائف الموجودة بالفعل في Composer، و/أو التي توفرها المكونات الإضافية أو مكونات السمة الأخرى.

التكوين الافتراضي

يوفر التكوين الافتراضي تعريفات لمعظم (كل؟) الترميزات الإضافية
المتاحة في تثبيت Discourse افتراضي (مع تمكين جميع
المكونات الإضافية المضمنة، وعدم تثبيت مكونات إضافية إضافية):

  • أنماط النص:
    • تسطير، تخطي-الضربة
    • \u003csup\u003eنص علوي\u003c/sup\u003e و \u003csub\u003enص سفلي\u003c/sub\u003e
    • \u003cbig\u003enص كبير\u003c/big\u003e، \u003csmall\u003enص صغير\u003c/small\u003e
    • \u003ckbd\u003eنمط لوحة المفاتيح\u003c/kbd\u003e
  • التنسيق
    • \u003cbig\u003e\u003cb\u003eالعنوان 1\u003c/b\u003e\u003c/big\u003e، \u003cb\u003eالعنوان 2\u003c/b\u003e، \u003csmall\u003e\u003cb\u003eالعنوان 3\u003c/b\u003e\u003c/small\u003e
    • حاشية سفلية[1]
    • \u003cruby\u003enص روبي\u003crp\u003e(\u003c/rp\u003e\u003crt\u003e ルビー テキスト\u003c/rt\u003e\u003crp\u003e)\u003c/rp\u003e\u003c/ruby\u003e
    • صورة عبر رابط خارجي (\u003cimg\u003e)
    • قائمة التحقق
    • \u003cmark\u003enص مميز\u003c/mark\u003e، \u003cins\u003enص مُدرج\u003c/ins\u003e، \u003cdel\u003enص محذوف\u003c/del\u003e
  • الرموز
    • حقوق النشر ©، مسجل ®، علامة تجارية ™
    • يورو €، ين ¥
    • تعبير الوجه “هز الكتفين” (لأنه، لماذا لا؟ ¯\_(ツ)_/¯ )
  • وزر تبديل لإظهار/إخفاء معظم الأزرار المذكورة أعلاه

كما ذكرنا أعلاه، هذه مجرد الإعدادات الافتراضية. يمكن إعادة ترتيب أو إزالة كل هذه الأزرار، ويمكن إضافة أزرار جديدة.


  1. …مثل حاشية سفلية كهذه، على سبيل المثال. ↩︎

21 إعجابًا

هذا رائع، شكراً!

هل هناك طريقة لإضافة وسم ‘spoiler’ مباشرة في شريط الأدوات العلوي؟ إنه شيء نستخدمه كثيراً.

تعديل: لقد اكتشفت الأمر :smiley:

3 إعجابات

كيف تعمل الاختصارات؟

أود إنشاء اختصار لوحة مفاتيح لزر “الإعلان” الخاص بي، ولكن أليست معظم الاختصارات محجوزة بالفعل لأشياء أخرى؟

يقول المثال shift-4 ولكن هذا هو رمز $ بالنسبة لي…

إعجابَين (2)

نعم، مكون رائع جدًا. كنت أبحث عن الزر لعرض الأزرار الإضافية في شريط المُؤلف

أعتقد أن ميزة رائعة ستكون إضافة زر إلى شريط المُؤلف. ربما اختيارين.
عرض/إخفاء er أو قوائم شريط المُؤلف. بهذه الطريقة يمكنك تجميع الوظائف في شريط قابل للاختيار

مثال

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

(ضع في اعتبارك أن هذه المكونة تعرض ببساطة المعلمات/الخيارات الموجودة بالفعل في كود Discourse JS…)

بالنسبة للاختصارات، تحدد مفتاح الاختصار، بالإضافة إلى أي معدلات… ثم يقوم Discourse دائمًا بإضافة ctrl+ (أو cmd+ على أجهزة Apple؟). على سبيل المثال، السلسلة الحرفية “shift+4” (كمعلمة زر) تُترجم إلى ctrl+shift+4 (كمفاتيح اختصار).

:grimacing: لم أحاول إيجاد طريقة لـ إزالة الاختصارات - مرة أخرى، هذه المكونة إضافية فوق خط الأساس للأزرار المضمنة بالفعل في Composer. (أتمنى أن أتمكن من جعل ctrl+e ليس اختصارًا للنص المنسق، وأن يكون فقط “الانتقال إلى نهاية السطر” بدلاً من ذلك!)

3 إعجابات

يا إلهي هذا رائع

إعجابَين (2)

لدي مشكلة في هذا، أنا أستخدمه وأحبه ولكني أضفت زر “إعلان” وهو ينشئ علامات إعلان باستخدام DIV بدلاً من SPAN، لذلك فهي دائمًا ما تبدأ في سطر جديد عند استخدام محرر WYSIWYG.

هل هناك طريقة لتغيير هذا من فضلك؟

هل لا يزال هذا مدعومًا؟

لا يزال الخطأ يظهر مع العناصر المفسدة (spoilers) الموجودة في DIV وليس SPAN.

أعتقد أن هذا لم يعد مدعومًا؟

هل يمكن لأي شخص اقتراح كيفية إصلاح هذا، زر “الإعلان التشويقي” لا يعمل بشكل صحيح (انظر منشوري السابق)

سأبحث في هذا الأمر، ولكن أحتاج منك أن توضح تحديدًا كيف أضفت زر “الإفساد” هذا.

شكرًا لك!

إليك الإعداد الخاص بي:

Screenshot 2025-11-30 at 19.58.22

هناك المزيد في الأسفل. ولكن يتم إضافة الإفساد (spoiler) باستخدام:

spoiler,shift+x

في وضع تخفيض العلامات (Markdown mode) يعمل بشكل مثالي.
في وضع WYSIWYG، عندما تحدد شيئًا ما وتنقر على زر الإفساد (spoiler) بدلاً من أن يكون داخل SPAN، فإنه يذهب إلى داخل DIV ليصبح عنصر كتلة (block level element) في سطر خاص به.

شكرًا!

حرفياً قبل ساعة، أدركت للتو أن ComposerButtonBonanza (CBB) معطل في WYSIWYG-Composer. (أو ربما العكس هو الصحيح.) نحن لا نستخدم WYSIWYG في الموقع الذي أديره، لذلك لم ألاحظ أبدًا! لذا… تنهيدة.

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

هممم… بشكل مستقل عن CBB… إذا قمت بإدراج “مُفسد” (spoiler) في WYSIWYG-Composer، ثم نقرت خارج مربع المُفسد للتحرير في مكان آخر، فإنه يطمس نفسه بشكل دائم ولا يبدو أنني أستطيع تحرير نص المُفسد مرة أخرى… إلا إذا تحولت إلى وضع Markdown. هل فاتني شيء ما، أم أن هذا مجرد خطأ في وضع WYSIWYG؟

…أوه، لا تهتم! إذا قمت بالنقر ثلاث مرات (من الإحباط و/أو الملل) فيمكنني تحرير نص المُفسد مرة أخرى! (لست من محبي وضع WYSIWYG؛ هل ذكرت ذلك من قبل؟)

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

إذا تمكنت من إصلاح المفسدات (spoilers) بحيث لا تصبح على مستوى كتلة (block-level) فسأكون ممتنًا جدًا :folded_hands:

أضفت تحذيرًا في المنشور الأول بأنه غير متوافق مع محرر النص المنسق.

لم أختبر هذا ولكن يبدو لي أن هذا لا علاقة له بهذا المكون المحدد. أود أن أبدأ تقرير خطأ دعم جديد بخطوات إعادة الإنتاج.

لا يمكنني إعادة إنتاجه، ما هو المتصفح الذي تستخدمه؟

هذه المشكلة خاصة بالمكونة، إجراء “تمويه المُفسد” (Blur spoiler) الأصلي للـ core يستخدم تطبيقًا مختلفًا لا يقتصر فقط على إضافة كود bbcode [spoiler].

إعجابَين (2)

آه، ممتاز وشكراً لك على التحقق من الأمر. :+1:

أنا أستخدم فايرفوكس 140.5.0esr .

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

شكرًا على التقرير، يجب أن يكون تم الإصلاح الآن. (وآسف على الخروج عن الموضوع)

سأحاول كتابة مكون إضافي لتجاوز ما يفعله في وضع النص المنسق (Rich Text)، بحيث يستخدم تطبيق النواة.

إعجابَين (2)

تظهر مكونات السمة هذه حاليًا الأخطاء التالية: