เครื่องมือนี้ทำอะไร
YAML อ่านง่ายจึงนิยมใช้กับไฟล์ตั้งค่า เช่น manifest ของ Kubernetes, workflow ของ GitHub Actions และ GitLab CI, Docker Compose, playbook ของ Ansible และเอกสาร OpenAPI แต่ก็พังง่ายเช่นกัน เยื้องผิดไปหนึ่งช่อง ใช้แท็บ ลืมปิดเครื่องหมายคำพูด หรือไม่มีช่องว่างหลังโคลอน ล้วนเปลี่ยนความหมายของไฟล์หรือทำให้โหลดไม่ได้
เครื่องมือนี้แยกวิเคราะห์ YAML ของคุณและรายงานทุกข้อผิดพลาดทางไวยากรณ์พร้อมบรรทัดและคอลัมน์ รวมถึงคำเตือน เช่น ไดเรกทีฟที่ไม่รู้จัก เมื่อ YAML ถูกต้อง จะแสดงจำนวนเอกสารและชนิดของค่ารากของแต่ละเอกสาร และแสดงสำเนาที่จัดรูปแบบใหม่อย่างเรียบร้อยด้วยการเยื้องที่สม่ำเสมอได้
วิธีใช้
- วาง YAML ลงในช่องป้อนข้อมูล อัปโหลดไฟล์
.yamlหรือ.ymlหรือกด ตัวอย่าง - ผลลัพธ์แสดงขณะพิมพ์: ป้ายสีเขียว YAML ถูกต้อง หรือรายการข้อผิดพลาด เช่น
บรรทัด 3 คอลัมน์ 2 - เปิด แสดง YAML ที่จัดรูปแบบแล้ว ไว้เพื่อรับสำเนาที่เรียบร้อย และเลือกเยื้อง 2 หรือ 4 ช่องว่าง คัดลอกด้วยปุ่มเหนือบล็อก
- ปิด ถือว่าคีย์ซ้ำเป็นข้อผิดพลาด เฉพาะเมื่อเครื่องมือของคุณอนุญาตให้คีย์ซ้ำได้
ข้อผิดพลาดที่พบบ่อย
server:
port: 8080
host: localhost # indented one space too far
tags: [web, api # missing closing bracket
- การเยื้องไม่สม่ำเสมอ: รายการในระดับเดียวกันต้องเริ่มที่คอลัมน์เดียวกัน YAML ไม่อนุญาตให้ใช้แท็บในการเยื้อง
- ไม่มีช่องว่างหลังโคลอน:
key:valueเป็นสตริงธรรมดา ไม่ใช่คีย์และค่า - อักขระพิเศษไม่มีเครื่องหมายคำพูด: ค่าที่ขึ้นต้นด้วย
*,&,!,%,@หรือ backtick หรือมี:หรือ#ต้องใส่เครื่องหมายคำพูด - ชนิดข้อมูลที่ไม่คาดคิด:
yes,no,onและoffเป็นสตริงใน YAML 1.2 แต่เป็นบูลีนในตัวแยกวิเคราะห์ YAML 1.1 รุ่นเก่า ใส่เครื่องหมายคำพูดไว้เพื่อความปลอดภัย หมายเลขเวอร์ชันอย่าง1.10จะกลายเป็นตัวเลข 1.1 หากไม่ใส่เครื่องหมายคำพูด
ตรวจสอบโครงสร้าง
เครื่องมือนี้ตรวจไวยากรณ์ คือดูว่าข้อความเป็น YAML ที่ถูกรูปแบบหรือไม่ หากต้องการตรวจว่าไฟล์มีคีย์และชนิดค่าที่ถูกต้อง ให้แปลงด้วยเครื่องมือ YAML เป็น JSON แล้วตรวจผลลัพธ์ด้วยเครื่องมือตรวจสอบ JSON Schema
คำถามที่พบบ่อย
› ตรวจสอบตาม YAML เวอร์ชันใด?
YAML 1.2 ซึ่งเป็นเวอร์ชันปัจจุบันที่เครื่องมือสมัยใหม่ส่วนใหญ่ใช้ ข้อมูลที่มีหลายเอกสารคั่นด้วย --- จะถูกตรวจทีละเอกสาร
› ทำไมคีย์ซ้ำจึงถูกรายงานเป็นข้อผิดพลาด?
ข้อกำหนด YAML กำหนดให้คีย์ในแมปปิงต้องไม่ซ้ำกัน แต่ตัวแยกวิเคราะห์จำนวนมากเก็บไว้เฉพาะค่าสุดท้ายโดยไม่แจ้ง ทำให้ข้อผิดพลาดถูกซ่อน หากเครื่องมือของคุณยอมรับคีย์ซ้ำโดยตั้งใจ ให้ปิด ถือว่าคีย์ซ้ำเป็นข้อผิดพลาด
› การจัดรูปแบบเก็บคอมเมนต์ไว้หรือไม่?
เก็บไว้ คอมเมนต์ ลำดับคีย์ แองเคอร์ และสตริงที่มีเครื่องหมายคำพูดจะคงเดิม มีเพียงการเยื้องและช่องว่างที่ถูกปรับให้สม่ำเสมอ สตริงยาวจะไม่ถูกตัดขึ้นบรรทัดใหม่
› YAML ของฉันถูกอัปโหลดไปที่ใดหรือไม่?
ไม่ การแยกวิเคราะห์ทำในเบราว์เซอร์ ไฟล์ตั้งค่าที่มีข้อมูลลับจึงไม่ออกจากคอมพิวเตอร์ของคุณ