Menu
CoddyTech

Cheat sheet Markdown

Cập nhật lần cuối

Tiêu đề

Đặt một dấu cách sau các dấu #. Số dấu thăng quyết định cấp tiêu đề, từ 1 đến 6.

Thành phầnMarkdownKết quả
Tiêu đề 1# Page titleTiêu đề cấp cao nhất, <h1>
Tiêu đề 2## SectionTiêu đề phần, <h2>
Tiêu đề 3### SubsectionTiêu đề mục con, <h3>
Tiêu đề 4 đến 6#### Level 4 ##### Level 5 ###### Level 6<h4>, <h5> và <h6>
Tiêu đề 1, cách viết khácPage title ==========<h1>, giống # Page title
Tiêu đề 2, cách viết khácSection -------<h2>, giống ## Section
Dấu thăng ở cuối## Section ##<h2>Section</h2>; các dấu # ở cuối bị bỏ đi
Thiếu dấu cách#Not a headingMột đoạn văn bình thường. Bắt buộc phải có dấu cách sau #

Chữ đậm, chữ nghiêng và gạch ngang

Dấu sao dùng được ở mọi chỗ, kể cả giữa một từ. Dấu gạch dưới chỉ có tác dụng ở ranh giới từ, nên snake_case vẫn giữ nguyên như khi gõ.

Thành phầnMarkdownKết quả
Chữ đậm**bold text**Chữ đậm, <strong>bold text</strong>
Chữ đậm, dùng gạch dưới__bold text__Chữ đậm, giống như trên
Chữ nghiêng*italic text*Chữ nghiêng, <em>italic text</em>
Chữ nghiêng, dùng gạch dưới_italic text_Chữ nghiêng, giống như trên
Vừa đậm vừa nghiêng***bold and italic***<em><strong>bold and italic</strong></em>
In đậm giữa một từun**believ**ableChỉ phần giữa của từ được in đậm
Gạch dưới trong một từsnake_case_nameChữ thường, không nghiêng
Gạch ngang chữ (GFM)~~no longer true~~Chữ bị gạch ngang, <del>no longer true</del>
Gạch chân<ins>underlined</ins>Chữ được gạch chân. Markdown không có cú pháp gạch chân, nên đây là HTML
Tô sáng<mark>highlighted</mark>Chữ được tô sáng ở những trang cho phép thẻ <mark>. Markdown không có cú pháp tô sáng

Xuống dòng và đoạn văn

Nhấn Enter một lần trong đoạn văn không tạo dòng mới ở kết quả. Hãy dùng một trong các cách dưới đây.

Thành phầnMarkdownKết quả
Đoạn văn mớiFirst paragraph. Second paragraph.Hai đoạn văn, ngăn cách bằng một dòng trống
Xuống dòng: hai dấu cáchRoses are red, Violets are blue.Một đoạn văn có <br> sau red,. Dòng đầu kết thúc bằng hai dấu cách mà bạn không nhìn thấy
Xuống dòng: dấu gạch chéo ngượcRoses are red,\ Violets are blue.Cũng là <br>, nhưng có ký hiệu nhìn thấy được. Dùng được trong CommonMark và trên GitHub
Xuống dòng: HTMLRoses are red,<br>Violets are blue.Cũng là <br>. Dùng được cả trong ô của bảng
Một lần xuống dòngRoses are red, Violets are blue.Một dòng: Roses are red, Violets are blue. Issue và bình luận trên GitHub giữ lại chỗ xuống dòng; tệp .md thì không
Nhiều dòng trốngOne. Two.Giống một dòng trống. Muốn thêm khoảng cách, đặt <br> trên một dòng riêng

Danh sách

Thụt lề mục con sao cho thẳng hàng với chữ của mục bên trên: 2 dấu cách dưới - , 3 dấu cách dưới 1. .

Thành phầnMarkdownKết quả
Danh sách gạch đầu dòng- Apples - Pears - PlumsDanh sách gạch đầu dòng, <ul> với ba <li>
Ký hiệu đầu dòng khác* Apples + Pears* và + cũng tạo gạch đầu dòng. Đổi ký hiệu sẽ bắt đầu một danh sách mới
Danh sách đánh số1. Install 2. Configure 3. RunDanh sách đánh số, <ol>
Đánh số "lười"1. Install 1. Configure 1. RunVẫn được đánh số 1, 2, 3. Chỉ số đầu tiên có tác dụng
Bắt đầu từ một số bất kỳ7. Seventh 8. Eighth<ol start="7">, đánh số từ 7
Danh sách lồng nhau- Fruit - Apple - Pear - VegetablesMột danh sách nằm trong mục đầu tiên
Lồng nhau, có đánh số1. Download - Windows - macOS 2. InstallGạch đầu dòng bên trong bước 1, thụt lề 3 dấu cách
Đoạn văn trong một mục- First item More about the first item. - Second itemHai đoạn văn trong mục đầu tiên
Code trong một mục1. Run this: ```bash npm install ``` 2. Start the appMột khối code trong bước 1, thụt lề bằng chữ của mục

Danh sách việc (checkbox)

Một phần mở rộng của GitHub Flavored Markdown: mục danh sách bắt đầu bằng [ ] hoặc [x] sẽ thành checkbox.

Thành phầnMarkdownKết quả
Checkbox trống- [ ] Write testsMột checkbox chưa đánh dấu
Checkbox đã đánh dấu- [x] Write testsMột checkbox đã đánh dấu. [X] cũng được
Danh sách kiểm tra- [x] Draft - [ ] Review - [ ] PublishMột ô đã đánh dấu và hai ô trống. Trong issue và pull request trên GitHub, bạn đánh dấu chúng chỉ bằng một cú nhấp
Việc lồng nhau- [ ] Release - [x] Tag the commit - [ ] Write the notesHai việc con dưới ô đầu tiên
Thiếu dấu cách- [] Write testsMột gạch đầu dòng thường, hiển thị [] Write tests. Trong ngoặc vuông cần có dấu cách hoặc chữ x

Liên kết

Chữ của liên kết nằm trong ngoặc vuông, địa chỉ nằm trong ngoặc tròn ngay sau đó, không có dấu cách ở giữa.

Thành phầnMarkdownKết quả
Liên kết trực tiếp[Coddy](https://coddy.tech)<a href="https://coddy.tech">Coddy</a>
Liên kết có tiêu đề[Coddy](https://coddy.tech "Learn to code")Vẫn là liên kết đó. Tiêu đề hiện thành chú giải khi rê chuột lên
URL trong ngoặc nhọn<https://coddy.tech>Chính URL đó, ở dạng liên kết
URL trần (GFM)https://coddy.techThành liên kết trên GitHub và các trang hỗ trợ GFM, những trang này cũng tạo liên kết cho địa chỉ www.. Là chữ thường trong CommonMark nghiêm ngặt
Liên kết email<hello@example.com>Một liên kết mailto:
Liên kết tham chiếuRead the [docs][1]. [1]: https://example.com/docsdocs trỏ đến URL. Dòng [1]: không hiển thị
Tham chiếu rút gọnSee [GitHub]. [GitHub]: https://github.comGitHub trỏ đến URL
Liên kết tương đối[Install guide](docs/install.md)Liên kết đến một tệp tính từ vị trí tệp hiện tại. Trên GitHub, nó mở tệp đó trong repository
Liên kết đến một tiêu đề[Jump to setup](#getting-started)Cuộn đến ## Getting Started trên cùng trang
ID của tiêu đề## Getting Started!Có ID getting-started trên GitHub: chữ thường, dấu cách thành dấu gạch nối, dấu câu khác - và _ bị bỏ
Tiêu đề trong tệp khác[Requirements](docs/install.md#requirements)Mở tệp tại tiêu đề đó
Dấu cách trong URL[Report](my%20report.pdf)Viết mỗi dấu cách thành %20, hoặc đặt URL trong ngoặc nhọn: [Report](<my report.pdf>)
Mở trong tab mới<a href="https://coddy.tech" target="_blank">Coddy</a>Markdown không có cú pháp cho việc này. Thẻ HTML có tác dụng ở những trang giữ lại thuộc tính target

Hình ảnh

Hình ảnh là một liên kết có thêm ! ở trước. Chữ trong ngoặc vuông thành văn bản thay thế (alt text), được trình đọc màn hình đọc to lên.

Thành phầnMarkdownKết quả
Hình ảnh![A cat asleep on a sofa](cat.png)<img src="cat.png" alt="A cat asleep on a sofa">
Hình ảnh có tiêu đề![Logo](logo.png "Coddy logo")Cùng hình ảnh đó, có chú giải khi rê chuột lên
Hình ảnh từ một URL![Build status](https://example.com/badge.svg)Tải hình ảnh từ web
Hình ảnh có liên kết[![Logo](logo.png)](https://coddy.tech)Hình ảnh mở liên kết khi được nhấp vào
Hình ảnh tham chiếu![Logo][logo] [logo]: images/logo.pngGiống hình ảnh viết trực tiếp, với URL được khai báo một lần ở bên dưới
Kích thước hình ảnh<img src="logo.png" alt="Logo" width="200">Hình ảnh rộng 200 pixel. Markdown thuần không có cú pháp kích thước, nên đây là thẻ HTML <img>
Hình ảnh căn giữa<p align="center"> <img src="logo.png" alt="Logo" width="200"> </p>Hình ảnh được căn giữa, như trong nhiều tệp README trên GitHub

Code và khối code

Dấu backtick đánh dấu code trong một dòng; ba dấu backtick đánh dấu một khối. Mọi thứ bên trong code đều không được định dạng.

Thành phầnMarkdownKết quả
Code trong dòngRun `npm install` first.npm install bằng font đơn cách, dạng <code>
Backtick bên trong code``Use `git` here``Đoạn code Use `git` here. Bọc nó bằng nhiều backtick hơn số backtick bên trong
Khối code``` npm install npm run dev ```Một khối <pre><code>, giữ nguyên các lần xuống dòng
Tô màu cú pháp```python def greet(name): return f"Hello, {name}" ```Một khối Python có tô màu cú pháp. Tên thường dùng: js, ts, python, bash, json, html, css, sql
Rào bằng dấu ngã~~~js console.log("hi"); ~~~Giống rào bằng backtick
Code thụt lề const total = 42;Khối code tạo bằng cách thụt lề 4 dấu cách, sau một dòng trống
Khối diff```diff - const x = 1; + const x = 2; ```Trên GitHub, dòng bị xóa có màu đỏ và dòng thêm vào có màu xanh lá
Rào code bên trong một khối````markdown ```js let a = 1; ``` ````Một khối hiển thị rào code bên trong ở dạng chữ. Rào bên ngoài cần nhiều backtick hơn rào bên trong

Bảng

Một phần mở rộng của GitHub Flavored Markdown. Dòng thứ hai, dòng phân cách, biến dòng đầu tiên thành tiêu đề bảng. Dòng này phải có cùng số ô với dòng tiêu đề, nếu không sẽ không tạo được bảng.

Thành phầnMarkdownKết quả
Bảng| Name | Role | | ----- | ------ | | Ada | Admin | | Linus | Editor |Một bảng có dòng tiêu đề và hai hàng
Căn lề cột| Left | Center | Right | | :--- | :----: | ----: | | a | b | c |Dấu hai chấm quyết định căn lề: trái, giữa, phải
Không có dấu gạch đứng ở hai bênName | Role --- | --- Ada | AdminVẫn là bảng đó. Dấu gạch đứng ở đầu và cuối dòng là tùy chọn
Độ rộng cột| a | b | |---|---| | 1 | 2 |Độ rộng tính theo nội dung. Số dấu gạch nối không quan trọng, và các dấu gạch đứng không cần thẳng hàng
Định dạng trong ô| Command | Does | | --- | --- | | `git status` | Shows **changed** files |Code, chữ đậm, liên kết và hình ảnh đều dùng được trong ô
Dấu gạch đứng trong một ô| Operator | Meaning | | --- | --- | | `a \| b` | a or b |Ô hiển thị a | b. Thoát dấu gạch đứng thành \|, kể cả bên trong code
Xuống dòng trong một ô| Step | Notes | | --- | --- | | 1 | First line<br>Second line |Hai dòng trong một ô. Một lần xuống dòng thật sẽ kết thúc hàng
Gộp ô<td colspan="2">Both columns</td>Bảng Markdown không gộp ô được. Hãy viết bảng bằng HTML với colspan hoặc rowspan

Trích dẫn

Bắt đầu mỗi dòng bằng >. Khối trích dẫn có thể chứa bất kỳ cú pháp Markdown nào khác.

Thành phầnMarkdownKết quả
Trích dẫn> Simple is better than complex.Một đoạn trích dẫn thụt lề, <blockquote>
Nhiều đoạn văn> First paragraph. > > Second paragraph.Một trích dẫn có hai đoạn văn. Dòng chỉ có > giữ chúng ở cùng một khối
Trích dẫn lồng nhau> The reply >> The original messageMột trích dẫn nằm trong một trích dẫn khác
Thành phần khác bên trong> #### Note > - Back up first > - Then upgradeMột tiêu đề và một danh sách bên trong trích dẫn
Hộp cảnh báo (GitHub)> [!NOTE] > Requires Node 20 or later.Một hộp Note có màu trên GitHub. Các loại khác là [!TIP], [!IMPORTANT], [!WARNING] và [!CAUTION]

Đường kẻ ngang

Ba dấu gạch nối, dấu sao hoặc dấu gạch dưới trở lên, đứng riêng trên một dòng, sẽ vẽ một đường ngang qua trang.

Thành phầnMarkdownKết quả
Đường kẻ---Một đường kẻ ngang, <hr>
Cách viết khác*** ___Thêm hai đường kẻ nữa
Đường kẻ sau đoạn vănSome text ---Một đoạn văn, rồi một đường kẻ. Nhớ giữ dòng trống
Thiếu dòng trốngSome text ---Tiêu đề cấp 2, không phải đường kẻ: --- dưới một dòng chữ sẽ gạch chân dòng đó thành tiêu đề

Chú thích cuối trang

Được hỗ trợ trên GitHub, GitLab và nhiều trình tạo trang web tĩnh. CommonMark nghiêm ngặt không có chú thích cuối trang.

Thành phầnMarkdownKết quả
Chú thích cuối trangMarkdown dates from 2004.[^1] [^1]: John Gruber created it, with Aaron Swartz.Số 1 nhỏ phía trên, liên kết đến ghi chú được liệt kê ở cuối trang
Chú thích có tênSee the spec.[^spec] [^spec]: https://spec.commonmark.orgNhãn có thể là chữ, nhưng ghi chú vẫn được đánh số 1, 2, 3 theo thứ tự sử dụng
Đặt định nghĩa ở đâu[^1]: The text of the note.Định nghĩa có thể nằm ở bất kỳ đâu trong tệp. Nó luôn hiển thị ở cuối

Thoát ký tự

Dấu gạch chéo ngược trước một dấu câu sẽ in ra chính dấu câu đó thay vì định dạng.

Thành phầnMarkdownKết quả
Dấu sao nguyên văn\*not italic\*Chữ thường kèm dấu sao: *not italic*
Dấu thăng nguyên văn\# Not a headingMột đoạn văn bắt đầu bằng #
Số và dấu chấm2024\. A good year.Một đoạn văn, không phải danh sách bắt đầu từ 2024
Ngoặc nguyên văn\[not a link\](page.md)Ngoặc vuông và ngoặc tròn giữ nguyên như khi gõ
Backtick nguyên văn\`Một dấu backtick
Gạch chéo ngược nguyên văn\\Một dấu gạch chéo ngược
Những gì thoát được\ ` * _ {} [] () <> # + - . ! |Mọi dấu câu ASCII. Dấu gạch chéo ngược đứng trước chữ cái hoặc chữ số vẫn là dấu gạch chéo ngược
Thực thể HTML&copy; 2026 &amp; &lt;div&gt;© 2026 & <div>, ở dạng chữ
Không thoát ký tự trong code`*stars*`Đoạn code *stars* giữ nguyên như khi gõ. Bên trong code, dấu gạch chéo ngược là ký tự bình thường

HTML trong Markdown

Phần lớn trình hiển thị giữ nguyên HTML, nên một thẻ HTML có thể làm những gì Markdown không có cú pháp. GitHub loại bỏ HTML không an toàn như <script>, <style>, <iframe> và thuộc tính style.

Thành phầnMarkdownKết quả
Phím bàn phímPress <kbd>Ctrl</kbd> + <kbd>C</kbd>Ctrl và C được vẽ thành phím
Chỉ số dưới và chỉ số trênH<sub>2</sub>O and x<sup>2</sup>H₂O và x²
Phần thu gọn được<details> <summary>Show the answer</summary> The answer is **42**. </details>Một phần mở ra khi nhấp vào. Các dòng trống giúp Markdown bên trong hiển thị đúng
Markdown trong khối HTML<div> **not bold** </div>**not bold** giữ nguyên như khi gõ. Markdown không được xử lý bên trong khối HTML cho đến khi một dòng trống kết thúc khối
Chữ có màu<span style="color: red">red</span>Chữ đỏ ở những trang cho phép style viết trực tiếp. GitHub loại bỏ thuộc tính style

Chú thích ẩn (comment)

Markdown không có cú pháp chú thích. Có hai mẹo để giữ chữ không hiện trên trang.

Thành phầnMarkdownKết quả
Chú thích ẩn[//]: # (This line is never shown)Không có gì. Dòng này là một định nghĩa liên kết không được dùng, nên không bao giờ xuất hiện trong HTML
Cách viết khác[comment]: <> (Also hidden)Không có gì, cùng một mẹo
Chú thích HTML<!-- TODO: add screenshots -->Không hiện trên trang, nhưng chú thích vẫn nằm trong mã nguồn HTML
Chú thích nhiều dòng<!-- This whole block is hidden -->Không hiện gì trên trang
Vị trí đặtSome text. [//]: # (comment) More text.Hai đoạn văn. Dòng chú thích cần một dòng trống phía trước, nếu không nó sẽ hiện thành chữ

GitHub Flavored Markdown và các tính năng riêng của GitHub

GitHub Flavored Markdown (GFM) là CommonMark cộng thêm bảng, danh sách việc, gạch ngang chữ và tự động tạo liên kết từ URL. GitHub còn bổ sung thêm nhiều thứ khác.

Tính năngMarkdownDùng được ở đâu
Bảng| a | b | | --- | --- | | 1 | 2 |GFM: GitHub, GitLab và phần lớn công cụ viết tài liệu
Danh sách việc- [x] DoneGFM
Gạch ngang chữ~~text~~GFM
Liên kết từ URL trầnwww.coddy.techGFM
Code kèm tên ngôn ngữ```js let a = 1; ```CommonMark và GFM. Màu sắc do trang web quyết định
Chú thích cuối trangText.[^1] [^1]: Note.GitHub và GitLab, dù không có trong đặc tả GFM
Emoji:rocket: :tada:GitHub và GitLab đổi shortcode thành emoji
Nhắc tên@octocatGitHub: tạo liên kết đến người dùng và gửi thông báo cho họ
Liên kết issue#123GitHub: liên kết đến issue hoặc pull request số 123 trong cùng repository
Sơ đồ```mermaid graph LR A --> B ```GitHub và GitLab vẽ sơ đồ Mermaid
Công thức toán$E = mc^2$ $$ \sum_{i=1}^{n} i $$GitHub hiển thị công thức LaTeX, trong dòng khi đặt giữa hai dấu $ và thành khối khi đặt giữa hai dòng $$

Toàn bộ cú pháp Markdown trên một trang, đặt cạnh kết quả mà nó tạo ra. Cheat sheet Markdown này gồm cú pháp cốt lõi (tiêu đề, nhấn mạnh, xuống dòng, danh sách, liên kết, hình ảnh, code, trích dẫn) và các phần mở rộng của GitHub Flavored Markdown: bảng có căn lề, danh sách việc, gạch ngang chữ, tự động tạo liên kết từ URL và chú thích cuối trang, cùng cách thoát ký tự, HTML và chú thích ẩn.

Các ví dụ tuân theo CommonMark và GitHub Flavored Markdown, bộ quy tắc mà GitHub, GitLab và phần lớn công cụ viết tài liệu dựa vào. Chỗ nào một trang web xử lý khác đi, dòng tương ứng sẽ ghi rõ. Muốn xem ví dụ hiển thị ngay khi gõ, bạn dán nó vào trình soạn thảo Markdown.

Câu hỏi thường gặp về cheat sheet Markdown

Làm sao tạo bảng trong Markdown?
Viết dòng tiêu đề với các ô đặt giữa dấu gạch đứng, tiếp theo là một dòng phân cách bằng dấu gạch nối, rồi mỗi hàng một dòng: | Name | Role |, | --- | --- |, | Ada | Admin |. Dấu hai chấm trong dòng phân cách dùng để căn lề cột: :--- căn trái, :---: căn giữa, ---: căn phải. Bảng là tính năng của GitHub Flavored Markdown, nên dùng được trên GitHub, GitLab và phần lớn công cụ viết tài liệu, nhưng không có trong CommonMark nghiêm ngặt.
Làm sao xuống dòng trong Markdown?
Một lần xuống dòng bên trong đoạn văn sẽ bị bỏ qua ở kết quả. Để buộc xuống dòng, kết thúc dòng bằng hai dấu cách hoặc một dấu gạch chéo ngược (\), hoặc viết <br>. Để bắt đầu đoạn văn mới, để một dòng trống. Issue và bình luận trên GitHub là ngoại lệ: ở đó, một lần xuống dòng đã hiển thị thành dòng mới.
Làm sao viết chú thích ẩn (comment) trong Markdown?
Markdown không có cú pháp chú thích, nhưng có hai mẹo. [//]: # (your comment) trên một dòng riêng, có một dòng trống phía trước, là một định nghĩa liên kết không được dùng, nên không bao giờ xuất hiện trên trang hay trong HTML. Chú thích HTML <!-- your comment --> cũng bị ẩn trên trang nhưng vẫn nằm trong mã nguồn HTML, ai xem mã nguồn cũng đọc được.
Làm sao tạo khối code trong Markdown?
Đặt ba dấu backtick ở dòng trước đoạn code và ba dấu ở dòng sau. Thêm tên ngôn ngữ sau ba dấu mở đầu, như ```python, để có tô màu cú pháp. Với code nằm trong câu, bọc nó bằng một dấu backtick: `npm install`.
Làm sao thêm checkbox trong Markdown?
Bắt đầu mục danh sách bằng [ ] cho ô trống hoặc [x] cho ô đã đánh dấu: - [ ] Review hoặc - [x] Draft. Giữ dấu cách bên trong ngoặc vuông của ô trống. Checkbox là một phần của GitHub Flavored Markdown, và trong issue cũng như pull request trên GitHub, bạn có thể đánh dấu chúng chỉ bằng một cú nhấp.
Làm sao thay đổi kích thước hình ảnh trong Markdown?
Markdown thuần không có cú pháp kích thước: ![alt text](image.png) luôn hiển thị hình ảnh ở kích thước gốc. Hãy dùng thẻ HTML, chẳng hạn <img src="image.png" alt="alt text" width="300">, mà GitHub và phần lớn trình hiển thị đều chấp nhận. Chỉ đặt chiều rộng hoặc chỉ đặt chiều cao để giữ đúng tỷ lệ.
Làm sao tạo liên kết đến một tiêu đề trong Markdown?
Liên kết đến ID của tiêu đề bằng #: [Setup](#getting-started) nhảy đến ## Getting Started. GitHub tạo ID từ chữ của tiêu đề ở dạng chữ thường, dấu cách đổi thành dấu gạch nối, các dấu câu khác dấu gạch nối và gạch dưới bị bỏ. Với tiêu đề trong tệp khác, đặt ID sau tên tệp: [Setup](docs/install.md#getting-started).
Tệp .md là gì?
Một tệp văn bản thuần viết bằng Markdown. .md và .markdown là các đuôi tệp thường gặp, và README.md là tệp GitHub hiển thị ở trang đầu của một repository. Trình soạn thảo văn bản nào cũng mở được; GitHub, các trang tài liệu và trình xem Markdown sẽ hiển thị nó thành văn bản có định dạng. Muốn xem tệp hiển thị ngay khi chỉnh sửa, bạn dán nó vào trình soạn thảo Markdown.
Hình minh họa các ngôn ngữ lập trình của Coddy

Học Markdown cùng Coddy

Bắt đầu