Skip to content

Markdown nâng cao ​

Khi cú pháp cơ bản và mở rộng của Markdown chưa đáp ứng đủ nhu cầu, bạn có thể dùng các kỹ thuật nâng cao và mẹo thay thế. Phần này hướng dẫn cách vượt qua giới hạn của Markdown để đạt bố cục và chức năng phức tạp hơn.

“Nâng cao” là gì? ​

“Nâng cao” (hay thủ thuật/biện pháp thay thế) là những phương pháp sáng tạo để đạt hiệu ứng định dạng mong muốn trong khuôn khổ giới hạn của Markdown. Thường bao gồm:

  • Nhúng mã HTML
  • Kết hợp nhiều phần tử cú pháp
  • Tận dụng tính năng mở rộng của nền tảng
  • Dùng công cụ và plugin bên thứ ba

Tình huống ứng dụng chính ​

Kiểm soát bố cục ​

  • Căn chỉnh văn bản
  • Bố cục nhiều cột
  • Trộn văn bản và hình ảnh
  • Điều chỉnh khoảng cách

Tùy biến kiểu dáng ​

  • Thiết lập màu sắc
  • Thay đổi phông chữ
  • Điều khiển kích thước
  • Hiệu ứng đặc biệt

Nội dung nâng cao ​

  • Công thức toán
  • Sơ đồ và biểu đồ
  • Phần tử tương tác
  • Nhúng đa phương tiện

Tăng cường với HTML ​

Thẻ HTML cơ bản ​

Markdown cho phép dùng trực tiếp thẻ HTML trong tài liệu:

html
<div style="text-align: center;">
  <strong style="color: red;">Văn bản đỏ đậm căn giữa</strong>
</div>

<img src="image.jpg" width="300" height="200" alt="Hình ảnh kích thước cố định">

<table border="1">
  <tr>
    <td style="background-color: #f0f0f0;">Bảng với kiểu tùy chỉnh</td>
  </tr>
</table>

Kiểm soát kiểu bằng CSS ​

Sử dụng CSS để kiểm soát chính xác:

html
<p style="color: blue; font-size: 18px; text-align: center;">
  Đoạn văn màu xanh, cỡ 18px, căn giữa
</p>

<div style="border: 2px solid #333; padding: 10px; border-radius: 5px;">
  Khối nội dung có viền
</div>

Xử lý hình ảnh nâng cao ​

Căn chỉnh hình ảnh ​

html
<!-- Căn trái -->
<img src="image.jpg" align="left" width="200">

<!-- Căn phải -->
<img src="image.jpg" align="right" width="200">

<!-- Căn giữa -->
<div align="center">
  <img src="image.jpg" width="300">
</div>

Điều khiển kích thước hình ảnh ​

html
<!-- Cố định rộng/cao -->
<img src="image.jpg" width="300" height="200">

<!-- Hình ảnh responsive -->
<img src="image.jpg" style="max-width: 100%; height: auto;">

<!-- Hình ảnh kèm viền -->
<img src="image.jpg" style="border: 2px solid #ddd; border-radius: 8px;">

Trộn văn bản và hình ảnh ​

html
<div style="display: flex; align-items: center;">
  <img src="avatar.jpg" width="80" height="80" style="margin-right: 15px;">
  <div>
    <h3 style="margin: 0;">Tên người dùng</h3>
    <p style="margin: 5px 0;">Đây là đoạn giới thiệu người dùng...</p>
  </div>
</div>

Tăng cường bảng ​

Tùy biến kiểu bảng ​

html
<table style="border-collapse: collapse; width: 100%;">
  <thead style="background-color: #f2f2f2;">
    <tr>
      <th style="border: 1px solid #ddd; padding: 8px;">Tiêu đề cột 1</th>
      <th style="border: 1px solid #ddd; padding: 8px;">Tiêu đề cột 2</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #f9f9f9;">
      <td style="border: 1px solid #ddd; padding: 8px;">Dữ liệu 1</td>
      <td style="border: 1px solid #ddd; padding: 8px;">Dữ liệu 2</td>
    </tr>
  </tbody>
</table>

Cấu trúc bảng phức tạp ​

html
<table>
  <tr>
    <td rowspan="2">Gộp hàng</td>
    <td>Ô bình thường</td>
  </tr>
  <tr>
    <td>Ô bình thường</td>
  </tr>
  <tr>
    <td colspan="2">Gộp cột</td>
  </tr>
</table>

Hỗ trợ công thức toán học ​

Cú pháp LaTeX ​

Có nhiều nền tảng hỗ trợ công thức LaTeX:

latex
Công thức nội tuyến: $E = mc^2$

Khối công thức:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

Ma trận:
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
$$

Tích hợp MathJax ​

html
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

Lưu đồ và biểu đồ ​

Biểu đồ Mermaid ​

mermaid
graph TD
    A[Bắt đầu] --> B{Điều kiện}
    B -->|Đúng| C[Thực hiện A]
    B -->|Sai| D[Thực hiện B]
    C --> E[Kết thúc]
    D --> E

Biểu đồ Gantt ​

mermaid
gantt
    title Kế hoạch dự án
    dateFormat  YYYY-MM-DD
    section Giai đoạn thiết kế
    Phân tích yêu cầu      :done,    des1, 2023-01-01,2023-01-15
    Thiết kế UI            :active,  des2, 2023-01-16, 3d
    section Giai đoạn phát triển
    Phát triển frontend    :         dev1, after des2, 20d
    Phát triển backend     :         dev2, after des2, 25d

Phần tử tương tác ​

Khối nội dung có thể thu gọn ​

html
<details>
  <summary>Nhấp để mở rộng</summary>
  <p>Nội dung được thu gọn...</p>
</details>

Thanh tiến trình ​

html
<progress value="70" max="100">70%</progress>

Nút với kiểu tùy chỉnh ​

html
<button style="background-color: #4CAF50; color: white; padding: 10px 20px; border: none; border-radius: 4px;">
  Nhấn nút
</button>

Mẹo bố cục ​

Bố cục nhiều cột ​

html
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px;">
  <div>
    <h3>Nội dung cột trái</h3>
    <p>Đây là nội dung ở cột trái...</p>
  </div>
  <div>
    <h3>Nội dung cột phải</h3>
    <p>Đây là nội dung ở cột phải...</p>
  </div>
</div>

Bố cục thẻ (card) ​

html
<div style="border: 1px solid #ddd; border-radius: 8px; padding: 16px; margin: 16px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
  <h3 style="margin-top: 0;">Tiêu đề thẻ</h3>
  <p>Mô tả nội dung thẻ...</p>
  <a href="#" style="color: #007bff; text-decoration: none;">Tìm hiểu thêm</a>
</div>

Tính năng theo nền tảng ​

Tính năng của GitHub ​

markdown
<!-- Danh sách công việc -->
- [x] Đã hoàn thành
- [ ] Chưa hoàn thành

<!-- Nhắc đến người dùng -->
@username

<!-- Trích dẫn issue -->
#123

<!-- Khác biệt mã (diff) -->
```diff
- Dòng bị xóa
+ Dòng được thêm

### Tính năng của GitLab

```markdown
<!-- Nhúng video -->
![video](video.mp4)

<!-- Nhúng âm thanh -->
![audio](audio.mp3)

Khuyến nghị thực hành tốt ​

Cân nhắc về tương thích ​

  • Kiểm tra cú pháp nâng cao trên nhiều nền tảng
  • Cung cấp phương án suy giảm (degrade) cho nền tảng không hỗ trợ
  • Ưu tiên sử dụng cú pháp Markdown chuẩn

Tối ưu hiệu năng ​

  • Tránh lạm dụng style nội tuyến
  • Dùng tệp CSS bên ngoài để thống nhất kiểu
  • Nén hình ảnh và tệp media

Khả năng bảo trì ​

  • Giữ mã gọn và dễ đọc
  • Thêm chú thích khi cần thiết
  • Dùng hệ thống quản lý phiên bản cho tài liệu

Công cụ và tài nguyên ​

Trình soạn thảo khuyến nghị ​

  • Typora - Trình soạn WYSIWYG
  • Obsidian - Công cụ quản lý tri thức
  • Mark Text - Trình soạn xem trước thời gian thực

Công cụ trực tuyến ​

Tài nguyên tham khảo ​

Học thêm ​

Được xây dựng bởi www.markdownlang.com