first và media →
Media luôn trả mảng UUID: lấy ảnh đầu tiên với first hoặc .0, cấu hình ảnh và đuôi file.
Filters
Biến đổi giá trị bằng dấu | và truyền tham số bằng dấu :.
Cú pháp
{{ "skai"|upper }}
{# SKAI #}
{{ ""|default:"Chưa có tên" }}
{{ "SKAI DOCS"|lower|capfirst }}Các nhóm thường dùng
| CÚ PHÁP / GIÁ TRỊ | Ý NGHĨA |
|---|---|
upper, lower, capfirst, title | Biến đổi chữ. |
truncatechars, truncatewords | Rút gọn nội dung. |
default, default_if_none | Giá trị dự phòng. |
length, first, last, join, slice | Làm việc với danh sách/chuỗi. |
date, time | Định dạng thời gian theo Go. |
escape, escapejs | Escape theo ngữ cảnh. |
An toàn HTML
Giữ autoescape cho dữ liệu đầu vào. Không dùng safe để bỏ qua kiểm tra; profile theme nghiêm ngặt chặn safe. striptags không phải một bộ sanitizer HTML đầy đủ.
Các nhóm Filters
Array Filters →
Nhóm filter thao tác với danh sách: đếm phần tử, chọn phần tử đầu/cuối và nối giá trị.
HTML Filters →
Nhóm filter xử lý nội dung HTML và escape đầu ra. Việc loại bỏ tag không thay thế cho kiểm tra an toàn nội dung.
Math Filters →
Nhóm filter chuyển đổi và xử lý giá trị số. Danh sách filter được phép phụ thuộc cấu hình runtime.
String Filters →
Nhóm filter xử lý chuỗi: đổi chữ hoa/thường, rút gọn và đặt giá trị dự phòng.
URL Filters →
Nhóm filter mã hóa dữ liệu dùng trong URL. Helper url() của Skai được mô tả riêng, không phải một filter Liquid.
Additional Filters →
Nhóm filter bổ sung như định dạng thời gian và các tiện ích hiển thị.
Money Filters →
Nhóm tài liệu dành cho việc định dạng số tiền và tiền tệ. Chưa xác nhận filter money được cung cấp trong runtime Skai; chưa dùng như API đã hỗ trợ.
Ảnh & resize
image_url →
Đã triển khai: lấy URL public từ UUID Files, resize bằng width/height, crop theo vị trí và tái sử dụng variants.