ESC
อินพุต YAML
เอาต์พุตที่จัดรูปแบบ

0

ขนาดอินพุต

0

ขนาดเอาต์พุต

0

บรรทัด

0

คีย์

ตัวอย่างการใช้งาน

Docker Compose

จัดรูปแบบไฟล์การกำหนดค่า Docker Compose ด้วยนิยามหลายบริการ วอลุ่ม และเครือข่าย

version: '3.8' services: web: image: nginx:alpine......
การกำหนดค่า Kubernetes

ตกแต่งมานิเฟสต์การปรับใช้ Kubernetes ด้วยข้อกำหนดพ็อดและขีดจำกัดทรัพยากร

apiVersion: apps/v1 kind: Deployment metadata: name: web-a...
ไปป์ไลน์ CI/CD

จัดรูปแบบไฟล์การกำหนดค่าไปป์ไลน์ CI/CD ของ GitHub Actions, GitLab CI หรืออื่นๆ

name: CI/CD Pipeline on: push: branches: - main....

คุณสมบัติ

การจัดรูปแบบ YAML

จัดรูปแบบ YAML ด้วยการเยื้องที่สม่ำเสมอและโครงสร้างที่สะอาด

การตรวจสอบ YAML

ตรวจสอบไวยากรณ์ YAML และตรวจจับข้อผิดพลาดเชิงโครงสร้างทันที

การปรับมาตรฐานการเยื้อง

ปรับมาตรฐานการเยื้องที่ผสมกันเป็น 2 หรือ 4 ช่องว่างที่สม่ำเสมอ

ประมวลผลฝั่งไคลเอนต์

การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์โดยไม่มีการสื่อสารกับเซิร์ฟเวอร์

วิธีใช้งาน?

1

ใส่ YAML

วางโค้ด YAML ในพื้นที่อินพุตหรือลองตัวอย่างที่มีให้

2

จัดรูปแบบหรือตรวจสอบ

คลิกจัดรูปแบบเพื่อตกแต่งด้วยการเยื้องที่สม่ำเสมอ หรือตรวจสอบเพื่อตรวจไวยากรณ์

3

ใช้ผลลัพธ์

คัดลอกผลลัพธ์ที่จัดรูปแบบไปยังคลิปบอร์ดหรือดาวน์โหลดเป็นไฟล์ YAML

คำถามที่พบบ่อย

YAML (YAML Ain't Markup Language) คือรูปแบบการจัดลำดับข้อมูลที่มนุษย์อ่านได้ง่าย โดยใช้การย่อหน้าเพื่อแสดงโครงสร้าง เป็นภาษาสำหรับการตั้งค่าที่เป็นที่นิยมสำหรับเครื่องมือ DevOps: ไฟล์ Docker Compose (docker-compose.yml), Kubernetes manifests (deployment.yaml, service.yaml), GitHub Actions workflows (.github/workflows/*.yml), GitLab CI (.gitlab-ci.yml), Ansible playbooks, Helm charts และไฟล์การตั้งค่าแอปพลิเคชันจำนวนมาก YAML ถูกออกแบบมาเพื่อให้มนุษย์แก้ไขได้ง่าย ต่างจาก XML หรือ JSON ที่อาจทำให้ลืมใส่เครื่องหมายวงเล็บได้ง่าย

YAML ใช้การย่อหน้า (spaces) เพื่อกำหนดโครงสร้างเอกสารและการซ้อนทับ — ไม่มีเครื่องหมายปีกกาหรือแท็กปิดเหมือนใน JSON หรือ XML ระดับการย่อหน้าขององค์ประกอบจะเป็นตัวกำหนดว่าเป็นบุตร (child) ขององค์ประกอบที่อยู่เหนือมันหรือเป็นพี่น้อง การเว้นวรรคเกินมาหนึ่งตำแหน่งหรือขาดไปเพียงตำแหน่งเดียวสามารถเปลี่ยนความหมายได้อย่างสิ้นเชิง: กุญแจ (key) ที่ควรจะเป็นคุณสมบัติย่อยของการนิยามบริการอาจกลายเป็นกุญแจระดับบนแทน โดยบ่อยครั้งไม่มีข้อความแจ้งเตือนข้อผิดพลาดจาก YAML parser นี่คือเหตุผลว่าทำไมข้อผิดพลาดใน YAML ถึงยากต่อการดีบั๊กอย่างยิ่ง — อาการ (การตั้งค่าที่ผิด) อาจอยู่ห่างไกลจากสาเหตุ (ช่องว่างที่หลงเหลืออยู่ในบรรทัดที่ 47)

ไม่ได้ ข้อกำหนดของ YAML ห้ามใช้ตัวอักษร tab สำหรับการย่อหน้าอย่างชัดเจน Tabs อนุญาตให้ใช้ภายในเครื่องหมายคำพูด (quoted strings) แต่ห้ามใช้ในการย่อหน้า หากตัวแก้ไขของคุณถูกตั้งค่าให้ใส่ tabs เมื่อกด Tab ให้เปลี่ยนเป็นใส่ spaces สำหรับไฟล์ YAML บั๊กที่เกี่ยวข้องกับ YAML จำนวนมากเกิดจาก tabs ที่มองไม่เห็นในไฟล์ที่ดูเหมือนจะย่อหน้าถูกต้อง เครื่องมือจัดรูปแบบนี้จะตรวจจับและปรับการย่อหน้าแบบ tab ให้เป็น spaces

เครื่องมือจัดรูปแบบนี้รองรับคุณสมบัติครบถ้วนของ YAML 1.2: scalar types (strings, integers, floats, booleans, null), block mappings (key: value), block sequences (- item), flow style (inline {} และ []), multiline strings (literal block | และ folded block >), comments (#), anchors (&anchor) และ aliases (*alias), multiple documents (--- separator), และ explicit type tags (!!str, !!int, ฯลฯ) โครงสร้างการย่อหน้าที่ซับซ้อน เช่น Kubernetes pods พร้อม volumes, env arrays และ resource limits จะถูกจัดรูปแบบอย่างถูกต้อง

คอมเมนต์จะได้รับการตรวจสอบระหว่างการ validate และ parsing ในระหว่างการจัดรูปแบบ เครื่องมือจะทำการ re-serialize โครงสร้างข้อมูลที่ถูก parse — เนื่องจาก YAML parser ส่วนใหญ่ไม่ได้แนบคอมเมนต์เข้ากับ data model คอมเมนต์อาจไม่ถูกเก็บรักษาไว้ทั้งหมดในผลลัพธ์ที่จัดรูปแบบแล้ว สำหรับจุดประสงค์ในการตรวจสอบ (เพื่อดูความถูกต้องของโครงสร้าง) คอมเมนต์จะได้รับการจัดการอย่างถูกต้อง หากการรักษาคอมเมนต์ไว้อย่างครบถ้วนเป็นเรื่องสำคัญ ให้คัดลอกเวอร์ชันที่จัดรูปแบบแล้วกลับไปยังตัวแก้ไขของคุณและเพิ่มคอมเมนต์ด้วยตนเองอีกครั้ง

ข้อผิดพลาดที่พบบ่อยที่สุดคือ: (1) การย่อหน้าที่ไม่สอดคล้องกัน — การผสมกันระหว่างการย่อหน้าแบบ 2-space และ 4-space หรือ tabs ผสมกับ spaces (2) กุญแจซ้ำใน mapping เดียวกัน (3) strings ที่ไม่ได้อยู่ในเครื่องหมายคำพูดซึ่ง YAML ตีความว่าเป็นค่าพิเศษ — "yes", "no", "true", "false", "null", "on", "off" ทั้งหมดจะถูกตีความว่าเป็น booleans หรือ null ใน YAML 1.1 (พบได้บ่อยใน Kubernetes configs รุ่นเก่า) (4) เครื่องหมายโคลอนโดยไม่มีช่องว่างในกุญแจที่ไม่มีเครื่องหมายคำพูด (5) การขาดช่องว่างหลังเครื่องหมายโคลอนในคู่ key: value (6) strings ที่ไม่มีเครื่องหมายคำพูดและมีตัวอักษรพิเศษของ YAML (: { } [ ] # &)

YAML เป็น superset ของ JSON — JSON ที่ถูกต้องจะถือเป็น YAML ที่ถูกต้องด้วย YAML เพิ่มคุณสมบัติที่เป็นมิตรต่อมนุษย์ซึ่ง JSON ไม่มี: คอมเมนต์, multiline strings, anchors/aliases สำหรับการใช้ค่าซ้ำ และเครื่องหมายน้อยลง (ไม่ต้องมีเครื่องมาตราระหว่างรายการใน array, ไม่ต้องมีเครื่องหมายคำพูดสำหรับค่า string แบบง่าย) JSON มีข้อดีสำหรับการสร้างข้อมูลด้วยเครื่องจักร: ไม่มีความอ่อนไหวต่อการย่อหน้า, ได้รับการรองรับโดยพื้นฐานจากทุกภาษา และไม่มีความกำกวม สำหรับไฟล์การตั้งค่าที่แก้ไขด้วยมือ YAML มักจะเป็นที่นิยมมากกว่า สำหรับการตอบกลับของ API และการจัดเก็บข้อมูล JSON เป็นตัวเลือกหลัก

ไม่ การจัดรูปแบบและการตรวจสอบทั้งหมดทำงานในเบราว์เซอร์ของคุณโดยใช้ JavaScript YAML parser ไฟล์การตั้งค่าของคุณ ซึ่งอาจมีตัวแปรสภาพแวดล้อม (environment variables), ข้อมูลยืนยันตัวตน และรายละเอียดโครงสร้างพื้นฐาน จะไม่มีวันออกจากอุปกรณ์ของคุณเลย

ตัวจัดรูปแบบ YAML คืออะไร?

เยื้องผิดตัวเดียวใน YAML แล้ว deploy ทั้งหมดพัง ไม่มีข้อความผิดพลาด แค่ไปป์ไลน์ที่ล้มเหลวอย่างเงียบๆ เครื่องมือนี้จับปัญหาก่อนที่มันจะเกิด วาง YAML ของคุณ จัดรูปแบบด้วยการเยื้องที่สม่ำเสมอ แล้วตรวจสอบโครงสร้าง ปรับมาตรฐานช่องว่างที่รกจากการ copy-paste และทำให้แน่ใจว่ามานิเฟสต์ Kubernetes, ไฟล์ Docker Compose และ config CI/CD ของคุณถูกต้องทางโครงสร้าง

ประโยชน์ของการใช้ตัวจัดรูปแบบ YAML

YAML ไวต่อช่องว่าง ซึ่งหมายความว่าการจัดรูปแบบคือไวยากรณ์ แท็บตรงที่ควรเป็นช่องว่าง หรือ 3 ช่องว่างแทน 2 แค่นี้ก็พังแล้ว ตัวจัดรูปแบบนี้ปรับมาตรฐานทั้งหมด ตรวจสอบก่อน push เพื่อจับปัญหาในเครื่องแทนที่จะรอไปป์ไลน์ล้มเหลว ทำงานในเบราว์เซอร์ ไฟล์ config ที่มี secret และ credential อยู่ในเครื่องคุณ

ความปลอดภัยและความเป็นส่วนตัว

ความปลอดภัยของข้อมูลของคุณคือความสำคัญอันดับแรกของเรา

การประมวลผลภายใน

การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ

ไม่มีการถ่ายโอนข้อมูล

ข้อมูลของคุณจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ของเรา

ไม่มีการจัดเก็บข้อมูล

ไม่มีข้อมูลถูกเก็บหรือแบ่งปัน

การเข้ารหัส SSL

การเข้ารหัส SSL สำหรับการเชื่อมต่อที่ปลอดภัย

ขั้นตอนถัดไป

อีกมากมายใน MoreOnlineTools