||||\n-|-|-|\n:discourse2: | الملخص | يضيف عنصر نائب للمؤلف الدوار نصًا نائبًا ديناميكيًا ودوارًا إلى مُنشئ محتوى Discourse، ويعرض مطالبة مختلفة في كل مرة يتم فيها فتح المُنشئ.\n:hammer_and_wrench: | رابط المستودع | \u003chttps://github.com/Ethsim12/discourse-rotating-composer-placeholder\u003e\n:open_book: | جديد في سمات Discourse؟ | دليل المبتدئين لاستخدام سمات Discourse\n\n[wrap=theme-install-button repoUrl="https://github.com/Ethsim12/discourse-rotating-composer-placeholder/tree/main\" repoName="Rotating Composer Placeholder"]\nتثبيت مكون السمة هذا\n[/wrap]\n\n[quote]\nبما أن هذا مكون سمة غير رسمي تتم صيانته من قبلي، \nيمكن تقديم طلبات #support، #bug، #ux، و Feature في هذا الموضوع هنا على Meta.\n\n[/quote]\n\n—\n\n### الميزات\n\n- تدوير نص العنصر النائب للمؤلف في كل مرة يتم فيها فتح المُنشئ\n- يعمل من أجل:\n - الردود\n - مُنشئ الموضوع الجديد\n- قابل للتكوين بالكامل عبر إعدادات مكون السمة\n- لا يتطلب إضافة (plugin)\n- من جانب العميل فقط (آمن وخفيف الوزن)\n- يستخدم api-initializers الحديثة\n\n—\n\n## التثبيت\n\n1. في مسؤول Discourse، انتقل إلى: \n Admin → Appearance → Themes & components → Components → 3 dots (المسؤول ← المظهر ← السمات والمكونات ← المكونات ← النقاط الثلاث)\n\n2. انقر على Install (تثبيت).\n\n3. اختر From a git repository (من مستودع git).\n\n4. الصق رابط المستودع هذا وانقر على Install (تثبيت).\n\n—\n\n## تفعيل مكون السمة\n\nتثبيت مكون السمة لا يقوم بتفعيله تلقائيًا. \nيجب عليك إرفاقه بسمة ما.\n\n1. انتقل إلى: \n Admin → Appearance → Themes & components → Components → Rotating Composer Placeholder (المسؤول ← المظهر ← السمات والمكونات ← المكونات ← عنصر نائب للمؤلف الدوار)\n\n2. انقر على السمة النشطة لديك \n (على سبيل المثال: “Default”، “Desktop”، أو السمة المخصصة الخاصة بك).\n\n3. اضغط على مربع علامة الصح الأخضر.\n\n4. قم بتحديث المتصفح.\n\nبمجرد التفعيل، سيتم تطبيق المكون فورًا على تلك السمة.\n\n—\n\n## تكوين المكون\n\n1. لا يزال ضمن صفحة مكون السمة.\n\n2. قم بتحرير القائمة rotating_placeholders.\n\nقيم مثال:\n\n- What did you try? Include steps to reproduce. (ماذا جربت؟ قم بتضمين خطوات لإعادة الإنتاج.)\n- One idea per reply. If it’s a new issue, start a new topic. (فكرة واحدة لكل رد. إذا كانت مشكلة جديدة، ابدأ موضوعًا جديدًا.)\n- Please include: expected result, actual result, and any errors. (يرجى تضمين: النتيجة المتوقعة، النتيجة الفعلية، وأي أخطاء.)\n- Tip: paste logs inside ```triple backticks```. (نصيحة: الصق السجلات داخل ثلاثة علامات اقتباس خلفية.)\n\nملاحظات:\n\n- كل إدخال في القائمة يصبح عنصرًا نائبًا محتملاً.\n- يتم تجاهل الإدخالات الفارغة.\n- إذا كانت القائمة فارغة، يتم استخدام عنصر نائب افتراضي.\n\n—\n\n### القيود المعروفة\n\n- تحسين واجهة المستخدم فقط\n- لا يؤثر على محتوى المنشور\n- يدور العنصر النائب عند فتح المُنشئ\n- قد تتطلب التعديلات المستقبلية على المُنشئ تحديثات محددة بسيطة للمحددات\n\n—\n\n### التوافق\n\n- مصمم لإصدارات Discourse الحديثة\n- الحد الأدنى الموصى به: Discourse 3.2+\n- يستخدم واجهات برمجة تطبيقات السمات المدعومة فقط\n\n\u003cbr\u003e\n\n\u003e:discourse2: مستضاف على discourse.org؟ \nمكونات السمة متاحة في خطط Discourse Standard، Business، و Enterprise.\n\n-------------------------"
هل يمكنك مشاركة أمثلة لحالات الاستخدام؟
أعتقد أن الأمثلة تقوم بعمل جيد في توضيح حالة الاستخدام. هناك الكثير من الأشياء التي يجب مراعاتها عند صياغة رسالة. إذا وضعت واحدة فقط، فسيتم تجاهلها قريبًا. إذا وضعت كل تلك الأشياء، فلن يقرأها أحد. إن وجود واحدة مختلفة في كل مرة يزيد من احتمالية أن يقرأها شخص ما ويأخذها في الاعتبار.
يمكنك أيضًا وضع بيض عيد الفصح المضحك.
أوه، صحيح، لم أرَ الأمثلة حتى.

شكرًا لك! إحدى الميزات الإضافية الرائعة التي وجدتها هي أن المكون يعمل بسلاسة مع محرر النصوص المنسقة أيضًا - يستمر العنصر النائب في الدوران بشكل صحيح هناك أيضًا.
نظرًا لأنه يتصل بدورة حياة المحرر بدلاً من التفاصيل الداخلية الخاصة بالمحرر، فإنه لا يعتمد على محددات Markdown فقط، مما يساعد في الحفاظ على توافقه عبر أوضاع المحرر.
إذا أعاد Discourse هيكلة المحرر مرة أخرى في المستقبل، فمن المؤمل أن يحافظ هذا على مساحة السطح للتعطيل صغيرة إلى حد ما.
أريد في الواقع استخدام هذا لجعلها كلها مضحكة في أحد منتدياتي…
“ما الخطأ الذي ترتكبه؟ ألا تستطيع القراءة؟؟؟”
“ما الفرق بين شخص لا يبحث قبل النشر وشخص كسول؟”
“إذا كنت تبلغ عن خطأ، يرجى التأكد أولاً من أنه ليس عنكبوتًا.”
“ما هي سرعة طيران السنونو غير المحمل؟”
على الرحب والسعة! ![]()
العناصر النائبة الخاصة بالفئة هي فكرة جميلة حقًا - يمكنني أن أرى أنها مفيدة بشكل خاص لفئتي “الدعم / الأخطاء” مقابل “الدردشة العامة”، حيث تكون المطالبات التي تريد أن يراها المستخدمون مختلفة تمامًا.
من ناحية التنفيذ، يوفر سياق المؤلف عادةً إشارة كافية للقيام بذلك بسلاسة:
- موضوع جديد: اعتمد على
categoryIdالمحددة في نموذج المؤلف - الرد: اشتق الفئة من سياق الموضوع
لذا، يمكن أن يبدو الإصدار الأول المحتمل كما يلي:
- إعداد سمة يعيّن
category_id← قائمة العناصر النائبة - الرجوع إلى
rotating_placeholdersالعام إذا لم يتم العثور على تطابق للفئة
إذا تذكرت المكون الحالي الذي تفكر فيه، سأكون سعيدًا برابط - وإلا، يسعدني إضافته هنا كطلب ميزة وقياس الاهتمام (وتجنب تكرار العمل إذا كان موجودًا بالفعل).
أيضًا - قائمة “الكل مضحك” الخاصة بك هي بالضبط نوع الخير الفوضوي الذي كنت أفكر فيه ![]()
(ربما ما زلت أخلط بعض العناصر الجادة، حتى يتسلل تذكير مفيد من حين لآخر!)
يوجد https://meta.discourse.org/t/topic-template-placeholder-text-theme-component/149053 حيث يمكنك استخدام قالب الفئة كنص نائب.
شكرًا! هذا رابط مفيد حقًا.
هذا المكون (“نص العنصر النائب لقالب الموضوع”) يختلف قليلاً عما يفعله هذا المكون: فهو يستخدم قالب موضوع الفئة كعنصر نائب (لذا فإن العنصر النائب خاص بالفئة، ولكنه في الأساس محتوى القالب).
يقوم مكون السمة هذا بتدوير قائمة من المطالبات القصيرة في كل مرة يتم فيها فتح المؤلف (وينطبق على الردود بالإضافة إلى المواضيع الجديدة). لذا، يمكن أن تكون “العناصر النائبة الخاصة بالفئة” إضافة مفيدة هنا إذا أردنا قوائم دوارة خاصة بكل فئة مع الرجوع إلى القائمة العامة - خاصة بالنسبة لـ “الدعم/الأخطاء” مقابل “الدردشة العامة”.
ولكن إذا كان هدف شخص ما هو تحديدًا “إظهار قالب الفئة الخاص بي كعنصر نائب”، فإن مكون السمة الآخر يحل المشكلة بشكل جيد.