Перейти до вмісту

Плагіни

TailwindPHP постачається з PHP портами офіційних плагінів TailwindCSS і надає нативний плагін PHP API. Плагіни реєструють утиліти, компоненти й варіанти; вони завантажуються директивою @plugin у вхідному файлі CSS. Вбудовані плагіни — це 1:1 порти відповідних плагінів JavaScript: ті самі селектори й результат, реалізовані на PHP, а не запущені через Node. Єдиний наразі виняток: модифікатори елементів плагіна типографіки (prose-headings:, prose-a:, …) залежать від варіантів плагінів, які ще не застосовуються (#10).

Використання @plugin

Вкажіть плагін за назвою за допомогою @plugin. Вбудовані плагіни використовують назву пакета npm. Поєднайте директиву з @import "tailwindcss/utilities.css";, щоб класи плагіна потрапили до шару утиліт:

PHP
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";
    ',
]);

Можна завантажити кілька плагінів одночасно; їхній порядок не має значення:

CSS
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";
@import "tailwindcss/utilities.css";

@plugin не можна вкладати в інше правило at-rule (наприклад, @media), а незареєстрована назва плагіна спричиняє помилку.

Параметри плагіна

Передавайте параметри плагіну за допомогою синтаксису блоку CSS після назви. Ключі відповідають масиву параметрів плагіна:

CSS
@plugin "@tailwindcss/forms" {
    strategy: "class";
}

@plugin "@tailwindcss/typography" {
    className: "markdown";
}

Плагін @tailwindcss/forms приймає strategy (base або class); @tailwindcss/typography приймає className, щоб перейменувати згенерований клас prose. Повний список параметрів наведено на сторінках окремих плагінів.

Вбудовані плагіни

Плагін Опис
@tailwindcss/typography Класи prose — типографічні значення за замовчуванням для форматованого тексту. Див. Типографіка.
@tailwindcss/forms Скидання стилів елементів форм із можливістю стилізації. Див. Форми.

Власні плагіни

Створіть власний плагін, реалізувавши PluginInterface і використовуючи методи PluginAPI (addUtilities, matchUtilities, addComponents, addVariant, theme тощо). Зареєструйте його через registerPlugin(new MyPlugin()), щоб назва, яку повертає getName(), розпізнавалася в директиві @plugin "my-plugin":

PHP
use function TailwindPHP\registerPlugin;

registerPlugin(new MyCustomPlugin());

Інтерфейс, повний приклад і повний довідник методів PluginAPI див. у розділі Власні плагіни.