إنشاء ومشاركة مكون سمة خط

يدعم Discourse استيراد السمات التي تحتوي على أصول من مستودع بعيد.

يتيح هذا لمؤلفي السمات مشاركة الخطوط والصور.

إنشاء مستودع git جديد بالخط

mkdir discourse-roboto-theme
cd discourse-roboto-theme
git init .
vim about.json

بالنسبة لـ about.json، أضف ملف تكوين هيكلي

{
  "name": "Roboto theme component",
  "about_url": "",
  "license_url": "",
  "assets": {
    "roboto": "assets/roboto.woff2"
  }
}

أضف ملف LICENSE، أنا عادةً ما أستخدم MIT

vim LICENSE

تنزيل الخط

http://localfont.com/ هو موقع مفيد للحصول على الخطوط

mkdir assets
cp ~/Downloads/roboto.woff2 roboto.woff2

إضافة CSS يستهلك السمة

mkdir common
cd common

أنشئ ملفًا يسمى common.scss يحتوي على

@font-face {
  font-family: Roboto;
  src: url($roboto) format("woff2");
}

body {
  font-family: Roboto;
}

دفع التغييرات إلى GitHub

تحقق من جميع التغييرات الخاصة بك:

git add LICENSE
git add about.json
git add assets/roboto.woff2
git add common/common.scss
git commit -am "first commit"

أنشئ حسابًا على GitHub.com ثم أنشئ مستودعًا جديدًا.

(اختياري) إنشاء موضوع على Discourse ليكون بمثابة منزل لمناقشة الألوان الخاصة بك

من الناحية المثالية، يجب عليك إنشاء موضوع في فئة #plugin:theme مع بعض لقطات الشاشة لمخطط الألوان الخاص بك. ستستخدم هذا كـ about_url الخاص بك

املأ المعلومات المفقودة في ملف about.json الخاص بك

  • انتقل إلى صفحة LICENSE الخاصة بك على GitHub، واملأ هذا الرابط كـ license_url الخاص بك

  • استخدم إما رابط مشروع GitHub أو رابط موضوع Discourse كـ about_url الخاص بك

في نهاية العملية، سيبدو ملف about.json الخاص بك شيئًا كهذا:

{
  "name": "Roboto theme component",
  "about_url": "https://github.com/SamSaffron/discourse-roboto-theme",
  "license_url": "https://github.com/SamSaffron/discourse-roboto-theme/blob/master/LICENSE",
  "assets": {
    "roboto": "assets/roboto.woff2"
  }
}

تحقق من التغيير وادفع إلى GitHub

git commit -am "added more details"
git push

اختبار مكون الخط الخاص بك

  • في شاشة admin/customize/theme، استورد السمة الخاصة بك من GitHub

:confetti_ball:
يمكنك الآن مشاركة الخطوط بسهولة!

شاهد أيضًا:


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

19 إعجابًا

Great tutorial.

Worked like a charm except it looks like localfont.com is down or no more.

I used this Google webfonts helper site to download a .woff2 version of the font I was after.

See also Discourse Theme CLI (console app to help you build themes)

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

عندما اتبعت الخطوات، تلقيت خطأ: Error: Undefined variable: "$fontname".

لذا:
أعلنت المتغير في $variables:
fontname: \"assets/fontname.woff2\";

يبدو لي أنه يجب عليك ملؤه، ولكن ما هو المسار الذي يجب استخدامه في $variables؟

عندما تسمح لـ Discourse بتحميل الملفات باستخدام

\"assets\": {
        \"fontname\": \"assets/fontname.woff2\"
   }

يقوم بتحميل الملف إلى مسار آخر غير assets/roboto.woff2 على ما يبدو
(/uploads/db0202/original/1X/...)

تعديل:
لا حاجة لـ $variables، السحر يحدث مع التحميلات. ولكن كان لدي assets/font.svg#regular في الأصول، وقد أنشأ الهاشتاج المشكلة.

إعجابَين (2)

أواجه نفس الخطأ Error: Undefined variable. وأيضًا، لا تظهر أي أصول في التحميلات أو التحميل كعنوان.

هل يحتاج هذا الدليل إلى تحديث؟

شكراً مقدماً

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