تقييد تعديل السمات عن بعد

لطالما كانت أفضل الممارسات هي تجنب تعديل السمات المثبتة من مستودع Git عن بُعد محليًا على Discourse. فأي تغييرات تُجرى على كود السمة أو الملفات المرفوعة تُحذف عند تحديث السمة من المستودع البعيد.

في هذا الالتزام (commit)، قمنا بإزالة إمكانية تعديل سمة عن بُعد محليًا، وأصبحنا نطبق أفضل الممارسات هذه في Discourse.

ماذا يحدث إذا كانت لدي سمة عن بُعد مع تغييرات محلية؟

لا يحدث شيء حتى الآن. تظل سمة كما هي حتى تقوم بإزالتها أو تحديثها من المصدر البعيد.

كيف أحافظ على تعديلاتي المحلية؟

إذا كانت تغييراتك تقتصر على CSS فقط:

يمكنك نسخ التغييرات الخاصة بـ CSS فقط إلى مكون سمة محلي جديد تمامًا. للقيام بذلك:

  1. انقر على تثبيت
  2. انقر على إنشاء جديد
  3. انقر على زر تحرير في اللوحة اليمنى.
  4. انسخ تغييرات CSS إلى الملف المناسب (common/mobile/desktop).
  5. احفظ وقم بتفعيل مكون السمة.
  6. قم بتحديث السمة البعيدة لاستبدال التغييرات المحلية وتجنب تكرار CSS.

إذا قمت بتغيير أكثر من CSS (JS/القوالب):

نوصي، إذا كنت ترغب في الاحتفاظ بتعديلاتك المحلية، بتحويل السمة إلى سمة محلية. للقيام بذلك:

  1. افتح السمة من خلال Admin > Customize
  2. انقر على تصدير لتحميل السمة مع تغييراتك المحلية.
  3. انقر على تثبيت أسفل قائمة السمات، ثم اختر من جهازك
  4. قم بتحميل السمة المصدرة، وثبتها، وقم بتفعيلها كما كان من قبل.

الخيار الآخر للمهتمين هو عمل نسخة (fork) من السمة البعيدة على GitHub، ثم الالتزام بتغييراتك في المستودع المنسوخ، وتثبيت هذه النسخة على مثيل Discourse الخاص بك. وهذا يتيح إمكانية إعادة دمج (rebase) تغييراتك فوق أي تحديثات مستقبلية للمستودع الرئيسي، وهو ما لا يوفره تحويل السمة إلى سمة محلية.

أخيرًا، تأكد من إزالة السمة البعيدة لتجنب تكرار التغييرات والارتباك في المستقبل.

35 إعجابًا

استخدمت هذه الميزة للمعاينة السريعة للتغييرات في سلاطتي البعيدة. هل توجد طريقة لتحقيق ذلك الآن؟ لا أريد الالتزام بتغيير في الارتفاع في مكان ما، ثم دفعه وسحبه وتحديثه فقط لأكتشف أن التغيير كان كبيرًا جدًا أو صغيرًا جدًا :frowning:

إعجاب واحد (1)

إحدى الطرق هي استخدام Discourse Theme CLI (تطبيق وحدة تحكم لمساعدتك في بناء السمات) لتجربة المكون باسم مختلف قبل دفع الالتزام. والطريقة الأخرى هي استخدام موقع تطوير أو موقع مرحلي.

إعجابَين (2)

إنه سطر الأوامر! رائع! لم أكن أعرف أن مثل هذا الشيء موجود، وهذا سيساعد كثيرًا.

شكرًا لك على النصيحة!

إعجابَين (2)

إنه رائع! وستكون سعيدًا لأنك لن تحتاج إلى التحرير عبر متصفح الويب مرة أخرى! :clinking_glasses:

4 إعجابات