Text Tools

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.

6 phút đọc

Người đang gõ máy tính xách tay trong quán cà phê

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")

![Alt text for image](https://example.com/image.jpg)
![Alt text](./local-image.png "Optional title")

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

  1. 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.
  2. 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.
  3. 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.
  4. 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
    
  5. 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.