HTML Filters
Tài liệu theo cú pháp Lingo/Django. Cuộn xuống để đọc đầy đủ hướng dẫn; chọn tên trong danh sách để đến phần tương ứng.
Danh sách đặc tả
| THAM KHẢO | DÙNG TRONG SKAI | TRẠNG THÁI |
|---|---|---|
img_tag | img_tag | Đang phát triển |
script_tag | script_tag | Đang phát triển |
stylesheet_tag | stylesheet_tag | Đang phát triển |
Quy ước cú pháp, bảo mật và trạng thái →
Tham khảo danh mục: Haravan. Đặc tả Skai được biên soạn độc lập theo Lingo.
img_tag
Đang phát triểnTạo ảnh HTML. Bản thiết kế v0.1 để review trước khi triển khai, chưa phải API phát hành.
Hợp đồng sử dụng
| Đầu vào | URL đã kiểm tra |
|---|---|
| Tham số | options: object; alt bắt buộc; class, width, height, loading tùy chọn |
| Đầu ra | SafeHTML được helper tạo |
Bổ sung mới; cú pháp và hành vi bên dưới là đề xuất, chưa khả dụng.
{# image_options = {"alt":"Áo xanh","width":320,"loading":"lazy"} #}
{{ asset("shirt.webp")|img_tag:image_options }}Thẻ img có src từ asset(), alt="Áo xanh", width="320", loading="lazy".Trường hợp biên và an toàn
Chỉ http(s) hoặc URL nội bộ. Escape thuộc tính; cấm onerror, style tùy ý, javascript: và data:; không đổi quyền media.
Tiêu chí nghiệm thu
- Kiểm thử ví dụ ở trên cùng đầu vào rỗng, Unicode, sai kiểu và giới hạn đầu ra.
- Sai tham số phải trả lỗi có tên filter/tag; preview hiển thị vị trí lỗi, production không lộ nội bộ.
- Không I/O, truy vấn hoặc thay đổi dữ liệu từ template; dữ liệu commerce chỉ qua resolver có quyền.
- Kiểm thử escaping và profile runtime trước khi công bố cho theme.
Nguồn & quyết định chuyển đổi
Tên tham khảo: img_tag. Hợp đồng và ví dụ là đề xuất riêng cho Skai, không sao chép contract Liquid.
Nguồn tham khảo Haravan · Quy ước đặc tả Skai
Đối chiếu mã nguồn local: skaiplatform/lingo/filters_builtin.go, tags_*.go, security.go và skaiweb/services/theme_engine/functions.go. Badge “Đang phát triển” biểu thị tài liệu dự kiến, không xác nhận engine đã được triển khai.
script_tag
Đang phát triểnTạo thẻ script. Bản thiết kế v0.1 để review trước khi triển khai, chưa phải API phát hành.
Hợp đồng sử dụng
| Đầu vào | URL tài nguyên đã kiểm tra |
|---|---|
| Tham số | options: object tùy chọn; defer boolean, type classic/module |
| Đầu ra | SafeHTML script |
Bổ sung mới; cú pháp và hành vi bên dưới là đề xuất, chưa khả dụng.
{# script_options = {"defer":true} #}
{{ asset("shop.js")|script_tag:script_options }}Thẻ script trỏ shop.js của theme hiện tại, có defer.Trường hợp biên và an toàn
Chỉ origin nội bộ hoặc allowlist CDN; không inline code; CSP nonce chỉ do server cấp. Không tải asset ngoài bằng server.
Tiêu chí nghiệm thu
- Kiểm thử ví dụ ở trên cùng đầu vào rỗng, Unicode, sai kiểu và giới hạn đầu ra.
- Sai tham số phải trả lỗi có tên filter/tag; preview hiển thị vị trí lỗi, production không lộ nội bộ.
- Không I/O, truy vấn hoặc thay đổi dữ liệu từ template; dữ liệu commerce chỉ qua resolver có quyền.
- Kiểm thử escaping và profile runtime trước khi công bố cho theme.
Nguồn & quyết định chuyển đổi
Tên tham khảo: script_tag. Hợp đồng và ví dụ là đề xuất riêng cho Skai, không sao chép contract Liquid.
Nguồn tham khảo Haravan · Quy ước đặc tả Skai
Đối chiếu mã nguồn local: skaiplatform/lingo/filters_builtin.go, tags_*.go, security.go và skaiweb/services/theme_engine/functions.go. Badge “Đang phát triển” biểu thị tài liệu dự kiến, không xác nhận engine đã được triển khai.
stylesheet_tag
Đang phát triểnTạo liên kết CSS. Bản thiết kế v0.1 để review trước khi triển khai, chưa phải API phát hành.
Hợp đồng sử dụng
| Đầu vào | URL CSS đã kiểm tra |
|---|---|
| Tham số | media: string tùy chọn, mặc định all |
| Đầu ra | SafeHTML link |
Bổ sung mới; cú pháp và hành vi bên dưới là đề xuất, chưa khả dụng.
{{ asset("shop.css")|stylesheet_tag:"screen" }}Thẻ link rel="stylesheet", media="screen", href theo asset().Trường hợp biên và an toàn
Escape URL; cấm scheme nguy hiểm; asset phải theo đúng draft/release.
Tiêu chí nghiệm thu
- Kiểm thử ví dụ ở trên cùng đầu vào rỗng, Unicode, sai kiểu và giới hạn đầu ra.
- Sai tham số phải trả lỗi có tên filter/tag; preview hiển thị vị trí lỗi, production không lộ nội bộ.
- Không I/O, truy vấn hoặc thay đổi dữ liệu từ template; dữ liệu commerce chỉ qua resolver có quyền.
- Kiểm thử escaping và profile runtime trước khi công bố cho theme.
Nguồn & quyết định chuyển đổi
Tên tham khảo: stylesheet_tag. Hợp đồng và ví dụ là đề xuất riêng cho Skai, không sao chép contract Liquid.
Nguồn tham khảo Haravan · Quy ước đặc tả Skai
Đối chiếu mã nguồn local: skaiplatform/lingo/filters_builtin.go, tags_*.go, security.go và skaiweb/services/theme_engine/functions.go. Badge “Đang phát triển” biểu thị tài liệu dự kiến, không xác nhận engine đã được triển khai.