Pluginy
TailwindPHP obsahuje porty PHP oficiálních pluginů TailwindCSS a zpřístupňuje nativní rozhraní pluginů PHP API. Pluginy registrují utility, komponenty a varianty; načítají se direktivou @plugin ve vstupním CSS. Vestavěné pluginy jsou věrnými porty 1:1 svých protějšků JavaScript — mají stejné selektory a výstup, ale jsou implementované v PHP místo spouštění přes Node. Jedinou výjimkou jsou zatím modifikátory prvků v typografickém pluginu (prose-headings:, prose-a:, …), které spoléhají na varianty pluginů, jež se dosud nepoužívají (#10).
Použití @plugin
Na plugin odkažte jeho názvem pomocí @plugin. Vestavěné pluginy používají název balíčku npm. Spojte direktivu s @import "tailwindcss/utilities.css";, aby se třídy pluginu přidaly do vrstvy utilit:
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";
',
]);
Lze načíst více pluginů současně a jejich pořadí není důležité:
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";
@import "tailwindcss/utilities.css";
@plugin nelze vnořit do jiné direktivy at-rule (například @media); neregistrovaný název pluginu vyvolá chybu.
Možnosti pluginů
Možnosti pluginu předáte syntaxí bloku CSS za názvem. Klíče odpovídají poli možností pluginu:
@plugin "@tailwindcss/forms" {
strategy: "class";
}
@plugin "@tailwindcss/typography" {
className: "markdown";
}
Plugin @tailwindcss/forms přijímá strategy (base nebo class); @tailwindcss/typography přijímá className pro přejmenování generované třídy prose. Úplný seznam možností najdete na stránkách jednotlivých pluginů.
Vestavěné pluginy
| Plugin | Popis |
|---|---|
@tailwindcss/typography |
Třídy prose — typografická výchozí nastavení pro formátovaný text. Viz Typografie. |
@tailwindcss/forms |
Ovládací prvky formuláře, které lze resetovat a stylovat. Viz Formuláře. |
Vlastní pluginy
Vytvořte vlastní plugin implementací PluginInterface a použitím metod v PluginAPI (addUtilities, matchUtilities, addComponents, addVariant, theme a dalších). Zaregistrujte jej pomocí registerPlugin(new MyPlugin()), aby se název vrácený funkcí getName() rozpoznal v direktivě @plugin "my-plugin":
use function TailwindPHP\registerPlugin;
registerPlugin(new MyCustomPlugin());
Rozhraní, úplný příklad a kompletní přehled metod PluginAPI najdete v části Vlastní pluginy.