ملف إضافي أو مكون قالب لتعديل محرر المنشورات؟

بصراحة، لا أعرف أين أنشر هذا، لذا لا تتردد في نقله إذا لم يكن هذا التصنيف مناسبًا.

في الآونة الأخيرة، اهتممت بتحسين تجربة المستخدم في Discourse عند إضافة وسوم ruby للنص في محرر المنشورات. لمن لا يعرف، يمكن استخدام هذا الوسم عند كتابة النصوص اليابانية لإظهار “طريقة النطق” مع النص، مثل تحويل 日本語 إلى ほん. ومع ذلك، فإن الكثير من الناس، حتى في مجتمع تعلم اللغة اليابانية لدينا، لا يدركون وجود هذا الوسم أو لا يهتمون باستخدامه لأن كتابته يدويًا للجمل الطويلة أو العبارات الممتدة قد يكون أمرًا شاقًا. (كان مثال الكلمة الواحدة أعلاه مُنشأً من <ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>.)

ولهذا السبب، أود إضافة خيار في قائمة محرر المنشورات يعمل بطريقة مشابهة جدًا لخيار الوصلة التشعبية. سيكون له مدخلان أيضًا، لكنهما سيُستخدمان لفصل النص الأساسي عن طريقة النطق بدلًا من اسم الوصلة وعنوان URL. لن يتفاعل هذا مع الخادم على الإطلاق لأنه سيقوم فقط بإدراج HTML عادي (مدعوم من Discourse) في المحرر. من المرجح أنني سأقوم ببعض تحليل النص للسماح للمستخدمين بكتابة سلاسل نصية طويلة وإضافة وسوم ruby دفعة واحدة، بدلًا من الاضطرار إلى ذلك حرفًا بحرف.

إذن، السؤال هو: هل يُفضل تنفيذ ذلك كمكون سمة (theme component)، أو كإضافة (plugin)، أم شيء آخر تمامًا؟ أيضًا، هل توجد طريقة للقيام بذلك دون القلق من أن يتعطل المكون/الإضافة/أو أي شيء آخر عند تغيير النواة الأساسية لـ Discourse لبعض جوانب المحرر؟ أنا متأكد تقريبًا أن تثبيت Discourse الذي أريد إضافة هذه الميزة إليه مستضاف بواسطة Discourse نفسه، لذا يجب أن يكون متوافقًا مع هذا النوع من التثبيت. لا يزال عليّ التحقق مع مسؤولي ذلك الموقع، لكنني لا أعتقد أن لدي أي مشكلة في إقناعهم بتثبيته بمجرد استعداده (وبطبيعة الحال، سأتحقق معهم أولًا بعد الحصول على النصيحة من هنا).

أي مساعدة أو نصيحة ستكون موضع تقدير!

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

راجع Composer Help Button (والذي هو حاليًا إضافة، لكن يمكن تحويله بسهولة إلى مكون سمة)

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

نعم، يمكن للمسؤولين تثبيت مكونات السمات على موقع مستضاف. يمكن العثور على توثيق عام للسمات هنا.

إليك مثال على أحد مكونات السمة الذي يضيف زر شريط أدوات إلى المحرر:

https://github.com/discourse/DiscoTOC/blob/master/common/header.html#L373-L393