Sản phẩm markdown là gì

Thú thật với bạn, trong một thời gian dài, tôi đã từng nghĩ rằng tất cả những tệp tin mà tôi nhìn thấy trên các source code của GitHub với đuôi mở rộng .md là một kiểu tệp tin gì kinh khủng lắm và chỉ dành cho các lập trình viên cao cấp mới sử dụng được @@. Điều đó đã hoàn toàn thay đổi gần đây sau khi chính tôi sử dụng Markdown, và nó đã nhanh chóng trở thành một trong những công cụ quan trọng nhất của tôi trong công việc hằng ngày.

Bạn chỉ cần thêm một vài kí tự đặc biệt và những thứ bạn đã và đang viết, cùng với các phần mềm hỗ trợ hay phần mở rộng của Trình duyệt, thì các văn bản của tôi đã có thể chuyển đổi thành đủ mọi kiểu định dạng như ODT, email, PDF,...

Markdown là gì?

Cách đễ nhất để trả lời câu hỏi này, hay dùng định nghĩa được viết ra từ Wikipedia

Markdown là một ngôn ngữ đánh dấu đơn giản với cú pháp được định dạng bằng cách dùng văn bản thô

Điều đó có nghĩa là bằng việc chỉ sử dụng một vài kí tự trong văn bản của bạn, thì Markdown sẽ giúp bạn tạo ra một văn bản có cấu trúc rõ ràng. Nếu như bình thường, khi bạn viết các ghi chú ở dạng chỉ toàn chữ(notepad là ví dụ điển hình), thì sẽ chẳng có cách nào để xác định phần văn bản nào là in đậm hay in nghiêng. Trong văn bản thông thường, bạn hoàn toàn có thể viết một đường link như https://theuselessweb.com/ một lần, sau đó vì lười bạn viết còn thành theuselessweb.com, sau đó lại truy cập vào trang web(theuselessweb.com). Bạn thấy không, có thể với cách viết này(của một số người), thì diều đơn giản mà mọi người đều có thể nhận ra chính là sự thiếu nhất quán trong đó.

Nhưng nếu như bạn viết tài liệu theo đúng quy định mà Markdown đề ra, thì văn bản của bạn sẽ có một sự nhất quán nhất định. Máy tính thì lại rất thích sự nhất quán vì lý do nó cho phép chúng tuân theo những chỉ thị rõ ràng mà không còn phải lo lắng về các trường hợp ngoại lệ.

Ở bài viết này, mình sẽ không đi vào hướng dẫn chi tiết về cách sử dụng Markdown, vì tôi tin rằng bạn hoàn toàn có thể thuần thục nó chỉ trong 15p và với vài lần thử viết, thì việc sử dụng Markdown chỉ là trò con muỗi. Vì thế ở bài viết này hãy cùng tìm hiểu một vài khía cạnh khác của Markdown và lấy cho mình chút động lực để dùng nó trong tương lai nhé.

Markdown so sánh với các ngôn ngữ đánh đấu văn bản khác (Markup languages)

Markdown chỉ là một trong vô vàn các ngôn ngữ đánh dấu văn bản. Sự thật là cái tên "Markdown" chính là một phép chơi chữ của từ "Markup"

Mardown được sử dụng để xuất văn bản thô trên trình duyệt nhưng các ngôn ngữ đánh dấu khác lại có thể giao tiếp trực tiếp với máy tính. Đơn cử như XML là một ngôn ngữ đánh dấu văn bản mà cả con người lẫn máy móc có thể đọc được

Một ngôn ngữ đánh dấu văn bản khác mà mọi người chắc hẳn ai học CNTT cũng biết vì độ nổi tiếng của nó, chính là HTML. Một ngôn ngữ đánh dấu được định nghĩa là một công cụ dùng để:

"Xử lý, định nghĩa và trình bày văn bản. Ngôn ngữ sẽ chỉ định code cho việc định dạng, cả về cách bố trí và phong cách, trong file văn bản đó. Phần code được sử dụng cho việc định dạng sẽ được gọi là các nhãn(tag)" - Webopedia

Sản phẩm markdown là gì

Điều này có nghĩa là các nhãn cho việc định dạng này được áp dụng một cách trực tiếp trong file văn bản, thay vì được định nghĩa trong một file riêng biệt như là CSS.

Markdown không mang trong mình sứ mệnh "Kẻ huỷ diệt HTML" hay gì, mà mục đích của nó chính là làm đơn giản hoá việc đánh dấu văn bản và tăng cường tốc độ viết lách một cách đáng kể

Lợi ích không ngờ của Markdown

Rất nhiều người viết tài liệu kĩ thuật nhận ra rất nhiều lợi ích khi sử dụng Markdown khi viết tài liệu của họ. Một vài lợi ích trong đó có thể kể đến như

  • Markdown cung cấp ngữ nghĩa cho nội dung theo một cách tương đối đơn giản
  • Bạn có thể viết những nội dung được định dạng phong phú một cách nhanh chóng(So sánh với việc viết trực tiếp bằng HTML tags)
  • Bạn có thể đọc Markdown dễ dàng dưới dạng văn bản thô trước khi được xuất ra HTML
  • Nó không hề cản trở luồng công việc của bạn bằng việc sử dụng chuột hay biểu tượng để click
  • Nó không phụ thuộc nền tảng nên nội dung của bạn sẽ không cố định ở định dạng của trình sửa văn bản bạn đang dùng

Markdown cũng rất nhẹ, bạn sẽ chẳng cần phải học cả tiếng đồng hồ để có thể bắt đầu với nó

Rất nhiều tài liệu sản phẩm được viết dưới dạng Markdown cũng bởi tính linh hoạt của nó, và nó có thể chuyển đổi giữa các nền tảng. Ví dụ, bạn có thể viết Markdown ở một trình soạn thảo như VSCode, hay thậm chí cả nền tảng kiểm soát-phiên bản như GitHub vì nó cũng hỗ trợ Markdown(file README.md bạn hay thấy ở các source code)

Bạn nên sử dụng Markdown khi nào?

Có một câu hỏi mà bạn sẽ đặt ra(nếu chưa thì tôi hỏi hộ bạn luôn ^^), là tại sao tôi phải sử dụng Markdown thay vì một trình chỉnh sửa WYSIWYG (What you see is what you get - Thứ bạn thấy chính là thứ bạn nhận được), thứ mà đã trở thành tiêu chuẩn và xuất hiện rất nhiều hiện nay?

Những trình chỉnh sửa WYSIWYG này(đơn cử như Word) yêu cầu bạn phải ấn vào các phím trên màn hình nhằm đạt được kiểu định dạng mà bạn muốn, và bị giới hạn bởi thiết kế của người sáng tạo phần mềm. Và bạn cũng có thể phải sử dụng cái trình chỉnh sửa đó mọi lúc, nếu như không muốn việc xem nội dung của nó trở thành bất khả thi

Một số bạn sẽ có mối lo ngại rằng Markdown không có đủ các tính năng mà phù hợp với nhu cầu và nếu như họ mở rộng nó thì nội dụng sẽ không thể tái sử dụng được. Markdown có thể được mở rộng với các tính năng nâng cao. Điều đó có nghĩa là một ai đó có thể tạo ra một phiên bản khác của Markdown để phù hợp với nhu cầu của họ. Nói theo một cách khác, nếu bạn mở rộng nó, thì phiên bản Markdown ưa thích của bạn có lẽ sẽ không còn phù hợp cho các nền tảng khác

Hãy hỏi bản thân rằng liệu bạn muốn có một kho nội dung phức tạp với cả nghìn trang mà có thể tái sử dụng xuyên suốt các nền tảng như là web, kho kiến thức cá nhân và để in?

Trong trường hợp này, Markdown có lẽ không dành cho bạn

Nhưng nếu bạn muốn nhanh chóng tạo ra một tài liệu đơn giản với định dạng phong phú, thì Markdown sẽ có thể dành cho bạn.

Một vài "hương vị" của Markdown cho bạn tham khảo

Mặc dù có rất nhiều phiên bản của Markdown, chỉ có một vài ví dụ nổi bật trong số đó sẽ được nhắc đến ở đây

  • CommonMark được tạo ra vào năm 2012 như một nỗ lực trong việc tạo ra một chuẩn mực cho Markdown. Gruber không hề cổ vũ cho khái niệm chuẩn mực, vì anh ấy nghĩ rằng những cú pháp chuẩn mực đó chắc chắn không thể nào có thể thoả mãn những người dùng với các nhu cầu khác nhau
  • GitHub-Flavored Markdown, dựa vào Commonmark, đã thêm một vài tính năng như bảng, gạch ngang các từ, danh sách công việc, và các liên kết tự động
    Sản phẩm markdown là gì

Markdown trên Github

  • MultiMarkdown(MMD) thêm vào bảng, chú thích, trích dẫn và các tính năng khác. Nó bao gồm các công cụ để chuyển đổi Markdown thành các định dạng khác như HTML, PDF và OpenDocument

Các trình chỉnh sửa và công cụ liên quan đến Markdown

Trình chỉnh sửa

  • Typora là một trình trỉnh sửa WYSIWYG mà dùng GitHub Flavored Markdown, có thể tải về trên Mac, Windows, và Linux

    Cả cái blog này đang được viết trên đây và sẽ được convert thành html để up lên trang web mà bạn đang đọc

    Sản phẩm markdown là gì
    Giao diện Typora trên Window
  • MacDown , Dillinger, phân chia màn hình để cho bạn thấy được một bản xem trước của nội dung đã được định dạng trong lúc bạn chỉnh sửa Markdown trực tiếp

Công cụ

  • HashifyMarkdown Dingus đều là những công cụ giúp bạn thử nghiệm với Markdown: Nhập tài liệu bằng Markdown và quan sát kết quả được định dạng xuất ra được ngay lập tức
  • Babelmark là một công cụ dùng để so sánh cú pháp và đầu ra với các cách triển khai khác nhau. Bạn có thể nhập vào một phần Markdown và quan sát xem nó sẽ được biểu diễn thế nào với mỗi cách triển khai

Nếu đã sẵn sàng thì bạn nên bắt đầu từ đâu?

Cú pháp căn bản đã có bài dịch sẵn ở đây để các bạn có thể tham khảo. Mình khuyên là nên dùng Typora để có được trái nghiệm viết tốt nhất nha. Bắt tay vào và làm việc nào ^^

Tham khảo

[1] An introduction to Markdown | Opensource.com

[2] Markdown – Wikipedia tiếng Việt

[3] Pros and Cons of Using Markdown for Technical Writing | Hacker Noon

[4] Why You Should and Should Not Use Markdown | by Peter Conrad | Medium

Markdown là một ngôn ngữ đánh dấu đơn giản. Ưu điểm của nó là nó có thể dễ dàng chuyển đổi sang HTML hoặc ngôn ngữ tương tự khác. Markdown được dùng phổ biến nhất để định dạng tập tin, viết các tin nhắn trong diễn đàn trực tuyến và thêm hình ảnh vào văn bản.

Những câu hỏi thường gặp

Thú thật với bạn, trong một thời gian dài, tôi đã từng nghĩ rằng tất cả những tệp tin mà tôi nhìn thấy trên các source code của GitHub với đuôi mở rộng .md là một kiểu tệp tin gì kinh khủng lắm và chỉ dành cho các lập trình viên cao cấp mới sử dụng được
. Điều đó đã hoàn toàn thay đổi gần đây sau khi chính tôi sử dụng Markdown, và nó đã nhanh chóng trở thành một trong những công cụ quan trọng nhất của tôi trong công việc hằng ngày.

Bạn đang xem: Markdown là gì

Bạn chỉ cần thêm một vài kí tự đặc biệt và những thứ bạn đã và đang viết, cùng với các phần mềm hỗ trợ hay phần mở rộng của Trình duyệt, thì các văn bản của tôi đã có thể chuyển đổi thành đủ mọi kiểu định dạng như ODT, email, PDF,...

Markdown là gì?

Cách đễ nhất để trả lời câu hỏi này, hay dùng định nghĩa được viết ra từ Wikipedia

Markdown là một ngôn ngữ đánh dấu đơn giản với cú pháp được định dạng bằng cách dùng văn bản thô

Điều đó có nghĩa là bằng việc chỉ sử dụng một vài kí tự trong văn bản của bạn, thì Markdown sẽ giúp bạn tạo ra một văn bản có cấu trúc rõ ràng. Nếu như bình thường, khi bạn viết các ghi chú ở dạng chỉ toàn chữ(notepad là ví dụ điển hình), thì sẽ chẳng có cách nào để xác định phần văn bản nào là in đậm hay in nghiêng. Trong văn bản thông thường, bạn hoàn toàn có thể viết một đường link như https://theuselessweb.com/ một lần, sau đó vì lười bạn viết còn thành theuselessweb.com, sau đó lại truy cập vào trang web(theuselessweb.com). Bạn thấy không, có thể với cách viết này(của một số người), thì diều đơn giản mà mọi người đều có thể nhận ra chính là sự thiếu nhất quán trong đó.

Nhưng nếu như bạn viết tài liệu theo đúng quy định mà Markdown đề ra, thì văn bản của bạn sẽ có một sự nhất quán nhất định. Máy tính thì lại rất thích sự nhất quán vì lý do nó cho phép chúng tuân theo những chỉ thị rõ ràng mà không còn phải lo lắng về các trường hợp ngoại lệ.

Xem thêm: Kinh Doanh Kỹ Thuật Là Gì - Nó Khác Gì So Với Nhân Viên Kinh Doanh

Ở bài viết này, mình sẽ không đi vào hướng dẫn chi tiết về cách sử dụng Markdown, vì tôi tin rằng bạn hoàn toàn có thể thuần thục nó chỉ trong 15p và với vài lần thử viết, thì việc sử dụng Markdown chỉ là trò con muỗi. Vì thế ở bài viết này hãy cùng tìm hiểu một vài khía cạnh khác của Markdown và lấy cho mình chút động lực để dùng nó trong tương lai nhé.

Markdown so sánh với các ngôn ngữ đánh đấu văn bản khác (Markup languages)

Markdown chỉ là một trong vô vàn các ngôn ngữ đánh dấu văn bản. Sự thật là cái tên "Markdown" chính là một phép chơi chữ của từ "Markup"

Mardown được sử dụng để xuất văn bản thô trên trình duyệt nhưng các ngôn ngữ đánh dấu khác lại có thể giao tiếp trực tiếp với máy tính. Đơn cử như XML là một ngôn ngữ đánh dấu văn bản mà cả con người lẫn máy móc có thể đọc được

Một ngôn ngữ đánh dấu văn bản khác mà mọi người chắc hẳn ai học CNTT cũng biết vì độ nổi tiếng của nó, chính là HTML. Một ngôn ngữ đánh dấu được định nghĩa là một công cụ dùng để:

"Xử lý, định nghĩa và trình bày văn bản. Ngôn ngữ sẽ chỉ định code cho việc định dạng, cả về cách bố trí và phong cách, trong file văn bản đó. Phần code được sử dụng cho việc định dạng sẽ được gọi là các nhãn(tag)" -Webopedia

Sản phẩm markdown là gì

Điều này có nghĩa là các nhãn cho việc định dạng này được áp dụng một cách trực tiếp trong file văn bản, thay vì được định nghĩa trong một file riêng biệt như là CSS.

Markdown không mang trong mình sứ mệnh "Kẻ huỷ diệt HTML" hay gì, mà mục đích của nó chính là làm đơn giản hoá việc đánh dấu văn bản và tăng cường tốc độ viết lách một cách đáng kể

Lợi ích không ngờ của Markdown

Rất nhiều người viết tài liệu kĩ thuật nhận ra rất nhiều lợi ích khi sử dụng Markdown khi viết tài liệu của họ. Một vài lợi ích trong đó có thể kể đến như

Markdown cung cấp ngữ nghĩa cho nội dung theo một cách tương đối đơn giảnBạn có thể viết những nội dung được định dạng phong phú một cách nhanh chóng(So sánh với việc viết trực tiếp bằng HTML tags)Bạn có thể đọc Markdown dễ dàng dưới dạng văn bản thô trước khi được xuất ra HTMLNó không hề cản trở luồng công việc của bạn bằng việc sử dụng chuột hay biểu tượng để clickNó không phụ thuộc nền tảng nên nội dung của bạn sẽ không cố định ở định dạng của trình sửa văn bản bạn đang dùng

Markdown cũng rất nhẹ, bạn sẽ chẳng cần phải học cả tiếng đồng hồ để có thể bắt đầu với nó

Rất nhiều tài liệu sản phẩm được viết dưới dạng Markdown cũng bởi tính linh hoạt của nó, và nó có thể chuyển đổi giữa các nền tảng. Ví dụ, bạn có thể viết Markdown ở một trình soạn thảo như VSCode, hay thậm chí cả nền tảng kiểm soát-phiên bản như GitHub vì nó cũng hỗ trợ Markdown(file README.md bạn hay thấy ở các source code)

Bạn nên sử dụng Markdown khi nào?

Có một câu hỏi mà bạn sẽ đặt ra(nếu chưa thì tôi hỏi hộ bạn luôn ^^), là tại sao tôi phải sử dụng Markdown thay vì một trình chỉnh sửa WYSIWYG (What you see is what you get - Thứ bạn thấy chính là thứ bạn nhận được), thứ mà đã trở thành tiêu chuẩn và xuất hiện rất nhiều hiện nay?

Những trình chỉnh sửa WYSIWYG này(đơn cử như Word) yêu cầu bạn phải ấn vào các phím trên màn hình nhằm đạt được kiểu định dạng mà bạn muốn, và bị giới hạn bởi thiết kế của người sáng tạo phần mềm. Và bạn cũng có thể phải sử dụng cái trình chỉnh sửa đó mọi lúc, nếu như không muốn việc xem nội dung của nó trở thành bất khả thi

Một số bạn sẽ có mối lo ngại rằng Markdown không có đủ các tính năng mà phù hợp với nhu cầu và nếu như họ mở rộng nó thì nội dụng sẽ không thể tái sử dụng được. Markdown có thể được mở rộng với các tính năng nâng cao. Điều đó có nghĩa là một ai đó có thể tạo ra một phiên bản khác của Markdown để phù hợp với nhu cầu của họ. Nói theo một cách khác, nếu bạn mở rộng nó, thì phiên bản Markdown ưa thích của bạn có lẽ sẽ không còn phù hợp cho các nền tảng khác

Hãy hỏi bản thân rằng liệu bạn muốn có một kho nội dung phức tạp với cả nghìn trang mà có thể tái sử dụng xuyên suốt các nền tảng như là web, kho kiến thức cá nhân và để in?

Trong trường hợp này, Markdown có lẽ không dành cho bạn

Nhưng nếu bạn muốn nhanh chóng tạo ra một tài liệu đơn giản với định dạng phong phú, thì Markdown sẽ có thể dành cho bạn.

Một vài "hương vị" của Markdown cho bạn tham khảo

Mặc dù có rất nhiều phiên bản của Markdown, chỉ có một vài ví dụ nổi bật trong số đó sẽ được nhắc đến ở đây

Markdown trên Github

Các trình chỉnh sửa và công cụ liên quan đến Markdown

Trình chỉnh sửa

Công cụ

Nếu đã sẵn sàng thì bạn nên bắt đầu từ đâu?

Cú pháp căn bản đã có bài dịch sẵn ở đây để các bạn có thể tham khảo. Mình khuyên là nên dùng Typora để có được trái nghiệm viết tốt nhất nha. Bắt tay vào và làm việc nào ^^