Markdown zu HTML
Konvertieren Sie Markdown zu HTML mit GitHub-Stil-Syntaxunterstützung — Tabellen, Aufgabenlisten, umzäunter Code und Durchstreichung. Eine Live-Vorschau wird in einem isolierten Rahmen gerendert, damit nichts, was Sie einfügen, ausgeführt werden kann.
- Dateien verlassen niemals Ihr Gerät
- Kostenlos, keine Anmeldung
- Keine Wasserzeichen
- Funktioniert nach dem Laden auch offline
So verwenden Sie Markdown zu HTML
- 1
Markdown tippen oder einfügen
HTML und Vorschau aktualisieren beim Tippen.
- 2
Vorschau prüfen
Gerendert in einem isolierten Rahmen, daher kann eingefügter Inhalt keine Skripte ausführen.
- 3
HTML kopieren
Kopieren Sie das Markup oder laden Sie es als .html-Datei herunter.
CommonMark versus GitHub Flavored Markdown
Markdown begann als spärlich spezifiziertes Format ohne einzige, maßgebliche Grammatik, was bedeutete, dass verschiedene Implementierungen bei Randfällen uneinig waren — wie verschachtelte Listen sich verhalten sollten, ob Unterstriche innerhalb eines Wortes als Betonung zählen — oft auf Weisen, die eine wirklich unterschiedliche gerenderte Ausgabe desselben identischen Ausgangstextes erzeugten. CommonMark entstand speziell, um das zu beheben, indem eine einzige, präzise und eindeutige Spezifikation definiert wurde, der jeder konforme Parser exakt folgen muss. GitHub Flavored Markdown (GFM) baut auf dieser CommonMark-Grundlage auf und fügt mehrere Erweiterungen hinzu, die reines CommonMark überhaupt nicht definiert: Tabellen, gebaut mit vertikalen Strichen und einer Bindestrich-Trennzeile, Aufgabenlisten-Kästchen geschrieben als `- [ ]` und `- [x]`, in doppelte Tilden eingeschlossener durchgestrichener Text, und automatische Verlinkung nackter URLs ohne Bedarf an expliziter Link-Syntax. GFM ist der Dialekt, den dieses Tool implementiert, weil das ist, worauf sich GitHub, Reddit, und die überwältigende Mehrheit statischer Website-Generatoren und Dokumentations-Tools standardisiert haben, was ihn zum weithin nützlichsten Ziel für alles macht, das geschrieben wird, um anderswo gelesen zu werden.
Wogegen die isolierte Vorschau schützt, und wogegen nicht
Markdown-Syntax erlaubt bewusst, rohes HTML direkt darin einzubetten — das ist beabsichtigt und erlaubt Markdown-Autoren, ein eingebettetes Element, eine bestimmte Ausrichtung, oder ein Stück Styling einzufügen, für das die Markdown-Syntax selbst keine Abkürzung hat. Das Risiko ist, dass ein `<script>`-Tag oder ein Inline-Event-Handler wie `onerror=`, in nicht vertrauenswürdiges Markdown eingefügt, normalerweise im Kontext ausgeführt würde, der es rendert, was ein echter Cross-Site-Scripting-Vektor ist, wenn das Markdown von jemand anderem als der die Vorschau betrachtenden Person stammte. Die Live-Vorschau in einem isolierten iframe mit deaktivierten Skripten zu rendern bedeutet, dass jedes solche Script-Tag oder jeder Event-Handler in der Vorschau einfach nicht ausgeführt wird — der Browser weigert sich, Code innerhalb eines korrekt isolierten Rahmens auszuführen, wodurch das Risiko auf diese isolierte Vorschau begrenzt wird.
Was die Isolation nicht tut, ist die *generierte HTML-Ausgabe*, die dieses Tool zum Kopieren erzeugt, zu bereinigen — diese Textebenen-Ausgabe enthält weiterhin jedes rohe HTML, das im ursprünglichen Markdown vorhanden war, originalgetreu bewahrt, exakt wie es die Markdown-Spezifikation beabsichtigt. Soll dieses generierte HTML in eine Live-Seite eingefügt werden, die Inhalt eines nicht vertrauenswürdigen Autors anzeigt, braucht es seinen eigenen separaten Bereinigungsschritt serverseitig vor der Veröffentlichung, was ein anderer Schritt ist als alles, was diese Vorschau-Isolation behandelt.
Warum Markdown überhaupt rohes HTML erlaubt
Markdown wurde bewusst als Abkürzung für die Konstrukte entworfen, auf die Autoren am häufigsten zurückgreifen — Überschriften, Links, Betonung, Listen — statt als vollständiger Ersatz für die gesamte Fähigkeit von HTML. Alles, wofür die Markdown-Syntax selbst kein Äquivalent hat, von einem bestimmten Inline-Stil bis zu einem eingebetteten Video, ist gedacht, direkt im Markdown-Quellcode als literales HTML geschrieben zu werden, und der Parser überträgt es unverändert statt es als ungültig abzulehnen. Das ist eine bewusste Designentscheidung, die auf die ursprüngliche Markdown-Spezifikation zurückgeht, keine Lücke oder Unterlassung einer bestimmten Implementierung.
Häufig gestellte Fragen
Welche Markdown-Variante wird unterstützt?
GitHub Flavored Markdown: Tabellen, umzäunte Codeblöcke, Aufgabenlisten, Durchstreichung und Auto-Links, oben auf dem CommonMark-Kern. Das ist der Dialekt, den GitHub, Reddit und die meisten statischen Website-Generatoren verwenden.
Ist es sicher, Markdown aus einer nicht vertrauenswürdigen Quelle einzufügen?
Die Vorschau wird in einem isolierten iframe mit deaktivierten Skripten gerendert, daher können eingebettete `<script>`-Tags und Event-Handler nicht ausgeführt werden. Beachten Sie, dass das *generierte HTML* weiterhin jedes rohe HTML enthält, das in Ihrem Markdown war — bereinigen Sie es serverseitig, bevor Sie Inhalt veröffentlichen, den Sie nicht selbst geschrieben haben.
Unterstützt es rohes HTML innerhalb von Markdown?
Ja — Markdown erlaubt Inline-HTML und überträgt es unverändert. Das ist es, was den obigen Bereinigungshinweis wichtig macht, wenn die Quelle nicht vertrauenswürdig ist.
Warum wird meine Tabelle nicht gerendert?
GFM-Tabellen brauchen eine Bindestrich-Trennzeile unter der Kopfzeile, und eine vorausgehende leere Zeile, wenn die Tabelle einem Absatz folgt. Ein einzelner fehlender vertikaler Strich in der Trennzeile verwandelt alles still zurück in Klartext.
Häufige Aufgaben für Markdown zu HTML
Das könnte Sie auch interessieren
JSON zu CSV
JSON-Arrays in Tabellenkalkulationszeilen konvertieren
JSON-Formatierer
JSON sofort formatieren, validieren und minifizieren
Wortzähler
Wörter, Sätze und Lesezeit beim Schreiben zählen
CSV zu JSON
Tabellenkalkulations-Exporte zu JSON konvertieren
Excel zu CSV
XLSX-Tabellenkalkulationen zu CSV konvertieren, pro Blatt