Wat is HTML naar Markdown-conversie?
HTML is het gerenderde opmaak dat de browser weergeeft — <h1>, <ul>, <table>, <a> en de rest. Markdown is een lichtgewicht platte-tekstformaat dat minimale leestekens (# voor koppen, * voor nadruk, - voor lijstitems) gebruikt om dezelfde structuur te coderen. GitHub Flavored Markdown (GFM) breidt de originele CommonMark-specificatie uit met tabellen, doorhalingen, taaklijsten en autolinks. HTML naar Markdown converteren brengt gerenderde of geëxporteerde HTML terug naar bewerkbare platte-tekst Markdown — precies wat een contentmigratie van een CMS of een README-opruiming nodig heeft.
Welke GitHub Flavored Markdown-functies ondersteunt de uitvoer?
De meegeleverde turndown@7.2.0-engine met de turndown-plugin-gfm-extensie emitteert de volledige GFM-superset vanuit je HTML: ATX-stijl koppen # tot ###### van <h1>–<h6>, geordende en ongeordende lijsten met nesting, vetgedrukt **text** en cursief *text*, doorhaling ~~text~~ van <del>, inline links [text](url) en afbeeldingen , fenced codeblokken met taalhinten (```js), inline code spans `code`, pipe-tabellen van <table>, GFM-taaklijsten - [ ] / - [x] van checkbox-inputs, blockquotes > en horizontale lijnen ---. Het preview-paneel rendert de geëmitteerde Markdown opnieuw met marked@12.0.2 zodat je de conversie visueel kunt bevestigen.
Hoe werkt HTML naar Markdown-conversie?
Elke conversie draait lokaal in je browser via drie meegeleverde bibliotheken — geen CDN, geen fetch, geen telemetrie. De belangrijkste stappen zijn:
- Saniteren: de geplakte HTML wordt eerst door
DOMPurify.sanitize(html, { USE_PROFILES: { html: true } })gehaald om<script>-elementen, elkon*event-handler-attribuut enjavascript:-URI's te verwijderen voordat iets de opmaak doorloopt. DOMPurify is dezelfde XSS-sanitizer die Mozilla MDN, Atlassian en Microsoft 365 gebruiken. - Converteren:
turndownService.turndownloopt door de opgeschoonde DOM en emitteert GitHub Flavored Markdown — koppen worden#-prefixen, lijsten worden-/1.-items,<table>wordt een pipe-tabel, enzovoort. De Markdown wordt naar de read-only<textarea>geschreven viavalue(nooitinnerHTML), dus inherent veilig. - Renderen: de geëmitteerde Markdown wordt opnieuw geparsed door
marked.parse, opnieuw gesaniteerd doorDOMPurifyen aan hetinnerHTMLvan het preview-paneel toegewezen zodat je een visuele bevestiging krijgt dat de Markdown naar de verwachte structuur round-tript. De live-modus debounce't invoer 150 ms zodat de uitvoer tijdens het plakken update zonder de parser te belasten.
Waarom HTML naar Markdown converteren met deze tool?
- Privacy: elke sanitize-, converteer- en render-stap gebeurt in je browser. De HTML — inclusief geëxporteerde CMS-posts, interne documentatie en vertrouwelijke paginabroncode — bereikt onze servers nooit.
- XSS-veilig standaard: de geplakte HTML wordt door DOMPurify gehaald voordat turndown die doorloopt, en het preview-paneel haalt de hergerenderde HTML opnieuw door DOMPurify vóór
innerHTML, zodat opmaak plakken die<script>-tags ofonerror=-handlers bevat een inert preview en schone Markdown oplevert. - GFM-compleet:
<table>-elementen converteren naar Markdown-pipe-tabellen,<del>naar doorhaling en checkboxlijsten naar GFM-taaklijsten. De meeste online converters laten tabellen vallen op het pad HTML → Markdown — de meegeleverdeturndown-plugin-gfm-extensie behoudt ze.
Wat zijn veelvoorkomende toepassingen van HTML naar Markdown-conversie?
HTML naar Markdown converteren duikt op in contentmigratie, documentatie en archivering:
- CMS-migratie: een WordPress- of Ghost-post als HTML exporteren en naar Markdown converteren voor een herbouw met Hugo / Jekyll / 11ty / Astro. De conversie behoudt kopniveaus, links, lijsten en inline nadruk.
- README-opruiming: de gerenderde HTML van een wikipagina of webartikel plakken en terughalen naar bewerkbare Markdown voor een project-README of documentatiesite, in plaats van de structuur opnieuw te typen.
- Archivering en notities: een HTML-e-mail of webclip vastleggen en naar Markdown converteren voor opslag in Obsidian, Notion of een platte-tekstkennisbank — Markdown blijft diff-vriendelijk en overleeft formaatwijzigingen.
Hoe ziet een HTML naar Markdown-voorbeeld eruit?
<h2>Kop</h2><ul><li>a</li><li>b<ul><li>genest</li></ul></li></ul> plakken produceert Markdown met ## Kop, een geneste opsomming en een preview-paneel dat opnieuw rendert naar dezelfde geneste structuur. Een <table> plakken met een header-rij en twee datarijen produceert de equivalente pipe-tabel | col | col | — waarmee bevestigd wordt dat de conversie koppen, lijsten en tabellen behoudt.
Draait deze HTML naar Markdown-converter volledig in mijn browser?
Ja. Elke sanitize-, converteer- en render-stap draait lokaal als JavaScript binnen je browsertab. De drie meegeleverde bibliotheken — turndown@7.2.0 (met turndown-plugin-gfm@1.0.2), marked@12.0.2 en DOMPurify@3.1.7 — worden vanaf dezelfde origin als de pagina geserveerd, dus geen CDN-afhankelijkheid, geen fetch, geen XMLHttpRequest, geen navigator.sendBeacon op de invoer. De tool werkt ook offline zodra de pagina geladen is, omdat het een statische HTML/CSS/JS-bundel is met de vendor-bibliotheken ernaast gekopieerd. Geëxporteerde posts, interne documenten en vertrouwelijke paginabroncode blijven op je apparaat.
Is het gerenderde preview-paneel XSS-veilig?
Ja. De geplakte HTML wordt door DOMPurify.sanitize gehaald voordat turndown die doorloopt, en elke HTML-string die aan het innerHTML van de preview wordt toegewezen, gaat ook door DOMPurify.sanitize(html, { USE_PROFILES: { html: true } }). DOMPurify is de open-source XSS-sanitizer die door Cure53 onderhouden wordt; het is dezelfde library die Mozilla MDN, Atlassian en Microsoft 365 gebruiken om door gebruikers aangeleverde HTML te hardenen. Het standaard html-profiel verwijdert <script>-elementen, elk on* event-handler-attribuut (onerror, onclick, enz.) en javascript:-URI-schema's. <img src=x onerror=alert(1)> plakken levert een preview op waarin document.querySelector('#output-preview img[onerror]') null retourneert en geen alert afgaat.
Worden GFM-tabellen vanuit HTML geconverteerd?
Ja. De richting HTML → Markdown gebruikt turndown-plugin-gfm, die een custom turndown-regel toevoegt die <table>-knooppunten doorloopt en equivalente pipe-tabel-Markdown emitteert — een header-rij, een uitlijnrij |---|---| en dan datarijen. De meeste online converters laten tabellen op dit pad vallen; deze behoudt ze. Doorhaling (<del>text</del> → ~~text~~) en taaklijsten (<input type="checkbox"> → - [ ] / - [x]) converteren op dezelfde manier.
Wordt mijn HTML correct geconverteerd?
Voor de canonieke GFM-featureset — koppen h1 tot en met h6, geordende en ongeordende lijsten met nesting, vet / cursief / doorhaling, inline links, inline afbeeldingen, fenced codeblokken met taaltags, inline code spans, pipe-tabellen, taaklijsten, blockquotes, horizontale lijnen en autolinks — is de conversie schoon en voorspelbaar. Edge cases: HTML-commentaren (<!-- ... -->) worden gestript (Markdown kent geen commentaar-syntax); inline stijl en class-attributen worden weggelaten omdat Markdown geen equivalent heeft; en ongebruikelijke inline tags zoals <sub> / <sup> worden naar platte tekst geconverteerd. Dit zijn gedocumenteerde turndown-gedragingen, geen bugs.
Wordt syntax highlighting in fenced codeblokken ondersteund?
Niet in v1. Fenced codeblokken renderen in de preview met een monospaced lettertype en een subtiele achtergrond, maar zonder token-highlighting per taal. Syntax highlighting toevoegen zou Prism of highlight.js mee moeten bundelen, die elk 15–40 KB toevoegen plus een grammar-bestand per taal en een themamatrix die uitgelijnd moet worden met het Workshop Terminal-palet. Voor nu focust de renderer op correctheid en XSS-veiligheid; als er gebruikersvraag is naar inline highlighting, is een opt-in toggle een haalbaar vervolg.
Deze HTML naar Markdown Converter wordt geleverd met turndown@7.2.0 (+ turndown-plugin-gfm@1.0.2), marked@12.0.2 en DOMPurify@3.1.7 meegebundeld vanaf dezelfde origin, emitteert de volledige GFM-featureset en saniteert elke gerenderde HTML-string voordat die het DOM raakt. Geen upload, geen CDN, geen telemetrie — elke byte blijft in je browser.