أود اقتراح محدد بيانات للسمات (themes) لتسهيل تعديل السمات الكاملة من خلال مكون (Component).
لا أعرف مدى تفرد وضعي، لكنني أقوم بتشغيل مثال يحتوي على نسختين من “graceful” مثبتتين، مما يسمح لي باستخدام لوحة ألوان داكنة وفاتحة. أستخدم مكون سمة لإجراء تعديلات على هذه السمات البعيدة، مثل تغيير زر الإعجاب بشكل شامل. يعمل هذا بشكل ممتاز مع التعديلات الشاملة التي تتحكم فيها الأنماط، لكن المشكلة تظهر عندما أريد إجراء تعديل على النسخة الداكنة لا ينبغي أن يظهر في السمة الفاتحة. لا أرى طريقة لاستخدام CSS لإجراء تغييرات بناءً على معرف السمة (theme id). للقيام بما أريده حالياً، سأضطر إلى إنشاء مكونات سمة فردية لكل سمة للأشياء البسيطة التي أرغب فيها.
ربما شيء مثل [data-theme-id].
إذا كان هذا ممكناً بالفعل، فلا تتردد في تجاهل رسالتي، لكنني أعتقد أن هذا سيساعد المواقع التي ترغب في إجراء تعديلات على سمات متعددة دون تكديس قائمة المكونات.
لست متأكدًا مما إذا كنت أفهم، لكن يمكنك إضافة بعض CSS مباشرة إلى هذه السمات الفاتحة والداكنة
في رأيي، المكونات ممتازة حقًا للتغييرات الشاملة مثل الهوامش (margin) والظهور (display) والحشوة (padding) والعرض (width)، لكن فيما يتعلق بالألوان، ما لم تستخدم المتغيرات، فمن الأفضل تعديل السمات مباشرة.
لكن تعديل السمات البعيدة يؤدي إلى فقدان تعديلاتك في المرة القادمة التي يتم فيها التحديث، أليس كذلك؟
هذا الأمر لا يتعلق فقط بالألوان، بل يتعلق بإجراء تغييرات محددة على سمات معينة من مكون واحد دون الحاجة إلى إنشاء مكونات إضافية وتطبيقها على بعض السمات فقط.
أظن أنك محق. كنت قد فكرت في مكون عالمي واحد ثم مكون واحد لكل سمة، أي ثلاثة في هذا المثال، لكن بدا ذلك مبالغًا فيه أن يكون لدينا ثلاثة مستودعات بينما يمكن إصلاح الأمر بسهولة باستخدام محدد بيانات، حيث أن كل شيء آخر تقريبًا في discourse يحتوي على واحد.
كملاحظة، معرّف السمة موجود في اسم الوصف كـ content id، والكلمة المفتاحية هي discourse_themes_id، وفي رابط تغيير السمات يكون على شكل [data-id=“#”] على الأقل عند فحص رابط محدد السمات في القائمة المنسدلة الذي ينشئه هذا المكون المثبت هنا على Meta أو في أحد مواقع الاختبار الخاصة بي. إذن الأمر ليس كما لو أن المعلومات غير متاحة في discourse.