Share this page

Learn X in Y minutes

Where X=markdown

Ngôn ngữ Markdown được sáng lập bởi John Gruber vào năm 2004. Nó được tạo ra với mục đích dễ đọc với cú pháp có thể được dễ dàng chuyển đổi qua HTML và các ngôn ngữ khác

Markdown có sự khác biệt trong cách cài đặt giữa các trình phân tích cú pháp. Hướng dẫn này sẽ đề cập, giải thích tới nếu tính năng có thể được sử dụng chung hay nó chỉ áp dụng cho một trình phân tích riêng biệt.

Phần tử HTML

Markdown là tập cha của HTML, vì vậy bất cứ file HTML nào đều là Markdown đúng.

<!-- Điều này đồng nghĩa ta có thể sử dụng các phần tử HTML
trong Markdown, ví dụ như phần tử chú thích/comment.
Tuy nhiên, nếu sử dụng một phần tử HTML trong file Markdown,
ta không thể sử dụng cú pháp Markdown cho nội dung bên trong phần tử đó. -->

Đầu mục

Ta có thể tạo các phần tử đầu mục HTML từ <h1> cho đến <h6> dễ dàng bằng cách thêm số lượng dấu thăng (#) đằng trước chuỗi cần tạo đầu mục.

# Đây là đầu mục <h1>
## Đây là đầu mục <h2>
### Đây là đầu mục <h3>
#### Đây là đầu mục <h4>
##### Đây là đầu mục <h5>
###### Đây là đầu mục <h6>

Markdown còn cung cấp cách khác để tạo đầu mục hạng nhất h1 và hạng nhì h2.

Đây là đầu mục h1
=============

Đây là đầu mục h2
-------------

Định dạng văn bản

Văn bản có thể được định dạng dễ dàng như in nghiêng hay làm đậm sử dụng Markdown.

*Đoạn văn bản này được in nghiêng.*
_Và đoạn này cũng như vậy._

**Đoạn văn bản này được in đậm.**
__Và đoạn này cũng vậy.__

***Đoạn văn bản này được in nghiêng và đậm.***
**_Cách này cũng tương tự_**
*__Và cách này nữa__*

Trong cài đặt Markdown để hiển thị file của GitHub,ta còn có gạch ngang:

~~Đoạn văn bản này được gạch ngang.~~

Đoạn văn

Đoạn văn bao gồm một hay nhiều dòng văn bản liên tiếp nhau được phân cách bởi một hay nhiều dòng trống.

Đây là đoạn văn thứ nhất.

Đây là đoạn văn thứ hai.
Dòng này vẫn thuộc đoạn văn thứ hai, do không có cách dòng.


Đây là đoạn văn thứ ba.

Nếu cần chèn thêm thẻ ngắt dòng <br /> của HTML, ta có thể kết thúc đoạn văn bản bằng cách thêm vào từ 2 dấu cách (space) trở lên và bắt đầu đoạn văn bản mới.

Dòng này kết thúc với 2 dấu cách (highlight để nhìn thấy).

Có phần tử <br /> ở bên trên.

Khối trích dẫn được sử dụng với kí tự >

> Đây là khối trích dẫn. Ta có thể
> ngắt dòng thủ công và thêm kí tự `>` trước mỗi dòng hoặc ta có thể để dòng tự ngắt nếu cần thiệt khi quá dài.
> Không có sự khác biệt nào, chỉ cần nó bắt đầu với kí tự `>`

> Ta còn có thể dùng nhiều mức
>> của khối trích dẫn.
> Như vậy có tốt không?

Danh sách

Danh sách không có thứ tự có thể được tạo sử dụng dấu sao, dấu cộng hay dấu trừ đầu dòng.

* Một mục
* Một mục
* Một mục nữa

hoặc

+ Một mục
+ Một mục
+ Một mục khác

hay

- Một mục
- Một mục
- Một mục sau

Danh sách có thứ tự được tạo bởi một số theo sau bằng một dấu chấm.

1. Mục thứ nhất
2. Mục thứ hai
3. Mục thứ ba

Ta không nhất thiết phải điền số thứ thự cho chỉ mục đúng mà Markdown sẽ tự hiển thị danh sách theo thứ tự đã được sắp xếp, tuy nhiên cách làm này không tốt!

1. Mục thứ nhất
1. Mục thứ hai
1. Mục thứ ba

(Sẽ hiển thị như ví dụ trước đó)

Ta còn có thể sử dụng danh sách con

1. Mục thứ nhất
2. Mục thứ hai
3. Mục thứ ba
    * Mục nhỏ
    * Mục nhỏ
4. Mục thứ tư

Markdown còn cung cấp danh mục (checklist). Nó sẽ hiển thị ra hộp đánh dấu dạng HTML.

Boxes below without the 'x' are unchecked HTML checkboxes.
- [ ] First task to complete.
- [ ] Second task that needs done
This checkbox below will be a checked HTML checkbox.
- [x] This task has been completed

Khối code

Ta có thể đánh dấu một đoạn code (tương tự sử dụng phần tử HTML <code>) bằng việc thụt đầu dòng sử dụng bốn dấu cách (space) hoặc một dấu nhảy (tab)

    This is code
    So is this

Ta còn có thể thêm dấu nhảy (hoặc thêm vào bốn dấu cách nữa) để căn chỉnh phần bên trong đoạn code

    my_array.each do |item|
      puts item
    end

Code hiển thị cùng dòng có thể được đánh dấu sử dụng cặp “.

John didn't even know what the `go_to()` function did!

Trong Markdown của GitHub, ta còn có thêm cách để hiển thị code:

```ruby
def foobar
  puts "Hello world!"
end
```

The above text doesn’t require indenting, plus GitHub will use syntax highlighting of the language you specify after the ”` Đoạn trên không cần sử dụng thụt đầu dòng, và GitHub sẽ tô sáng cú pháp sử dụng ngôn ngữ mà ta cung cấp sau đoạn kí tự “`

Kẻ ngang

Dòng kẻ ngang (<hr />) có thể được thêm vào dễ dàng sử dụng từ 3 kí tự sao (*) hoặc gạch ngang (-), không quan trọng có khoảng cách giữa các kí tự hay không.

***
---
- - -
****************

Liên kết

Một trong những thứ tốt nhất khi làm việc với Markdown là khả năng tạo liên kết hết sức dễ dàng. Đoạn text hiển thị được đóng trong cặp ngoặc vuông [] kèm theo đường dẫn url trong cặp ngoặc tròn ().

[Click me!](http://test.com/)

Ta còn có thể tạo tiêu đề cho liên kết sử dụng cặp ngoặc nháy bên trong cặp ngoặc tròn

[Click me!](http://test.com/ "Link to Test.com")

Đường dẫn tương đối cũng hoạt động.

[Go to music](/music/).

Markdown còn hỗ trợ liên kết kiểu tham chiếu.

[Nhấn vào đây][link1] để xem thêm!
[Ngoài ra nhấn vào đây][foobar] nếu bạn muốn xem qua.

[link1]: http://test.com/ "Tuyệt!"
[foobar]: http://foobar.biz/ "Tốt!"

Tiêu đề có thể được đóng trong dấu nháy hay ngoặc đơn, hoặc có thể được bỏ qua. Tham chiếu có thể được đặt bất kì đâu trong văn bản và ID của tham chiếu có thể là bất kì gì miễn là nó độc nhất.

Ngoài ra còn có kiểu đặt tên ngầm cho phép ta sử dụng đường dẫn làm ID.

[This][] is a link.

[this]: http://thisisalink.com/

Nhưng nó không được sử dụng rộng rãi.

Ảnh

Hiển thị ảnh tương tự như liên kết nhưng có thêm dấu chấm than đằng trước

![Thuộc tính alt cho ảnh](http://imgur.com/myimage.jpg "Tiêu đề tùy chọn")

Và kiểu tham chiếu cũng hoạt động như vậy.

![Đây là thuộc tính alt.][myimage]

[myimage]: relative/urls/cool/image.jpg "Đây là tiêu đề"

Khác

Tự động đặt liên kết

<http://testwebsite.com/> tương đương với
[http://testwebsite.com/](http://testwebsite.com/)

Tự động đặt liên kết cho email

Hiển thị Kí tự đặc biệt

Khi ta muốn viết *đoạn văn bản này có dấu sao bao quanh* nhưng ta không muốn nó bị in nghiêng, ta có thể sử dụng: \*đoạn văn bản này có dấu sao bao quanh\*.

Phím bàn phím

Trong Markdown của GitHub, ta có thể sử dụng thẻ <kbd> để thay cho phím trên bàn phím.

Máy treo? Thử bấm tổ hợp
<kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd>

Bảng biểu

Bảng biểu được hỗ trợ trên Markdown của GitHub, Jira, Trello, v.v và khá khó viết:

| Cột 1        | Cột2     | Cột 3         |
| :----------- | :------: | ------------: |
| Căn trái     | Căn giữa | Căn phải      |
| blah         | blah     | blah          |

Hoặc có thể sử dụng kết quả dưới đây

Cột 1 | Cột 2 | Cột 3
:-- | :-: | --:
blah | blah | blah

Để biết thêm thông tin, hãy ghé qua hướng dẫn chính thức về cú pháp của John Gruber tại đây và cheatsheet của Adam Pritchard tại đây.


Got a suggestion? A correction, perhaps? Open an Issue on the GitHub Repo, or make a pull request yourself!

Originally contributed by Dan Turkel, and updated by 3 contributors.