ตัวจัดรูปแบบ YAML

วาง YAML ได้สูงสุด 1,000,000 อักขระ และไม่เกิน 100 เอกสาร การจัดรูปแบบเกิดขึ้นในเบราว์เซอร์นี้

YAML ผ่อนปรนกับไวยากรณ์แต่ไม่ปรานีเรื่องการเยื้อง แค่เว้นวรรคพลาดไปหนึ่งช่องก็อาจเปลี่ยนคีย์ให้กลายเป็นรายการในลิสต์อย่างเงียบ ๆ และการเยื้องที่ปะปนกันทำให้การรีวิวโค้ดทรมาน ตัวจัดรูปแบบนี้แยกวิเคราะห์ข้อมูลของคุณด้วยเอนจิน js-yaml (สคีมา core ของ YAML 1.2) ในเบราว์เซอร์โดยตรง แล้วเขียนออกมาใหม่ด้วยการเยื้อง สไตล์คอลเลกชัน เครื่องหมายคำพูด ลำดับคีย์ และความกว้างบรรทัดที่คุณเลือก เพื่อให้ไฟล์คอนฟิกได้ diff ที่สะอาดในระบบควบคุมเวอร์ชันและอ่านง่ายสำหรับทุกคนในทีม

วิธีจัดรูปแบบ YAML

  1. 1

    วาง YAML

    รองรับสูงสุด 1,000,000 อักขระ และสูงสุด 100 เอกสารในสตรีมเดียว ไม่มีการอัปโหลดใด ๆ: การแยกวิเคราะห์ทำงานในเบราว์เซอร์ของคุณ

  2. 2

    เลือกตัวเลือก

    ความกว้างการเยื้อง สไตล์บล็อกหรือโฟลว์ เครื่องหมายคำพูด การเรียงคีย์ และความกว้างบรรทัด

  3. 3

    จัดรูปแบบ

    เครื่องมือจะประกอบเอกสารแต่ละฉบับขึ้นใหม่ด้วยการเว้นวรรคมาตรฐานและสไตล์ที่คุณเลือก

  4. 4

    คัดลอกแล้วคอมมิต

    ผลลัพธ์คือ YAML ที่โครงสร้างเหมือนเดิมทุกประการ พร้อมวางกลับเข้าไฟล์คอนฟิกของคุณ

ก่อนและหลัง

อินพุตรกรุงรัง:

server:
  port:   8080
  hosts: ["api.example.com",  "api2.example.com"]
  timeout:  30
  debug: true

จัดรูปแบบแล้ว (เว้นวรรค 2 ช่อง, สไตล์บล็อก):

server:
  port: 8080
  hosts:
    - api.example.com
    - api2.example.com
  timeout: 30
  debug: true

ตัวเลือกการจัดรูปแบบ

ตัวเลือก ค่า ค่าเริ่มต้น
ความกว้างการเยื้อง 2, 4 2
สไตล์คอลเลกชัน บล็อก, โฟลว์ บล็อก
เครื่องหมายคำพูด น้อยที่สุด, คู่, เดี่ยว น้อยที่สุด
การเรียงคีย์ ลำดับเดิม, ตามตัวอักษร ลำดับเดิม
ความกว้างบรรทัด 80, 120, ไม่จำกัด 120

กฎของเครื่องหมายคำพูด

แบบน้อยที่สุดมักเป็นสิ่งที่คุณต้องการ: สตริงจะไม่มีเครื่องหมายคำพูด เว้นแต่การปล่อยไว้เปล่า ๆ จะไม่ปลอดภัย ตัวจัดรูปแบบจะเติมเครื่องหมายคำพูดให้อัตโนมัติสำหรับ:

  • บูลีนแบบเก่าที่เป็นสตริง: yes, no, on, off, y, n ทั้งนี้ YAML 1.2 อ่านค่าเหล่านี้เป็นสตริงอยู่แล้ว แต่พาร์เซอร์จำนวนมากยังยึด YAML 1.1 ซึ่ง no ที่ไม่มีเครื่องหมายคำพูดจะกลายเป็น false ตัวจัดรูปแบบจะใส่เครื่องหมายคำพูดให้เสมอในผลลัพธ์ บั๊กนอร์เวย์อันโด่งดัง (NO ในรายชื่อประเทศถูกอ่านเป็น false) จึงกัดคนที่ใช้ไฟล์ของคุณไม่ได้
  • ตัวเลขที่เป็นสตริง: '007', '3.14' หากไม่มีเครื่องหมายคำพูดจะถูกแยกวิเคราะห์เป็นจำนวนเต็มหรือทศนิยม
  • สตริงที่มีอักขระอย่าง :, #, [, { หรือขึ้นต้นด้วยช่องว่าง ซึ่งถ้าปล่อยเปล่า ๆ โครงสร้างจะเปลี่ยน

การทำความสะอาดที่ได้ทุกครั้งที่รัน

  • ช่องว่างท้ายบรรทัด ถูกลบออก
  • การเยื้องที่ปะปนหรือไม่สม่ำเสมอ ถูกปรับให้เท่ากับความกว้างการเยื้องที่คุณเลือก
  • บรรทัดว่างภายในคอลเลกชัน ถูกลบออก
  • แท็บในการเยื้อง YAML ห้ามใช้แท็บ พาร์เซอร์จะปฏิเสธอินพุตพร้อมข้อความผิดพลาดที่ชี้บรรทัดให้ชัดเจน คุณจะได้แก้ไขแทนที่จะส่งไฟล์ที่พาร์เซอร์อื่นไม่ยอมรับ

คอมเมนต์ แองเคอร์ และคีย์ผสาน

การจัดรูปแบบทำให้โมเดลเอกสารเป็นมาตรฐาน ซึ่งมีข้อจำกัดที่ควรรู้ก่อนคอมมิต:

  • คอมเมนต์ถูกลบออก พาร์เซอร์แปลงเอกสารให้เป็นข้อมูล คอมเมนต์ # จึงไม่รอดจากการจัดรูปแบบ เก็บสำเนาไว้หากคอมเมนต์ของคุณสำคัญ
  • แองเคอร์และเอเลียสถูกแทนค่า โหนดที่แชร์ผ่านเอเลียสยังแชร์กันอยู่ แต่จะถูกเขียนออกมาใหม่ด้วยชื่อที่สร้างขึ้นอย่าง &ref_0 ชื่อแองเคอร์เดิมจะไม่ถูกเก็บไว้
  • คีย์ผสาน (<<:) ถูกแทนค่า ให้เป็นแมปปิงธรรมดาที่มีค่าผสานอยู่ในตำแหน่ง

สตรีมหลายเอกสาร

รองรับสตรีมที่มีหลายเอกสาร: แต่ละเอกสารถูกจัดรูปแบบแยกกันแล้วต่อกลับเข้าด้วยกันด้วยตัวคั่น --- สูงสุด 100 เอกสารต่อการรันหนึ่งครั้ง

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

โครงสร้างและค่ายังเหมือนเดิมทุกประการ: สิ่งที่เปลี่ยนมีแค่การนำเสนอ (การเยื้อง เครื่องหมายคำพูด โฟลว์หรือบล็อก และลำดับคีย์หากเปิดการเรียง) มีสองอย่างที่ตั้งใจไม่เก็บไว้: คอมเมนต์ถูกลบ และชื่อแองเคอร์ถูกสร้างขึ้นใหม่

เมื่อสตริงเปล่า ๆ จะถูกแยกวิเคราะห์เป็นอย่างอื่น จำเป็นต้องมีเครื่องหมายคำพูดเพื่อความปลอดภัย กรณีที่พบบ่อย: คีย์หรือค่าที่เป็นตัวเลขล้วน สตริงที่มี : หรือ # และบูลีนแบบเก่าอย่าง yes กับ no ที่พาร์เซอร์ YAML 1.1 จะอ่านเป็น true/false

ไม่ได้ ตัวเลือกสไตล์มีผลทั้งเอกสาร: บล็อกจะกางทุกคอลเลกชันออกเป็นบรรทัดของตัวเอง ส่วนโฟลว์จะเขียนคอลเลกชันแบบอินไลน์ หากต้องการเปรียบเทียบ ให้จัดรูปแบบสองครั้งด้วยตัวเลือกต่างกัน

ไม่ การแยกวิเคราะห์และการจัดรูปแบบทำงานในเบราว์เซอร์ของคุณด้วยเอนจิน js-yaml ที่มาพร้อมเครื่องมือ YAML ของคุณไม่ผ่านเซิร์ฟเวอร์ ไม่ถูกเก็บ และไม่ถูกเพิ่มเข้าไปในที่อยู่ของหน้าเว็บ มันอยู่แค่ในเซสชันเบราว์เซอร์นี้เพื่อให้มุมมองหลายขั้นตอนแสดงผลลัพธ์ของคุณได้

เครื่องมือที่เกี่ยวข้อง

ตัวสร้างการตั้งค่า Webpack

สร้าง webpack.config.js สำหรับ webpack 5 ทั้งแบบ JavaScript ล้วน React หรือ Vue พร้อม TypeScript, Babel, CSS หรือ Sass, รูปภาพ, HtmlWebpackPlugin, เซิร์ฟเวอร์สำหรับพัฒนา และคำสั่ง npm install

เครื่องแปลงฐานตัวเลข

แปลงตัวเลขระหว่างฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก และฐานกำหนดเองตั้งแต่ 2 ถึง 36 พร้อมการแยกค่าประจำหลัก

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

เครื่องสุ่มที่อยู่

สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ

ตัวแปลง Timestamp

แปลง timestamp ของ Unix ในหน่วยวินาทีหรือมิลลิวินาทีเป็นวันที่ที่อ่านง่ายในเขตเวลา UTC และเขตเวลาหลัก และแปลงวันที่กลับเป็นค่า epoch

ตัวตรวจสอบ OpenAPI

วางเอกสาร OpenAPI หรือ Swagger แบบ JSON หรือ YAML แล้วตรวจโครงสร้างหลัก: ฟิลด์เวอร์ชัน ออบเจกต์ info และ paths พร้อมข้อผิดพลาดและคำเตือนที่ชัดเจน

เครื่องมือนี้มีให้บริการในภาษาอื่น