Plugin adalah paket tambahan yang memberi Tailwind class baru, misalnya prose untuk merapikan artikel. Bayangin bor listrik. Tailwind itu bornya, lengkap dengan mata bor standar (p-4, flex, text-blue-600). Plugin itu mata bor tambahan: kamu beli dulu (npm install), lalu pasang ke bornya (@plugin). Mata bor yang cuma tergeletak di kotak gak bikin bornya bisa apa-apa.
🧪 Tebakan cepat: kamu sudah menjalankan
npm install -D @tailwindcss/typography, lalu menulis<article class="prose">, tapi belum menambahkan baris@plugindi CSS. Apa yang terjadi? Tebak dulu, jawabannya ada di bagian "Memasang plugin: dua langkah".
Kenapa artikel kelihatan polos
Tailwind punya Preflight, reset CSS bawaan yang menghapus gaya default browser: h2 sebesar teks biasa, ul tanpa bullet, link sewarna teks. Buat komponen itu bagus, karena kamu menentukan semuanya lewat class. Tapi artikel dari Markdown atau CMS ditulis orang lain, jadi kamu gak bisa menaruh class di tiap h2 dan p-nya.
<article>
<h2>Mulai dengan Tailwind</h2>
<p>Tailwind memberi kamu <strong>class kecil</strong> untuk tiap gaya. Panduannya ada di <a href="#">dokumentasi resmi</a>.</p>
<ul>
<li>Pasang lewat npm</li>
<li>Tulis class di HTML</li>
<li>Jalankan build</li>
</ul>
<blockquote><p>Mulai kecil, rapikan belakangan.</p></blockquote>
</article>
Plugin @tailwindcss/typography (plugin resmi untuk konten HTML atau Markdown) menyelesaikannya dengan satu class di pembungkusnya: <article class="prose">. Semua elemen di dalamnya ikut dirapikan.
| Elemen | Tanpa prose (Preflight) |
Dengan prose |
|---|---|---|
h2 |
16px, tebal biasa | 24px, bold 700, jarak 24px di bawahnya |
p |
nempel satu sama lain | jarak 20px di antara blok |
ul |
tanpa bullet | bullet bulat, menjorok 26px |
a |
sama dengan teks biasa | garis bawah, weight 500 |
blockquote |
teks biasa | miring, garis kiri 4px, tanda kutip |
Teksnya 16px dengan line-height 28px, warnanya abu tua, dan lebarnya dibatasi 65ch (sekitar 65 huruf per baris) supaya enak dibaca.
Memasang plugin: dua langkah
npm install -D @tailwindcss/typography
/* app.css */
@import "tailwindcss";
@plugin "@tailwindcss/typography";
npm install -Dmengunduh plugin-nya kenode_modules. Baru dibeli, belum dipasang.@plugin "..."di file CSS utama memberi tahu Tailwind (v4) untuk memakainya. Baru sekarang classprosedibuat.- Setelah itu,
class="prose"di pembungkus artikel langsung bekerja.
Kalau baris @plugin belum ada, gak terjadi apa-apa. Gak ada error, artikelnya tetap polos. Tanpa @plugin, Tailwind gak kenal nama prose, jadi CSS-nya gak pernah dibuat. Class yang gak dikenal cuma jadi nama tanpa gaya. Itu jawaban tebakannya.
Mengatur prose
- Ukuran:
prose-sm(14px),prose(16px),prose-lg(18px),prose-xl(20px). Bisa responsive:prose md:prose-lg. - Lebar:
prosemembatasi lebar 65ch. Mau selebar wadahnya? Tambahmax-w-none. - Mode gelap:
dark:prose-invertmembalik warnanya jadi terang di atas latar gelap. - Satu jenis elemen:
prose-a:text-blue-600mewarnai semua link,prose-headings:font-semiboldsemua heading. Blok yang gak mau ikut dirapikan diberinot-prose.
Plugin resmi lain: forms
@tailwindcss/forms mereset input, select, textarea dan checkbox jadi polos dan seragam di semua browser, supaya gampang diberi class: rounded-md border-gray-300 focus:border-blue-500. Pasangnya sama: npm install -D @tailwindcss/forms, lalu @plugin "@tailwindcss/forms";.
Beberapa plugin resmi lama sekarang sudah bawaan, jadi jangan dipasang lagi: aspect-ratio (aspect-video), line-clamp (line-clamp-3), dan container-queries (@container, @md:, bawaan sejak v4).
Gak semua butuh plugin: @utility
Butuh satu class kecil yang belum ada? Di v4, tulis sendiri dengan @utility di CSS, tanpa plugin:
@utility scrollbar-hidden {
scrollbar-width: none;
&::-webkit-scrollbar { display: none; }
}
Sekarang class="scrollbar-hidden" menyembunyikan scrollbar, dan bisa dipakai dengan variant: md:scrollbar-hidden. Bayangan teks (text-shadow-lg), yang dulu sering dibuat lewat plugin sendiri, sudah bawaan sejak v4.1.
Tailwind v3: plugin di tailwind.config.js
Di proyek Tailwind v3, plugin didaftarkan di array plugins file config:
// tailwind.config.js (Tailwind v3)
module.exports = {
plugins: [require("@tailwindcss/forms"), require("@tailwindcss/typography")],
}
Tailwind v4 gak membaca file ini otomatis. Di v4, pakai @plugin di CSS. Proyek lama yang masih punya config bisa memuatnya dengan @config "./tailwind.config.js";.
Ekosistem: komponen siap pakai
- daisyUI: plugin yang menambah class komponen jadi, misalnya
btndancard. Pasang dengan@plugin "daisyui";, lalu<button class="btn btn-primary">. - Headless UI: komponen React dan Vue (dropdown, dialog, tab) yang sudah mengurus keyboard dan fokus, tapi tanpa gaya. Tampilannya kamu atur sendiri dengan class Tailwind.
- shadcn/ui: kode komponen React yang disalin ke proyekmu. Kodenya jadi milikmu, bebas diubah.
⚠️ Jebakan yang sering ketemu
- Install tapi lupa
@plugin.prosediam saja, tanpa error. Cek file CSS utamanya. - Menulis
plugins: [...]di proyek v4. File config gak dibaca otomatis, jadi plugin-nya gak terpasang. - Artikel tiba-tiba sempit. Itu batas 65ch dari
prose. Tambahmax-w-nonekalau memang mau lebar penuh. - Mencoba plugin di Tailwind CDN. CDN browser Tailwind (yang dipakai Playground) gak bisa memuat
@plugin. Coba plugin di proyek dengan build, misalnya Vite.
TL;DR: Plugin menambah class baru ke Tailwind. Pasang dua langkah: npm install -D @tailwindcss/typography, lalu @plugin "@tailwindcss/typography"; di CSS utama (v4). Tanpa @plugin, prose diam tanpa error. @tailwindcss/typography adalah plugin resmi untuk konten HTML atau Markdown: satu prose di pembungkus merapikan heading, paragraf, list, link dan kutipan. Atur dengan prose-lg, max-w-none, dark:prose-invert, prose-a:.... @tailwindcss/forms mereset elemen form. Class kecil sendiri cukup dengan @utility. Di v3, plugin ditulis di tailwind.config.js: plugins: [require("@tailwindcss/forms")]. Ekosistemnya: daisyUI (class komponen), Headless UI (perilaku tanpa gaya), shadcn/ui (kode yang disalin).