(لدى meta العديد من السمات، ولكن لحسن الحظ، بفضل @kris.kotlarek، لدينا زر “إضافة إلى جميع السمات”… يجب أن نرتب التقدم هناك، لأن الأمر يستغرق بعض الوقت حتى يعمل سحره)
لم أتعامل أبدًا مع وسوم BB، ولا قمت بترميز FontAwesome يدويًا، لذا بدا لي دائمًا غريبًا استخدام زوج وسوم فارغ. هل هذا باتباع العرف الشائع، أم هناك سبب تقني لاستخدام أزواج الوسوم؟ أيضًا، هل يمكن أن يكون هناك محتوى بينها، وهل يؤثر ذلك على النص؟
أولاً، عندما قمت بكتابة ميزة BBCode للالتفاف، طلب @sam مني صراحةً دعم 3 تنسيقات:
[wrap=foo][/wrap]
[wrap=foo]bar[/wrap]
[wrap=foo]
bar
[/wrap]
تم ذلك لضمان الاتساق مع استخدامنا الحالي لـ BBCode في Discourse.
كان بإمكاني استخدام صيغة أفضل مثل: [icon=times]، لكن في هذه الحالة سيكون الأمر يتطلب إضافة (plugin) وليس مكونًا للسمة (theme component).
كم experiment، أعتقد أن الوضع الحالي مقبول، وإذا بدأ الناس في استخدامه بكثرة، يمكننا التفكير في إنشاء إضافة تقوم بذلك باستخدام صيغة أكثر إيجازًا.
فكرة أخرى خطرت ببالي هي إضافة واجهة برمجة تطبيقات (API) لإضافة رموز الإكمال التلقائي في المحرر، تمامًا كما نفعل مع المستخدمين/التصنيفات/الرموز التعبيرية… لكنني أخشى أن يكون ذلك كابوسًا إذا اختارت مكونات متعددة رموزها الخاصة…
أوه! أحتاج إلى إضافة دعم لرمز BBCode آخر، وقد ظننت أنني سأستخدم هذا كنقطة انطلاق، لكنك تقول إن معالجة عناصر التغليف تتم في النواة الأساسية، وهو ما يفسر سبب عدم قدرتي على معرفة كيفية معالجتها من قِبل مكون المظهر الخاص بك.
حلّي الحالي هو استخدام مكون الكلمات المرتبطة واستخدام تعبير نمطي غير أنيق، لكنني ما زلت أواجه صعوبة في إضافة الفئات اللازمة إلى الروابط.
حسنًا، لقد راجعته أكثر من مرة. وطبّقت كود المكوّن الخاص بك وشرعت في دراسته لساعات، محاولًا فهم ما إذا كان الأمر يتعلق بعدم فهمي لـ JavaScript أم لـ Ember. هل لا يمكنني إضافة وسم [foo] دون إضافة ملحق؟ أم يمكنني بطريقة ما استبدال wrap في كودك بـ foo لتغطية كود BBCode الجديد الخاص بي؟
لا، لا يمكنك ذلك. لأن جزءًا منه يتم على جانب الخادم. إذا كنت تريد كود BBCode مخصصًا خاصًا بك، فستحتاج إلى كتابة إضافة والنظر في كيفية تنفيذ wrap على سبيل المثال:
شكرًا لك! بدأ الأمر يكتسب معنى. لم أواجه كل هذا الصعوبة في تعلم لغة جديدة منذ C++ و Objective Pascal في عام 1990.
إن اختراقي الحالي باستخدام التعبيرات النمطية يعمل تقريبًا. سأحتاج إلى اتخاذ قرار بشأن اتباع مسار الإضافات أو الالتزام باختراقي (مع معرفة كيفية إضافة الفئات).
على الأقل، فهمت الآن لماذا لا يمكنني العثور على ذلك الـ wrap في مكون السمة!
إذا استخدمت غلاف أيقونة ثم قمت بتمييز الاقتباس، فإن الصورة الناتجة تتضخم بشكل كبير:
استخدم غلاف أيقونة في جملة في منشور. مثال: This is an icon [wrap=icon id=far-check-square][/wrap]
قم بتمييز النص ذي الصلة و"اقتبس".
الأيقونة تصبح كبيرة جداً في المقتطف المقتبس.
هذا ما تبدو عليه الصيغة عند اقتباسها:
[quote="JammyDodger, post:1, topic:294, full:true"]
This is an icon 
[/quote]
This is a reply where it gets massive
على الرغم من أن اقتباسها باستخدام فقاعة الكلام في شريط التنسيق يعمل بشكل جيد.
هل يمكنك تقديم مثال؟ تعرض لقطة الشاشة الخاصة بك علامة اختيار محددة ولا توجد لدي مشكلة في تحديدها في نسختي التجريبية (بالإضافة إلى أيقونات أخرى ربما لا يستخدمها Discourse مثل x-ray).
أرى المشكلة. يبحث المكون من خلال النظر فيما إذا كان هناك غلاف بفئة d-wrap؛ ولكن لا يوجد غلاف إذا لم يكن الرمز المقدم من المجموعة الفرعية. يقوم بإنشاء صورة كـ SVG بدلاً من ذلك.
هل هذا يعني أنني بحاجة إلى حقل svg_icons في settings.yml متاح في السمة الخاصة بي؟ أم يمكنني استخدام أي حقل svg_icons متاح من أي مكون سمة ممكّن أيضًا؟ وإذا كان الأمر كذلك، فهل سيكون إضافة هذا الحقل إلى مكون السمة هذا منطقيًا؟