Đị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
  • Úi trời nể thật chứ. Trước bên Windows có "khoe" một tính năng kiểu như là nó sẽ tự động chụp ảnh lại màn hình máy tính để phục vụ cho mục đích tìm kiếm thông tin sau này. Ví dụ lúc lướt web thấy cái này cái họ nhưng hôm sau lại quên mất tên trang web hoặc không nhớ nổi truy cập vào lúc nào thì chỉ cần sử dụng tính năng đó để tìm kiếm lại.

    Quả thật hữu ích nhưng đặc điểm của cách làm này là chụp lại toàn bộ màn hình máy tính nên nhiều người lo ngại về quyền riêng tư, chẳng may bị lộ lọt thông tin hoặc nó chụp lại những bức ảnh nhạy cảm thì có mà chết. Ngay lập tức nó bị vấp phải những chỉ trích của người dùng và buộc Windows phải xem xét lại tính khả thi trước khi áp dụng.

    Thì mới đây đã có người Open Source luôn tính năng kiểu đó rồi 🫣 mediar-ai/screenpipe

    » Xem thêm
  • Mọi người thường nói đùa rằng regex là ngôn ngữ của người ngoài hành tinh. Ai mà viết được regex thì họ có năng lực của một người ngoài Trái Đất. Nói đùa vậy thôi chứ thực chất là chỉ ý regex thật khó hiểu.

    Tình cờ mình biết đến một trang web dạy chúng ta regex từng bước một. Trong quá trình học chúng ta cần tương tác với hàng chục câu hỏi từ đơn giản đến nâng cao để từng bước học cách sử dụng "ngôn ngữ ngoài hành tinh" này.

    regexlearn.com

    » Xem thêm
  • Tin vui đầu ngày. Github vừa công bố rộng rãi GitHub Models đến tất cả mọi người. Nếu còn nhớ cách đây hơn 2 tháng trước, Github có chương trình đăng ký dùng thử các models của LLMs, và trường hợp của mình thì phải một tháng sau mới được duyệt cho dùng. Thì giờ đây họ đã cho mọi người dùng Github có quyền truy cập vào rồi, không cần phải đăng ký gì nữa 🥳

    GitHub Models đang là phao cứu sinh cho mình trong khi xây dựng trang blog này 😆

    GitHub Models is now available in public preview | Github Blog

    » 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.

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...