Плагины
TailwindPHP поставляется с портами PHP официальных плагинов TailwindCSS и предоставляет нативный плагин PHP API. Плагины регистрируют утилиты, компоненты и варианты; они загружаются директивой @plugin во входном CSS. Встроенные плагины — это 1:1-порты своих аналогов JavaScript: у них те же селекторы и выходные данные, но реализованы они на PHP, а не выполняются через Node. Сейчас есть одно исключение: модификаторы элементов плагина типографики (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 в другое правило at-rule, например @media, не допускается. Если имя плагина не зарегистрировано, возникает ошибка.
Параметры плагинов
Передавайте параметры плагину в блочном синтаксисе 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":
use function TailwindPHP\registerPlugin;
registerPlugin(new MyCustomPlugin());
См. раздел Пользовательские плагины: описание интерфейса, полный пример и справочник по методу PluginAPI.