Co je převod HTML do Markdown?
HTML je vykreslený markup, který prohlížeč zobrazuje — <h1>, <ul>, <table>, <a> a zbytek. Markdown je lehký plain-text formát, který používá minimální interpunkci (# pro nadpisy, * pro důraz, - pro položky seznamu) k zakódování stejné struktury. GitHub Flavored Markdown (GFM) rozšiřuje původní CommonMark specifikaci o tabulky, přeškrtnutí, seznamy úkolů a automatické odkazy. Převod HTML do Markdown táhne vykreslené nebo exportované HTML zpět do upravitelného plain-text Markdown — přesně to, co migrace obsahu z CMS nebo čištění README potřebuje.
Které GitHub Flavored Markdown funkce výstup podporuje?
Integrovaný engine turndown@7.2.0 s rozšířením turndown-plugin-gfm vydává plnou GFM nadmnožinu z vašeho HTML: ATX nadpisy # až ###### z <h1>–<h6>, uspořádané a neuspořádané seznamy s vnořením, tučné **text** a kurzíva *text*, přeškrtnutí ~~text~~ z <del>, inline odkazy [text](url) a obrázky , ohraničené bloky kódu s jazykovými nápovědami (```js), inline kódové úseky `code`, rourkové tabulky z <table>, GFM seznamy úkolů - [ ] / - [x] z checkbox vstupů, blokové citace > a horizontální pravidla ---. Panel náhledu znovu vykresluje vydaný Markdown pomocí marked@12.0.2, takže můžete vizuálně potvrdit převod.
Jak funguje převod HTML do Markdown?
Každý převod běží lokálně ve vašem prohlížeči pomocí tří integrovaných knihoven — žádné CDN, žádný fetch, žádná telemetrie. Kroky jsou:
- Sanitizace: vložené HTML je nejprve prohnáno
DOMPurify.sanitize(html, { USE_PROFILES: { html: true } })pro odstranění<script>elementů, všechon*event handlerů ajavascript:URI, než cokoli prochází markupem. DOMPurify je stejný XSS sanitizér používaný Mozilla MDN, Atlassian a Microsoft 365. - Převod:
turndownService.turndownprochází vyčištěný DOM a vydává GitHub Flavored Markdown — nadpisy se stávají#prefixy, seznamy-/1.položkami,<table>se stává rourkovou tabulkou a tak dále. Markdown je zapsán do výstupního<textarea>pouze pro čtení přesvalue(nikdyinnerHTML), takže je ze své podstaty bezpečný. - Vykreslení: vydaný Markdown je znovu naparsován pomocí
marked.parse, znovu sanitizován přesDOMPurifya přiřazen doinnerHTMLpanelu náhledu, takže získáte vizuální potvrzení, že Markdown prochází obousměrně do očekávané struktury. Živý režim debounce vstup o 150 ms, takže se výstup aktualizuje při vkládání bez přetěžování parseru.
Proč převádět HTML na Markdown s tímto nástrojem?
- Soukromí: každý průchod sanitizace, převodu a vykreslení probíhá ve vašem prohlížeči. HTML — včetně exportovaných CMS příspěvků, interní dokumentace a důvěrného zdroje stránky — nikdy nedorazí na naše servery.
- XSS-bezpečné ve výchozím nastavení: vložené HTML je prohnáno DOMPurify, než ho turndown prochází, a panel náhledu prohání znovu vykreslené HTML přes DOMPurify znovu před
innerHTML, takže vložení markupu obsahujícího<script>tagy neboonerror=handlery vytváří inertní náhled a čistý Markdown. - GFM-kompletní:
<table>elementy se převádějí na Markdown rourkové tabulky,<del>na přeškrtnutí a checkbox seznamy na GFM seznamy úkolů. Většina online převodníků upouští tabulky na cestě HTML → Markdown — integrované rozšířeníturndown-plugin-gfmje zachovává.
Jaké jsou běžné aplikace převodu HTML do Markdown?
Převod HTML do Markdown se objevuje napříč migrací obsahu, dokumentací a archivací:
- Migrace CMS: export WordPress nebo Ghost příspěvku jako HTML a převod na Markdown pro Hugo / Jekyll / 11ty / Astro statickou rebuild. Převod zachovává úrovně nadpisů, odkazy, seznamy a inline důraz.
- Čištění README: vložení vykresleného HTML wiki stránky nebo webového článku a přetažení zpět do upravitelného Markdown pro README projektu nebo dokumentační web, místo přepisování struktury ručně.
- Archivace a poznámky: zachycení HTML e-mailu nebo webového výstřižku a převod na Markdown pro uložení v Obsidian, Notion nebo plain-text znalostní bázi — Markdown zůstává diff-friendly a přežívá změny formátu.
Jak vypadá příklad převodu HTML do Markdown?
Vložení <h2>Heading</h2><ul><li>a</li><li>b<ul><li>nested</li></ul></li></ul> vytváří Markdown s ## Heading, vnořeným odrážkovým seznamem a panelem náhledu, který se znovu vykresluje do stejné vnořené struktury. Vložení <table> s hlavičkovým řádkem a dvěma datovými řádky vytváří ekvivalentní rourkovou tabulku | col | col | — potvrzující, že převod zachovává nadpisy, seznamy a tabulky.
Běží tento převodník HTML do Markdown zcela v mém prohlížeči?
Ano. Každý průchod sanitizace, převodu a vykreslení běží lokálně jako JavaScript uvnitř záložky vašeho prohlížeče. Tři integrované knihovny — turndown@7.2.0 (s turndown-plugin-gfm@1.0.2), marked@12.0.2 a DOMPurify@3.1.7 — se dodávají ze stejného původu jako stránka, takže neexistuje žádná závislost na CDN, žádný fetch, žádný XMLHttpRequest, žádný navigator.sendBeacon na vstupu. Nástroj funguje také offline po načtení stránky, protože je to statický HTML/CSS/JS balíček s vendor knihovnami zkopírovanými vedle něj. Exportované příspěvky, interní dokumenty a důvěrný zdroj stránky zůstávají na vašem zařízení.
Je panel vykresleného náhledu XSS-bezpečný?
Ano. Vložené HTML je prohnáno DOMPurify.sanitize, než ho turndown prochází, a každý HTML řetězec přiřazený do innerHTML náhledu prochází DOMPurify.sanitize(html, { USE_PROFILES: { html: true } }) také. DOMPurify je open-source XSS sanitizér udržovaný Cure53; je to stejná knihovna používaná Mozilla MDN, Atlassian a Microsoft 365 k zabezpečení uživatelem dodaného HTML. Výchozí profil html odstraňuje <script> elementy, všechny on* event-handler atributy (onerror, onclick, atd.) a javascript: URI schémata. Vložení <img src=x onerror=alert(1)> vytváří náhled, kde document.querySelector('#output-preview img[onerror]') vrací null a žádný alert se nespouští.
Jsou GFM tabulky převáděny z HTML?
Ano. Směr HTML → Markdown používá turndown-plugin-gfm, který přidává vlastní turndown pravidlo, jež prochází <table> uzly a vydává ekvivalentní rourkovou tabulku Markdown — hlavičkový řádek, |---|---| zarovnávací řádek, pak datové řádky. Většina online převodníků na této cestě tabulky upouští; tento je zachovává. Přeškrtnutí (<del>text</del> → ~~text~~) a seznamy úkolů (<input type="checkbox"> → - [ ] / - [x]) se převádějí stejným způsobem.
Převede se mé HTML čistě?
Pro kanonickou GFM sadu funkcí — nadpisy h1 až h6, uspořádané a neuspořádané seznamy s vnořením, tučné / kurzíva / přeškrtnutí, inline odkazy, inline obrázky, ohraničené bloky kódu s jazykovými tagy, inline kódové úseky, rourkové tabulky, seznamy úkolů, blokové citace, horizontální pravidla a autolinky — je převod čistý a předvídatelný. Okrajové případy: HTML komentáře (<!-- ... -->) jsou odstraněny (Markdown nemá syntaxi komentářů); inline stylování a třídní atributy jsou zahozeny, protože Markdown nemá ekvivalent; a neobvyklé inline tagy jako <sub> / <sup> jsou převedeny na prostý text. Toto jsou dokumentovaná chování turndown, ne chyby.
Je podporováno zvýrazňování syntaxe v ohraničených blocích kódu?
Ne ve v1. Ohraničené bloky kódu se vykreslují v náhledu s neproporcionálním fontem a jemným pozadím, ale bez zvýrazňování tokenů podle jazyka. Přidání zvýrazňování syntaxe by vyžadovalo zahrnutí Prism nebo highlight.js, z nichž každý přidává 15–40 KB plus gramatický soubor pro jazyk a matici motivů, které by bylo třeba sladit s paletou Workshop Terminal. Prozatím se renderer zaměřuje na správnost a XSS-bezpečnost; pokud bude uživatelská poptávka po inline zvýrazňování, volitelný přepínač je proveditelným navazujícím krokem.
Tento převodník HTML do Markdown se dodává s turndown@7.2.0 (+ turndown-plugin-gfm@1.0.2), marked@12.0.2 a DOMPurify@3.1.7 integrovanými ze stejného původu, vydává plnou GFM sadu funkcí a sanitizuje každý vykreslený HTML řetězec, než se dotkne DOM. Žádné nahrávání, žádné CDN, žádná telemetrie — každý bajt zůstává ve vašem prohlížeči.