Lewati ke konten

Plugin

TailwindPHP menyediakan port PHP dari plugin resmi TailwindCSS dan mengekspos PHP plugin API. Plugin mendaftarkan utilitas, komponen, dan varian; plugin dimuat dengan direktif @plugin dalam CSS input Anda. Plugin bawaan merupakan port 1:1 dari padanan JavaScript — selector dan outputnya sama — yang diimplementasikan dalam PHP, bukan dijalankan melalui Node. Satu pengecualian saat ini: modifier elemen pada plugin tipografi (prose-headings:, prose-a:, …) bergantung pada varian plugin, yang belum diterapkan (#10).

Menggunakan @plugin

Rujuk plugin berdasarkan nama dengan @plugin. Plugin bawaan menggunakan nama paket npm. Pasangkan direktif dengan @import "tailwindcss/utilities.css"; agar kelas plugin dimasukkan ke lapisan utilitas:

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

Beberapa plugin dapat dimuat bersama, dan urutannya tidak berpengaruh:

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

@plugin tidak dapat disarangkan di dalam at-rule lain (seperti @media), dan nama plugin yang belum didaftarkan akan memunculkan error.

Opsi Plugin

Teruskan opsi ke plugin menggunakan sintaks blok CSS setelah namanya. Kunci dipetakan ke array opsi plugin:

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

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

Plugin @tailwindcss/forms menerima strategy (base atau class); @tailwindcss/typography menerima className untuk mengganti nama kelas prose yang dihasilkan. Lihat halaman masing-masing plugin untuk daftar opsi lengkap.

Plugin Bawaan

Plugin Deskripsi
@tailwindcss/typography Kelas prose — gaya tipografi bawaan untuk teks kaya. Lihat Tipografi.
@tailwindcss/forms Kontrol formulir yang dapat direset dan ditata. Lihat Formulir.

Plugin Kustom

Tulis plugin sendiri dengan mengimplementasikan PluginInterface dan menggunakan metode pada PluginAPI (addUtilities, matchUtilities, addComponents, addVariant, theme, dan lainnya). Daftarkan plugin dengan registerPlugin(new MyPlugin()) agar nama yang dikembalikan oleh getName() dapat digunakan dalam direktif @plugin "my-plugin":

PHP
use function TailwindPHP\registerPlugin;

registerPlugin(new MyCustomPlugin());

Lihat Plugin Kustom untuk antarmuka, contoh lengkap, dan referensi metode PluginAPI selengkapnya.