Ngôn ngữ đánh dấu Markdown

Markdown được thiết kế để dễ đọc và dễ viết nhằm sử dụng chung rộng rãi cho tài liệu, nội dung web và các nền tảng trực tuyến khác nhau.

Markdown là gì?
Khái niệm Markdown – Ảnh: tranquocthanh.net

Ngôn ngữ đánh dấu Markdown

Khái niệm Markdown

Markdown là gì?

Markdown là một ngôn ngữ đánh dấu nhẹ dùng để định dạng văn bản thuần túy, sử dụng cú pháp đơn giản, chẳng hạn như hashtag cho tiêu đề hoặc dấu sao cho chữ nghiêng, để tạo văn bản có định dạng. Ngôn ngữ markdown được thiết kế để dễ đọc và viết, và một trình phân tích cú pháp sẽ chuyển đổi văn bản thuần túy thành HTML, giúp nó được sử dụng rộng rãi cho tài liệu, nội dung web và các nền tảng như GitHub và Reddit.

Các tính năng chính

Nhẹ và đơn giản: Sử dụng các ký tự đơn giản mà bạn đã biết để định dạng văn bản mà không cần đến sự phức tạp của HTML.

Dễ đọc và viết: Cú pháp văn bản thuần túy dễ đọc và trực quan.

Khả năng tương thích rộng: Các tệp có phần mở rộng .md hoặc .markdown có thể được chuyển đổi sang HTML bằng trình phân tích cú pháp markdown (markdown parser) và được hỗ trợ bởi nhiều ứng dụng và nền tảng.

Tương thích với kiểm soát phiên bản: Tích hợp tốt với các hệ thống kiểm soát phiên bản như Git, giúp dễ dàng theo dõi các thay đổi theo thời gian.

Ví dụ cú pháp phổ biến

  • Tiêu đề: # Tiêu đề 1, ## Tiêu đề 2, v.v.
  • In đậm: Bao quanh văn bản bằng **in đậm** hoặc __in đậm__
  • In nghiêng: Bao quanh văn bản bằng *in nghiêng* hoặc _in nghiêng_
  • Liên kết: [Văn bản liên kết](URL), ví dụ: [Giới thiệu Trần Quốc Thành](https://tranquocthanh.net/gioi-thieu/)
  • Gạch ngang: Bao quanh văn bản bằng –gạch ngang–

Để biết hướng dẫn toàn diện và các tùy chọn nâng cao hơn, hãy tham khảo [Hướng dẫn Markdown](https://www.markdownguide.org/basic-syntax/) hoặc [Tài liệu CommonMark](https://commonmark.org/help/).

Trường hợp sử dụng

Tài liệu kỹ thuật: Nhiều tệp “README” và tài liệu kỹ thuật được viết bằng markdown.

Nội dung web: Được sử dụng trên nhiều nền tảng để viết bài đăng, bình luận và bài viết có định dạng.

Các dự án cộng tác: Cung cấp một cách đơn giản để thêm định dạng có thể được theo dõi bằng kiểm soát phiên bản.

Ghi chú: Nhiều ứng dụng ghi chú hỗ trợ markdown để định dạng.

Trình phân tích cú pháp Markdown

Khái niệm

Trình phân tích cú pháp Markdown (markdown parser) là một thư viện hoặc phần mềm xử lý văn bản được viết bằng cú pháp Markdown và chuyển đổi nó sang một định dạng khác, phổ biến nhất là HTML. Nó diễn giải các ký tự đặc biệt (như *, #, >, v.v.) theo đặc tả Markdown và tạo ra đầu ra có cấu trúc.

Chức năng

Chức năng chính của trình phân tích cú pháp Markdown là lấy văn bản Markdown thô làm đầu vào và tạo ra một định dạng đầu ra khác có thể được hiển thị hoặc sử dụng bởi các ứng dụng khác. Ví dụ: trình phân tích cú pháp sẽ chuyển đổi đầu vào Markdown **văn bản in đậm** thành đầu ra HTML văn bản in đậm. Điều này cho phép người tạo nội dung viết bằng định dạng đơn giản, dễ đọc, trong khi trình phân tích cú pháp xử lý định dạng phức tạp để hiển thị trên web hoặc các nền tảng khác.

Ví dụ

[W3docs – Markdown convertor](https://www.w3docs.com/nx/marked)

Triển khai thực hiện (implementation)

Trình phân tích cú pháp Markdown có sẵn trong hầu hết tất cả các ngôn ngữ lập trình chính. Một số ví dụ phổ biến bao gồm:

JavaScript: Các thư viện như marked hoặc markdown-it được sử dụng rộng rãi cho các ứng dụng phía máy khách hoặc Node.js.

Python: Các thư viện phổ biến bao gồm markdown-it-py và Mistune.

C: Thư viện MD4C là một trình phân tích cú pháp nhanh, tương tự SAX.

Swift: Gói Swift Markdown chính thức được hỗ trợ bởi triển khai cmark-gfm của Markdown mang phong cách GitHub.

Rust: Các trình phân tích cú pháp như markdown-parser có sẵn để phân tích cú pháp các tệp có thể bao gồm phần đầu (siêu dữ liệu).

Ứng dụng

Trình phân tích cú pháp Markdown được tích hợp vào nhiều công cụ phần mềm, và thường được sử dụng trong Trình soạn thảo (Editors) hoặc Trình xem (Viewers):

Trình soạn thảo mã: Các trình soạn thảo như VS Code sử dụng trình phân tích cú pháp để cung cấp bản xem trước song song hoặc toàn cửa sổ của tài liệu được hiển thị.

Ứng dụng viết: Các trình soạn thảo Markdown chuyên dụng như Typora, Byword và Ulysses dựa vào trình phân tích cú pháp để mang lại trải nghiệm viết liền mạch, “những gì bạn thấy là những gì bạn nhận được”.

Nền tảng trực tuyến: Các trang web như GitHub sử dụng trình phân tích cú pháp để định dạng tệp README và bình luận của người dùng một cách chính xác.

0378.59.00.99