HTML ते Markdown रूपांतरण म्हणजे काय?
HTML हे rendered markup आहे जे browser दाखवतो — <h1>, <ul>, <table>, <a>, आणि इतर. Markdown हे lightweight plain-text format आहे जे minimal punctuation (# headings साठी, * emphasis साठी, - list items साठी) वापरून तीच structure encode करते. GitHub Flavored Markdown (GFM) मूळ CommonMark spec ला tables, strikethrough, task lists, आणि autolinks सोबत extend करतो. HTML ते Markdown रूपांतरण rendered किंवा exported HTML ला editable plain-text Markdown मध्ये परत आणते — CMS मधून content migration किंवा README साफ करणे यासाठी हेच हवे असते.
output मध्ये कोणते GitHub Flavored Markdown features supported आहेत?
Bundled turndown@7.2.0 engine turndown-plugin-gfm extension सोबत तुमच्या HTML मधून full GFM superset emit करतो: <h1>–<h6> मधून ATX-style headings # ते ######, ordered आणि unordered lists nesting सोबत, bold **text** आणि italic *text*, <del> मधून strikethrough ~~text~~, inline links [text](url) आणि images , language hints सोबत fenced code blocks (```js), inline code spans `code`, <table> मधून pipe tables, checkbox inputs मधून GFM task lists - [ ] / - [x], blockquotes >, आणि horizontal rules ---. Preview pane emit झालेले Markdown marked@12.0.2 ने पुन्हा render करतो जेणेकरून तुम्ही रूपांतरण दृश्यरीत्या तपासू शकता.
HTML ते Markdown रूपांतरण कसे कार्य करते?
प्रत्येक रूपांतरण तीन bundled libraries वापरून browser मध्ये locally run होते — CDN नाही, fetch नाही, telemetry नाही. High-level steps:
- Sanitize: पेस्ट केलेले HTML आधी
DOMPurify.sanitize(html, { USE_PROFILES: { html: true } })ने run होऊन<script>elements, प्रत्येकon*event handler, आणिjavascript:URIs कोणताही code markup मध्ये जाण्यापूर्वी strip होतात. DOMPurify हाच XSS sanitizer Mozilla MDN, Atlassian, आणि Microsoft 365 वापरतात. - Convert:
turndownService.turndowncleaned DOM walk करून GitHub Flavored Markdown emit करतो — headings#prefixes बनतात, lists-/1.items बनतात,<table>pipe table बनतो, आणि असेच. Markdown read-only output<textarea>मध्येvalueद्वारे लिहिला जातो (कधीहीinnerHTMLनाही), त्यामुळे तो inherently safe आहे. - Render: emit झालेले Markdown
marked.parseने पुन्हा parse होते,DOMPurifyने पुन्हा sanitize होते, आणि preview pane च्याinnerHTMLला assign होते जेणेकरून Markdown expected structure मध्ये round-trip होतो याची दृश्य पुष्टी मिळते. Live mode input 150 ms debounce करतो जेणेकरून पेस्ट करताना output parser वर load न टाकता update होतो.
या tool ने HTML ते Markdown का convert करायचे?
- Privacy: प्रत्येक sanitize, convert, आणि render pass तुमच्या browser मध्ये होतो. HTML — exported CMS posts, internal documentation, आणि confidential page source सह — कधीही आमच्या servers पर्यंत पोहोचत नाही.
- XSS-safe by default: पेस्ट केलेले HTML turndown त्यावर चालण्यापूर्वी DOMPurify ने run होते, आणि preview pane
innerHTMLआधी प्रत्येक HTML string DOMPurify ने पुन्हा run करतो, त्यामुळे<script>tags किंवाonerror=handlers असलेला markup paste केल्यास inert preview आणि clean Markdown मिळतो. - GFM-complete:
<table>elements Markdown pipe tables मध्ये convert होतात,<del>strikethrough मध्ये, आणि checkbox lists GFM task lists मध्ये. बहुतेक online converters HTML → Markdown path वर tables drop करतात — bundledturndown-plugin-gfmextension ते preserve करतो.
HTML ते Markdown रूपांतरणाचे सामान्य उपयोग काय आहेत?
HTML ते Markdown रूपांतरण content migration, documentation, आणि archiving मध्ये दिसते:
- CMS migration: WordPress किंवा Ghost post HTML म्हणून export करणे आणि Hugo / Jekyll / 11ty / Astro static-site rebuild साठी Markdown मध्ये convert करणे. रूपांतरण heading levels, links, lists, आणि inline emphasis preserve करतो.
- README cleanup: wiki page किंवा web article चा rendered HTML पेस्ट करणे आणि project README किंवा docs site साठी editable Markdown मध्ये परत आणणे, structure हाताने पुन्हा टाइप करण्याऐवजी.
- Archiving and notes: HTML email किंवा web clipping capture करणे आणि Obsidian, Notion, किंवा plain-text knowledge base मध्ये साठवण्यासाठी Markdown मध्ये convert करणे — Markdown diff-friendly राहतो आणि format बदलांपासून वाचतो.
HTML ते Markdown उदाहरण कसे दिसते?
<h2>Heading</h2><ul><li>a</li><li>b<ul><li>nested</li></ul></li></ul> paste केल्यास ## Heading, nested bullet list सोबत Markdown produce होतो, आणि preview pane तोच nested structure re-render करतो. <table> header row आणि दोन data rows सोबत paste केल्यास समतुल्य | col | col | pipe table मिळतो — रूपांतरण headings, lists, आणि tables preserve करतो हे सिद्ध होते.
हा HTML ते Markdown converter पूर्णपणे माझ्या browser मध्ये run होतो का?
होय. प्रत्येक sanitize, convert, आणि render pass तुमच्या browser tab मध्ये JavaScript म्हणून locally run होतो. तीन bundled libraries — turndown@7.2.0 (turndown-plugin-gfm@1.0.2 सोबत), marked@12.0.2, आणि DOMPurify@3.1.7 — page च्या same origin वरून ship होतात, त्यामुळे CDN dependency नाही, fetch नाही, XMLHttpRequest नाही, input वर navigator.sendBeacon नाही. Page load झाल्यावर tool offline पण काम करते. Exported posts, internal docs, आणि confidential READMEs तुमच्या device वर राहतात.
Rendered preview pane XSS-safe आहे का?
होय. पेस्ट केलेले HTML DOMPurify.sanitize ने run होते turndown त्यावर चालण्यापूर्वी, आणि innerHTML ला assigned प्रत्येक HTML string आधी DOMPurify.sanitize(html, { USE_PROFILES: { html: true } }) ने pass होतो. DOMPurify हे Cure53 ने maintained open-source XSS sanitizer आहे; Mozilla MDN, Atlassian, आणि Microsoft 365 user-supplied HTML harden करण्यासाठी हीच library वापरतात. Default html profile <script> elements, प्रत्येक on* event-handler attribute (onerror, onclick, इ.), javascript: URI schemes, आणि known-dangerous CSS expressions काढतो. <img src=x onerror=alert(1)> paste केल्यास preview मध्ये document.querySelector('#output-preview img[onerror]') null return करतो आणि कोणताही alert fire होत नाही.
GFM tables HTML मधून convert होतात का?
होय. HTML → Markdown direction turndown-plugin-gfm वापरतो, जे custom turndown rule जोडतो जे <table> nodes walk करतो आणि equivalent pipe-table Markdown emit करतो — header row, |---|---| alignment row, नंतर data rows. बहुतेक online converters या path वर tables drop करतात — हे त्या preserve करते. Strikethrough (<del>text</del> → ~~text~~) आणि task lists (<input type="checkbox"> → - [ ] / - [x]) त्याच प्रकारे convert होतात.
माझे HTML clean convert होईल का?
Canonical GFM feature set साठी — headings h1 ते h6, ordered आणि unordered lists nesting सोबत, bold / italic / strikethrough, inline links, inline images, language tags सोबत fenced code blocks, inline code spans, pipe tables, task lists, blockquotes, horizontal rules, आणि autolinks — रूपांतरण clean आणि predictable आहे. Edge cases: HTML comments (<!-- ... -->) stripped होतात (Markdown ला comment syntax नाही); inline styling आणि class attributes drop होतात कारण Markdown मध्ये समतुल्य नाही; आणि असामान्य inline tags जसे <sub> / <sup> plain text मध्ये convert होतात. हे documented turndown behaviours आहेत, bugs नाहीत.
Fenced code blocks मध्ये syntax highlighting supported आहे का?
v1 मध्ये नाही. Fenced code blocks monospaced font आणि subtle background सोबत render होतात पण per-language token highlighting शिवाय. Syntax highlighting जोडण्यासाठी Prism किंवा highlight.js bundle करणे लागेल, ज्यापैकी प्रत्येक 15–40 KB जोडतो plus per-language grammar file आणि theme matrix. सध्या, renderer correctness आणि XSS-safety वर focus करतो; inline highlighting साठी user demand असल्यास opt-in toggle tractable follow-up आहे.
हा HTML ते Markdown परिवर्तक turndown@7.2.0 (+ turndown-plugin-gfm@1.0.2), marked@12.0.2, आणि DOMPurify@3.1.7 same origin वर bundled ship करतो, full GFM feature set emit करतो, आणि DOM ला touch करण्यापूर्वी प्रत्येक rendered HTML string sanitize करतो. Upload नाही, CDN नाही, telemetry नाही — प्रत्येक byte तुमच्या browser मध्ये राहतो.