Markdown là ngôn ngữ đánh dấu có cú pháp khá đơn giản và dễ hiểu, tạo thuận tiện cho việc chuyển đổi từ văn bản thuần sang HTML.
Thay vì dựa vào HTML, Markdown cho phép bạn định dạng văn bản mà trực quan hơn nhiều so với HTML.
Đã có ai dùng GitHub bao lâu nay vẫn không biết các tệp với đuôi mở rộng .md là gì không? Có thể bạn chưa biết: Markdown có thể được sử dụng tại Github và Discord.
I. Sơ lược
1. MarkDown (Markup languages)
Sự thật là cái tên "Markdown" chính là một phép chơi chữ của từ "Markup".
Mardown được sử dụng để xuất văn bản thô trên trình duyệt nhưng các ngôn ngữ đánh dấu khác lại có thể giao tiếp trực tiếp với máy tính. Đơn cử như XML
là một ngôn ngữ đánh dấu văn bản mà cả con người lẫn máy móc có thể đọc được.
Một ngôn ngữ đánh dấu văn bản khác mà mọi người chắc hẳn ai học CNTT cũng biết vì độ nổi tiếng của nó, chính là HTML
, Markdown
không mang trong mình sứ mệnh "Kẻ huỷ diệt HTML" hay gì, mà mục đích của nó chính là làm đơn giản hoá việc đánh dấu văn bản và tăng cường tốc độ viết lách một cách đáng kể.
2. Một số trình soạn thảo Markdown
II. Cách sử dụng
1. Văn bản thuần
- Tiêu đề - Heading
Bạn có thể viết loại tiêu đề <h1>, <h2>,... <h6>
bằng cách thêm các dấu # tương ứng vào đầu dòng.
Một dấu # tương đương với <h1>
, hai dấu # tương đương với <h2>
...
Cú pháp:
$$
Tiêu đề loại 1
Tiêu đề loại 2
Tiêu đề loại 3
Tiêu đề loại 4
Tiêu đề loại 5
Tiêu đề loại 6
$$
Kết quả:

- Đoạn văn - Paragraph
Để xuống dòng giữa các văn bản <p>
, sử dụng một dòng trống để tách các dòng văn bản.
Cú pháp:
$$
Đây là dòng 1
Đây là dòng 2
$$
Kết quả:
Đây là dòng 1
Đây là dòng 2
- Chữ in nghiêng - Italic
Để in nghiêng văn bản <i>
, thêm một dấu * hoặc dấu _ trước và sau từ cần in nghiêng.
Cú pháp:
$$
Từ cần in nghiêng 1
Từ cần in nghiêng 2
$$
Kết quả:
Từ cần in nghiêng 1
Từ cần in nghiêng 2
- Chữ in đậm - Bold
Để in đậm văn bản <b>
, thêm hai dấu * hoặc dấu _ trước và sau từ cần in đậm.
Cú pháp:
$$
Từ cần in đậm 1
Từ cần in đậm 2
$$
Kết quả:
Từ cần in đậm 1
Từ cần in đậm 2
In đậm và in nghiêng
Đơn giản, bạn chỉ cần ba dấu * hoặc dấu _ trước và sau từ đó.
Cú pháp:
$$
Từ in đậm và in nghiêng 1
Từ in đậm và in nghiêng 2
$$
Kết quả:
Từ in đậm và in nghiêng 1
Từ in đậm và in nghiêng 2
- Chữ gạch giữa - Strikethrough
Để tạo chữ gạch giữa, thêm 2 dấu ~ trước và sau từ đó.
Cú pháp:
~~Khuyến mại~~
Kết quả:
Khuyến mại
- Code trong dòng - Inline Code
Để viết inline <code>
, bạn dùng 2 dấu ` ở trước và sau từ đó.
Cú pháp:
`inline code`
Kết quả:
inline code
2. Các khối
- Trích dẫn - Blockquote
Để tạo một <blockquote>
, thêm dấu > vào trước mỗi dòng trích dẫn.
Cú pháp:
$$
Trích dẫn dòng 1
Trích dẫn dòng 2
$$
Kết quả:
Trích dẫn dòng 1
Trích dẫn dòng 2
- Danh sách có thứ tự - Ordered List
Để tạo danh sách <ol><li>
, bạn chỉ cần thêm các số, dấu chấm trước nội dung (dùng tab để phân cấp)
Cú pháp:
$$
- Mục thứ nhất
- Mục thứ hai
- Mục thứ ba
$$
Kết quả:
Mục thứ nhất
Mục thứ hai
Mục thứ ba
- Danh sách không có thứ tự - Unordered List
Để tạo danh sách <ul><li>
, bạn chỉ cần thêm dấu * hoặc - hoặc + trước nội dung (dùng tab để phân cấp)
Cú pháp:
$$
- Mục thứ nhất
- Mục thứ hai
- Mục thứ ba
$$
Kết quả:
Mục thứ nhất
Mục thứ hai
Mục thứ ba
- Khối lệnh - Block Code
Để viết 1 đoạn <code>
, bạn dùng 3 dấu ` ở trước và sau đoạn đó (có thể thêm format ngôn ngữ đó).
Cú pháp:

Kết quả:
$$
print("hello world")
$$
- Bảng - Table
Để tạo bảng <table><tbody><tr><th><th>
, bạn chỉ cần ngăn cách bởi dấu | và cách đầu bảng với thân bảng bằng :--- (số dấu - tuỳ ý)
Cú pháp:
$$
| Cột 1 | Cột 2 | Cột 3 | Cột 4 |
| :--- | :--- | :--- | :--- |
| A | B | C | D |
| E | F | G | H |
| I | K | L | M |
$$
Kết quả
Cột 1Cột 2Cột 3Cột 4ABCDEFGHIKLM
3. Đặc biệt
- Đường kẻ ngang - Horizonal rules
Để tạo đường kẻ ngang, sử dụng ba dấu * hoặc - hoặc _ trên một dòng.
Cú pháp:
$$
$$
Kết quả:
- Liên kết - Link
Để chèn trực tiếp, bạn có thể paste thẳng nó như bình thường.
Để dẫn liên kết <a href="https://github.com">Github</a>
, bạn dùng [text](link)
.
Cú pháp:
$$
Trực tiếp: https://github.com/lucthienphong1120
Gián tiếp: Github
$$
- Hình ảnh - Image
Để chèn trực tiếp, bạn có thể paste thẳng nó như bình thường.
Để dẫn ảnh <img src="https://avatars.githubusercontent.com/u/583231 alt="Github">
, bạn dùng 
.
Hoặc 
nếu không cần chữ khi hover.
Cú pháp:

Kết quả:

Để chèn liên kết vào ảnh <a href="link"><img src="link ảnh" alt="chữ"></a>
thì chỉ cần kết hợp đúng cú pháp là được.
[  ] (link)
- Biểu tượng cảm xúc - Icon
Phần này tuỳ vào nền tảng (Github, Discord, ...) có icon đó không, bạn ghi dấu : và tên icon.
Cú pháp:

Kết quả:
👁️
- Checkbox
Để chèn checkbox/checked
(thường dùng cho to do list trên github) thì ta đánh dấu như list và thêm 1 cặp ngoặc vuông.
Cú pháp:
$$
- [ ] Checkbox
- [x] Checked
$$
Kết quả:

Lưu ý: Diễn đàn ChemGio hiện không hỗ trợ cú pháp này
- Escape markdown
Đôi khi bạn sẽ cần những kí hiệu trùng với cú pháp của markdown. Để phân biệt, bạn chỉ cần thêm dấu \ trước những kí hiệu đó là được.
Cú pháp:
$$
`hai dấu nháy`
***ba dấu sao hai bên***
$$
Kết quả:
`hai dấu nháy`
***ba dấu sao hai bên***
III. Lời kết
Hy vọng qua bài viết này, bạn sẽ không còn thấy Markdown khó nữa và sẽ nắm được cách dùng Markdown trong nhiều việc của mình hơn nhé.
Nếu thấy hay hãy đừng ngần ngại mà thả 1 like cho tôi, chúc bạn 1 ngày làm việc thật tốt!
Tài liệu được viết tay bởi Lục Thiên Phong, để giúp bạn có thêm hiểu biết và làm chủ về Markdown.