الإضافات
يتضمن TailwindPHP نسخًا PHP من إضافات TailwindCSS الرسمية، ويوفر واجهة PHP لإضافة API أصلية. تسجل الإضافات الأدوات والمكونات والمتغيرات، ويجري تحميلها باستخدام التوجيه @plugin في ملف الإدخال CSS. الإضافات المدمجة نسخ مطابقة بنسبة 1:1 لنظيراتها JavaScript — بالمحددات والمخرجات نفسها — وقد نُفذت باستخدام PHP بدلًا من تشغيلها عبر Node. ثمة استثناء حاليًا: تعتمد معدّلات العناصر في إضافة typography (prose-headings: وprose-a:، …) على متغيرات الإضافات التي لا تُطبّق بعد (#10).
استخدام @plugin
أشر إلى الإضافة باسمها باستخدام @plugin. تستخدم الإضافات المدمجة اسم حزمة npm الخاص بها. أرفق بالتوجيه @import "tailwindcss/utilities.css"; ليُدرج فئات الإضافة في طبقة الأدوات:
use TailwindPHP\tw;
$css = tw::generate([
'content' => '<article class="prose prose-lg"><h1>Hello</h1><p>Content here</p></article>',
'css' => '
@plugin "@tailwindcss/typography";
@import "tailwindcss/utilities.css";
',
]);
يمكن تحميل عدة إضافات معًا، ولا يؤثر ترتيبها:
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";
@import "tailwindcss/utilities.css";
لا يمكن تضمين @plugin داخل قاعدة توجيهية أخرى (مثل @media)، ويؤدي استخدام اسم إضافة غير مسجل إلى خطأ.
خيارات الإضافة
مرّر الخيارات إلى الإضافة باستخدام صياغة الكتلة CSS بعد الاسم. تتوافق المفاتيح مع مصفوفة خيارات الإضافة:
@plugin "@tailwindcss/forms" {
strategy: "class";
}
@plugin "@tailwindcss/typography" {
className: "markdown";
}
تقبل إضافة @tailwindcss/forms الخيار strategy (base أو class)؛ وتقبل @tailwindcss/typography الخيار className لإعادة تسمية فئة prose المُنشأة. راجع صفحات الإضافات لمعرفة قائمة الخيارات كاملة.
الإضافات المدمجة
| الإضافة | الوصف |
|---|---|
@tailwindcss/typography |
فئات prose — إعدادات طباعية افتراضية للنص المنسق. راجع Typography. |
@tailwindcss/forms |
عناصر تحكم في النماذج قابلة لإعادة الضبط والتنسيق. راجع Forms. |
الإضافات المخصصة
اكتب إضافتك الخاصة بتنفيذ PluginInterface واستخدام دوال PluginAPI (addUtilities وmatchUtilities وaddComponents وaddVariant وtheme وغيرها). سجّلها باستخدام registerPlugin(new MyPlugin()) ليُستدعى الاسم الذي تعيده getName() في توجيه @plugin "my-plugin":
use function TailwindPHP\registerPlugin;
registerPlugin(new MyCustomPlugin());
راجع الإضافات المخصصة لمعرفة الواجهة ومثال كامل والمرجع الكامل لدوال PluginAPI.