Định dạng YAML

Công cụ định dạng và làm đẹp YAML online miễn phí. Format, làm đẹp và nén code YAML với tô sáng cú pháp. Hoàn hảo cho lập trình viên làm việc với file cấu hình YAML và cấu trúc dữ liệu.

Định dạng YAML - Format và Làm đẹp YAML Online

Công cụ định dạng và làm đẹp YAML online mạnh mẽ giúp bạn format, làm đẹp và nén code YAML. Có tính năng tô sáng cú pháp và tùy chỉnh thụt lề. Hoàn hảo cho lập trình viên, kỹ sư DevOps và bất kỳ ai làm việc với file cấu hình YAML.

YAML là gì?

YAML (YAML Ain't Markup Language) là ngôn ngữ tuần tự hóa dữ liệu dễ đọc đối với con người. Nó thường được sử dụng cho:

- File cấu hình (Docker, Kubernetes, CI/CD)
- Trao đổi dữ liệu giữa các ngôn ngữ lập trình
- Cài đặt và preferences ứng dụng
- Infrastructure as Code (Ansible, Terraform)
- Đặc tả API (OpenAPI/Swagger)
- Static site generator (Jekyll, Hugo)

YAML được thiết kế để dễ đọc và viết. Nó sử dụng thụt lề (khoảng trắng, không phải tab) để biểu diễn cấu trúc và hỗ trợ:
- Cặp key-value
- Danh sách (mảng)
- Cấu trúc lồng nhau
- Nhiều kiểu dữ liệu (chuỗi, số, boolean)
- Comment với #
- Chuỗi nhiều dòng

Công cụ định dạng YAML này làm gì?

Công cụ này cung cấp hai chức năng chính:

1. Định dạng (Làm đẹp): Lấy YAML được định dạng kém và làm cho nó dễ đọc với thụt lề và khoảng cách phù hợp. Bạn có thể chọn kích thước thụt lề (2, 4 hoặc 8 khoảng trắng) và tùy chọn giữ nguyên hoặc xóa comment.

2. Nén: Loại bỏ khoảng trắng không cần thiết và dòng trống để tạo file YAML gọn hơn. Tùy chọn xóa comment. Hữu ích để giảm kích thước file trong khi vẫn duy trì tính dễ đọc.

Lưu ý: YAML dựa vào thụt lề cho cấu trúc, vì vậy việc nén có giới hạn. Không giống như JSON hoặc XML, bạn không thể xóa tất cả khoảng trắng. Công cụ này tối ưu hóa YAML trong khi vẫn giữ nó hợp lệ.

Cả hai chức năng đều bao gồm tô sáng cú pháp cho key, value, comment và ký tự đặc biệt.

Làm thế nào để định dạng YAML?

Định dạng YAML rất đơn giản:

1. Dán hoặc gõ code YAML của bạn vào trường nhập
2. Chọn kích thước thụt lề ưa thích (2, 4 hoặc 8 khoảng trắng)
3. Tùy chọn chọn/bỏ chọn 'Giữ nguyên comment'
4. Nhấp vào nút 'Định dạng'
5. Xem YAML được định dạng đẹp mắt trong phần kết quả

YAML được định dạng sẽ có:
- Thụt lề nhất quán trong toàn bộ
- Khoảng cách phù hợp để dễ đọc
- Tô sáng cú pháp cho key, value và comment
- Cấu trúc dễ đọc

Lưu ý: YAML sử dụng khoảng trắng để thụt lề, không bao giờ tab. Công cụ định dạng này tự động sử dụng khoảng trắng.

Tại sao thụt lề YAML quan trọng?

Trong YAML, thụt lề không chỉ để dễ đọc - nó định nghĩa cấu trúc và lồng nhau của dữ liệu:

Thụt lề đúng:
parent:
child1: value1
child2: value2

Thụt lề sai (lỗi cú pháp):
parent:
child1: value1
child2: value2

Quy tắc chính:
- Chỉ sử dụng khoảng trắng, không bao giờ tab
- Phải nhất quán (sử dụng cùng kích thước thụt lề trong toàn bộ)
- Phần tử con phải được thụt lề nhiều hơn phần tử cha
- Các item ở cùng cấp độ phải có thụt lề giống nhau

Trộn lẫn tab và khoảng trắng hoặc thụt lề không nhất quán sẽ gây lỗi phân tích. Công cụ định dạng này đảm bảo khoảng cách nhất quán trong toàn bộ YAML của bạn.

'Giữ nguyên comment' có nghĩa là gì?

Tùy chọn 'Giữ nguyên comment' điều khiển việc comment YAML được giữ lại hay xóa bỏ:

Với giữ nguyên comment (đã chọn):
# Cấu hình database
db:
host: localhost # Địa chỉ server
port: 5432

Không giữ nguyên comment (bỏ chọn):
db:
host: localhost
port: 5432

Khi nào giữ nguyên:
- Trong quá trình phát triển và gỡ lỗi
- Khi comment chứa tài liệu quan trọng
- Đối với file cấu hình cần giải thích

Khi nào xóa bỏ:
- Để giảm kích thước file một chút
- Để có output sạch hơn
- Khi comment là ghi chú tạm thời

Lưu ý: Comment YAML bắt đầu bằng # và tiếp tục đến cuối dòng.

YAML vs JSON - nên dùng cái nào?

YAML và JSON phục vụ mục đích tương tự nhưng có điểm mạnh khác nhau:

Ưu điểm YAML:
- Dễ đọc và viết hơn đối với con người
- Hỗ trợ comment
- Ít verbose hơn (không cần dấu ngoặc kép, ngoặc nhọn, dấu phẩy)
- Tốt hơn cho file cấu hình
- Hỗ trợ kiểu dữ liệu phức tạp
- Chuỗi nhiều dòng dễ dàng hơn

Ưu điểm JSON:
- Cú pháp đơn giản hơn (dễ phân tích hơn)
- Hỗ trợ browser/JavaScript tốt hơn
- Phân tích nhanh hơn
- Quy tắc nghiêm ngặt hơn (ít mơ hồ)
- Tốt hơn cho API và trao đổi dữ liệu
- Kích thước file nhỏ hơn khi được nén

Sử dụng YAML cho:
- File cấu hình (Docker, Kubernetes, CI/CD)
- File được chỉnh sửa bằng tay
- Tài liệu cần comment

Sử dụng JSON cho:
- Phản hồi và yêu cầu API
- Ứng dụng JavaScript
- Dữ liệu hiếm khi được chỉnh sửa thủ công
- Khi hiệu suất phân tích quan trọng

Các lỗi YAML phổ biến và cách tránh

Các vấn đề cú pháp YAML phổ biến:

1. Sử dụng tab thay vì khoảng trắng:
Sai: [tab]key: value
Đúng: [2 khoảng trắng]key: value

2. Thụt lề không nhất quán:
Sai:
parent:
child1: value
child2: value
Đúng:
parent:
child1: value
child2: value

3. Thiếu khoảng trắng sau dấu hai chấm:
Sai: key:value
Đúng: key: value

4. Cú pháp danh sách sai:
Sai:
items:
- item1
- item2
Đúng:
items:
- item1
- item2

5. Chuỗi đặc biệt không có dấu ngoặc kép:
Sai: value: yes # Được phân tích là boolean
Đúng: value: "yes" # Được phân tích là chuỗi

Công cụ định dạng này giúp bạn duy trì thụt lề nhất quán và cấu trúc YAML phù hợp.

Dữ liệu YAML của tôi có an toàn không?

Có, dữ liệu của bạn hoàn toàn an toàn và riêng tư. Công cụ này:

- Xử lý tất cả YAML hoàn toàn trong trình duyệt của bạn
- Không gửi bất kỳ dữ liệu nào đến máy chủ của chúng tôi
- Không lưu trữ hoặc ghi nhật ký bất kỳ YAML nào của bạn
- Hoạt động offline sau khi trang được tải
- Không sử dụng bất kỳ dịch vụ bên ngoài nào

Bạn thậm chí có thể ngắt kết nối internet sau khi tải trang và công cụ vẫn sẽ hoạt động hoàn hảo. Dữ liệu YAML của bạn không bao giờ rời khỏi máy tính của bạn. Điều này làm cho nó an toàn để định dạng các file cấu hình nhạy cảm.

Tính năng chính

  • Định dạng YAML với thụt lề tùy chỉnh (2, 4 hoặc 8 khoảng trắng)
  • Nén YAML để giảm kích thước file
  • Tùy chọn giữ nguyên hoặc xóa comment
  • Tô sáng cú pháp cho key, value, boolean, number và comment
  • Thống kê thời gian thực (ký tự, dòng, kích thước)
  • Sao chép YAML đã định dạng vào clipboard
  • Tải xuống YAML đã định dạng dưới dạng file .yaml
  • Tải lên file YAML để định dạng
  • Hỗ trợ chế độ tối
  • Không giới hạn kích thước file
  • Xử lý 100% phía client - dữ liệu của bạn không bao giờ rời khỏi trình duyệt
  • Hoạt động offline sau khi tải lần đầu
  • Thiết kế responsive thân thiện với mobile
  • Đảm bảo thụt lề chỉ bằng khoảng trắng (không có tab)