HTML in Markdown in C# konvertieren
Markdown ist eine Auszeichnungssprache mit einer Syntax zur Formatierung von einfachem Text. Markdown wird häufig als Format für Dokumentationen und Readme-Dateien verwendet, da es einen leicht lesbaren und einfach zu schreibenden Stil ermöglicht. Es ist bei technischen Redakteuren wegen seiner einfachen Handhabung, leichten Erlernbarkeit und breiten Unterstützung beliebt. Aufgrund seines Designs kann es leicht in viele Ausgabeformate konvertiert werden, aber ursprünglich wurde es nur für die Konvertierung in HTML entwickelt. Die Aspose.HTML for .NET-Bibliothek bietet eine umgekehrte Konvertierung von HTML nach Markdown. Sie können von jedem Gerät aus in einem beliebigen Texteditor auf Markdown-Dateien zugreifen und diese bearbeiten oder neue Inhalte erstellen.
In diesem Artikel erfahren Sie, wie Sie mit den Methoden ConvertHTML() der Klasse Converter HTML in MD konvertieren und wie Sie MarkdownSaveOptions anwenden. Unsere Code-Beispiele helfen Ihnen bei der Konvertierung von HTML nach Markdown unter Verwendung der C#-Bibliothek.
Online HTML-Konverter
Mit Aspose.HTML for .NET API können Sie HTML in Echtzeit in Markdown konvertieren. Laden Sie zunächst eine HTML-Datei von Ihrem lokalen Laufwerk und führen Sie dann das Beispiel aus. In diesem Beispiel sind die Speicheroptionen standardmäßig eingestellt. Sie erhalten das Ergebnis der HTML-zu-Markdown-Konvertierung sofort als separate Markdown-Datei.
HTML zu Markdown mit ein paar Zeilen Code
Sie können HTML in das Markdown-Format konvertieren, indem Sie C# und andere .NET-Programmiersprachen verwenden. Die statischen Methoden der Klasse Converter werden in erster Linie als einfachster Weg zur Konvertierung eines HTML-Codes in verschiedene Formate verwendet. Das folgende Codeschnipsel zeigt, wie man HTML in Markdown konvertieren kann, und zwar buchstäblich mit ein paar Zeilen Code!
1// Convert HTML to Markdown in C#
2
3// Prepare HTML code and save it to a file
4string code = "<h1>Header 1</h1>" +
5 "<h2>Header 2</h2>" +
6 "<p>Convert HTML to Markdown</p>";
7File.WriteAllText("convert.html", code);
8
9// Call ConvertHTML() method to convert HTML to Markdown
10Converter.ConvertHTML("convert.html", new MarkdownSaveOptions(), Path.Combine(OutputDir, "convert.md"));
Optionen speichern
Die Funktionalität der Markdown-Erstellung kann durch Speicheroptionen nach Ihren Bedürfnissen erweitert werden. Die MarkdownSaveOptions hat eine Reihe von Eigenschaften, die Ihnen die Kontrolle über den Konvertierungsprozess geben. Die wichtigste Option ist MarkdownSaveOptions.Features. Mit dieser Option können Sie die Konvertierung eines bestimmten Elements aktivieren/deaktivieren.
Property | Description |
---|---|
Default | This property returns a set of options that are compatible with default Markdown documentation. |
Features | A flag set that controls which HTML elements are converted to Markdown. |
Formatter | This property gets or sets the Markdown formatting style. |
Git | This property returns a set of options that are compatible with GitLab Flavored Markdown. |
ResourceHandlingOptions | Gets a ResourceHandlingOptions object which is used for configuration of resources handling. |
Um mehr über MarkdownSaveOptions zu erfahren, lesen Sie bitte den Artikel Feinabstimmungskonverter.
HTML in Markdown umwandeln mit MarkdownSaveOptions
Um HTML in Markdown zu konvertieren und dabei MarkdownSaveOptions
anzugeben, sollten Sie einige Schritte befolgen:
- Laden Sie eine HTML-Datei mit einem der HTMLDocument()-Konstruktoren der HTMLDocument-Klasse.
- Erstellen Sie ein neues MarkdownSaveOptions-Objekt.
- Verwenden Sie die Methode ConvertHTML() der Klasse Converter, um HTML als Markdown-Datei zu speichern. Sie müssen der Methode ConvertHTML() das HTMLDocument, MarkdownSaveOptions und den Pfad der Ausgabedatei übergeben, um HTML in Markdown zu konvertieren.
Das folgende Beispiel zeigt, wie nur Links und Absätze verarbeitet werden, andere HTML-Elemente bleiben unverändert:
1// Convert selective HTML tags to Markdown using C#
2
3// Prepare a path for converted file saving
4string savePath = Path.Combine(OutputDir, "options-output.md");
5
6// Prepare HTML code and save it to the file
7string code = "<h1>Header 1</h1>" +
8 "<h2>Header 2</h2>" +
9 "<p>Hello, World!!</p>" +
10 "<a href='aspose.com'>aspose</a>";
11File.WriteAllText(Path.Combine(OutputDir, "options.html"), code);
12
13// Create an instance of SaveOptions and set up the rule:
14// - only <a> and <p> elements will be converted to Markdown
15MarkdownSaveOptions options = new MarkdownSaveOptions();
16options.Features = MarkdownFeatures.Link | MarkdownFeatures.AutomaticParagraph;
17
18// Call the ConvertHTML() method to convert the HTML to Markdown
19Converter.ConvertHTML(Path.Combine(OutputDir, "options.html"), options, savePath);
Um HTML in Markdown zu konvertieren, können Sie Ihre eigenen Regeln definieren oder die vordefinierten Vorlagen verwenden. Sie können zum Beispiel die Vorlage verwenden, die auf der Syntax von GitLab Flavored Markdown basiert:
1// Convert HTML to Markdown in C# using Git syntax
2
3// Prepare a path for converted file saving
4string savePath = Path.Combine(OutputDir, "output-git.md");
5
6// Prepare HTML code and save it to the file
7string code = "<h1>Header 1</h1>" +
8 "<h2>Header 2</h2>" +
9 "<p>Hello, World!!</p>";
10File.WriteAllText(Path.Combine(OutputDir, "document.html"), code);
11
12// Call ConvertHTML() method to convert HTML to Markdown
13Converter.ConvertHTML(Path.Combine(OutputDir, "document.html"), MarkdownSaveOptions.Git, savePath);
Begrenzung
Markdown ist eine leichtgewichtige und einfach zu verwendende Syntax. Allerdings können nicht alle HTML-Elemente in Markdown umgewandelt werden, da es in der Markdown-Syntax keine Entsprechung gibt. Elemente wie STYLE, SCRIPT, LINK, EMBED usw. werden bei der Umwandlung verworfen.
Inline-HTML
Markdown ermöglicht es Ihnen, den reinen HTML-Code anzugeben, der dann unverändert wiedergegeben wird. Die Funktion, die dieses Verhalten ermöglicht, heißt “Inline HTML”. Um sie zu nutzen, sollten Sie eines der spezifischen Elemente, die von dieser Funktion unterstützt werden, an den Anfang einer neuen Zeile stellen. Oder Sie können eines dieser Elemente als “Inline-HTML” markieren, indem Sie das Attribut markdown mit dem Wert inline zu diesem Element hinzufügen. Hier ist ein kleines Beispiel, das die Verwendung dieses Attributs demonstriert:
1// Convert inline HTML elements to Markdown using C#
2
3// Prepare a path for converted file saving
4string savePath = Path.Combine(OutputDir, "inline-html.md");
5
6// Prepare HTML code and save it to the file
7string code = "text<div markdown='inline'><code>text</code></div>";
8File.WriteAllText(Path.Combine(OutputDir, "inline.html"), code);
9
10// Call ConvertHTML() method to convert HTML to Markdown
11Converter.ConvertHTML(Path.Combine(OutputDir, "inline.html"), new MarkdownSaveOptions(), savePath);
12
13// Output file will contain: text\r\n<div markdown="inline"><code>text</code></div>
Wie Sie sehen können, wird der Inhalt des <div>
-Elements nicht in Markdown umgewandelt und vom Markdown-Prozessor so behandelt, wie er ist. Die Liste der Elemente, die diese Funktion unterstützen, ist für jeden Markdown-Prozessor unterschiedlich.
Die ursprüngliche Markdown-Spezifikation unterstützt diese Tags: BLOCKQUOTE, H1, H2, H3, H4, H5, H6, P, PRE, OL, UL, DL, DIV, INS, DEL, IFRAME, FIELDSET, NOSCRIPT, FORM, MATH.
Das GitLab Flavored Markdown erweitert diese Liste um die folgenden Tags: ARTICLE, FOOTER, NAV, ASIDE, HEADER, ADDRESS, HR, DD, FIGURE, FIGCAPTION, ABBR, VIDEO, AUDIO, OUTPUT, CANVAS, SECTION, DETAILS, HGROUP, SUMMARY.
Merkmale Verschachtelung
Markdown unterstützt eine Vielzahl von Funktionen, die jedoch nicht alle zusammen verwendet werden können. Zum Beispiel werden Listenelemente innerhalb von Tabellenelementen nicht konvertiert. Die folgende Tabelle zeigt, welche Features verschachtelt werden können. Jedes Feature ist ein Mitglied der MarkdownFeatures Aufzählung.
Parent feature | Features which can be processed inside |
---|---|
Header | Link, Emphasis, Strong, InlineCode, Image, Strikethrough, Video |
Blockquote | Any |
List | AutomaticParagraph, Link, Emphasis, Strong, InlineCode, Image, LineBreak, Strikethrough, Video, TaskList, List |
Link | Emphasis, Strong, InlineCode, Image, LineBreak, Strikethrough |
AutomaticParagraph | Link, Emphasis, Strong, InlineCode, Image, LineBreak, Strikethrough |
Strikethrough | Link, Emphasis, Strong, InlineCode, Image, LineBreak |
Table | Video, Strikethrough, Image, InlineCode, Emphasis, Strong, Link |
Emphasis | Link, InlineCode, Image, LineBreak, Strikethrough, Video |
Strong | Link, InlineCode, Image, LineBreak, Strikethrough, Video |
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.
Laden Sie die Bibliothek Aspose.HTML for .NET herunter, mit der Sie Ihre HTML-, MHTML-, EPUB-, SVG- und Markdown-Dokumente erfolgreich, schnell und einfach in die gängigsten Formate konvertieren können.
Aspose.HTML bietet einen kostenlosen Online- HTML zu MD Konverter, der HTML in Markdown mit hoher Qualität, einfach und schnell konvertiert. Einfach hochladen, Ihre Dateien konvertieren und in wenigen Sekunden Ergebnisse erhalten!