Định dạng Markdown và những điều bạn cần biết - CommonMark Spec

Định dạng Markdown và những điều bạn cần biết - CommonMark Spec

Những mẩu tin ngắn hàng ngày dành cho bạn
  • Hic, dạo này bận quá, lại còn nhiều biến nữa nên mình chưa có thời gian viết bài viết dài nữa. Thay vào đó thì là cố gắng duy trì mục tin ngắn hàng ngày này cho bạn đọc. Vì ngắn mà, viết nhanh hơn nhiều.

    Mình đang sửa lại một chút giao diện đồng thời thêm một tính năng mới. Bạn có đoán ra nó là gì không? Bật mí nhé, liên quan một chút đến AI và Tiktok 😁

    » Xem thêm
  • Đang trong 14 ngày dùng thử Windsurf, hôm nay đã là ngày thứ 7, mình có một số cảm nhận nhanh như sau:

    Đầu tiên là giao diện được tuỳ biến hơn một chút, mang lại cảm giác phẳng và thân thiện hơn VSCode truyền thống.

    Thứ hai là gợi ý siêu nhanh nhưng hơi hấp tấp. Kiểu chưa được chính xác cho lắm ý nhưng lại rất tự tin gợi ý ra cả mấy dòng liền. Nên không phải lúc nào tab tab cũng đúng. Tuy vậy đọc ngữ cảnh tốt, tốt hơn cả Copilot.

    Thứ ba là cái Chat/Edit đạt trình độ thượng thừa, rất tốt, nói một hiểu mười, chắc phải ngang ngửa Cursor đấy, mình không dám chắc nữa, cảm nhận thế. Ngoài ra một lỗi làm mình thấy khá khó chịu là thi thoảng nó gợi ý nhưng tab lại không ăn ý, xong mất công phải xoá đi.

    Không biết sau khi hết 14 ngày sẽ như nào, nên mình sẽ tiếp tục cập nhật thêm. Nhưng nhìn chung là ăn đứt Copilot rồi đấy.

    À! Một cái nữa là tiếng Việt của con này dở tệ. Chả hiểu sao!?

    » Xem thêm
  • smee.io là một cách đơn giản để tạo một địa chỉ webhook và ánh xạ nó về địa chỉ localhost trong máy tính của bạn.

    $ npm install --global smee-client $ smee -u https://smee.io/eu4UoW8vrKSZtTB

    » Xem thêm

Vấn đề

Rất lâu về trước, khi tải một công cụ gì đó trên mạng về, giải nén ra thì thường sẽ có một tệp có tên "README.MD" và người đăng thì luôn khuyên rằng nên đọc trước nội dung có trong đó để biết cách sử dụng. Lúc đó, tôi chỉ có thắc mắc về cái đuôi .MD, vì nó chỉ là một tệp văn bản bình thường thôi thì tại sao lại không .TXT!?

Lớn hơn một chút, khi biết cách sử dụng Github, tôi đọc được nhiều lời khuyên rằng nên tạo một tệp "README.MD" để mô tả ngắn gọn về dự án. Khi đó, cách tôi viết chỉ đơn giản là những gạch đầu dòng tóm tắt lại ý chính. Tôi bắt đầu để ý đến những repo khác trên Github, bởi vì khi truy cập, đập vào mắt là phần mô tả hết sức khoa học mà còn đẹp mắt. Đó là lúc tôi được biết đến định dạng Markdown.

Trải qua một thời gian sử dụng, tôi nhận ra Markdown quả là một ý tưởng tuyệt vời, khi nó mang lại rất nhiều lợi ích cho mình. Vì thế, ngày hôm nay tôi xin phép được viết một bài nói về định dạng này, vì sao nên sử dụng, cũng như cho nhiều bạn lâu nay đã biết mà không để ý đến Markdown có nhiều cơ hội tìm hiểu kĩ hơn về loại định dạng này.

Markdown là gì?

Markdown là một ngôn ngữ đánh dấu văn bản (Markup Language) đơn giản, được tạo ra bởi John Gruber vào năm 2004 với mục đích dễ dàng viết và đọc các tài liệu, có thể chuyển đổi sang HTML hoặc các định dạng khác.

Markdown cho phép bạn tạo văn bản một cách dễ dàng, chỉ sử dụng các ký tự để đánh dấu kiểu chữ, kích thước, định dạng, liên kết, hình ảnh... Markdown có thể được sử dụng trong nhiều trường hợp, bao gồm viết blog, tài liệu kỹ thuật, bài viết trên diễn đàn, ghi chú...

Bạn sẽ thấy Markdown xuất hiện rất nhiều trong mã nguồn của phần mềm, dự án. Một phần vì nó dễ viết, phần nữa là khả năng chuyển đổi từ những dòng văn bản đơn điệu thành một phiên bản hiển thị trên web rất sống động.

Github README.MD

Tại sao nên sử dụng Markdown?

Markdown giúp cho người viết tập trung vào viết nội dung thay vì phải lo lắng về định dạng của văn bản. Khi sử dụng một phần mềm soạn thảo thông dụng như Word, bạn sẽ phải vừa viết, vừa sử dụng các nút tính năng hoặc công cụ để căn lề, định dạng, tạo thẻ tiêu đề, danh sách... thì với Markdown bạn không có gì ngoài những quy tắc, kẹp văn bản giữa các kí tự đại diện cho hành động định dạng. Bên cạnh đó, Markdown cũng dễ dàng để học và sử dụng, không yêu cầu nhiều kiến thức kỹ thuật.

Ví dụ một đoạn văn bản được định dạng là thẻ tiêu đề trong Markdown sẽ là:

# Tiêu đề
## Tiêu đề con
### Tiêu đề con của con

Có nhiều lý do tại sao nên sử dụng Markdown. Dưới đây là một trong số đó:

  • Dễ học và viết: Markdown là một ngôn ngữ đánh dấu đơn giản và dễ học, viết văn bản bằng Markdown cũng rất dễ dàng và nhanh chóng, không cần phải sử dụng phần mềm phức tạp. Bất cứ thứ gì, miễn là có thể tạo và lưu tệp kí tự.
  • Dễ dàng chuyển đổi sang các định dạng khác: Markdown có thể được chuyển đổi sang nhiều định dạng khác nhau như HTML, PDF, LaTex, EPUB...
  • Tập trung vào nội dung: người viết chỉ cần tập trung vào viết thay vì lo lắng về định dạng văn bản.
  • Hỗ trợ nhiều kiểu định dạng: Markdown hỗ trợ nhiều tính năng như tạo tiêu đề, đánh dấu chữ in đậm, in nghiêng, tạo danh sách, tạo liên kết, chèn hình ảnh, chèn mã nguồn, tạo bảng, v.v.
  • Dễ dàng quản lý: Markdown là một định dạng văn bản đơn giản, dễ dàng quản lý, theo dõi và sửa đổi. Có nhiều công cụ phần mềm hỗ trợ quản lý các tệp Markdown rất tốt.

Tóm lại, việc sử dụng Markdown có nhiều lợi ích, giúp người viết tập trung vào viết nội dung, dễ dàng chuyển đổi sang các định dạng khác nhau và phù hợp với nhiều mục đích sử dụng.

Hạn chế của Markdown

Mặc dù Markdown có nhiều lợi ích, nhưng nó cũng có một số hạn chế.

Vì chỉ là một tệp văn bản đơn giản, nó khó mà đáp ứng được nhiều định dạng như khi sử dụng một phần mềm soạn thảo văn bản thông thường. Bạn không thể căn chỉnh lề, dãn chữ, dãn dòng... và rất nhiều thứ khác.

Nếu không có một công cụ để chuyển đổi real-time văn bản viết bằng định dạng Markdown sang một định dạng khác như HTML, thì những kí tự dùng để định dạng sẽ gây cản trở quá trình đọc hiểu văn bản mà bạn đang viết.

Tóm lại, với những trường hợp đòi hỏi khả năng định dạng phức tạp, Markdown có thể không phù hợp. Ngược lại, nếu chỉ cần tập trung vào nội dung, nó sẽ trở nên rất hữu ích.

CommonMark Spec

Markdown được tạo ra bởi John Gruber, thế nên có lẽ đó là phiên bản tiêu chuẩn nhất. Thực tế, nếu chỉ dựa vào nó thì có rất nhiều hạn chế về tính năng. Đặc biệt là ngày nay, nhu cầu định dạng ngày càng phong phú.

Vì thế có nhiều cá nhân, tổ chức... cố gắng nâng cấp thêm tính năng cho Markdown. Trong đó đặc biệt nổi tiếng là CommonMark - một phiên bản "tiêu chuẩn" của Markdown, được tạo ra nhằm đảm bảo tính nhất quán giữa các trình biên tập Markdown khác nhau, giúp cho việc tạo và hiển thị tài liệu Markdown trở nên đồng nhất hơn.

CommonMark cung cấp một bộ quy tắc chung cho các tài liệu Markdown, giúp các trình biên tập Markdown hiểu và hiển thị các định dạng tài liệu này một cách đồng nhất.

Nói cách khác, CommonMark được đánh giá là một tiêu chuẩn Markdown chất lượng cao và đáng tin cậy. Các trình biên tập Markdown như Visual Studio Code, Atom, Sublime Text và Emacs đều hỗ trợ CommonMark và các tính năng mới của nó.

Vì thế, nếu bạn đang sử dụng Markdown làm định dạng để viết, hoặc đăng tải trên nhiều nền tảng hỗ trợ thì hãy xem xét sử dụng CommonMark để có thêm nhiều định dạng phong phú hơn cho tài liệu của bạn.

Kết luận

Markdown - một ngôn ngữ đánh dấu văn bản đơn giản, được sử dụng rộng rãi để tạo tài liệu trên nhiều nền tảng. Markdown rất dễ học, dễ viết với một vài hạn chế, ưu điểm nó mang lại. CommonMark là một trong những "nỗ lực" tạo ra một tiêu chuẩn cho định dạng Markdown nhằm thống nhất cách viết cũng như cách hiển thị văn bản trong môi trường khác nhau.

Cao cấp
Hello

5 bài học sâu sắc

Mỗi sản phẩm đi kèm với những câu chuyện. Thành công của người khác là nguồn cảm hứng cho nhiều người theo sau. 5 bài học rút ra được đã thay đổi con người tôi mãi mãi. Còn bạn? Hãy bấm vào ngay!

Mỗi sản phẩm đi kèm với những câu chuyện. Thành công của người khác là nguồn cảm hứng cho nhiều người theo sau. 5 bài học rút ra được đã thay đổi con người tôi mãi mãi. Còn bạn? Hãy bấm vào ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.
Author

Xin chào, tôi tên là Hoài - một anh Dev kể chuyện bằng cách viết ✍️ và làm sản phẩm 🚀. Với nhiều năm kinh nghiệm lập trình, tôi đã đóng góp một phần công sức cho nhiều sản phẩm mang lại giá trị cho người dùng tại nơi đang làm việc, cũng như cho chính bản thân. Sở thích của tôi là đọc, viết, nghiên cứu... Tôi tạo ra trang Blog này với sứ mệnh mang đến những bài viết chất lượng cho độc giả của 2coffee.dev.Hãy theo dõi tôi qua các kênh LinkedIn, Facebook, Instagram, Telegram.

Bạn thấy bài viết này có ích?
Không

Bình luận (0)

Nội dung bình luận...