แนะนำ Markdown
Markdown เป็นภาษามาร์กอัปน้ำหนักเบาที่ช่วยให้คุณเขียนได้โดยใช้รูปแบบข้อความธรรมดาที่อ่านง่ายและเขียนง่าย จากนั้นสามารถแปลงเป็น HTML ที่ถูกต้อง (และรูปแบบอื่นๆ อีกมากมาย) สร้างโดย John Gruber ในปี 2004 Markdown ได้กลายเป็นหนึ่งในภาษามาร์กอัปยอดนิยมบนเว็บ
Markdown คืออะไร?
Markdown เป็นไวยากรณ์การจัดรูปแบบข้อความธรรมดา ที่ช่วยให้คุณสามารถเพิ่มองค์ประกอบการจัดรูปแบบไปยังเอกสารข้อความธรรมดาได้ แตกต่างจากภาษามาร์กอัปที่ซับซ้อนเช่น HTML หรือ XML Markdown ใช้เครื่องหมายวรรคตอนง่ายๆ เพื่อสร้างเอกสารที่มีโครงสร้าง
คุณสมบัติหลัก:
- มนุษย์อ่านได้: ไฟล์ Markdown ง่ายต่อการอ่านในรูปแบบดั้งเดิม
- ไม่ขึ้นกับแพลตฟอร์ม: ทำงานได้บนระบบปฏิบัติการและแอปพลิเคชันต่างๆ
- สามารถแปลงได้: สามารถแปลงเป็น HTML PDF เอกสาร Word และรูปแบบอื่นๆ
- เหมาะกับการควบคุมเวอร์ชัน: ไฟล์ข้อความธรรมดาทำงานได้ดีกับ Git และระบบควบคุมเวอร์ชันอื่นๆ
- เขียนได้เร็ว: ไวยากรณ์ที่น้อยที่สุดหมายถึงการเขียนและแก้ไขที่เร็วขึ้น
ตัวอย่างไวยากรณ์พื้นฐาน:
# หัวข้อ 1
## หัวข้อ 2
### หัวข้อ 3
**ข้อความหนา** และ *ข้อความเอียง*
- รายการแบบไม่มีลำดับ
- รายการอื่น
1. รายการแบบมีลำดับ
2. รายการอื่น
[ข้อความลิงก์](https://www.markdownlang.com)
`โค้ดอินไลน์` และบล็อกโค้ด:
```javascript
function hello() {
console.log("Hello, World!");
}
## ทำไมต้องใช้ Markdown?
### 1. **ความเรียบง่ายและความเร็ว**
- เขียนได้เร็วขึ้นด้วยไวยากรณ์ที่น้อยที่สุด
- ไม่ต้องจำแท็ก HTML ที่ซับซ้อน
- มุ่งเน้นที่เนื้อหาแทนการจัดรูปแบบ
### 2. **ความเข้ากันได้ทั่วไป**
- มีอยู่ทุกที่: GitHub, GitLab, Reddit, Stack Overflow
- รองรับโดยโปรแกรมแก้ไขข้อความและ IDE สมัยใหม่ส่วนใหญ่
- สามารถแปลงเป็นรูปแบบใดๆ ที่คุณต้องการ
### 3. **การรวมการควบคุมเวอร์ชัน**
- ไฟล์ข้อความธรรมดาทำงานได้ดีกับ Git
- ติดตามการเปลี่ยนแปลงและการทำงานร่วมกันได้ง่าย
- ไม่มีความขัดแย้งของไฟล์ไบนารี
### 4. **มุ่งสู่อนาคต**
- ข้อความธรรมดาจะไม่ล้าสมัย
- ไม่ขึ้นกับรูปแบบที่เป็นกรรมสิทธิ์
- ง่ายต่อการย้ายระหว่างแพลตฟอร์ม
### 5. **เส้นทางการเรียนรู้**
- เรียนรู้ได้เร็ว (สามารถเชี่ยวชาญพื้นฐานได้ใน 30 นาที)
- ไวยากรณ์ที่สอดคล้องกันข้ามแพลตฟอร์ม
- ไม่มีข้อกำหนดซอฟต์แวร์ที่ซับซ้อน
## Markdown เหมาะกับอะไร?
### 📝 **การเขียนเอกสาร**
- **เอกสารทางเทคนิค**: เอกสาร API คู่มือผู้ใช้ ไฟล์ README
- **เอกสารซอฟต์แวร์**: ความคิดเห็นโค้ด เอกสารโปรเจ็กต์
- **คลังความรู้**: วิกิ ระบบช่วยเหลือ เอกสารภายใน
### ✍️ **การสร้างเนื้อหา**
- **บทความบล็อก**: บล็อกส่วนตัว บล็อกบริษัท บทความทางเทคนิค
- **การเขียนเชิงวิชาการ**: เอกสารการวิจัย วิทยานิพนธ์ รายงาน
- **หนังสือและอีบุ๊ค**: หนังสือทางเทคนิค นวนิยาย เนื้อหาการศึกษา
### 💼 **การใช้งานทางธุรกิจ**
- **การจัดการโปรเจ็กต์**: รายการงาน บันทึกโปรเจ็กต์ รายการประชุม
- **อีเมล**: อีเมลข้อความที่อุดมไปด้วย โดยไม่ต้องใช้ HTML ที่ซับซ้อน
- **การนำเสนอ**: แปลงเป็นรูปแบบสไลด์
- **รายงาน**: รายงานทางธุรกิจ การอัปเดตสถานะ สรุป
### 🌐 **การพัฒนาเว็บไซต์**
- **ตัวสร้างเว็บไซต์แบบคงที่**: Jekyll, Hugo, Gatsby, VitePress
- **เนื้อหา CMS**: WordPress, Ghost, Contentful
- **เว็บไซต์เอกสาร**: GitBook, Docusaurus, MkDocs
### 📚 **การศึกษา**
- **วัสดุหลักสูตร**: สมุดบันทึก การบ้าน หลักสูตร
- **งานนักเรียน**: เอกสาร เอกสารการวิจัย รายงานการทดลอง
- **การเรียนรู้แบบร่วมมือ**: กลุ่มการศึกษา การตรวจสอบโดยเพื่อน
### 🔧 **การเขียนทางเทคนิค**
- **เอกสารโค้ด**: ความคิดเห็นอินไลน์ ไฟล์ README
- **เอกสาร API**: คำอธิบายจุดปลาย ตัวอย่าง
- **บทช่วยสอน**: คู่มือทีละขั้นตอน บทความวิธีการ
## วิธีใช้ Markdown
### 1. **เลือกตัวแก้ไขของคุณ**
**ตัวแก้ไขออนไลน์:**
- [การแสดงตัวอย่าง Markdown แบบเรียลไทม์](https://www.markdownlang.com/editor/)
- [HTML เป็น Markdown](https://www.markdownlang.com/html-to-markdown/)
- [Markdown เป็น HTML](https://www.markdownlang.com/markdown-to-html/)
- [URL เป็น Markdown](https://www.markdownlang.com/url-to-markdown/)
**แอปพลิเคชันเดสก์ท็อป:**
- **Typora**: ตัวแก้ไข Markdown ที่เห็นผลลัพธ์ทันที
- **Mark Text**: ตัวแก้ไขแบบแสดงตัวอย่างแบบเรียลไทม์
- **Obsidian**: แอปพลิเคชันบันทึกที่รองรับ Markdown
- **Notion**: พื้นที่ทำงานแบบรวมที่รองรับ Markdown
**ตัวแก้ไขโค้ด:**
- **VS Code**: พร้อมส่วนขยาย Markdown
- **Sublime Text**: พร้อมแพ็คเกจ Markdown
- **Atom**: มีการแสดงตัวอย่าง Markdown ในตัว
- **Vim/Neovim**: พร้อมปลั๊กอิน Markdown
### 2. **เรียนรู้ไวยากรณ์**
#### หัวข้อ
```markdown
# หัวข้อ H1
## หัวข้อ H2
### หัวข้อ H3
#### หัวข้อ H4
##### หัวข้อ H5
###### หัวข้อ H6การจัดรูปแบบข้อความ
**ข้อความหนา**
*ข้อความเอียง*
***ข้อความหนาและเอียง***
~~ขีดฆ่า~~
`โค้ดอินไลน์`รายการ
- รายการแบบไม่มีลำดับ
- รายการอื่น
- รายการซ้อน
- รายการซ้อนอื่น
1. รายการแบบมีลำดับ
2. รายการอื่น
1. รายการแบบมีลำดับที่ซ้อน
2. รายการซ้อนอื่นลิงก์และรูปภาพ
[Markdown Lang](https://www.markdownlang.com/)
[Markdown Lang พร้อมชื่อเรื่อง](https://www.markdownlang.com/ "Markdown Lang")

บล็อกโค้ด
```javascript
function hello() {
console.log("Hello, World!");
}
```
```python
def hello():
print("Hello, World!")
```ตาราง
| คอลัมน์ 1 | คอลัมน์ 2 | คอลัมน์ 3 |
|------|------|------|
| แถว 1 | ข้อมูล 1 | ข้อมูล 2 |
| แถว 2 | ข้อมูล 3 | ข้อมูล 4 |บล็อกอ้างอิง
> นี่คือบล็อกอ้างอิง
>
> มันสามารถข้ามหลายบรรทัดได้
>
> > และสามารถซ้อนได้3. ฝึกและทดลอง
- เริ่มจากเอกสารง่ายๆ
- ใช้ตัวแก้ไขออนไลน์เพื่อดูการแสดงตัวอย่างแบบเรียลไทม์
- ฝึกองค์ประกอบไวยากรณ์ต่างๆ
- ลองแปลงเป็นรูปแบบต่างๆ
มันทำงานอย่างไร?
1. กระบวนการแยกวิเคราะห์
Markdown ทำงานผ่านกระบวนการสองขั้นตอน:
- การแยกวิเคราะห์: ตัวแยกวิเคราะห์ Markdown อ่านข้อความธรรมดาและระบุไวยากรณ์การจัดรูปแบบ
- การแสดงผล: ตัวแยกวิเคราะห์แปลงไวยากรณ์เป็น HTML (หรือรูปแบบเป้าหมายอื่น)
2. องค์ประกอบตัวแยกวิเคราะห์
ตัววิเคราะห์ศัพท์ (การทำเครื่องหมาย)
- แยกข้อความออกเป็นโทเค็น
- ระบุองค์ประกอบไวยากรณ์ต่างๆ
- ประมวลผลอักขระพิเศษและลำดับการหนี
ตัวแยกวิเคราะห์ (การสร้าง AST)
- สร้างแผนผังโครงสร้างไวยากรณ์แบบนามธรรม (AST)
- แสดงโครงสร้างเอกสาร
- ประมวลผลการซ้อนและความสัมพันธ์ระหว่างองค์ประกอบ
ตัวแสดงผล (การสร้างเอาต์พุต)
- แปลง AST เป็นรูปแบบเป้าหมาย (HTML, PDF, ฯลฯ)
- ใช้กฎการจัดรูปแบบและสไตล์
- ประมวลผลกรณีขอบและรูปแบบพิเศษ
3. ตัวแยกวิเคราะห์ทั่วไป
JavaScript
- marked: ตัวแยกวิเคราะห์ที่เร็วและน้ำหนักเบา
- markdown-it: ตัวแยกวิเคราะห์แบบเสียบได้ รองรับส่วนขยาย
- remark: ส่วนหนึ่งของระบบนิเวศที่รวมกัน
Python
- markdown: การใช้งาน Python แบบเต็มรูปแบบ
- mistune: เร็วและน้ำหนักเบา
- marko: ขยายได้และเร็ว
ภาษาอื่นๆ
- PHP: Parsedown, CommonMark
- Ruby: Redcarpet, Kramdown
- Go: goldmark, blackfriday
4. ระบบส่วนขยาย
ตัวแยกวิเคราะห์ Markdown ส่วนใหญ่มองรับส่วนขยาย:
GitHub Flavored Markdown (GFM)
- ตาราง
- ขีดฆ่า
- รายการงาน
- ลิงก์อัตโนมัติ
- บล็อกโค้ดที่มีรั้ว
CommonMark
- มาตรฐานที่เป็นมาตรฐาน
- ความเข้ากันได้ที่ดีขึ้นระหว่างตัวแยกวิเคราะห์
- พฤติกรรมที่คาดเดาได้มากขึ้น
ส่วนขยายที่กำหนดเอง
- สมการทางคณิตศาสตร์ (KaTeX, MathJax)
- แผนภาพ (Mermaid, PlantUML)
- เชิงอรรถ
- รายการคำจำกัดความ
- สารบัญ
5. เวิร์กโฟลว์การแปลง
graph LR
A[ข้อความ Markdown] --> B[ตัวแยกวิเคราะห์]
B --> C[AST]
C --> D[ตัวแสดงผล]
D --> E[HTML/PDF/DOCX]
F[ส่วนขยาย] --> B
G[การกำหนดค่า] --> B
H[ปลั๊กอิน] --> D6. ตัวอย่างจริง
เมื่อคุณเขียน:
# Hello World
นี่คือข้อความ**หนา**และ*เอียง*
- รายการ 1
- รายการ 2ตัวแยกวิเคราะห์แปลงเป็น:
<h1>Hello World</h1>
<p>นี่คือข้อความ <strong>หนา</strong> และ <em>เอียง</em></p>
<ul>
<li>รายการ 1</li>
<li>รายการ 2</li>
</ul>เริ่มใช้งาน
พร้อมที่จะเริ่มใช้ Markdown แล้วหรือยัง? นี่คือขั้นตอนต่อไป:
- เลือกตัวแก้ไข ที่เหมาะกับเวิร์กโฟลว์ของคุณ
- ฝึกไวยากรณ์พื้นฐาน โดยใช้เอกสารง่ายๆ
- สำรวจส่วนขยาย เช่นฟีเจอร์ขั้นสูงของ GFM
- ลองตัวแยกวิเคราะห์ต่างๆ เพื่อค้นหาที่เหมาะกับความต้องการของคุณมากที่สุด
- รวมเข้ากับเวิร์กโฟลว์ของคุณ - สำหรับการเขียนเอกสาร บล็อก หรือบันทึก
ความเรียบง่ายและความสามารถอันทรงพลังของ Markdown ทำให้มันเป็นตัวเลือกที่ยอดเยี่ยมสำหรับทุกคนที่เขียนเป็นประจำ ไม่ว่าจะเป็นเอกสารทางเทคนิค การเขียนเชิงสร้างสรรค์ หรือบันทึกประจำวัน เริ่มจากพื้นฐาน ฝึกฝนเป็นประจำ และคุณจะพบว่า Markdown กลายเป็นส่วนสำคัญของชุดเครื่องมือการเขียนของคุณอย่างรวดเร็ว