Markdown Table Formatter: จัดตาราง Markdown ที่รกให้เรียงสวยในไม่กี่วินาที
ใช้ Markdown Table Formatter ฟรีเพื่อจัดคอลัมน์ตาราง Markdown ให้เรียงตรงกันด้วยช่องว่างที่สม่ำเสมอ รักษา alignment marker และเก็บกวาดตารางที่รกได้ทันทีในเบราว์เซอร์
Table of Contents
นักพัฒนาและ technical writer หลายคนคงคุ้นเคยกับฉากนี้ดี: วางตารางลงใน README แล้ว pipe กระจัดกระจายไปตามตำแหน่งสุ่ม ๆ บนหน้าจอ คอลัมน์ไม่ยอมเรียงตรงกัน บาง cell เว้นวรรคสามช่อง บาง cell ไม่เว้นเลย และครึ่งหนึ่งของแถวก็หายไปเสีย pipe ด้านหน้า เครื่องมือ Markdown Table Formatter จาก Online Tools Forge จัดการปัญหาเหล่านี้ให้เรียบร้อยในคลิกเดียว
สิ่งที่ควรรู้เกี่ยวกับ Markdown table คือ renderer ไม่สนใจเลยว่าซอร์สของคุณจะรกแค่ไหน |Name|Role|Team| ให้ผลลัพธ์ HTML เหมือนกันเป๊ะกับตารางที่เติมช่องว่างอย่างประณีต แต่ซอร์สดิบไม่ได้เขียนไว้สำหรับเครื่องเพียงอย่างเดียว ยังมีเพื่อนร่วมทีม ผู้ทำ code review ผู้ดูแลเอกสาร และตัวคุณเองในอีกหกเดือนข้างหน้าที่ต้องเปิดอ่านมัน ตารางที่รกทำให้ทั้งหมดนั้นยากขึ้น
ในบทความนี้เราจะพาไปดูว่าเครื่องมือนี้ทำอะไรได้บ้าง วิธีใช้งานทีละขั้นตอน เหตุผลที่การจัดคอลัมน์ (column alignment) สำคัญกว่าที่หลายคนคิด และเครื่องมือ formatter เข้าไปอยู่ตรงไหนใน workflow การทำเอกสารจริง ไม่ว่าคุณจะดูแล README ของ open source project เขียนเอกสารประกอบ API หรือเก็บกวาด runbook ของทีม ทักษะชุดนี้ใช้ได้กับทุกงาน
ทำไมต้องใช้ Markdown Table Formatter?
การจัดตารางด้วยมือหมายความว่าต้องนับตัวอักษรในหัวทุกครั้งที่เขียนแต่ละแถว ซึ่งทั้งช้า น่าเบื่อ และผิดพลาดง่าย formatter ทำสิ่งเหล่านี้ให้ทั้งหมด:
- Diff อ่านง่ายขึ้นด้วย pipe ที่เรียงตรงกัน เมื่อ pipe ทุกตัวอยู่คอลัมน์เดียวกัน git diff ของเอกสารจะแสดงเฉพาะ cell ที่คุณแก้จริง ๆ แทนที่ทุกแถวในตารางจะขยับไปมา ตารางที่เรียงตรงทำให้ pull request อ่านง่ายขึ้นอย่างเห็นได้ชัด
- ความกว้างคอลัมน์สม่ำเสมอ ทุก cell ถูก pad ให้กว้างเท่ากับ cell ที่กว้างที่สุดในคอลัมน์นั้น ทำให้ซอร์สอ่านเหมือน grid ที่เรียบร้อย ไม่ใช่บันไดที่เอียงไปมา และเมื่อตารางยาวขึ้น ความสม่ำเสมอนี้ก็ยังช่วยให้ไล่อ่านแต่ละคอลัมน์ได้ไม่หลง
- รักษา alignment marker marker จัดกึ่งกลางและชิดขวาอย่าง :---:, :--- และ ---: จะถูกตรวจจับ เก็บไว้ และจัดให้เป็นมาตรฐาน ตารางที่ render แล้วจึงหน้าตาเหมือนเดิมหลังจัดฟอร์แมตทุกประการ ไม่ว่าคอลัมน์นั้นจะชิดซ้าย ชิดขวา หรืออยู่กึ่งกลาง
- เก็บกวาดช่องว่างภายใน cell วรรคที่หลงเหลือจะถูก trim ออก | John | กับ |John | จะไม่ต้องดูเหมือนเป็นสองสิ่งที่ต่างกันอีกต่อไป รวมถึงวรรคที่ติดมากับข้อมูลตอนคัดลอกจากที่อื่นด้วย
- ซ่อม outer pipe ที่หายไป ตารางที่วางมาจากเครื่องมืออื่นมักทิ้ง pipe หัวและท้ายไว้ formatter รับสถานการณ์แบบนี้ได้และคืน pipe ให้ครบถ้วน
- ทำงานในเบราว์เซอร์ทั้งหมด ไม่ต้องอัปโหลด ไม่ต้องสมัครสมาชิก ไม่ต้องติดตั้งอะไรเลย วาง จัดฟอร์แมต แล้วคัดลอก เหมาะกับข้อมูลที่ห้ามออกนอกเครื่องด้วย
ฟีเจอร์หลัก
เครื่องมือนี้ทำงานเดียวแต่ทำอย่างละเอียด นี่คือสิ่งที่จะเกิดขึ้นกับตารางของคุณเมื่อวางลงไป:
| ฟีเจอร์ | ทำอะไรได้บ้าง |
|---|---|
| จัดคอลัมน์ใหม่ | pad ทุก cell ให้กว้างเท่า cell ที่กว้างที่สุดในคอลัมน์เดียวกัน เพื่อให้ pipe เรียงแนวตั้งตรงกัน |
| Alignment marker | รักษาและจัดรูปแบบ :---:, :--- และ ---: ในแถว separator ให้เป็นมาตรฐาน |
| ตัดช่องว่าง | ลบวรรคหน้าและหลังที่หลงเหลืออยู่ในทุก cell |
| ซ่อม outer pipe | รับตารางที่ไม่มี pipe หัวหรือท้าย แล้วสร้างกลับมาให้ครบ |
| คัดลอกคลิกเดียว | ส่งผลลัพธ์ที่จัดแล้วเข้า clipboard ของคุณทันที |
| ทำงานฝั่ง client | parsing และ formatting ทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณเอง |
- ตรรกะการ pad ตั้งใจให้เรียบง่าย: แต่ละคอลัมน์กว้างเท่า cell ที่กว้างที่สุด โดยเว้นวรรคคั่นด้านละหนึ่งช่อง ซึ่งเป็นแบบแผนเดียวกับที่ editor และ style guide ส่วนใหญ่ใช้ ตารางจึงดูคุ้นตาทันทีสำหรับทุกคนในทีม
- เพราะ alignment marker รอดจากการจัดฟอร์แมต คุณจึงรันเครื่องมือกับตารางที่มีคอลัมน์ตัวเลขแบบชิดขวาหรือคอลัมน์หัวข้อแบบกึ่งกลางได้ โดยไม่มีอะไรพังเลย
- ทุกอย่างทำงานในเบราว์เซอร์ ไม่มีการอัปโหลดใด ๆ คุณจึงจัดฟอร์แมตตารางที่มีข้อมูลภายในองค์กรหรือข้อมูลที่ยังไม่เปิดเผยได้อย่างปลอดภัย
วิธีใช้งาน Markdown Table Formatter
workflow ทั้งหมดใช้เวลาไม่ถึงหนึ่งนาที โดยไม่ต้องติดตั้งหรือตั้งค่าอะไรก่อน:
- วางตารางที่รก เปิด Markdown Table Formatter แล้ววางตารางตามที่มันเป็น pipe ไม่เท่ากัน ช่องว่างสุ่ม ๆ outer pipe หายไป ทั้งหมดนั้นยังใช้ได้สบาย
- จัดฟอร์แมตตาราง formatter อ่านแต่ละแถว วัดความกว้างของทุกคอลัมน์ แล้วเขียนตารางใหม่ด้วยการ pad ที่สม่ำเสมอ โดยคงเนื้อหาของทุก cell ไว้เหมือนเดิม
- ตรวจ alignment marker กวาดสายตาดูแถว separator เพื่อยืนยันว่าการจัดวางที่ต้องการยังอยู่ครบ :---: สำหรับคอลัมน์กึ่งกลาง :--- สำหรับชิดซ้าย และ ---: สำหรับชิดขวา
- คัดลอกผลลัพธ์ คลิกเดียวก็คัดลอกตารางที่เรียงแล้วเข้า clipboard พร้อมนำไปใช้ทันที
- นำตารางกลับไปแทนที่ในเอกสาร วางกลับเข้า README หรือเอกสารของคุณ commit แล้วเพลิดเพลินกับ diff ที่สะอาดตา
ทำไมการจัดคอลัมน์จึงสำคัญ
นี่คือส่วนที่หลายคนประเมินต่ำไป เรามาลงลึกทีละประเด็นกัน
Markdown แสดงผลเหมือนกันไม่ว่า padding จะเป็นอย่างไร parser ที่อ่าน |A|B| ให้ตารางที่เหมือนกันเป๊ะกับตารางที่ pad อย่างสวยงาม ช่องว่างเกิน ๆ ไม่มีความหมายอะไรต่อเครื่องเลย ถ้าการแสดงผลเป็นเรื่องเดียวที่สำคัญ การจัดคอลัมน์ก็ไม่มีผลอะไรเลย
แต่มนุษย์และ diff ไม่เฉยเมย ซอร์สที่ไม่ pad คือสิ่งที่เพื่อนร่วมทีมเห็นใน pull request สิ่งที่ปรากฏใน git diff และสิ่งที่คุณเลื่อนอ่านใน editor ที่ไม่ได้เปิด preview เมื่อ pipe เรียงแนวตั้งตรงกัน สายตาคุณไล่ลงตามคอลัมน์ได้ทันที เมื่อไม่ตรงกัน ทุกแถวกลายเป็นปริศนาเล็ก ๆ ที่ต้องไล่อ่านทีละตัวอักษร ยิ่งไปกว่านั้น เมื่อมีคนแก้ cell เดียวในตารางที่เอียง git อาจรายงานว่าทุกแถวเปลี่ยนไป เพราะตำแหน่ง pipe ขยับหมด ทำให้การเปลี่ยนแปลงที่สำคัญจมอยู่ในกอง noise นี่คือเหตุผลที่ทีมที่จริงจังกับเอกสารมักมีกติกาเรื่องตารางเป็นของตัวเอง
แบบแผนการ pad คอลัมน์ แบบแผนที่ยอมรับกันทั่วไปคือ pad แต่ละคอลัมน์ให้กว้างเท่า cell ที่กว้างที่สุด โดยเว้นวรรคหนึ่งช่องระหว่าง pipe กับเนื้อหาทั้งสองด้าน วิธีนี้ทำให้ตารางกระชับแต่ยังอ่านได้สบาย และเป็นสิ่งที่ formatter ผลิตออกมาพอดี เพราะ header มักเป็นแถวที่กว้างที่สุดหรือใกล้เคียง ตารางจึงคงรูปได้ดีแม้มีการเพิ่มแถวใหม่เข้ามาเรื่อย ๆ
ความหมายของ alignment marker แถว separator เป็นตัวกำหนดการจัดวางตอน render: --- หรือ :--- ชิดซ้าย (ซ้ายคือค่าเริ่มต้น) :---: กึ่งกลาง และ ---: ชิดขวา การชิดขวาเหมาะกับคอลัมน์ตัวเลขเป็นพิเศษ เพราะตัวเลขจะเรียงตรงกันตามหลักหน่วย สิบ ร้อย พัน ทำให้เทียบค่ากันได้เร็ว marker เหล่านี้เป็นอิสระจาก padding โดยสิ้นเชิง คอลัมน์กึ่งกลาง pad ได้เท่ากับคอลัมน์ชิดซ้ายพอดี การจัดฟอร์แมตจึงไม่จำเป็นต้องเสียสละการจัดวางเลย
outer pipe ที่หายไปยังถือว่าถูกต้อง Markdown แบบ GitHub-Flavored ไม่บังคับให้มี pipe หัวและท้าย A | B บรรทัดเดียวก็ parse เป็นแถวตารางได้ แต่ถูกต้องไม่ได้แปลว่าอ่านสบายตา ทีมส่วนใหญ่จึงมาตรฐานให้ใส่ outer pipe ไว้เพื่อความสมมาตร และ formatter จะจัดตารางของคุณให้เข้ากับสไตล์นั้นโดยอัตโนมัติ
กรณีการใช้งานจริง
เก็บงานตารางใน README ก่อนเปิด pull request
ตารางใน README ถูกแก้ไขโดยหลายมือและเละเร็วมาก ก่อนเปิด pull request ให้รันตารางผ่าน formatter เสียก่อน เพื่อให้ reviewer เห็น grid ที่เรียงเรียบร้อยและ diff ที่แสดงเฉพาะการเปลี่ยนแปลงจริง ๆ ไม่ใช่การขยับของช่องว่างที่ไร้ความหมาย นั่นแปลว่าเวลาของ reviewer ถูกใช้ไปกับสาระแทนที่จะเป็นรูปเล่น
ทำให้เอกสารของทีมเป็นมาตรฐานเดียวกัน
เมื่อห้าคนเขียนเอกสารร่วมกัน คุณจะได้สไตล์การเว้นวรรคห้าแบบที่ต่างกัน เลือกผลลัพธ์ของ formatter เป็นมาตรฐานของทีม แล้วค่อย ๆ จัดฟอร์แมตตารางเดิมทุกครั้งที่แตะต้องมัน ตารางที่สม่ำเสมอทำให้เอกสารร่วมดูถูกดูแลอยู่เสมอ ไม่ใช่แค่กองเอกสารที่สะสมมาตามกาลเวลา และเมื่อเอกสารดูเป็นระเบียบ คนใหม่ในทีมก็ตามต่อได้ง่ายขึ้น
จัดการตารางที่ export มาจากเครื่องมืออื่น
สเปรดชีต ฐานข้อมูล notebook และตัว converter ต่าง ๆ ชอบ emit ตารางที่ไม่มี padding เลยสักนิด วาง export เข้า formatter แล้วคุณจะได้เวอร์ชันที่กลมกลืนกับ Markdown ส่วนที่เหลือของเอกสารทันที ถ้ากำลังแปลงข้อมูล structured ด้วยมือ workflow แปลง JSON เป็น Markdown table ใช้คู่กับขั้นตอนเก็บกวาดนี้ได้ดีมาก ประหยัดเวลาแกะมือทุกครั้งที่ต้องนำตารางมาลงเอกสาร
สุขอนามัยของ code review
ความสนใจของ reviewer มีจำกัด อย่าเผามันไปกับเรื่องช่องว่าง ตารางที่จัดเรียบร้อยส่งสัญญาณว่าผู้เขียนใส่ใจกับ diff ซึ่งช่วยสร้างความเชื่อมั่นและทำให้ reviewer โฟกัสกับส่วนเนื้อหาที่สำคัญได้เต็มที่ เป็นกิจวัตรเล็ก ๆ ที่คุ้มค่ามากเมื่อคิดรวมทั้งโปรเจกต์
แนวปฏิบัติที่ดีที่สุด
- รักษาตารางให้แคบ สามถึงห้าคอลัมน์คือจุดที่ลงตัวที่สุด ถ้าเกินไป padding จะดันบรรทัดยาวเกินสบายตา และ grid ที่เรียงแล้วก็จะไม่พอดีหน้าจออีก
- ชิดซ้ายสำหรับข้อความ ชิดขวาสำหรับตัวเลข header แบบกึ่งกลางดูเรียบร้อยดี แต่ข้อความยาวแบบกึ่งกลางอ่านยากกว่าแบบชิดซ้ายอย่างชัดเจน
- จัดฟอร์แมตก่อน commit ไม่ใช่หลังได้รับ comment การจัดตารางล่วงหน้าถูกกว่าการต้องมาอธิบาย diff ที่รกให้ reviewer ฟังเสมอ
- เขียน header cell ให้สั้น ความกว้างของคอลัมน์ถูกกำหนดโดย cell ที่กว้างที่สุด header ที่ยาวเกินจึงทำให้ทุกแถวข้างล่างอ้วนขึ้นตามไปด้วย
- รัน formatter ซ้ำหลังเพิ่มแถว cell ใหม่ที่กว้างกว่าเดิมเพียง cell เดียวก็ทำให้ทั้งตารางเอียงกลับได้ทันที
- ถือว่าผลลัพธ์ที่จัดแล้วคือ source of truth วางเวอร์ชันที่เรียงแล้วกลับเข้าเอกสารทันที เพื่อไม่ให้สำเนาที่แก้ด้วยมือแยกทางกันไป
ตารางที่สะอาดใช้เวลาเพียงไม่กี่วินาทีในการผลิต แต่ให้ผลตอบแทนทุกครั้งที่มีคนอ่านหรือ diff เอกสารของคุณ ลองใช้ Markdown Table Formatter ฟรีตอนนี้เลย วางตารางที่รกลงไปแล้วดูเวอร์ชันที่เรียงพอดีปรากฏขึ้นต่อหน้าทันที
เครื่องมือที่เกี่ยวข้องที่คุณอาจสนใจ:
- JSON to Markdown Table Converter — แปลง JSON array เป็นตาราง Markdown แล้วจัดฟอร์แมตต่อให้เรียงพอดี
- Markdown to HTML Converter — render Markdown ที่เก็บกวาดแล้วของคุณ ตารางรวมอยู่ด้วย เป็น HTML
- Word Counter — ตรวจนับคำและจำนวนอักขระสำหรับเอกสารและ draft เนื้อหาต่าง ๆ
ขอให้สนุกกับการจัดตาราง!
คำถามที่พบบ่อย
ถ: การเติมช่องว่างให้ตาราง Markdown เปลี่ยนวิธีแสดงผลหรือไม่? ตอบ: ไม่เปลี่ยนเลย renderer ของ Markdown ไม่สนใจ padding โดยสิ้นเชิง ตารางที่แสดงผลจึงเหมือนกันทั้งก่อนและหลังการจัดฟอร์แมต มีเพียงซอร์สดิบเท่านั้นที่อ่านง่ายและ diff ง่ายขึ้น
ถ: alignment marker ของฉัน (:---:, ---:) จะถูกรักษาไว้หรือไม่? ตอบ: ถูกรักษาไว้แน่นอน formatter รักษาและจัดรูปแบบ marker :---:, :--- และ ---: คอลัมน์กึ่งกลางและคอลัมน์ชิดขวาจึงคงสภาพเดิมทุกประการ
ถ: ถ้าตารางของฉันไม่มี outer pipe ต้องทำอย่างไร? ตอบ: ไม่ต้องทำอะไรเลย เครื่องมือรับและซ่อมตารางที่ไม่มี pipe หัวหรือท้ายได้ จากนั้นจะส่งออกในรูปแบบมาตรฐานที่มี outer pipe ครบถ้วน
ถ: ข้อมูลในตารางถูกอัปโหลดขึ้นเซิร์ฟเวอร์หรือไม่? ตอบ: ไม่ Markdown Table Formatter ทำงานในเบราว์เซอร์ทั้งหมด ข้อมูลของคุณจึงไม่เคยออกจากเครื่องของคุณ