MD là ngôn ngữ đánh dấu với cú pháp định dạng văn bản thuần túy. Markdown thường được sử dụng làm định dạng cho tài liệu và tệp readme vì nó cho phép viết theo phong cách dễ đọc và dễ viết. Nó phổ biến với các nhà văn kỹ thuật vì sử dụng đơn giản, dễ học và hỗ trợ rộng rãi. Thiết kế của nó cho phép nó dễ dàng chuyển đổi sang nhiều định dạng đầu ra, nhưng ban đầu, nó được tạo ra để chỉ chuyển đổi sang HTML. giả định. Thư viện lớp HTML cung cấp chuyển đổi đảo ngược từ HTML sang Markdown. Bạn có thể truy cập và chỉnh sửa tệp Markdown hoặc tạo nội dung mới từ bất kỳ thiết bị nào trong bất kỳ trình soạn thảo văn bản nào
Trong bài viết này, bạn sẽ tìm thấy thông tin về cách chuyển đổi HTML sang MD bằng cách sử dụng các phương thức ConvertHTML[] của lớp Trình chuyển đổi và cách áp dụng MarkdownSaveOptions
Trình chuyển đổi HTML trực tuyến
Bạn có thể chuyển đổi HTML sang Markdown bằng Aspose. HTML cho. NET API trong thời gian thực. Đầu tiên, tải tệp HTML từ ổ đĩa cục bộ của bạn rồi chạy ví dụ. Trong ví dụ này, các tùy chọn lưu được đặt theo mặc định. Bạn sẽ ngay lập tức nhận được kết quả chuyển đổi HTML sang Markdown dưới dạng tệp Markdown riêng biệt
Tải lên tệp bạn muốn chuyển đổi
using Aspose.Html; using Aspose.Html.Converters; using Aspose.Html.Saving; using var document = new HTMLDocument["document.{{input lower}}"]; {{#if_output 'PDF'}} var options = new PdfSaveOptions[]; {{/if_output}} {{#if_output 'DOCX'}} var options = new DocSaveOptions[]; {{/if_output}} {{#if_output 'XPS'}} var options = new XpsSaveOptions[]; {{/if_output}} {{#if_output 'MD'}} var options = new MarkdownSaveOptions[]; {{/if_output}} {{#if_output 'MHTML'}} var options = new MHTMLSaveOptions[]; {{/if_output}} {{#if_output 'BMP' 'JPG' 'GIF' 'PNG' 'TIFF'}} var options = new ImageSaveOptions[ImageFormat.{{output param2 camel}}]; {{/if_output}} Converter.ConvertHTML[document, options, "output.{{output lower}}"];
HTML sang Markdown bằng một vài dòng mã
Bạn có thể chuyển đổi HTML sang định dạng Markdown bằng C# và các ngôn ngữ khác. NET ngôn ngữ lập trình. Các phương thức tĩnh của lớp Trình chuyển đổi chủ yếu được sử dụng như cách dễ nhất để chuyển đổi mã HTML sang các định dạng khác nhau. Đoạn mã sau đây cho thấy cách chuyển đổi HTML sang Markdown theo đúng nghĩa đen với một vài dòng mã
using System.IO;
using Aspose.Html.Converters;
using Aspose.Html.Saving;
...
// Prepare HTML code and save it to a file
var code = "Header 1" +
"Header 2
" +
"Hello, World!!
";
File.WriteAllText["singl-line.html", code];
// Call ConvertHTML[] method to convert HTML to Markdown
Converter.ConvertHTML["singl-line.html", new MarkdownSaveOptions[], Path.Combine[OutputDir, "convert-with-single-line.md"]];
Lưu tùy chọn
MarkdownSaveOptions có một số thuộc tính cho phép bạn kiểm soát quá trình chuyển đổi. Tùy chọn quan trọng nhất là MarkdownSaveOptions. Đặc trưng. Tùy chọn này cho phép bạn bật/tắt chuyển đổi thành phần cụ thể
PropertyDescripDefault Thuộc tính này trả về một tập hợp các tùy chọn tương thích với tài liệu Markdown mặc định. Tính năng Một bộ cờ kiểm soát các phần tử HTML nào được chuyển đổi thành Markdown. FormatterThuộc tính này nhận hoặc đặt kiểu định dạng Markdown. Thuộc tính GitThis trả về một tập hợp các tùy chọn tương thích với GitLab Flavored Markdown. ResourceHandlingOptionsNhận đối tượng ResourceHandlingOptions được sử dụng để cấu hình xử lý tài nguyênChuyển đổi HTML sang Markdown bằng MarkdownSaveOptions
Để chuyển đổi HTML sang Markdown với chỉ định Markdown SaveOptions, bạn nên làm theo một số bước
- Tải tệp HTML bằng cách sử dụng một trong các hàm tạo HTMLDocument[] của lớp HTMLDocument
- Tạo đối tượng MarkdownSaveOptions mới
- Sử dụng phương thức ConvertHTML[] của lớp Trình chuyển đổi để lưu HTML dưới dạng tệp Markdown. Bạn cần chuyển HTMLDocument, MarkdownSaveOptions và đường dẫn tệp đầu ra sang phương thức ConvertHTML[] để chuyển đổi HTML thành Markdown
Ví dụ sau đây cho thấy cách chỉ xử lý các liên kết và đoạn văn, các thành phần HTML khác vẫn giữ nguyên
using System.IO; using Aspose.Html.Converters; using Aspose.Html.Saving; ... // Prepare a path for converted file saving string savePath = Path.Combine[OutputDir, "options-output.md"]; // Prepare HTML code and save it to the file var code = "Header 1" + "
Header 2
" + "Hello, World!!
" + "aspose"; File.WriteAllText[Path.Combine[OutputDir, "options.html"], code]; // Create an instance of SaveOptions and set up the rule: // - only and
elements will be converted to Markdown var options = new MarkdownSaveOptions[]; options.Features = MarkdownFeatures.Link | MarkdownFeatures.AutomaticParagraph; // Call the ConvertHTML method to convert HTML to Markdown. Converter.ConvertHTML[Path.Combine[OutputDir, "options.html"], options, savePath];
Để chuyển đổi HTML sang Markdown, bạn có thể xác định bộ quy tắc của riêng mình hoặc sử dụng các mẫu được xác định trước. Chẳng hạn, bạn có thể sử dụng mẫu dựa trên cú pháp GitLab Flavored Markdown
using System.IO;
using Aspose.Html.Converters;
using Aspose.Html.Saving;
...
// Prepare a path for converted file saving
string savePath = Path.Combine[OutputDir, "output-git.md"];
// Prepare HTML code and save it to the file
var code = "Header 1" +
"Header 2
" +
"Hello World!!
";
File.WriteAllText[Path.Combine[OutputDir, "document.html"], code];
// Call ConvertHTML[] method to convert HTML to Markdown
Converter.ConvertHTML[Path.Combine[OutputDir, "document.html"], MarkdownSaveOptions.Git, savePath];
GitLab Flavored Markdown là GitHub. phiên bản com của cú pháp Markdown cung cấp một bộ tính năng hữu ích bổ sung giúp làm việc với nội dung trên GitHub dễ dàng hơn. com
giới hạn
Markdown là một cú pháp nhẹ và dễ sử dụng. Không phải tất cả các phần tử HTML đều có thể chuyển đổi sang Markdown vì không có cú pháp Markdown tương đương. Các phần tử như STYLE , SCRIPT , LINK , EMBED , v.v. sẽ bị loại bỏ trong quá trình chuyển đổi
Bạn có thể tải xuống các ví dụ và tệp dữ liệu hoàn chỉnh từ GitHub
HTML nội tuyến
Markdown cho phép bạn chỉ định mã HTML thuần túy, mã này sẽ được hiển thị như hiện tại. Tính năng cho phép hành vi này được gọi là “HTML nội tuyến”. Để sử dụng nó, bạn nên đặt một trong những yếu tố cụ thể, được hỗ trợ bởi tính năng này, ở đầu dòng mới. Hoặc bạn có thể đánh dấu một trong các phần tử đó là “HTML nội tuyến”, bằng cách thêm thuộc tính đánh dấu có giá trị nội tuyến vào phần tử này. Đây là một ví dụ nhỏ, minh họa cách sử dụng thuộc tính này
using System.IO;
using Aspose.Html.Converters;
using Aspose.Html.Saving;
...
// Prepare a path for converted file saving
string savePath = Path.Combine[OutputDir, "inline-html.md"];
// Prepare HTML code and save it to the file
var code = "texttext
";
File.WriteAllText[Path.Combine[OutputDir, "inline.html"], code];
// Call ConvertHTML method for HTML to Markdown conversion
Converter.ConvertHTML[Path.Combine[OutputDir, "inline.html"], new MarkdownSaveOptions[], savePath];
// Output file will contain: text\r\ntext
Như bạn có thể thấy, nội dung của phần tử div không được chuyển đổi thành Markdown và được Markdown Processor xử lý nguyên trạng. Danh sách các thành phần hỗ trợ tính năng này là khác nhau đối với mọi bộ xử lý Markdown
Đặc tả Markdown ban đầu hỗ trợ các thẻ này. BLOCKQUOTE,H1, H2, H3, H4, H5, H6, P, PRE, OL, UL, DL, DIV, INS, DEL, IFRAME, FIELDSET, NOSCRIPT, FORM, MATH
GitLab Flavored Markdown mở rộng danh sách này với các thẻ tiếp theo. ARTICLE, FOOTER, NAV, ASIDE, HEADER, ADDRESS, HR, DD, FIGURE, FIGCAPTION, ABBR, VIDEO, ÂM THANH, ĐẦU RA, CANVAS, PHẦN, CHI TIẾT, HGROUP, TÓM TẮT
Tính năng làm tổ
Markdown hỗ trợ rất nhiều tính năng, nhưng không phải tất cả chúng đều có thể được sử dụng cùng nhau. Như một ví dụ liệt kê các phần tử bên trong các phần tử bảng sẽ không được chuyển đổi. Bảng sau đây cho biết những tính năng nào có thể được lồng vào nhau. Mỗi tính năng là một thành viên của bảng liệt kê MarkdownFeatures
Tính năng gốcCác tính năng có thể được xử lý bên trongHeaderLink, Emphasis, Strong, InlineCode, Image, Gạch ngang, VideoBlockquoteAnyListAutomaticParagraph, Link, Emphasis, Strong, InlineCode, Image, LineBreak, Gạch ngang, Video, TaskList, ListLinkEmphasis, Strong, InlineCode, Image, LineBreak, Gạch ngang quaAutomaticParagraphLink,Bạn có thể tải xuống các ví dụ và tệp dữ liệu hoàn chỉnh từ GitHub
giả định. HTML cung cấp Trình chuyển đổi HTML sang MD trực tuyến miễn phí để chuyển đổi HTML sang Markdown với chất lượng cao, dễ dàng và nhanh chóng. Chỉ cần tải lên, chuyển đổi tệp của bạn và nhận kết quả sau vài giây