Plugin
TailwindPHP include port PHP dei plugin ufficiali di TailwindCSS ed espone un'API nativa per i plugin di PHPAPI. I plugin registrano utility, componenti e varianti; vengono caricati con la direttiva @plugin nel vostro CSS di input. I plugin integrati sono port 1:1 delle controparti di JavaScript: stessi selettori e stesso output, implementati in PHP anziché eseguiti tramite Node. Un'eccezione attuale: i modificatori degli elementi del plugin tipografico (prose-headings:, prose-a:, …) si basano sulle varianti dei plugin, che non vengono ancora applicate (issue #10).
Uso di @plugin
Richiama un plugin per nome con @plugin. I plugin integrati usano il nome del rispettivo pacchetto npm. Abbina la direttiva a @import "tailwindcss/utilities.css"; affinché le classi del plugin vengano incluse nel livello delle utility:
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";
',
]);
È possibile caricare più plugin insieme; l'ordine non è rilevante:
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";
@import "tailwindcss/utilities.css";
@plugin non può essere annidato dentro un'altra at-rule (come @media); un nome di plugin non registrato genera un errore.
Opzioni dei plugin
Passa le opzioni a un plugin usando la sintassi a blocchi CSS dopo il nome. Le chiavi corrispondono all'array di opzioni del plugin:
@plugin "@tailwindcss/forms" {
strategy: "class";
}
@plugin "@tailwindcss/typography" {
className: "markdown";
}
Il plugin @tailwindcss/forms accetta strategy (base o class); @tailwindcss/typography accetta className per rinominare la classe prose generata. Consulta le pagine dei singoli plugin per l'elenco completo delle opzioni.
Plugin integrati
| Plugin | Descrizione |
|---|---|
@tailwindcss/typography |
Le classi prose — stili tipografici predefiniti per contenuti formattati. Consulta Tipografia. |
@tailwindcss/forms |
Controlli dei moduli ripristinabili e personalizzabili. Consulta Moduli. |
Plugin personalizzati
Crea il tuo plugin implementando PluginInterface e usando i metodi di PluginAPI (addUtilities, matchUtilities, addComponents, addVariant, theme e altri). Registralo con registerPlugin(new MyPlugin()) affinché il nome restituito da getName() venga risolto in una direttiva @plugin "my-plugin":
use function TailwindPHP\registerPlugin;
registerPlugin(new MyCustomPlugin());
Consulta Plugin personalizzati per l'interfaccia, un esempio completo e il riferimento completo al metodo PluginAPI.