Transformers
Transformers ใน UnoCSS คือ feature ที่ช่วยในการแปลง syntax ของ class ให้เป็นรูปแบบที่ต้องการ
Built-in Transformers
@unocss/transformer-directives
ช่วยในการแปลง CSS directives (@apply, @screen) ให้เป็น utility classes
css
.btn {
@apply font-bold py-2 px-4 rounded;
}
@screen sm {
.btn {
@apply py-3 px-6;
}
}
@unocss/transformer-variant-group
ช่วยในการจัดกลุ่ม variants เพื่อลดการเขียนซ้ํา
html
<div class="hover:bg-gray-400 hover:font-medium font-light font-mono"/>
<!-- จะถูกแปลงเป็น -->
<div class="hover:bg-gray-400 hover:font-medium font-light font-mono"/>
@unocss/transformer-compile-class
ช่วย compile class names ให้เป็น atomic CSS ที่มีขนาดเล็กลง
html
<div class="bg-blue-500 text-sm font-bold"/>
<!-- จะถูก compile เป็น -->
<div class="uno-g7sfh"/>
การใช้งาน Transformers
สามารถเพิ่ม transformers ในไฟล์ config ได้ดังนี้
ts
// uno.config.ts
import { defineConfig } from 'unocss'
import { transformerDirectives, transformerVariantGroup } from 'unocss'
export default defineConfig({
transformers: [
transformerDirectives(),
transformerVariantGroup(),
],
})