يجب أن تستخدم أنماط الملحقات أوراق الأنماط CSS خصائص مخصصة للألوان

خلال بضعة أيام، سأدمج هذا الطلب في النواة الأساسي الذي يُجري تغييرًا في طريقة تجميع أوراق تنسيق الإضافات. يؤثر هذا التغيير على متغيرات ألوان SCSS المستخدمة في أوراق تنسيق الإضافات. باختصار، يجب استبدالها بخصائص CSS المخصصة. تم تحديث معظم الإضافات بالفعل، وفي كثير من الحالات، يكون هذا التغيير بسيطًا؛ حيث يجب استبدال متغير SCSS بخاصية CSS مخصصة:

-   background-color: $primary-low;
+   background-color: var(--primary-low);

يحتوي الدليل الموجود على Update themes and plugins to support automatic dark mode على أمثلة إضافية، ويوضح أيضًا كيفية التعامل مع تحويلات الألوان الأكثر تعقيدًا. (يجب أن يكون هذا الدليل كافيًا لمؤلفي الإضافات لضمان عمل تنسيقاتهم بشكل صحيح.)


إذا كنت تتساءل عن سبب إجراء هذا التغيير، فاستمر في القراءة.

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

منذ أغسطس 2020، وللدعم التبديل التلقائي للوضع الداكن، أضفنا ورقة تنسيق منفصلة لتعريف الألوان تخزن متغيرات الألوان كخصائص CSS مخصصة. سمح لنا هذا التغيير بالتبديل بين مخططات الألوان على الفور، لكنه أيضًا جعل الألوان مجردة في معظم أوراق التنسيق. بفضل سحر خصائص CSS المخصصة، يمكننا الآن الإشارة إلى الألوان في كل مكان (النواة، الإضافات، السمات) دون الحاجة إلى تحميل كل سمة عند تجميع ورقة التنسيق.

على مدار الأشهر القليلة الماضية، كنا نحول جميع الإضافات لاستخدام خصائص CSS المخصصة. الغالبية العظمى من إضافات Discourse محدثة الآن، ولكن ربما توجد إضافة نادرة لا تزال تستخدم متغيرات SCSS للألوان، وسيحتاج ذلك إلى تحديث.

10 إعجابات

شكرًا على الشرح الواضح. حتى أنا أفهمه إلى حد كبير!

هل سيؤدي هذا إلى فشل عمليات الترقية وإعادة البناء في المواقع التي تحتوي على مكونات سمة لا تلتزم بهذه القواعد؟ كما حدث في Failed to Bootstrap, due to discourse-alt-logo theme component لسبب آخر؟

إذا كان الأمر كذلك، فهل هناك طريقة لجعل رسالة الخطأ أكثر وضوحًا (للأشخاص الذين لا يستطيعون فهم سجلات البناء)؟ وقول شيء مثل «أزل إضافة x قبل محاولة الترقية». أو، الأفضل من ذلك، هل هناك طريقة لتنبيه الأشخاص في لوحة الإدارة عندما نعلم أن مثل هذا التغيير قادم؟ (أو ربما توجد بالفعل تنبيهات لا يقرأها أحد).

إعجابَين (2)

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

المشكلة التي ربطت بها لا علاقة لها بهذا التغيير، فهي تتعلق بمكون من مكونات السمة، ونقوم حاليًا بحظر عمليات إعادة البناء إذا تعذر التحديث التلقائي لمكون سمة مُحدد للتحديث التلقائي.

4 إعجابات

آه. رائع. آسف على ذلك. ما زلت أحاول استيعاب هذه الأجزاء.

إعجابَين (2)

حسناً، لقد واجهت مشكلة في الوضع المظلم. أين/ما هو إعداد اللون الذي يجب أن أعدلّه للنص المُقتبس؟

الأمر مقبول في الفئات العامة، لكن في فقاعات الرسائل الخاصة يصبح النص غير مقروء.

لقد جربت عدة عمليات بحث لكن لم أتمكن من العثور على المصطلح الصحيح.

هذا الأمر يؤثر أيضاً على رابط موضوع ما.