تثبيت سمة برمجيًا

إذا كنت ترغب في تثبيت السمات عبر ملف app.yml، فاستخدم التنسيق التالي:

run:
  - exec: echo "Beginning of custom commands"

  - file:
      path: /tmp/mythemes.yml
      contents: |
        discourse-gifs:
          url: https://github.com/discourse/discourse-gifs.git
          add_to_all_themes: true

  - exec:
      cd: $home
      cmd: su discourse -c 'bundle exec rake themes:install < /tmp/mythemes.yml'

  - exec: echo "End of custom commands"

خيارات تنسيق YAML

يدعم ملف YAML تنسيقًا مختصرًا (رابط فقط) وتنسيقًا طويلًا مع خيارات إضافية:

# التنسيق المختصر - الرابط فقط
theme_name: https://github.com/example/theme.git

# التنسيق الطويل - مع خيارات
theme_name:
  url: https://github.com/example/theme_name.git
  branch: "main"
  private_key: ""
  default: false
  add_to_all_themes: false
  skip_update: false
الخيار الوصف
url (مطلوب) عنوان مستودع Git
branch فرع Git المراد استخدامه (يُفترض افتراضيًا الفرع الافتراضي للمستودع)
private_key مفتاح SSH الخاص للمستودعات الخاصة
default تعيين السمة كسمة افتراضية (قيمة منطقية)
add_to_all_themes للمكونات فقط — التثبيت على كل السمات (قيمة منطقية)
skip_update تخطي التحديث إذا كانت السمة مثبتة بالفعل (قيمة منطقية)

التثبيت من أرشيف

يمكنك أيضًا تثبيت سمة من أرشيف محلي بصيغة .zip أو .tar.gz:

THEME_ARCHIVE=/path/to/theme.zip bundle exec rake themes:install:archive

قم بتعيين UPDATE_COMPONENTS=0 لتخطي تحديث المكونات المضمنة.

12 إعجابًا

أنا سعيد جدًا لأن هذا ممكن… كنت أحاول إيجاد طريقة لتحميل السمات عبر مثيل متعدد المواقع وهذا قد يكون أسهل طريقة. شكرا لك!

إعجابَين (2)

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

export THEME_ARCHIVE=<المسار المطلق للملف>
bundle exec rake themes:install:archive

أو

THEME_ARCHIVE=<المسار المطلق للملف> bundle exec rake themes:install:archive

هو صديقك.

6 إعجابات

(يعمل أيضًا مع tar.gz)

إعجابَين (2)