Công cụ định dạng và kiểm tra YAML - Sửa thụt lề, tìm lỗi
Định dạng và kiểm tra YAML
Công cụ này làm gì
YAML không có dấu ngoặc nhọn: cấu trúc nằm ở thụt lề. Điều đó khiến nó dễ đọc nhưng cũng dễ hỏng — chỉ một dấu cách lạc chỗ là một khóa rơi xuống nhầm nút cha. Công cụ này thụt lề lại tài liệu theo một độ rộng thống nhất, cho biết chỗ hỏng và cho thấy nó thực sự được đọc ra sao.
Cách dùng
- 1 Dán YAML vào ô và chọn độ rộng thụt lề — hai dấu cách là lựa chọn phổ biến.
- 2 Nhấn Định dạng để thụt lề lại, hoặc Kiểm tra để soát mà không đổi một ký tự nào.
- 3 Không chắc một giá trị được đọc đúng ý bạn? Nhấn Sang JSON và xem.
Tab không phải là thụt lề
Đặc tả YAML cấm ký tự tab trong thụt lề, và phần lớn trình phân tích sẽ từ chối thẳng tập tin. Thông báo lỗi của chúng hiếm khi hữu ích, vì dòng bị đổ lỗi thường là dòng sau vấn đề thật. Công cụ này chỉ đúng dòng có tab.
Chú thích của bạn được giữ lại
Nhiều công cụ định dạng phân tích tài liệu thành cây rồi in lại. Gọn gàng, nhưng xóa sạch mọi chú thích bạn viết — không dùng được cho docker-compose hay pipeline CI. Công cụ này chỉ viết lại khoảng trắng đầu dòng: chú thích, thứ tự khóa và kiểu dấu nháy giữ nguyên.
Vì sao NO thành false
Ở YAML 1.1, các từ trần yes, no, on và off là giá trị luận lý. Vì vậy một danh sách quốc gia có mã NO của Na Uy sẽ nạp thành false — lỗi nổi tiếng đến mức có hẳn một cái tên. YAML 1.2 bỏ quy tắc đó, và công cụ này theo 1.2: chỉ true, false và null là từ khóa. Muốn giá trị luận lý thì viết true hoặc false; muốn văn bản thì bạn đã có sẵn.
Anchor, alias và khối scalar
Anchor (&tên) đánh dấu một nút để alias (*tên) dùng lại về sau — tiện cho các định nghĩa dịch vụ lặp lại. Khối scalar (| và >) mang văn bản nhiều dòng: dấu sổ đứng giữ nguyên ngắt dòng, dấu ngoặc nhọn gập chúng thành khoảng trắng. Cả ba đều được hiểu ở đây, và thụt lề bên trong một khối scalar được coi là dữ liệu chứ không phải định dạng.