ابدأ باستخدام Theme Creator و Theme CLI

سيرشدك هذا الموضوع خلال كيفية استخدام Theme CLI مع موقع Theme Creator الخاص بنا لتطوير سمة (theme) ومعاينة تغييراتك على موقع Discourse مباشر.

  1. سجّل للحصول على حساب هنا في Meta إذا لم تكن قد فعلت ذلك بعد

  2. سجّل الدخول إلى Theme Creator

  3. ثبّت Theme CLI عبر التعليمات هنا

  4. أنشئ سمة جديدة على Theme Creator عن طريق:

    • زيارة https://discourse.theme-creator.io/my/themes
    • النقر على Install، واختيار الخيار “Create New”.
    • إعطاء السمة الخاصة بك اسمًا فريدًا (يمكنك تجاهل مخطط الألوان في الوقت الحالي).
  5. انقر على advanced، ثم edit locally، ثم retrieve API key.

    انسخ مفتاح واجهة برمجة التطبيقات (API key) الذي تم إنشاؤه.

  1. عد إلى سطر الأوامر واكتب discourse_theme download example-folder، حيث سيتم تخزين السمة الخاصة بك محليًا في example-folder. اتبع المطالبات.

    • أدخل https://discourse.theme-creator.io كـ root URL لموقع Discourse الخاص بك.

    • أدخل API key الخاص بك من الخطوة السابقة عند المطالبة بذلك.

    • استمر في اتباع المطالبات وحدد السمة التي أنشأتها في الخطوة 4.

    • أدخل نعم عندما يُسأل عما إذا كنت ترغب في بدء مراقبة السمة الخاصة بك.

  2. الآن تتم مراقبة مجلد السمة المحلي الخاص بك بحثًا عن التغييرات، والتي سيتم تحميلها تلقائيًا إلى Theme Creator. يمكنك فتح معاينة للسمة الخاصة بك عن طريق النقر على preview في إعدادات السمة الخاصة بك على Theme Creator.

  3. لإيقاف المراقبة بحثًا عن التغييرات، اضغط على ctrl + c في نافذة سطر الأوامر. لبدء المراقبة بحثًا عن التغييرات مرة أخرى، اكتب discourse_theme watch example-theme.

:tada: لديك الآن دليل سمة محلي يمكنك تعديله ورؤية تغييراتك مباشرة!

للحصول على نظرة متعمقة حول كيفية هيكلة السمات وما يمكنك القيام به، تحقق من Developing Discourse Themes & Theme Components


يتم التحكم في إصدار هذه الوثيقة - اقترح تغييرات على github.

42 إعجابًا

مرحباً. أحاول اتباع هذه التعليمات ولكنني أواجه مشكلة باستمرار. بعد إضافة مفتاح API أرى ما يلي:

/usr/local/lib/ruby/gems/3.2.0/gems/discourse_theme-0.7.3/lib/discourse_theme/cli.rb:100:in `run': undefined method `exists?' for Dir:Class (NoMethodError)

        FileUtils.mkdir_p dir unless Dir.exists?(dir)
                                        ^^^^^^^
Did you mean?  exist?
        from /usr/local/lib/ruby/gems/3.2.0/gems/discourse_theme-0.7.3/bin/discourse_theme:6:in `<top (required)>'
        from /usr/local/lib/ruby/gems/3.2.0/bin/discourse_theme:25:in `load'
        from /usr/local/lib/ruby/gems/3.2.0/bin/discourse_theme:25:in `<main>'

هل لديك فكرة عن السبب؟
شكراً مقدماً

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

مرحباً!
هذه الأداة لا تدعم Ruby 3.2 بعد بسبب التغييرات في اللغة. لدينا إصلاح قيد العمل، ولكن Ruby 3.1.x يعمل في الوقت الحالي.

6 إعجابات

آه، هذا هو السبب إذن.
شكراً لك :slight_smile:

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

تم إصلاح هذا الآن - يجب أن يعمل discourse_theme تحت Ruby 3.2.x من إصدار gem 0.7.4 وما فوق :slight_smile:

3 إعجابات

واو، كان ذلك سريعًا :open_mouth:
شكرًا لك. تمكنت من جعله يعمل بمساعدة مديري المباشر الذي اقترح:

rbenv install 3.1.3
rbenv shell 3.1.3
gem install discourse_theme

والذي لم يعمل فعليًا حتى أغلقت علامة تبويب الطرفية وأعدت فتحها مرة أخرى.

هل توقف discourse_theme watch عن إعادة التحميل المباشر؟ كان يقوم بتحديث الثيم الخاص بي عند حفظه، ولكن الآن يجب عليّ تحديث علامة التبويب يدويًا. لا يوجد شيء في وحدة التحكم يشير إلى السبب.

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

كان هناك تغيير قبل فترة

قد تكون مهتمًا بـ Live Reload in Production

4 إعجابات