Hướng Dẫn Markdown cho Người Viết và Lập Trình Viên
Nắm vững cú pháp Markdown từ cơ bản đến nâng cao — bảng biểu, khối code, danh sách công việc, và sự khác biệt giữa các phiên bản Markdown.
Markdown là định dạng viết phổ quát nhất mà internet có. Nó được sử dụng trong GitHub README, tài liệu Notion, tin nhắn Slack, trang tài liệu kỹ thuật, bài đăng blog và ghi chú của lập trình viên. Học một lần và bạn sẽ dùng nó ở khắp nơi — suốt cả sự nghiệp.
Markdown là gì?
Markdown là ngôn ngữ đánh dấu nhẹ do John Gruber tạo ra vào năm 2004. Ý tưởng cốt lõi: viết bằng văn bản thuần túy với các quy ước dấu câu đơn giản, và nó sẽ được hiển thị thành HTML được định dạng đẹp mắt.
This **bold text** and *italic text* render instantly.
Hiển thị thành: This bold text and italic text render instantly.
Văn bản thô vẫn hoàn toàn dễ đọc — ngay cả trước khi được hiển thị.
Cú pháp cơ bản
Tiêu đề
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
Dùng tiêu đề để tạo cấu trúc phân cấp cho tài liệu. # H1 thường là tiêu đề trang — chỉ dùng một lần trong mỗi tài liệu.
Nhấn mạnh
**bold text**
*italic text*
***bold and italic***
~~strikethrough~~
Danh sách
Unordered list:
- Item one
- Item two
- Nested item (indent with 2 spaces)
- Another nested item
- Item three
Ordered list:
1. First step
2. Second step
3. Third step
Liên kết và hình ảnh
[Link text](https://example.com)
[Link with title](https://example.com "Hover tooltip")


Trích dẫn
> This is a blockquote.
> It can span multiple lines.
> You can nest blockquotes:
> > Like this.
Đường kẻ ngang
---
(Ba dấu gạch ngang, dấu hoa thị hoặc dấu gạch dưới trở lên trên một dòng riêng)
Khối code
Code nội tuyến dùng dấu backtick đơn:
Use the `console.log()` function for debugging.
Khối code có hàng rào dùng ba dấu backtick kèm theo tùy chọn định danh ngôn ngữ để tô sáng cú pháp:
```javascript
function greet(name) {
return `Hello, ${name}!`;
}
```
Các ngôn ngữ được hỗ trợ bao gồm javascript, typescript, python, bash, sql, json, yaml, css, html, go, rust và hàng chục ngôn ngữ khác — tùy thuộc vào trình hiển thị.
Bảng biểu
Bảng trong Markdown sử dụng ký tự pipe và dấu gạch ngang:
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Cell A | Cell B | Cell C |
| Cell D | Cell E | Cell F |
Căn chỉnh cột bằng dấu hai chấm trong hàng phân cách:
| Left | Center | Right |
|:-----|:------:|------:|
| L | C | R |
Bảng biểu là một phần của GitHub Flavored Markdown (GFM), không phải Markdown chuẩn. Chúng hoạt động trên GitHub, VS Code, hầu hết các nền tảng tài liệu và MDX.
Danh sách công việc (GFM)
- [x] Write the introduction
- [x] Add code examples
- [ ] Review and publish
- [ ] Add images
Hiển thị dưới dạng checkbox tương tác trên GitHub. Được hỗ trợ rộng rãi trong các trình hiển thị Markdown hiện đại.
Các phiên bản Markdown
Markdown gốc được thiết kế tối giản có chủ đích. Các phần mở rộng đã phát triển ngày càng nhiều:
| Phiên bản | Dùng trong | Tính năng bổ sung |
|---|---|---|
| CommonMark | Nhiều nền tảng | Đặc tả chuẩn hóa |
| GitHub Flavored (GFM) | GitHub, GitLab | Bảng, danh sách công việc, gạch ngang, autolinks |
| MDX | Trang React | Các thành phần JSX bên trong Markdown |
| Pandoc Markdown | Tài liệu học thuật | Chú thích cuối trang, trích dẫn, toán học |
| MultiMarkdown | Công cụ macOS | Bảng, metadata, chú thích cuối trang |
Khi không chắc chắn, hãy dùng GFM — đây là phiên bản mở rộng được hỗ trợ rộng rãi nhất.
Front matter
Nhiều bộ xử lý Markdown hỗ trợ YAML front matter ở đầu file để chứa metadata:
---
title: "My Article Title"
date: "2026-03-24"
author: "Jane Doe"
tags: ["markdown", "writing", "tools"]
published: true
---
# Article content starts here
Front matter được phân tích riêng biệt khỏi nội dung tài liệu và được dùng cho các mục đích như tiêu đề trang, ngày tháng và SEO metadata.
MDX: Markdown + JSX
MDX là Markdown có thể chứa các thành phần React. Nó lý tưởng cho tài liệu và bài đăng blog trên các trang dựa trên React (Next.js, Gatsby, Astro):
import { Alert } from '../components/Alert'
## Important note
<Alert type="warning">
This feature is deprecated in v3.
</Alert>
Regular **Markdown** content continues below.
Điều này kết hợp sự đơn giản của Markdown với sức mạnh của các thành phần tương tác.
Thoát ký tự đặc biệt
Thêm dấu gạch chéo ngược trước các ký tự Markdown đặc biệt để hiển thị chúng theo nghĩa đen:
\*not italic\*
\# not a heading
\[not a link\]
Mẹo để tạo tài liệu Markdown tốt hơn
- Mỗi câu một dòng — Giúp diff trong Git gọn hơn; hiển thị giống hệt nhau vì Markdown bỏ qua ngắt dòng đơn.
- Dòng trống giữa các khối — Luôn để một dòng trống giữa các đoạn văn, tiêu đề, danh sách và khối code.
- Dùng nhất quán ký hiệu danh sách — Chọn
-hoặc*cho danh sách không có thứ tự và giữ nhất quán trong toàn dự án. - Liên kết tham chiếu cho URL lặp lại — Định nghĩa một lần, dùng nhiều lần:
See the [documentation][docs] and [changelog][docs]. [docs]: https://example.com/docs - Alt text cho mọi hình ảnh — Thiết yếu cho khả năng tiếp cận và SEO.
Kiểm tra khả năng đọc
Markdown giúp việc viết dễ dàng — nhưng viết dễ không đồng nghĩa với văn bản dễ đọc. Hãy dùng công cụ Readability Score của chúng tôi để kiểm tra cấp độ Flesch-Kincaid, độ phức tạp câu văn và tần suất sử dụng câu bị động. Hướng tới ngôn ngữ rõ ràng, súc tích ở cấp độ đọc Grade 8–10 cho độc giả phổ thông.
Markdown là một trong những công cụ chỉ cần 10 phút để học nhưng mang lại lợi ích cả đời. Hãy bắt đầu viết bằng Markdown ngay hôm nay — những cộng sự tương lai (và chính bạn trong tương lai) sẽ cảm ơn bạn.