GitHub Badge Builder: สร้าง Badge shields.io ให้ README สวยครบ
ประกอบ URL badge ของ shields.io ด้วย label, message, color, style และ logo พร้อม preview สดและ Markdown/HTML สำหรับ README — ฟรีในเบราว์เซอร์
Table of Contents
ยืนพื้นก่อนสักหน่อย: badge คือภาพขนาดเล็กที่แถวบนสุดของ README ทุกโปรเจกต์ GitHub ที่ดูดีมักมีติดกันเป็นชุด — build status, version, license, coverage หรือจำนวน stars ภาพเหล่านี้สรุปสุขภาพของโปรเจกต์ได้ในพริบตา ผู้ใช้ที่มาเจอ repo ครั้งแรกจะรู้ทันทีว่าโค้ดอัปเดตล่าสุดเมื่อไหร่ ผ่านการทดสอบหรือยัง และนำไปใช้งานเชิงพาณิชย์ได้หรือไม่ โดยไม่ต้องอ่านเนื้อหาทั้งหมด
ปัญหาคือ badge เหล่านี้มาจาก URL ของ shields.io ที่ต้องเขียนเองทีละตัว และ URL แบบนี้ผิดง่ายมาก ช่องว่างต้องแปลง ขีดกับขีดล่างต้อง escape เป็นสองตัว พอมีหลาย badge ก็เริ่มสับสนว่าตัวไหนพลาดตรงไหน GitHub Badge Builder เข้ามาแก้จุดนี้พอดี — กรอก label, message เลือก color, style และ logo แล้วเครื่องมือจะประกอบ URL ให้ถูกต้อง พร้อม preview สดและโค้ด Markdown กับ HTML ที่คัดลอกไปวางใน README ได้ทันที
และเพราะทำงานใน browser 100% ฟรี ไม่ต้องสมัครสมาชิกหรือกรอกข้อมูลใด ๆ คุณจึงเปิดใช้ได้ทันทีตั้งแต่มีโปรเจกต์แรก บทความนี้จะพาไปดูวิธีใช้ทีละขั้น กายวิภาคของ URL shields.io ว่าแต่ละช่วงหมายความว่าอะไร และแนวปฏิบัติที่ทำให้แถว badge ของคุณดูเป็นมืออาชีพ
ทำไมต้องใช้ GitHub Badge Builder?
- ไม่ต้องจำกฎการ escape: ช่องว่าง ขีด และขีดล่างใน label หรือ message ถูกแปลงให้ถูกต้องอัตโนมัติ ลด URL พังซึ่งเป็นสาเหตุอันดับหนึ่งของ badge ที่ไม่แสดงผล
- เห็นผลลัพธ์ทันทีด้วย preview สด: แก้ข้อความหรือเปลี่ยนสีปุ๊บ เห็น badge จริงปั๊บ ไม่ต้องเดาแล้วเซฟ README ไปรอ render
- ได้ทั้ง Markdown และ HTML พร้อมวาง: เครื่องมือสร้าง output สองรูปแบบให้เลือกคัดลอก ไม่ต้องแต่งโค้ดเองอีกรอบ
- ปรับแต่งครบในที่เดียว: label, message, named color อย่าง brightgreen หรือ blue, สไตล์ 5 แบบ และ logo slug เสริมได้ จบในหน้าเดียว
- ฟรีและเป็นส่วนตัว: ทุกอย่างเกิดขึ้นใน browser ของคุณ ไม่มีข้อมูลถูกส่งขึ้นเซิร์ฟเวอร์ ไม่ต้องสมัคร ไม่ต้องล็อกอิน
- เหมาะกับทุกระดับ: มือใหม่ใช้แทนการท่องเอกสาร shields.io คนเก่าใช้แทนการพิมพ์ URL ซ้ำ ๆ ทั้งโปรเจกต์
ฟีเจอร์หลัก
| ฟีเจอร์ | ทำอะไร |
|---|---|
| ช่อง label และ message | กำหนดข้อความฝั่งซ้าย (label) และฝั่งขวา (message) ของ badge เช่น build / passing |
| Named color | เลือกสีสำเร็จรูป เช่น brightgreen, blue, orange, red และอื่น ๆ โดยไม่ต้องพิมพ์รหัสสีเอง |
| สไตล์ 5 แบบ | flat, flat-square, plastic, for-the-badge, social — เปลี่ยนหน้าตา badge ให้เข้ากับธีม README |
| Logo slug | ใส่โลโก้ประกอบ เช่น github หรือ nodejs ให้ badge สื่อเทคโนโลยีได้ชัดขึ้น |
| Escape อัตโนมัติ | จัดการช่องว่างและตัวอักษรพิเศษใน URL ของ img.shields.io ให้ถูกต้องตามกฎ |
| Preview สด + คัดลอกโค้ด | เห็น badge จริงขณะแก้ แล้วคัดลอก Markdown หรือ HTML ไปวางได้ทันที |
รายละเอียดเพิ่มเติมที่ควรรู้:
- URL ที่ได้เป็นรูปแบบ static badge มาตรฐานของ shields.io เสถียรและใช้ได้ทุกที่ที่รองรับภาพ เช่น README, เอกสาร และเว็บไซต์
- สไตล์ส่งผ่านพารามิเตอร์ ?style= ต่อท้าย URL คุณจึงเปลี่ยนสไตล์ทีหลังได้โดยแก้เฉพาะท้าย URL ไม่ต้องสร้างใหม่ทั้งตัว
- ทุกอย่างประมวลผลใน browser ไม่มีขั้นตอน build หรือการอัปโหลดไฟล์ใด ๆ เกิดขึ้น
วิธีสร้าง Badge
- กรอก label — ข้อความฝั่งซ้าย เช่น build, version, license หรือ docs
- กรอก message — ข้อความฝั่งขวาที่เป็นค่าจริง เช่น passing, 1.4.2 หรือ MIT
- เลือกสี — ใช้ named color ที่เครื่องมือเตรียมไว้ เช่น brightgreen สำหรับสถานะผ่าน หรือ red สำหรับเตือน
- เลือกสไตล์และ logo — ลองเปลี่ยนระหว่าง flat, flat-square, plastic, for-the-badge และ social ดูที่ preview สด แล้วใส่ logo slug เสริมถ้าต้องการ
- คัดลอกโค้ดไปวาง — เลือก Markdown สำหรับ README หรือ HTML สำหรับเว็บ แล้ววางในตำแหน่งที่ต้องการ เสร็จเรียบร้อย
ทั้งห้าขั้นใช้เวลารวมกันไม่ถึงหนึ่งนาทีต่อ badge หนึ่งตัว แถว badge ของโปรเจกต์ทั้งชุดจึงเสร็จได้ในช่วงพักกาแฟแก้วเดียว
กายวิภาคของ URL shields.io
เมื่อเข้าใจโครงสร้าง URL คุณจะแก้ปัญหาเองได้ทันทีเมื่อ badge ไม่ขึ้น URL แบบ static ของ shields.io มีรูปแบบคือโดเมน img.shields.io/badge/ ตามด้วยสามส่วนคั่นด้วยขีด ได้แก่ label, message และ color หลังสามส่วนนี้ต่อพารามิเตอร์เพิ่มได้ เช่น ?style= สำหรับสไตล์ และ ?logo= สำหรับโลโก้
ส่วนที่ทำให้คนพลาดบ่อยที่สุดคือกฎการ escape ใน label และ message: ช่องว่างจะกลายเป็นขีดหรือขีดล่างใน URL, ขีดธรรมดาต้องเขียนเป็นสองตัว -- เพราะขีดตัวเดียวถูกใช้คั่นส่วนต่าง ๆ และขีดล่างต้องเขียนเป็นสองตัว __ เช่นกัน หากลืมกฎข้อนี้ ข้อความจะถูกตัดหรือสลับไปติดอยู่ในช่องสี เครื่องมือจัดการเรื่องนี้ให้โดยอัตโนมัติทั้งหมด
เรื่องสี การใช้ named color อย่าง brightgreen, blue, orange หรือ red สะดวกและจำง่าย ส่วน hex แบบไม่มีเครื่องหมาย # อย่าง 4c1 เหมาะเมื่อต้องการสีตรงแบรนด์โปรเจกต์ ทั้งสองแบบวางแทนกันในช่อง color ได้เลย
สไตล์ 5 แบบมีจังหวะที่เหมาะต่างกัน: flat คือมาตรฐานที่เห็นทั่ว GitHub, flat-square เหมาะกับธีมที่ต้องการเส้นคมเรียบ, plastic ให้มิติแบบเงาเล็กน้อย, for-the-badge ตัวใหญ่เด่น เหมาะกับ README ที่อยากโชว์แถว badge แบบจัดเต็ม และ social ให้ความรู้สึกคล้ายปุ่มแชร์โซเชียล
สุดท้าย เรื่องวิธีฝัง: Markdown ใช้ไวยากรณ์ image สั้นและอ่านง่ายในซอร์สโค้ด เหมาะกับ README โดยตรง ส่วนแท็ก img ของ HTML ให้ควบคุมมากกว่า เช่น ตั้ง width หรือครอบด้วยลิงก์ซ้อนได้ เหมาะเมื่อฝังในหน้าเว็บหรือไฟล์ HTML
https://img.shields.io/badge/build-passing-brightgreen?style=flat&logo=github [](https://example.com)
บรรทัดแรกคือ URL ดิบ บรรทัดที่สองคือ Markdown ที่ใส่ alt text และครอบด้วยลิงก์ให้ badge คลิกได้
กรณีใช้งานจริง
แถว build และ CI status
นี่คือ badge พื้นฐานที่โปรเจกต์สาย dev ควรมี กรอก label เป็น build, message เป็น passing และสี brightgreen แถวแรกของ README จะสื่อทันทีว่า pipeline รันผ่าน หากมีหลาย workflow ก็สร้างเป็นชุด เช่น tests, lint และ deploy แยกสีตามสถานะจริงของแต่ละงาน
บรรทัด version กับ license
label version, message 1.4.2 สี blue และ label license, message MIT สี orange คู่นี้ตอบคำถามที่ผู้ใช้ถามบ่อยที่สุดตั้งแต่แวบแรกว่า โปรเจกต์อยู่เวอร์ชันไหน และนำไปใช้เชิงพาณิชย์ได้หรือไม่ พอออกเวอร์ชันใหม่ก็เปิดเครื่องมือสร้าง badge ใหม่ในไม่กี่วินาที
ลิงก์ docs และ coverage
badge ไม่ได้แสดงสถานะอย่างเดียว แต่คลิกได้ด้วย ทำ label docs, message read the docs แล้วครอบด้วยลิงก์ไปหน้าเอกสาร หรือทำ coverage 92% สี brightgreen ที่ชี้ไปหน้ารายงานการทดสอบ ผู้สนใจจะตามไปดูรายละเอียดได้ในคลิกเดียว
badge เสริมบุคลิกโปรเจกต์
เมื่อข้อมูลจำเป็นครบแล้ว เพิ่มความมีชีวิตชีวาด้วย badge แนวเล่น เช่น made with love สี pink, PRs welcome สี blue หรือคัตสโลแกนของทีมด้วยสไตล์ for-the-badge ที่ตัวใหญ่พิเศษ ลองเปลี่ยน style กับ logo slug หลายแบบใน preview สดก่อนตกลงใจ แล้วค่อยคัดลอกโค้ดมาวาง
แนวทางปฏิบัติที่ดี
- จำกัดจำนวน: เก็บแถว badge ไว้ราว 5-6 ตัวพอ มากกว่านั้นเริ่มกลายเป็นสัญญาณรบกวนที่เบี่ยงเบนความสนใจจากเนื้อหา
- ใช้สไตล์เดียวกันทั้งแถว: ผสม flat กับ for-the-badge ในบรรทัดเดียวทำให้ดูไม่เป็นระบบ เลือกแบบเดียวแล้วยึดให้ครบทุกตัว
- ใช้ named color ตามธรรมเนียม: brightgreen สำหรับสถานะดี, blue สำหรับข้อมูลเชิงเทคนิค, orange และ red สำหรับคำเตือน — คนอ่านคุ้นเคยกับรหัสสีเหล่านี้อยู่แล้ว
- ใส่ alt text เสมอ: ทั้ง Markdown และ HTML ที่เครื่องมือสร้างมี alt text ให้ อย่าลบทิ้ง เพราะช่วยทั้ง accessibility และกรณีภาพโหลดไม่ขึ้น
- ตรวจ preview ก่อนวางจริง: ข้อความยาวเกินอาจทำให้ badge บวมจนแถวเบี้ยว หดข้อความให้สั้นและกระชับที่สุด
- ให้ข้อมูลสมจริงและอัปเดตสม่ำเสมอ: badge ที่บอก passing ทั้งที่ build พังมาสองเดือนทำร้ายความน่าเชื่อถือมากกว่าไม่มี badge เลย
พร้อมลุยแล้วใช่ไหม เปิด GitHub Badge Builder สร้าง badge ชุดแรกของคุณในไม่ถึงนาที แล้วกลับมาดู README ตัวเองใหม่ — ความรู้สึกเหมือนโปรเจกต์ open source จริงจังนั้นมาจากรายละเอียดเล็ก ๆ อย่างนี้แหละ
เครื่องมือที่เกี่ยวข้องที่คุณอาจสนใจ:
- README Generator — สร้างโครง README มาตรฐานให้ครบ แล้วเติม badge ลงในหัวเอกสาร
- Markdown Table Generator — ทำตาราง markdown สำหรับ README หรือเอกสารโดยไม่ต้องจำไวยากรณ์
- Open Graph Generator — ประกอบแท็ก Open Graph ให้ลิงก์โปรเจกต์ดูดีเมื่อแชร์บนโซเชียล
ขอให้สนุกกับ README!
คำถามที่พบบ่อย
ถ: ใช้ GitHub Badge Builder ฟรีจริงหรือ และมีข้อจำกัดอะไรไหม?
ตอบ: ฟรีเต็มรูปแบบ ไม่ต้องสมัครสมาชิก ทำงานใน browser 100% และไม่จำกัดจำนวน badge ที่สร้าง เพราะเครื่องมือเพียงประกอบ URL ให้ถูกต้อง ส่วนภาพ badge เองถูก render โดยเซิร์ฟเวอร์ของ shields.io ตามปกติ
ถ: ทำไม badge ที่เขียน URL เองบางทีแสดงข้อความผิดหรือไม่ขึ้นเลย?
ตอบ: ส่วนใหญ่เกิดจากกฎการ escape ใน URL ช่องว่าง ขีด และขีดล่างล้วนมีกฎเฉพาะ ถ้าพิมพ์ข้อความตามที่เห็น มันจะถูกตีความผิดตำแหน่ง การใช้เครื่องมือประกอบ URL จึงตัดปัญหานี้ออกตั้งแต่ต้นทาง
ถ: นำ badge ไปใช้นอก README ได้ไหม เช่น บนเว็บไซต์หรือเอกสารอื่น?
ตอบ: ได้ badge ของ shields.io คือรูปภาพผ่าน URL ธรรมดา ใช้ได้ทุกที่ที่แสดงภาพออนไลน์ได้ สำหรับเว็บไซต์ให้คัดลอก output รูปแบบ HTML ที่เครื่องมือเตรียมไว้ให้ไปวางได้เลย
ถ: logo slug ต้องหาจากที่ไหน และใส่หรือไม่ใส่ได้ไหม?
ตอบ: ใส่หรือไม่ใส่ก็ได้ เพราะเป็นช่องเสริม logo slug มาจากคลัง Simple Icons ที่รวมโลโก้เทคโนโลยีและแบรนด์ยอดนิยมไว้หลายพันตัว พิมพ์ชื่อ slug เช่น github หรือ nodejs แล้วดูผลใน preview สดได้ทันที