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:

  1. Laden, Öffnen oder Lesen eines HTML-Dokuments. Im folgenden Beispiel initialisieren wir ein HTML-Dokument aus einem Code-String.
  2. Erstellen Sie ein neues MarkdownSaveOptions-Objekt und geben Sie die erforderlichen Eigenschaften an.
  3. 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:

PropertyDescription
defaultThis property returns a set of options that are compatible with default Markdown documentation.
featuresThis 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.
formatterThis property gets or sets the Markdown formatting style. Options available: GIT and DEFAULT.
gitThis 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_optionsThis 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 featureFeatures which can be processed inside
HeaderLink, Emphasis, Strong, InlineCode, Image, Strikethrough, Video
BlockquoteAny
ListAutomaticParagraph, Link, Emphasis, Strong, InlineCode, Image, LineBreak, Strikethrough, Video, TaskList, List
LinkEmphasis, Strong, InlineCode, Image, LineBreak, Strikethrough
AutomaticParagraphLink, Emphasis, Strong, InlineCode, Image, LineBreak, Strikethrough
StrikethroughLink, Emphasis, Strong, InlineCode, Image, LineBreak
TableVideo, Strikethrough, Image, InlineCode, Emphasis, Strong, Link
EmphasisLink, InlineCode, Image, LineBreak, Strikethrough, Video
StrongLink, 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!

Text “HTML zu MD Konverter”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.