Konwerter HTML na Markdown

Przeniesienie artykułu z WordPressa do Hugo, zarchiwizowanie strony Confluence jako notatek albo posprzątanie e-maila z tekstem sformatowanym do wiki dokumentacji, wszystko to oznacza konwersję HTML na Markdown. Ten konwerter odwzorowuje nagłówki, akapity, listy, linki, obrazy i bloki kodu na ich odpowiedniki w Markdownie, dzięki czemu treść zachowuje strukturę bez balastu HTML.

Jak przekonwertować HTML na Markdown

  1. 1

    Wklej HTML

    Całe strony, treści e-maili sformatowanych albo fragmenty: wszystko jest parsowane.

  2. 2

    Konwertuj

    Nagłówki, akapity, listy, linki, obrazy i bloki kodu są odwzorowywane na Markdown.

  3. 3

    Skopiuj Markdown

    Wrzuć wynik do Obsidiana, Hugo, Jekylla, Notion albo repozytorium Git.

Mapowanie HTML na Markdown

Konwerter przechodzi przez DOM i emituje Markdown dla każdego rozpoznanego elementu. Tagi opakowujące, takie jak <div>, <span>, <section> i <article>, są usuwane, a ich treść zostaje na właściwym poziomie zagnieżdżenia.

Mapowanie elementów

HTML Wynik w Markdownie
<h1> do <h6> Nagłówki # do ######
<strong>, <b> **text**
<em>, <i> *text*
<code> inline `text`
<pre><code> blok ogrodzony potrójnym grawisem, z językiem jeśli ustawiony
<a href> [text](url)
<img src alt> ![alt](src)
<ul><li> - item
<ol><li> 1. item
<blockquote> > quote
<hr> ---

Co dzieje się z resztą

Markdown nie potrafi wyrazić każdego elementu HTML. Tagi bez odpowiednika w Markdownie są usuwane, a zostaje tylko ich zawartość tekstowa:

  • <table>: tekst w komórkach zostaje, ale siatka tabeli ginie. Użyj konwertera obsługującego tabele, gdy struktura ma znaczenie.
  • <del>, <u> i inne style inline: tekst zostaje, formatowanie nie.
  • <video>, <audio>, <iframe>: z tych osadzeń nie powstaje nic, co dałoby się przedstawić w Markdownie.
  • <details> / <summary>: tekst w środku zostaje, widget rozwijany nie.

Do bezstratnych konwersji w obie strony konwertuj z oryginalnego źródła Markdown, a nie z wyrenderowanego HTML.

Najczęściej zadawane pytania

Zwykłe opakowania <div> i <span> są usuwane, a ich zawartość emitowana na właściwym poziomie zagnieżdżenia. Diwy służące wyłącznie do układu stają się niewidoczne w Markdownie, co zwykle jest tym, czego chcesz dla dokumentacji.

Tak. <pre><code class="language-js"> staje się blokiem ogrodzonym z js jako wskazówką języka. Bloki kodu z wcięciem bez języka schodzą do zwykłych bloków ogrodzonych.

Tekst w komórkach <table> zostaje, ale sama siatka nie: wiersze i kolumny nie są zachowywane, więc struktura ginie. Użyj konwertera obsługującego tabele, gdy struktura ma znaczenie.

Prawie, ale subtelne formatowanie (linki referencyjne, twarde łamania wiersza z dwiema końcowymi spacjami, alternatywne znaczniki wyróżnienia) może się znormalizować. Dla bezstratnego obiegu zachowaj oryginalny Markdown.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach