عرض أزرار الملحنين

:warning: تعمل هذه المكونة فقط مع محرر ماركداون (markdown). غير متوافقة مع محرر النص الغني (richtext).

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

تثبيت Composer Button Bonanza

“إمكانيات المُنشئ التي يمكنك تحمل تكلفتها!”

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

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

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

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

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

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

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

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

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

  • أنماط النص:
    • تسطير، شطب
    • \u003csup\u003eنص علوي\u003c/sup\u003e و \u003csub\u003enص سفلي\u003c/sub\u003e
    • \u003cbig\u003enص كبير\u003c/big\u003e، \u003csmall\u003enص صغير\u003c/small\u003e
    • \u003ckbd\u003enمط زر لوحة المفاتيح\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. …مثل حاشية سفلية كهذه، على سبيل المثال. ↩︎

19 إعجابًا

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

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

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

3 إعجابات

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

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

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

إعجابَين (2)

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

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

مثال

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

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

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

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

إعجابَين (2)

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

إعجابَين (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)

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