คู่มือ Markdown

Markdown คืออะไร?

Markdown เป็น ภาษามาร์กอัปเบาบาง ที่คุณสามารถใช้เพื่อเพิ่มองค์ประกอบการจัดรูปแบบในเอกสารข้อความธรรมดา มันช่วยให้คุณสร้างข้อความที่จัดรูปแบบโดยใช้ไวยากรณ์ที่เรียบง่ายและอ่านง่าย ซึ่งสามารถแปลงเป็น HTML และรูปแบบอื่นๆ ได้

คิดถึง Markdown เป็นวิธีการเขียนเอกสารที่จัดรูปแบบโดยไม่ต้องใช้โปรแกรมประมวลผลคำที่ซับซ้อน คุณเพียงแค่เพิ่มอักขระพิเศษในข้อความธรรมดาเพื่อระบุการจัดรูปแบบ เช่น ตัวหนา, ตัวเอียง, หรือ โค้ด

ทำไมต้องใช้ Markdown?

Markdown เรียบง่ายและเรียนรู้ได้ง่ายมาก คุณสามารถเชี่ยวชาญพื้นฐานได้ในเวลาเพียง 10 นาที สัญลักษณ์การจัดรูปแบบเป็นธรรมชาติ - ดอกจันสำหรับการเน้น เครื่องหมายแฮชสำหรับหัวข้อ คุณเพียงแค่พิมพ์และเพิ่มสัญลักษณ์ง่ายๆ เพื่อจัดรูปแบบข้อความของคุณ

Markdown ทำงานได้บนทุกแพลตฟอร์มและโปรแกรมแก้ไขข้อความใดๆ เนื่องจากไฟล์เป็นข้อความธรรมดา พวกมันจึงสามารถอ่านได้เสมอ แม้หลายทศวรรษต่อมา ไฟล์มีน้ำหนักเบาและโหลดเร็ว

Markdown ได้รับการสนับสนุนอย่างกว้างขวางบนแพลตฟอร์มต่างๆ GitHub, Reddit, Discord และ Slack ทั้งหมดใช้ Markdown แอปยอดนิยมเช่น Obsidian, Notion และ VS Code รองรับแบบพื้นเมือง สิ่งนี้ทำให้เหมาะสำหรับเอกสาร การจดบันทึก และเนื้อหาเว็บ

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

ประวัติการพัฒนา Markdown

จุดเริ่มต้น: Vanilla Markdown (2004)

Markdown ถูกสร้างขึ้นครั้งแรกโดย John Gruber ในปี 2004 โดยมีการมีส่วนร่วมอย่างมากจาก Aaron Swartz Gruber ออกแบบมันให้เป็นวิธีง่ายๆ ในการเขียนโดยใช้รูปแบบข้อความธรรมดาที่อ่านง่ายและเขียนง่าย ซึ่งสามารถแปลงเป็น HTML ที่ถูกต้องตามโครงสร้าง นี่คือ "แกนกลาง" ที่ John Gruber ออกแบบและใช้งานครั้งแรก ซึ่งมีไวยากรณ์การจัดรูปแบบพื้นฐานที่สุด - สิ่งที่เราเรียกว่า "รสชาติวนิลลาพื้นฐาน"

ไวยากรณ์พื้นฐาน (Vanilla Markdown รวม):

  • หัวข้อ: ใช้สัญลักษณ์ # (# หัวข้อ)
  • การเน้น:
  • ตัวเอียง: ใช้ * หรือ _ เพื่อห่อข้อความ (*ตัวเอียง* หรือ _ตัวเอียง_)
  • ตัวหนา: ใช้ ** หรือ __ เพื่อห่อข้อความ (**ตัวหนา** หรือ __ตัวหนา__)
  • รายการ:
  • รายการไม่เรียงลำดับ: ใช้ *, -, หรือ + (- รายการ)
  • รายการเรียงลำดับ: ใช้ตัวเลขกับจุด (1. รายการ)
  • ลิงก์: ใช้ [ข้อความลิงก์](ที่อยู่ลิงก์)
  • รูปภาพ: ใช้ ![คำอธิบายรูปภาพ](ที่อยู่รูปภาพ)
  • บล็อกโค้ด: เยื้องด้วยช่องว่าง (โดยปกติ 4 ช่องว่างหรือ 1 Tab)
  • Blockquotes: ใช้สัญลักษณ์ > (> นี่คือคำพูด)
  • เส้นแนวนอน: ใช้ --- หรือ ***

ปัญหา: การใช้งานที่ไม่สอดคล้องกัน

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

การจัดการช่องว่าง: ตัวอย่างเช่น ในรายการ การเยื้องกี่ช่องว่างถึงจะนับเป็นรายการย่อย? 2 ช่องว่าง 3 ช่องว่าง หรือ 4 ช่องว่าง? ตัวแยกวิเคราะห์ที่แตกต่างกันอาจมีการตัดสินใจที่แตกต่างกัน

การประมวลผลการขึ้นบรรทัดใหม่: ในสถานการณ์บางอย่าง การขึ้นบรรทัดใหม่ปกติ(\n) ควรถูกแยกวิเคราะห์เป็นแท็ก <br> (การขึ้นบรรทัดใหม่) หรือควรถือว่าเป็นเพียงช่องว่างในข้อความ? สิ่งนี้อาจแตกต่างกันไปตามตัวแยกวิเคราะห์

การใช้ HTML แบบผสม: Markdown อนุญาตให้ฝัง HTML อย่างไรก็ตาม ในโครงสร้าง HTML ที่ซับซ้อนบางอย่าง วิธีที่ตัวแยกวิเคราะห์ Markdown จัดการไวยากรณ์ Markdown ภายในก็มีพื้นที่ที่คลุมเครือเช่นกัน

การแก้ไข: CommonMark (2014)

ในเดือนกันยายน 2014 CommonMark ถูกแนะนำเพื่อแก้ไขปัญหาความไม่สอดคล้องเหล่านี้ โดยนำโดย John MacFarlane มันให้ข้อกำหนดที่เข้มงวดสำหรับ Markdown

CommonMark ให้ข้อกำหนดที่แม่นยำซึ่งทุกกรณีขอบถูกกำหนดอย่างชัดเจน มันรวมชุดทดสอบที่ครอบคลุมด้วยกรณีทดสอบมากกว่า 600 กรณีเพื่อรับประกันความสอดคล้องกันระหว่างการใช้งาน ข้อกำหนดให้การใช้งานอ้างอิงที่ทำหน้าที่เป็นมาตรฐานสำหรับตัวแยกวิเคราะห์อื่นๆ มันรักษาความเข้ากันได้แบบย้อนหลังกับเอกสาร Markdown ที่มีอยู่ส่วนใหญ่ในขณะที่รับประกันการแยกวิเคราะห์ที่ไม่คลุมเครือซึ่งข้อมูลเข้าเดียวกันจะผลิตผลลัพธ์เดียวกันเสมอในตัวแยกวิเคราะห์ที่เป็นไปตามข้อกำหนดทั้งหมด

รสชาติที่ขยายและฟีเจอร์เพิ่มเติม

เมื่อผู้ใช้มีความต้องการที่แตกต่างกัน รสชาติ Markdown ที่ขยายต่างๆ จึงเกิดขึ้นเพื่อตอบสนองความต้องการเฉพาะ

ไวยากรณ์เพิ่มเติมของ GitHub Flavored Markdown (GFM):

  • ตาราง: ใช้ไวยากรณ์ pipe เพื่อสร้างตาราง
  | หัวข้อ 1 | หัวข้อ 2 | หัวข้อ 3 |
|----------|----------|----------|
| เซลล์ 1 | เซลล์ 2 | เซลล์ 3 |
| เซลล์ 4 | เซลล์ 5 | เซลล์ 6 |
  • Strikethrough: ใช้ ~~ เพื่อห่อข้อความ (~~ข้อความที่ถูกลบ~~)
  • รายการงาน: สร้างช็อกบ็อกที่โต้ตอบได้
  - [x] งานที่เสร็จแล้ว
- [ ] งานที่ยังไม่เสร็จ
  • บล็อกโค้ดที่มีรั้ว: ใช้เครื่องหมาย backtick สามตัวพร้อมการระบุภาษา
  ```javascript
function hello() {
console.log("Hello World!");
}
```
  • การเชื่อมโยงอัตโนมัติ: URL และที่อยู่อีเมลจะกลายเป็นคลิกได้โดยอัตโนมัติ
ส่วนขยายยอดนิยมอื่นๆ:

  • เชิงอรรถ: ใช้ไวยากรณ์ [^1] สำหรับการเขียนเชิงวิชาการ
  นี่คือประโยคที่มีเชิงอรรถ[^1]
[^1]: นี่คือเนื้อหาเชิงอรรถ

ผลลัพธ์: นี่คือประโยคที่มีเชิงอรรถ¹

  • นิพจน์คณิตศาสตร์: ใช้ $E=mc^2$ สำหรับเอกสารวิทยาศาสตร์
  • ทางลัดอีโมจิ: ใช้ :smile: กลายเป็น 😊
  • รายการนิยาม: สำหรับอภิธานศัพท์และเอกสารทางเทคนิค
  คำศัพท์ 1
: นิยามสำหรับคำศัพท์ 1

คำศัพท์ 2
: นิยามสำหรับคำศัพท์ 2
: นิยามอื่นสำหรับคำศัพท์ 2

ผลลัพธ์: สร้างรายการที่จัดรูปแบบพร้อมคำศัพท์ที่เน้นและนิยามที่เยื้อง

มันทำงานอย่างไร?

Markdown ปฏิบัติตาม เวิร์กโฟลว์สามขั้นตอน ง่ายๆ:

ขั้นตอนที่ 1: สร้างไฟล์ Markdown

ขั้นแรก คุณสร้างไฟล์ข้อความธรรมดาที่มีนามสกุล .md หรือ .markdown โดยใช้โปรแกรมแก้ไขข้อความใดๆ คุณเขียนเนื้อหาของคุณโดยใช้สัญลักษณ์การจัดรูปแบบง่ายๆ:

ขั้นตอนที่ 2: ประมวลผลด้วยเครื่องมือ Markdown

ไฟล์ .md ของคุณจะถูกประมวลผลโดยเครื่องมือแปลง Markdown หรือตัวประมวลผล เครื่องมือเหล่านี้อ่านไฟล์ Markdown ของคุณและแปลงเป็นรูปแบบผลลัพธ์ที่ต้องการ

ขั้นตอนที่ 3: ส่งออกเป็นรูปแบบต่างๆ

ตัวประมวลผล Markdown สามารถแปลงไฟล์ของคุณเป็นรูปแบบต่างๆ:

สำหรับการแสดงเว็บ:

  • แปลงเป็น HTML สำหรับเว็บไซต์ บล็อก และแอปพลิเคชันเว็บ
  • แสดงเนื้อหาที่จัดรูปแบบในเบราว์เซอร์ด้วยสไตล์ที่เหมาะสม
สำหรับเอกสาร:

  • แปลงเป็น PDF สำหรับเอกสารที่สามารถพิมพ์ได้และรายงาน
  • สร้างเอกสาร Word (.docx) สำหรับใช้ในสำนักงาน
  • สร้าง LaTeX สำหรับบทความเชิงวิชาการและสิ่งพิมพ์
สำหรับการเผยแพร่:

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

แหล่งข้อมูลเพิ่มเติม

เอกสารสำคัญ

  • เอกสาร Markdown ของ John Gruber :คู่มือต้นฉบับที่เขียนโดยผู้สร้าง Markdown การอ่านที่จำเป็นสำหรับการเข้าใจปรัชญาและไวยากรณ์พื้นฐาน
  • Wikipedia - Markdown :ภาพรวมที่ครอบคลุมของประวัติ รูปแบบ และรายละเอียดทางเทคนิคของ Markdown
  • คู่มือ Markdown :คู่มือที่ครอบคลุมและเป็นมิตรกับผู้เริ่มต้น พร้อมตัวอย่างและแนวทางปฏิบัติที่ดีสำหรับทุกระดับทักษะ