HTML in Markdown umwandeln
Markdown ist eine Auszeichnungssprache mit einer reinen Textformatierungssyntax, die aufgrund ihrer Lesbarkeit und einfachen Schreibweise häufig für Dokumentationen und Readme-Dateien verwendet wird. Ursprünglich wurde sie nur für die Konvertierung in HTML entwickelt. Die Bibliothek Aspose.HTML for Python via .NET ermöglicht die umgekehrte Konvertierung von HTML nach Markdown. Sie können Markdown-Dateien von jedem Gerät aus mit einem beliebigen Texteditor öffnen, erstellen und bearbeiten.
In diesem Artikel erfahren Sie, wie Sie HTML mit den Methoden convert_html() der Klasse Converter in Markdown umwandeln und wie Sie MarkdownSaveOptions anwenden können.
Um mit diesem Tutorial fortzufahren, installieren und konfigurieren Sie Aspose.HTML for Python via .NET in Ihrem Python-Projekt. Unsere Code-Beispiele helfen Ihnen, HTML in Markdown zu konvertieren und Markdown-Dateien mit Hilfe der Python-Bibliothek zu erzeugen.
Online HTML-Konverter
Sie können HTML in Markdown mit Aspose.HTML for Python via .NET API in Echtzeit konvertieren. Laden Sie zunächst eine HTML-Datei von Ihrem lokalen Laufwerk oder einer URL und führen Sie das Beispiel aus. Im Codebeispiel sind die Speicheroptionen standardmäßig eingestellt. Sie erhalten das Ergebnis der HTML-zu-Markdown-Konvertierung sofort als separate Markdown-Datei.
HTML zu Markdown – Python Code Beispiel
Die Methoden der Klasse Converter dienen in erster Linie als einfachste Möglichkeit, einen HTML-Code in verschiedene Formate zu konvertieren. Um HTML in Markdown zu konvertieren, sollten Sie ein paar Schritte befolgen:
- Laden, Öffnen oder Lesen eines HTML-Dokuments. Im folgenden Beispiel initialisieren wir ein HTML-Dokument aus einem Code-String.
- Erstellen Sie ein neues MarkdownSaveOptions-Objekt und geben Sie die erforderlichen Eigenschaften an.
- Um HTML in Markdown zu konvertieren, verwenden Sie die Methode convert_html() der Klasse Converter und übergeben ihr ein HTMLDocument, MarkdownSaveOptions und den Pfad zur Ausgabedatei.
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. Der folgende Codeschnipsel zeigt, wie HTML in Markdown konvertiert wird, indem die Eigenschaft git
der MarkdownSaveOptions
verwendet wird:
1from aspose.html import *
2from aspose.html.converters import *
3from aspose.html.saving import *
4
5# Prepare an HTML code and save it to a file
6code = "<h1>Header 1</h1>" \
7 "<h2>Header 2</h2>" \
8 "<p>Hello World!!</p>"
9with open("document.html", "w", encoding="utf-8") as f:
10 f.write(code)
11 f.close()
12 # Call the convert_html method to convert HTML to Markdown
13 Converter.convert_html("document.html", MarkdownSaveOptions.git, "output.md")
Speicheroptionen – Klasse MarkdownSaveOptions
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:
Property | Description |
---|---|
default | This property returns a set of options that are compatible with default Markdown documentation. |
features | This property is a flag set that controls which HTML elements are converted to Markdown. For example, you can choose to convert only links and paragraphs or include a broader range of elements such as headers, lists, and tables. |
formatter | This property gets or sets the Markdown formatting style. Options available: GIT and DEFAULT. |
git | This property returns a set of options that are compatible with GitLab Flavored Markdown, which is a popular extension of Markdown used by GitLab. |
resource_handling_options | This property provides access to a ResourceHandlingOptions object which is used to configure how resources are handled during the conversion process. |
HTML in Markdown konvertieren – Verwendung der Eigenschaft features
Schauen wir uns eine der wichtigsten Eigenschaften von MarkdownSaveOptions an – features. Mit dieser Option können Sie die Umwandlung des jeweiligen Elements aktivieren/deaktivieren. Das folgende Beispiel zeigt, wie nur Links und Absätze verarbeitet werden, andere HTML-Elemente bleiben unverändert:
1import os
2from aspose.html.converters import *
3from aspose.html.saving import *
4
5# Prepare directories and paths
6output_dir = "output/"
7if not os.path.exists(output_dir):
8 os.makedirs(output_dir)
9
10save_path = os.path.join(output_dir, "options-output.md")
11
12# Prepare HTML code and save it to a file
13code = "<h1>Header 1</h1>" \
14 "<h2>Header 2</h2>" \
15 "<p>Hello, World!!</p>" \
16 "<a href="https://docs.aspose.com/">aspose</a>"
17with open(os.path.join(output_dir, "options.html"), "w") as file:
18 file.write(code)
19
20# Create an instance of SaveOptions and set up the rule:
21# – only <a> and <p> elements will be converted to Markdown
22options = MarkdownSaveOptions()
23options.features = MarkdownFeatures.LINK | MarkdownFeatures.AUTOMATIC_PARAGRAPH
24
25# Call the convert_html() method to convert HTML to Markdown
26Converter.convert_html(os.path.join(output_dir, "options.html"), options, save_path)
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 |
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 der 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:
1import os
2from aspose.html.converters import *
3from aspose.html.saving import *
4
5# Prepare directories and paths
6output_dir = "output/"
7if not os.path.exists(output_dir):
8 os.makedirs(output_dir)
9
10save_path = os.path.join(output_dir, "inline-html.md")
11
12# Prepare HTML code and save it to a file
13code = "text<div markdown="inline"><code>text</code></div>"
14with open(os.path.join(output_dir, "inline.html"), "w") as file:
15 file.write(code)
16
17# Call the convert_html() method for HTML to Markdown conversion
18Converter.convert_html(os.path.join(output_dir, "inline.html"), MarkdownSaveOptions(), save_path)
19
20# 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.
Der Artikel Markdown-Syntax – Grundlegendes Tutorial enthält Informationen über die wichtigsten Elemente der Markdown-Auszeichnungssprache und die Details der Markdown-Syntax.
Laden Sie die Bibliothek Aspose.HTML for Python via .NET herunter, um Ihre HTML-, MHTML-, EPUB-, SVG- und Markdown-Dokumente erfolgreich, schnell und einfach in die gängigsten Formate zu konvertieren.
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!