Bộ chuyển HTML sang Markdown - Markdown sạch từ bất kỳ trang nào
Chuyển HTML sang Markdown
Script, style và media nhúng bị bỏ; thẻ không nhận ra giữ lại văn bản. Bảng trở thành bảng GFM.
Biến HTML thành Markdown
Chuyển một bài blog vào README, một trang tài liệu vào wiki hay một bài báo web vào ghi chú của bạn có nghĩa là bỏ HTML đi mà không mất cấu trúc. Bộ chuyển này phân tích mã đánh dấu theo cách trình duyệt làm và viết ra Markdown tương đương — tiêu đề vẫn là tiêu đề, danh sách lồng vẫn lồng, bảng vẫn là bảng — trong khi script, style và pixel theo dõi biến mất.
Các bước
- 1 Dán HTML — cả trang hay một đoạn — vào ô trên. Ở hầu hết trình duyệt, bạn có thể nhấp chuột phải vào trang và chọn Xem nguồn trang để sao chép.
- 2 Đọc Markdown bên dưới; nó cập nhật khi bạn gõ. Danh sách lồng nhau, khối mã có ngôn ngữ và bảng có căn lề được giữ nguyên.
- 3 Sao chép kết quả hoặc tải về dưới dạng tệp .md.
Cái gì chuyển thành cái gì
Tiêu đề h1 đến h6 thành tiêu đề dấu thăng; p thành đoạn văn, br thành ngắt dòng cứng và hr thành đường kẻ. strong và b thành hai dấu sao, em và i thành một dấu sao, del và s thành hai dấu ngã; code thành dấu huyền và pre thành khối rào giữ lớp ngôn ngữ làm nhãn rào. Liên kết thành [văn bản](url), hình ảnh thành ; ul và ol thành danh sách gạch đầu dòng và đánh số lồng bằng hai khoảng trắng; blockquote thành các dòng có dấu lớn hơn ở đầu; table thành bảng GFM với căn lề lấy từ thuộc tính align hoặc kiểu text-align.
Vì sao làm việc trên DOM, không phải trên văn bản
Biểu thức chính quy không xử lý HTML đáng tin cậy: thẻ lồng nhau, thuộc tính chứa dấu ngoặc nhọn trong chuỗi, và trang thật hiếm khi đúng chuẩn. Bộ chuyển giao HTML cho bộ phân tích của chính trình duyệt, nó sửa các thẻ chưa đóng và lồng sai đúng như khi hiển thị, rồi duyệt cây kết quả. Đó là lý do một liên kết trong chữ đậm trong một mục danh sách ra đúng.
Cái gì bị bỏ và cái gì được giữ
script, style, head, noscript, template, iframe, object, embed, svg, canvas, video và audio bị loại bỏ cùng nội dung — không cái nào có tương đương trong Markdown và hầu hết là nhiễu. Mọi thứ khác không nhận ra giữ lại văn bản: phần tử tùy chỉnh, span hay div được coi là vùng chứa và các con của nó được chuyển. Vì thế định dạng nội dòng trong các thẻ không biết vẫn tồn tại.
Thoát ký tự và đầu ra sạch
Những ký tự làm đổi nghĩa trong Markdown — dấu sao, gạch dưới, dấu huyền, gạch chéo ngược, và dấu thăng hay gạch ngang ở đầu dòng — được thoát trong văn bản để khi chuyển Markdown ngược về HTML cho cùng kết quả. Khoảng trắng được gộp như trình duyệt làm, trừ trong pre. Dòng trống được giảm còn một dòng giữa các khối.