Định dạng mã là một trong những tính năng mạnh nhất của Markdown. Cho dù bạn đang ghi lại một chức năng, hiển thị một lệnh đầu cuối, hoặc viết một hướng dẫn, Markdown code syntax giữ cho mã trực quan khác biệt, được định dạng đúng, và (trong hầu hết các nền tảng) được nhấn mạnh bằng cú pháp. Hướng dẫn này bao gồm tất cả mọi thứ về Markdown mã khối.
Mã nội tuyến
Bọc một đoạn ngắn hoặc một biểu thức đơn trong một backticks đơn:
Use `console.log()` to print output.
Set the variable with `const x = 42;`.
The file is saved as `README.md`.
Inline code rendered in a monospace font, trực quan khác biệt với văn bản xung quanh. Sử dụng nó cho:
- Tên chức năng và phương pháp:
addEventListener() - Tên biến:
isLoading - Tên tệp:
package.json - Nguyên lý lệnh:
--verbose - Khái niệm mã ngắn
Nếu mã trong dòng của bạn chứa một backtick, hãy sử dụng backtick hai lần để gói nó:
`` `backtick inside` ``
Các khối mã được bao vây
Đối với mã nhiều dòng, sử dụng backtick ba (`) để mở và đóng khối:
```
This is a code block.
It preserves all whitespace and line breaks.
No formatting is applied inside.
```
Các dấu vết, khoảng cách, và các đường mới đều được bảo quản chính xác.
+ + + + + + + + + +
Thêm một mã nhận dạng ngôn ngữ sau khi mở backticks ba để kích hoạt đánh dấu cú pháp:
```python
def greet(name: str) -> str:
return f"Hello, {name}!"
print(greet("World"))
```
```javascript
const greet = (name) => `Hello, ${name}!`;
console.log(greet("World"));
```
```bash
#!/bin/bash
echo "Hello, World!"
ls -la ~/Documents
```
Nhận dạng ngôn ngữ chung
| Ngôn ngữ | Định danh |
|---|---|
| Python | python |
| JavaScript | javascript or js |
| TypeScript | typescript or ts |
| HTML | html |
| CSS | css |
| JSON | json |
| YAML | yaml or yml |
| Bash / Shell | bash or sh |
| SQL | sql |
| Markdown | markdown or md |
| Java | java |
| C | c |
| C++ | cpp |
| C# | csharp |
| Đi đi. | go |
| Rút | rust |
| Ruby | ruby |
| PHP | php |
| Swift | swift |
| Kotlin | kotlin |
| R | r |
| PowerShell | powershell |
| Dockerfile | dockerfile |
| XML | xml |
| TOML | toml |
| HTTP | http |
| Diff | diff |
Các khối mã được ghi đè
Một cú pháp Markdown cũ hơn sử dụng dấu chệ 4 không gian cho các khối mã:
function oldStyle() {
return "This is a code block";
}
Đây là CommonMark tương thích nhưng ít dễ đọc hơn và không hỗ trợ mã nhận dạng ngôn ngữ. Thay vào đó, hãy sử dụng các khối bị bao vây (ba đinh lưng).
Chuyển đổi mã từ Word tài liệu
Văn bản không gian đơn trong Word (Courier New, Consolas, v.v.) chuyển đổi thành mã nội tuyến khi bạn sử dụng WordToMD. Multi-line code in Word converts depending on how it was formatted:
- Các đoạn văn bản một không gian → Có thể trở thành nhiều đoạn mã trong dòng
- Word Code style → Chuyển đổi thành khối mã
- Khối văn bản theo nghĩa đen → Có thể cần hàng rào thủ công
Sau khi chuyển đổi, kiểm tra các phần mã và thêm hàng rào thích hợp nếu cần thiết:
- Tìm mã mà nên là một khối
- Bọc nó bằng ba đũa lưng
- Thêm mã nhận dạng ngôn ngữ thích hợp
Ví dụ cụ thể về ngôn ngữ
Yêu cầu HTTP
```http
POST /api/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer TOKEN
{
"name": "Alice",
"email": "alice@example.com"
}
```
Lệnh đầu cuối
```bash
npm install
npm run build
npm run dev
```
Diff Output
```diff
- const oldValue = "hello";
+ const newValue = "world";
console.log(newValue);
```
Cấu hình YAML
```yaml
server:
host: localhost
port: 8080
debug: true
database:
url: postgresql://localhost:5432/mydb
```
Các khối mã được niêm yết (để tài liệu)
Khi ghi lại chính Markdown, sử dụng 4 backtick để gói một khối có chứa 3 backtick:
````markdown
```python
# This is a code block inside documentation
```
````
Hỗ trợ nền tảng
| Nền tảng | Mã nội tuyến | Các khối bị bao vây | + + + + + + + + + + |
|---|---|---|---|
| GitHub | ✅ | ✅ | ✅ |
| GitLab | ✅ | ✅ | ✅ |
| Obsidian | ✅ | ✅ | ✅ |
| GitBook | ✅ | ✅ | ✅ |
| Notion | ✅ | ✅ | ✅ |
| Confluence (Markdown) | ✅ | ✅ | ✅ |
| VS Code | ✅ | ✅ | ✅ |
Số dòng
Tiêu chuẩn Markdown không hỗ trợ số dòng trong khối mã. Một số nền tảng và máy tạo trang tĩnh thêm điều này thông qua các plugin:
- Prism.js (được sử dụng bởi nhiều SSG) add
{numberLines: true}trong code hàng rào - GitHub không có số dòng bản địa trong Markdown (sử dụng GitHub Đánh lỗi xem thay vào đó)
- GitBook Số dòng thông qua cài đặt khối mã
Sao chép mã từ khối
GitHub và nhiều nền tảng tự động thêm nút Copy vào các khối mã. Đây là một cải tiến rendering nó không yêu cầu bất cứ điều gì đặc biệt trong Markdown của bạn.
FAQ
Tại sao code block của tôi không được đánh dấu? Hoặc là mã nhận dạng ngôn ngữ bị thiếu hoặc sai chính tả, hoặc nền tảng không hỗ trợ ngôn ngữ cụ thể. Kiểm tra danh sách nhận dạng ở trên.
Làm thế nào để tôi hiển thị backticks bên trong một khối mã? Bên trong một khối mã được bao vây, backticks được coi là các ký tự theo nghĩa đen. Chỉ có hàng rào ba lưng cần xử lý đặc biệt.
Tài liệu Word của tôi có mã màu sắc được nhấn mạnh. Liệu WordToMD có giữ được màu sắc không? Không có Markdown mã khối không bảo tồn định dạng màu. WordToMD chuyển đổi văn bản thành khối mã; điểm nhấn cú pháp sau đó được áp dụng bởi trình hiển thị Markdown dựa trên mã nhận dạng ngôn ngữ.
Tôi có thể làm nổi bật các dòng cụ thể trong một khối mã không?
Tiêu chuẩn Markdown không hỗ trợ điều này. Một số nền tảng (như Astro với Shiki, hoặc Hugo) hỗ trợ dòng nhấn mạnh thông qua bình luận: {1,3-5} sau mã nhận dạng ngôn ngữ.
Hướng dẫn liên quan
- Markdown Phân âm bảng tham khảo nhanh Thông tin tham khảo đầy đủ
- Word đến API Tài liệu Tài liệu mã hóa nặng
- Word đến GitHub Markdown GitHub - định dạng mã cụ thể
Kết luận
Các khối mã Markdown là đơn giản: backticks cho mã trong dòng, backticks ba với một mã nhận dạng ngôn ngữ cho các khối. Sau khi chuyển đổi một tài liệu Word với WordToMD, kiểm tra rằng văn bản một không gian đã được gói chính xác trong cú pháp mã, và thêm mã nhận dạng ngôn ngữ để làm nổi bật cú pháp thích hợp trên nền tảng mục tiêu của bạn.