Gå til indhold

Plugins

TailwindPHP leveres med PHP-porte af de officielle TailwindCSS-plugins og stiller et indbygget PHP-plugin-API til rådighed. Plugins registrerer utilities, komponenter og varianter; de indlæses med direktivet @plugin i din input-CSS. De indbyggede plugins er 1:1-porte af deres JavaScript-modstykker — samme selektorer og output — implementeret i PHP i stedet for at blive kørt gennem Node. En undtagelse indtil videre: typografipluginets elementmodifikatorer (prose-headings:, prose-a:, …) afhænger af pluginvarianter, som endnu ikke anvendes (#10).

Brug af @plugin

Henvis til et plugin ved navn med @plugin. Indbyggede plugins bruger pakkenavnet npm. Kombiner direktivet med @import "tailwindcss/utilities.css";, så pluginets klasser føjes til utilities-laget:

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

Flere plugins kan indlæses sammen, og rækkefølgen er uden betydning:

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

@plugin kan ikke indlejres i en anden at-rule (såsom @media), og et ikke-registreret pluginnavn udløser en fejl.

Pluginindstillinger

Angiv indstillinger til et plugin med bloksyntaksen CSS efter navnet. Nøglerne svarer til pluginets indstillingsarray:

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

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

Pluginet @tailwindcss/forms accepterer strategy (base eller class); @tailwindcss/typography accepterer className til at omdøbe den genererede prose-klasse. Se de enkelte pluginsider for den fulde liste over indstillinger.

Indbyggede plugins

Plugin Beskrivelse
@tailwindcss/typography Klasserne prose — typografiske standardindstillinger til formateret tekst. Se Typography.
@tailwindcss/forms Formularfelter, der kan nulstilles og styles. Se Forms.

Brugerdefinerede plugins

Skriv dit eget plugin ved at implementere PluginInterface og bruge metoderne på PluginAPI (addUtilities, matchUtilities, addComponents, addVariant, theme og flere). Registrer det med registerPlugin(new MyPlugin()), så navnet, som returneres af getName(), kan findes i et @plugin "my-plugin"-direktiv:

PHP
use function TailwindPHP\registerPlugin;

registerPlugin(new MyCustomPlugin());

Se Custom Plugins for grænsefladen, et fuldt eksempel og den komplette metodeoversigt for PluginAPI.