Xem trước Markdown
Viết Markdown kiểu GitHub và xem kết quả hiển thị ngay lập tức.
Việc dựng trang diễn ra ngay trong trình duyệt. Tài liệu nội bộ, bản nháp hay bất cứ gì bạn dán vào đều không bao giờ được tải lên.
Markdown thường được viết ở những nơi không cho bạn thấy nó sẽ trông ra sao: khung soạn commit, ô bình luận trong ticket, một README gõ qua SSH. Khoảng cách giữa "chắc cái bảng đó đúng rồi" và "cái bảng đó đúng thật" là đúng một lần xem trước, và việc dán tài liệu nội bộ vào một trang web lạ để có lần xem trước ấy là cách văn bản mật lọt vào log của người khác.
Tìm hiểu thêm về Xem trước Markdown
Bản xem trước này chạy hoàn toàn trong trang của bạn. Gõ hoặc dán Markdown kiểu GitHub bên trái và kết quả hiển thị hiện ra bên phải theo từng phím — bảng có căn lề, danh sách công việc thành ô đánh dấu, gạch ngang chữ, khối mã có nhãn ngôn ngữ, trích dẫn, liên kết tham chiếu và liên kết tự động.
Nó được xây để an toàn trước tài liệu độc hại, chứ không chỉ tiện cho tài liệu hiền lành. HTML thô trong văn bản được hiển thị dưới dạng chữ, không bao giờ được phân tích — đó chính là nơi trú ngụ của mã độc nhúng qua markdown. Đích của liên kết được kiểm tra sau khi gỡ hết các trò nguỵ trang, nên một URL javascript: không thể nấp sau mã hoá thực thể; URL data: bị từ chối ở cả liên kết lẫn hình ảnh.
Trình dựng tạo trang thẳng từ cấu trúc của tài liệu — không có thời điểm nào tồn tại một chuỗi HTML để có thể bị tiêm vào. Tính chất đó mạnh hơn việc lọc kết quả về sau, và là lý do dán một README từ kho mã lạ vào đây vẫn an toàn.
Mục tiêu độ trung thực: những gì GitHub hiển thị với tài liệu thông thường. Phiên bản này chưa tô màu cú pháp trong khối mã, và các bố cục dựa trên HTML sẽ hiện nguyên văn — đều là chủ đích.
- Xem trước trực tiếp với các phần mở rộng GitHub: bảng, danh sách công việc, gạch ngang
- HTML thô hiển thị dưới dạng chữ — mã độc markdown không có chỗ chạy
- URL liên kết và hình ảnh được lọc sau khi gỡ mọi trò mã hoá thực thể
- Khối mã có nhãn ngôn ngữ
- Liên kết tham chiếu, liên kết tự động, tiêu đề setext, trích dẫn và danh sách lồng nhau
- Tài liệu lớn được dựng ngoài luồng chính
- Sao chép mã nguồn Markdown bằng một nút
Cách sử dụng
- 1Gõ hoặc dán Markdown vào khung bên trái, hoặc nạp ví dụ.
- 2Đọc kết quả hiển thị bên phải theo từng phím gõ.
- 3Với tài liệu rất lớn, nhấn Chạy khi được hỏi.
- 4Xong việc thì sao chép mã nguồn bằng nút bên dưới.
Câu hỏi thường gặp
Vì sao HTML tôi viết hiện thành chữ thay vì được dựng?
Đó là chủ đích: HTML thô là nơi mọi cuộc tấn công tiêm mã qua markdown trú ngụ, nên nó được hiển thị dưới dạng chữ chứ không được phân tích. Một bản xem trước dựng được <div> của bạn thì cũng dựng được <script> của kẻ xấu.
Kết quả có giống hệt GitHub không?
Với tài liệu thông thường — tiêu đề, danh sách, bảng, mã, trích dẫn — thì có, đây là bản xem trước kiểu GitHub. Giống đến từng điểm ảnh không phải mục tiêu: GitHub áp CSS riêng của họ, và các chiêu dùng HTML cố tình được hiện nguyên văn.
Vì sao khối mã chưa được tô màu cú pháp?
Bộ ngữ pháp tô màu cho đủ mọi ngôn ngữ sẽ nhân dung lượng tải lên nhiều lần cho một tính năng phần lớn lượt xem trước không cần. Khối mã vẫn giữ nhãn ngôn ngữ nên thông tin không mất; tô màu có thể được bổ sung sau.
Liên kết tôi viết với URL javascript: đi đâu rồi?
Phần chữ vẫn còn, nhưng bản thân liên kết đã bị gỡ: đích đến được kiểm tra sau khi gỡ các lớp nguỵ trang bằng thực thể và ký tự điều khiển, và chỉ http, https, mailto cùng URL tương đối được giữ lại. URL data: cũng bị chặn.
Có xuất kết quả ra HTML được không?
Không — và đó là cố ý: công cụ này không bao giờ tạo ra chuỗi HTML ở bất kỳ đâu, đó là phần lớn lý do nó an toàn. Hãy sao chép mã nguồn Markdown; mọi nền tảng nghiêm túc đều tự dựng được nó.