HTML ਤੋਂ Markdown ਬਦਲਾਅ ਕੀ ਹੈ?
HTML ਉਹ ਰੈਂਡਰ ਕੀਤਾ ਮਾਰਕਅੱਪ ਹੈ ਜੋ ਬ੍ਰਾਊਜ਼ਰ ਦਿਖਾਉਂਦਾ ਹੈ — <h1>, <ul>, <table>, <a>, ਅਤੇ ਬਾਕੀ। Markdown ਇੱਕ ਹਲਕਾ ਸਾਦਾ-ਟੈਕਸਟ ਫਾਰਮੈਟ ਹੈ ਜੋ ਉਹੀ ਸੰਰਚਨਾ ਨੂੰ ਏਨਕੋਡ ਕਰਨ ਲਈ ਘੱਟੋ-ਘੱਟ ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਵਰਤਦਾ ਹੈ (ਸਿਰਲੇਖਾਂ ਲਈ #, ਜ਼ੋਰ ਲਈ *, ਸੂਚੀ ਆਈਟਮਾਂ ਲਈ -)। GitHub Flavored Markdown (GFM) ਮੂਲ CommonMark ਸਪੈੱਕ ਨੂੰ ਸਾਰਣੀਆਂ, ਸਟ੍ਰਾਈਕਥਰੂ, ਕੰਮ ਸੂਚੀਆਂ, ਅਤੇ ਆਟੋਲਿੰਕਾਂ ਨਾਲ ਵਧਾਉਂਦਾ ਹੈ। HTML ਨੂੰ Markdown ਵਿੱਚ ਬਦਲਣਾ ਰੈਂਡਰ ਕੀਤੀ ਜਾਂ ਨਿਰਯਾਤ ਕੀਤੀ HTML ਨੂੰ ਵਾਪਸ ਸੰਪਾਦਨਯੋਗ ਸਾਦਾ-ਟੈਕਸਟ Markdown ਵਿੱਚ ਖਿੱਚਦਾ ਹੈ — CMS ਤੋਂ ਸਮੱਗਰੀ ਮਾਈਗ੍ਰੇਸ਼ਨ, ਜਾਂ README ਸਫਾਈ ਲਈ ਠੀਕ ਇਹੀ ਲੋੜੀਂਦਾ ਹੈ।
ਆਉਟਪੁੱਟ ਕਿਹੜੀਆਂ GitHub Flavored Markdown ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸਪੋਰਟ ਕਰਦਾ ਹੈ?
ਬੰਡਲ ਕੀਤਾ turndown@7.2.0 ਇੰਜਣ turndown-plugin-gfm ਐਕਸਟੈਂਸ਼ਨ ਨਾਲ ਤੁਹਾਡੀ HTML ਤੋਂ ਪੂਰਾ GFM ਸੁਪਰਸੈੱਟ ਛੱਡਦਾ ਹੈ: <h1>–<h6> ਤੋਂ ATX-ਸ਼ੈਲੀ ਸਿਰਲੇਖ # ਤੋਂ ######, ਨੈਸਟਿੰਗ ਵਾਲੀਆਂ ਕ੍ਰਮਬੱਧ ਅਤੇ ਗੈਰ-ਕ੍ਰਮਬੱਧ ਸੂਚੀਆਂ, ਬੋਲਡ **text** ਅਤੇ ਇਟੈਲਿਕ *text*, <del> ਤੋਂ ਸਟ੍ਰਾਈਕਥਰੂ ~~text~~, ਇਨਲਾਈਨ ਲਿੰਕ [text](url) ਅਤੇ ਚਿੱਤਰ , ਭਾਸ਼ਾ-ਸੰਕੇਤ ਵਾਲੇ ਫੈਂਸਡ ਕੋਡ ਬਲਾਕ (```js), ਇਨਲਾਈਨ ਕੋਡ ਸਪੈਨ `code`, <table> ਤੋਂ ਪਾਈਪ ਸਾਰਣੀਆਂ, ਚੈੱਕਬਾਕਸ ਇਨਪੁੱਟ ਤੋਂ GFM ਕੰਮ ਸੂਚੀਆਂ - [ ] / - [x], ਬਲਾਕਕੋਟ >, ਅਤੇ ਖਿਤਿਜੀ ਨਿਯਮ ---। ਪ੍ਰੀਵਿਊ ਪੈਨ ਛੱਡੀ ਗਈ Markdown ਨੂੰ marked@12.0.2 ਨਾਲ ਮੁੜ-ਰੈਂਡਰ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਬਦਲਾਅ ਦੀ ਦ੍ਰਿਸ਼ਟੀਗਤ ਪੁਸ਼ਟੀ ਕਰ ਸਕੋ।
HTML ਤੋਂ Markdown ਬਦਲਾਅ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?
ਹਰ ਬਦਲਾਅ ਤਿੰਨ ਬੰਡਲਡ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵਰਤ ਕੇ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਲੋਕਲੀ ਚੱਲਦਾ ਹੈ — ਕੋਈ CDN ਨਹੀਂ, ਕੋਈ fetch ਨਹੀਂ, ਕੋਈ ਟੈਲੀਮੈਟਰੀ ਨਹੀਂ। ਉੱਚ-ਪੱਧਰੀ ਕਦਮ:
- ਸਾਫ਼ ਕਰੋ: ਪੇਸਟ ਕੀਤੀ HTML ਪਹਿਲਾਂ
DOMPurify.sanitize(html, { USE_PROFILES: { html: true } })ਰਾਹੀਂ ਚਲਾਈ ਜਾਂਦੀ ਹੈ ਤਾਂ ਜੋ ਮਾਰਕਅੱਪ ਉੱਤੇ ਕੁਝ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ<script>ਤੱਤ, ਹਰon*ਇਵੈਂਟ ਹੈਂਡਲਰ, ਅਤੇjavascript:URI ਹਟਾਏ ਜਾਣ। DOMPurify ਉਹੀ XSS ਸੈਨੀਟਾਈਜ਼ਰ ਹੈ ਜੋ Mozilla MDN, Atlassian, ਅਤੇ Microsoft 365 ਵਰਤਦੇ ਹਨ। - ਬਦਲੋ:
turndownService.turndownਸਾਫ਼ ਕੀਤੇ DOM ਉੱਤੇ ਚੱਲਦਾ ਹੈ ਅਤੇ GitHub Flavored Markdown ਛੱਡਦਾ ਹੈ — ਸਿਰਲੇਖ#ਅਗੇਤਰ ਬਣ ਜਾਂਦੇ ਹਨ, ਸੂਚੀਆਂ-/1.ਆਈਟਮਾਂ ਬਣ ਜਾਂਦੀਆਂ ਹਨ,<table>ਪਾਈਪ ਸਾਰਣੀ ਬਣ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਇਸੇ ਤਰ੍ਹਾਂ। Markdown ਨੂੰvalueਰਾਹੀਂ (ਕਦੇinnerHTMLਨਹੀਂ) ਸਿਰਫ਼-ਪੜ੍ਹਨ ਵਾਲੇ ਆਉਟਪੁੱਟ<textarea>ਵਿੱਚ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਸੁਭਾਵਕ ਤੌਰ ਤੇ ਸੁਰੱਖਿਅਤ ਹੈ। - ਰੈਂਡਰ ਕਰੋ: ਛੱਡੀ ਗਈ Markdown ਨੂੰ
marked.parseਦੁਆਰਾ ਮੁੜ-ਪਾਰਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ,DOMPurifyਰਾਹੀਂ ਦੁਬਾਰਾ ਸਾਫ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਪ੍ਰੀਵਿਊ ਪੈਨ ਦੇinnerHTMLਨੂੰ ਅਸਾਈਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਹਾਨੂੰ ਦ੍ਰਿਸ਼ਟੀਗਤ ਪੁਸ਼ਟੀ ਮਿਲੇ ਕਿ Markdown ਉਮੀਦ ਕੀਤੀ ਸੰਰਚਨਾ ਵਿੱਚ ਰਾਊਂਡ-ਟ੍ਰਿਪ ਕਰਦੀ ਹੈ। ਲਾਈਵ ਮੋਡ ਇਨਪੁੱਟ ਨੂੰ 150 ms ਡੀਬਾਊਂਸ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਪਾਰਸਰ ਨੂੰ ਥ੍ਰੈਸ਼ ਕੀਤੇ ਬਿਨਾਂ ਜਿਵੇਂ ਤੁਸੀਂ ਪੇਸਟ ਕਰਦੇ ਹੋ ਆਉਟਪੁੱਟ ਅਪਡੇਟ ਹੋਵੇ।
ਇਸ ਟੂਲ ਨਾਲ HTML ਨੂੰ Markdown ਵਿੱਚ ਕਿਉਂ ਬਦਲੋ?
- ਪ੍ਰਾਈਵੇਸੀ: ਹਰ ਸਾਫ਼, ਬਦਲਾਅ, ਅਤੇ ਰੈਂਡਰ ਪਾਸ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਹੁੰਦਾ ਹੈ। HTML — ਨਿਰਯਾਤ ਕੀਤੀਆਂ CMS ਪੋਸਟਾਂ, ਅੰਦਰੂਨੀ ਦਸਤਾਵੇਜ਼ੀਕਰਨ, ਅਤੇ ਗੁਪਤ ਪੰਨਾ ਸਰੋਤ ਸਮੇਤ — ਕਦੇ ਸਾਡੇ ਸਰਵਰਾਂ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਦੀ।
- ਡਿਫੌਲਟ ਤੌਰ ਤੇ XSS-ਸੁਰੱਖਿਅਤ: ਪੇਸਟ ਕੀਤੀ HTML turndown ਉਸ ਉੱਤੇ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ DOMPurify ਰਾਹੀਂ ਚਲਾਈ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਪ੍ਰੀਵਿਊ ਪੈਨ ਮੁੜ-ਰੈਂਡਰ ਕੀਤੀ HTML ਨੂੰ
innerHTMLਤੋਂ ਪਹਿਲਾਂ ਦੁਬਾਰਾ DOMPurify ਰਾਹੀਂ ਚਲਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ<script>ਟੈਗ ਜਾਂonerror=ਹੈਂਡਲਰ ਵਾਲਾ ਮਾਰਕਅੱਪ ਪੇਸਟ ਕਰਨ ਨਾਲ ਇੱਕ ਅਕਿਰਿਆਸ਼ੀਲ ਪ੍ਰੀਵਿਊ ਅਤੇ ਸਾਫ਼ Markdown ਮਿਲਦਾ ਹੈ। - GFM-ਪੂਰਾ:
<table>ਤੱਤ Markdown ਪਾਈਪ ਸਾਰਣੀਆਂ ਵਿੱਚ,<del>ਸਟ੍ਰਾਈਕਥਰੂ ਵਿੱਚ, ਅਤੇ ਚੈੱਕਬਾਕਸ ਸੂਚੀਆਂ GFM ਕੰਮ ਸੂਚੀਆਂ ਵਿੱਚ ਬਦਲ ਜਾਂਦੀਆਂ ਹਨ। ਜ਼ਿਆਦਾਤਰ ਔਨਲਾਈਨ ਕਨਵਰਟਰ HTML → Markdown ਮਾਰਗ ਉੱਤੇ ਸਾਰਣੀਆਂ ਛੱਡ ਦਿੰਦੇ ਹਨ — ਬੰਡਲ ਕੀਤਾturndown-plugin-gfmਐਕਸਟੈਂਸ਼ਨ ਉਨ੍ਹਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।
HTML ਤੋਂ Markdown ਬਦਲਾਅ ਦੀਆਂ ਆਮ ਵਰਤੋਂ ਕੀ ਹਨ?
HTML ਨੂੰ Markdown ਵਿੱਚ ਬਦਲਣਾ ਸਮੱਗਰੀ ਮਾਈਗ੍ਰੇਸ਼ਨ, ਦਸਤਾਵੇਜ਼ੀਕਰਨ, ਅਤੇ ਆਰਕਾਈਵਿੰਗ ਵਿੱਚ ਦਿਖਦਾ ਹੈ:
- CMS ਮਾਈਗ੍ਰੇਸ਼ਨ: WordPress ਜਾਂ Ghost ਪੋਸਟ HTML ਵਜੋਂ ਐਕਸਪੋਰਟ ਕਰਨਾ ਅਤੇ Hugo / Jekyll / 11ty / Astro ਸਟੈਟਿਕ-ਸਾਈਟ ਮੁੜ-ਨਿਰਮਾਣ ਲਈ Markdown ਵਿੱਚ ਬਦਲਣਾ। ਬਦਲਾਅ ਸਿਰਲੇਖ ਪੱਧਰ, ਲਿੰਕ, ਸੂਚੀਆਂ, ਅਤੇ ਇਨਲਾਈਨ ਜ਼ੋਰ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।
- README ਸਫਾਈ: ਕਿਸੇ ਵਿਕੀ ਪੰਨੇ ਜਾਂ ਵੈੱਬ ਲੇਖ ਦੀ ਰੈਂਡਰ ਕੀਤੀ HTML ਪੇਸਟ ਕਰਨਾ ਅਤੇ ਸੰਰਚਨਾ ਨੂੰ ਹੱਥ ਨਾਲ ਦੁਬਾਰਾ ਟਾਈਪ ਕਰਨ ਦੀ ਬਜਾਏ ਉਸ ਨੂੰ ਪ੍ਰੋਜੈਕਟ README ਜਾਂ ਦਸਤਾਵੇਜ਼ ਸਾਈਟ ਲਈ ਸੰਪਾਦਨਯੋਗ Markdown ਵਿੱਚ ਵਾਪਸ ਖਿੱਚਣਾ।
- ਆਰਕਾਈਵਿੰਗ ਅਤੇ ਨੋਟ: ਇੱਕ HTML ਈਮੇਲ ਜਾਂ ਵੈੱਬ ਕਲਿੱਪਿੰਗ ਕੈਪਚਰ ਕਰਨਾ ਅਤੇ Obsidian, Notion, ਜਾਂ ਸਾਦਾ-ਟੈਕਸਟ ਨੋਲੇਜ ਬੇਸ ਵਿੱਚ ਸਟੋਰੇਜ ਲਈ Markdown ਵਿੱਚ ਬਦਲਣਾ — Markdown ਡਿੱਫ-ਅਨੁਕੂਲ ਰਹਿੰਦੀ ਹੈ ਅਤੇ ਫਾਰਮੈਟ ਬਦਲਾਅ ਨੂੰ ਝੱਲ ਜਾਂਦੀ ਹੈ।
HTML ਤੋਂ Markdown ਉਦਾਹਰਣ ਕਿਵੇਂ ਦਿਖਦੀ ਹੈ?
<h2>Heading</h2><ul><li>a</li><li>b<ul><li>nested</li></ul></li></ul> ਪੇਸਟ ਕਰਨ ਨਾਲ ## Heading, ਇੱਕ ਨੈੱਸਟਡ ਬੁਲੇਟ ਸੂਚੀ, ਅਤੇ ਉਹੀ ਨੈੱਸਟਡ ਸੰਰਚਨਾ ਵਿੱਚ ਮੁੜ-ਰੈਂਡਰ ਹੋਣ ਵਾਲੇ ਪ੍ਰੀਵਿਊ ਪੈਨ ਵਾਲੀ Markdown ਮਿਲਦੀ ਹੈ। ਹੈਡਰ ਕਤਾਰ ਅਤੇ ਦੋ ਡਾਟਾ ਕਤਾਰਾਂ ਵਾਲੀ <table> ਪੇਸਟ ਕਰਨ ਨਾਲ ਬਰਾਬਰ | col | col | ਪਾਈਪ ਸਾਰਣੀ ਮਿਲਦੀ ਹੈ — ਇਹ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਬਦਲਾਅ ਸਿਰਲੇਖਾਂ, ਸੂਚੀਆਂ, ਅਤੇ ਸਾਰਣੀਆਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।
ਕੀ ਇਹ HTML ਤੋਂ Markdown ਕਨਵਰਟਰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮੇਰੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ?
ਹਾਂ। ਹਰ ਸਾਫ਼, ਬਦਲਾਅ, ਅਤੇ ਰੈਂਡਰ ਪਾਸ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਟੈਬ ਅੰਦਰ JavaScript ਵਜੋਂ ਲੋਕਲੀ ਚੱਲਦਾ ਹੈ। ਤਿੰਨ ਬੰਡਲ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ — turndown@7.2.0 (turndown-plugin-gfm@1.0.2 ਨਾਲ), marked@12.0.2, ਅਤੇ DOMPurify@3.1.7 — ਪੇਜ ਵਾਂਗ ਉਸੇ ਮੂਲ ਤੋਂ ਸ਼ਿਪ ਹੁੰਦੀਆਂ ਹਨ, ਇਸ ਲਈ ਕੋਈ CDN ਨਿਰਭਰਤਾ ਨਹੀਂ, ਇਨਪੁੱਟ ਉੱਤੇ ਕੋਈ fetch ਨਹੀਂ, ਕੋਈ XMLHttpRequest ਨਹੀਂ, ਕੋਈ navigator.sendBeacon ਨਹੀਂ। ਇੱਕ ਵਾਰ ਪੇਜ ਲੋਡ ਹੋ ਜਾਣ ਤੇ ਟੂਲ ਔਫਲਾਈਨ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਸਥਿਰ HTML/CSS/JS ਬੰਡਲ ਹੈ ਜਿਸ ਦੇ ਨਾਲ ਵਿਕਰੇਤਾ ਲਾਇਬ੍ਰੇਰੀਆਂ ਕਾਪੀ ਕੀਤੀਆਂ ਹਨ। ਨਿਰਯਾਤ ਕੀਤੀਆਂ ਪੋਸਟਾਂ, ਅੰਦਰੂਨੀ ਦਸਤਾਵੇਜ਼, ਅਤੇ ਗੁਪਤ ਪੰਨਾ ਸਰੋਤ ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਉੱਤੇ ਰਹਿੰਦੇ ਹਨ।
ਕੀ ਰੈਂਡਰ ਕੀਤਾ ਪ੍ਰੀਵਿਊ ਪੈਨ XSS-ਸੁਰੱਖਿਅਤ ਹੈ?
ਹਾਂ। ਪੇਸਟ ਕੀਤੀ HTML turndown ਉਸ ਉੱਤੇ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ DOMPurify.sanitize ਰਾਹੀਂ ਚਲਾਈ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਪ੍ਰੀਵਿਊ ਦੇ innerHTML ਨੂੰ ਅਸਾਈਨ ਕੀਤੀ ਹਰ HTML ਸਟ੍ਰਿੰਗ ਵੀ DOMPurify.sanitize(html, { USE_PROFILES: { html: true } }) ਰਾਹੀਂ ਲੰਘਦੀ ਹੈ। DOMPurify Cure53 ਦੁਆਰਾ ਸੰਭਾਲਿਆ ਓਪਨ-ਸੋਰਸ XSS ਸੈਨੀਟਾਈਜ਼ਰ ਹੈ; ਇਹ ਉਹੀ ਲਾਇਬ੍ਰੇਰੀ ਹੈ ਜੋ Mozilla MDN, Atlassian, ਅਤੇ Microsoft 365 ਉਪਭੋਗਤਾ-ਸਪਲਾਈ ਕੀਤੀ HTML ਨੂੰ ਮਜ਼ਬੂਤ ਕਰਨ ਲਈ ਵਰਤਦੇ ਹਨ। ਡਿਫੌਲਟ html ਪ੍ਰੋਫਾਈਲ <script> ਤੱਤ, ਹਰ on* ਇਵੈਂਟ-ਹੈਂਡਲਰ ਗੁਣ (onerror, onclick, ਆਦਿ), ਅਤੇ javascript: URI ਸਕੀਮਾਂ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ। <img src=x onerror=alert(1)> ਪੇਸਟ ਕਰਨ ਨਾਲ ਅਜਿਹਾ ਪ੍ਰੀਵਿਊ ਬਣਦਾ ਹੈ ਜਿੱਥੇ document.querySelector('#output-preview img[onerror]') null ਮੋੜਦਾ ਹੈ ਅਤੇ ਕੋਈ ਅਲਰਟ ਨਹੀਂ ਚੱਲਦਾ।
ਕੀ GFM ਸਾਰਣੀਆਂ HTML ਤੋਂ ਬਦਲੀਆਂ ਜਾਂਦੀਆਂ ਹਨ?
ਹਾਂ। HTML → Markdown ਦਿਸ਼ਾ turndown-plugin-gfm ਵਰਤਦੀ ਹੈ, ਜੋ ਇੱਕ ਕਸਟਮ turndown ਨਿਯਮ ਜੋੜਦੀ ਹੈ ਜੋ <table> ਨੋਡਾਂ ਉੱਤੇ ਚੱਲਦਾ ਹੈ ਅਤੇ ਬਰਾਬਰ ਪਾਈਪ-ਸਾਰਣੀ Markdown ਛੱਡਦਾ ਹੈ — ਇੱਕ ਹੈਡਰ ਕਤਾਰ, ਇੱਕ |---|---| ਅਲਾਈਨਮੈਂਟ ਕਤਾਰ, ਫਿਰ ਡਾਟਾ ਕਤਾਰਾਂ। ਜ਼ਿਆਦਾਤਰ ਔਨਲਾਈਨ ਕਨਵਰਟਰ ਇਸ ਮਾਰਗ ਉੱਤੇ ਸਾਰਣੀਆਂ ਛੱਡ ਦਿੰਦੇ ਹਨ; ਇਹ ਉਨ੍ਹਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ। ਸਟ੍ਰਾਈਕਥਰੂ (<del>text</del> → ~~text~~) ਅਤੇ ਕੰਮ ਸੂਚੀਆਂ (<input type="checkbox"> → - [ ] / - [x]) ਉਸੇ ਤਰ੍ਹਾਂ ਬਦਲੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
ਕੀ ਮੇਰੀ HTML ਸਾਫ਼-ਸੁਥਰੀ ਬਦਲ ਜਾਵੇਗੀ?
ਕੈਨੋਨੀਕਲ GFM ਵਿਸ਼ੇਸ਼ਤਾ ਸੈੱਟ ਲਈ — h1 ਤੋਂ h6 ਤੱਕ ਸਿਰਲੇਖ, ਨੈਸਟਿੰਗ ਵਾਲੀਆਂ ਕ੍ਰਮਬੱਧ ਅਤੇ ਅਕ੍ਰਮਬੱਧ ਸੂਚੀਆਂ, ਬੋਲਡ / ਇਟੈਲਿਕ / ਸਟ੍ਰਾਈਕਥਰੂ, ਇਨਲਾਈਨ ਲਿੰਕ, ਇਨਲਾਈਨ ਚਿੱਤਰ, ਭਾਸ਼ਾ ਟੈਗਾਂ ਵਾਲੇ ਫੈਂਸਡ ਕੋਡ ਬਲਾਕ, ਇਨਲਾਈਨ ਕੋਡ ਸਪੈਨ, ਪਾਈਪ ਸਾਰਣੀਆਂ, ਕੰਮ ਸੂਚੀਆਂ, ਬਲਾਕਕੋਟ, ਖਿਤਿਜੀ ਨਿਯਮ, ਅਤੇ ਆਟੋਲਿੰਕ — ਬਦਲਾਅ ਸਾਫ਼ ਅਤੇ ਅਨੁਮਾਨਯੋਗ ਹੈ। ਕਿਨਾਰੇ ਦੇ ਕੇਸ: HTML ਟਿੱਪਣੀਆਂ (<!-- ... -->) ਹਟਾਈਆਂ ਜਾਂਦੀਆਂ ਹਨ (Markdown ਕੋਲ ਕੋਈ ਟਿੱਪਣੀ ਸੰਟੈਕਸ ਨਹੀਂ); ਇਨਲਾਈਨ ਸਟਾਈਲਿੰਗ ਅਤੇ class ਗੁਣ ਛੱਡ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ ਕਿਉਂਕਿ Markdown ਕੋਲ ਕੋਈ ਬਰਾਬਰ ਨਹੀਂ; ਅਤੇ <sub> / <sup> ਵਰਗੇ ਅਸਾਧਾਰਨ ਇਨਲਾਈਨ ਟੈਗ ਸਾਦੇ ਟੈਕਸਟ ਵਿੱਚ ਬਦਲ ਜਾਂਦੇ ਹਨ। ਇਹ ਦਸਤਾਵੇਜ਼ੀ turndown ਵਿਵਹਾਰ ਹਨ, ਬੱਗ ਨਹੀਂ।
ਕੀ ਫੈਂਸਡ ਕੋਡ ਬਲਾਕਾਂ ਵਿੱਚ ਸਿੰਟੈਕਸ ਹਾਈਲਾਈਟਿੰਗ ਸਪੋਰਟ ਕੀਤੀ ਹੈ?
v1 ਵਿੱਚ ਨਹੀਂ। ਫੈਂਸਡ ਕੋਡ ਬਲਾਕ ਪ੍ਰੀਵਿਊ ਵਿੱਚ ਮੋਨੋਸਪੇਸਡ ਫੌਂਟ ਅਤੇ ਇੱਕ ਸੂਖਮ ਬੈਕਗ੍ਰਾਊਂਡ ਨਾਲ ਰੈਂਡਰ ਹੁੰਦੇ ਹਨ ਪਰ ਪ੍ਰਤੀ-ਭਾਸ਼ਾ ਟੋਕਨ ਹਾਈਲਾਈਟਿੰਗ ਤੋਂ ਬਿਨਾਂ। ਸੰਟੈਕਸ ਹਾਈਲਾਈਟਿੰਗ ਜੋੜਨ ਲਈ Prism ਜਾਂ highlight.js ਨੂੰ ਬੰਡਲ ਕਰਨਾ ਪਵੇਗਾ, ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ 15–40 KB ਜੋੜਦਾ ਹੈ ਨਾਲ ਹੀ ਇੱਕ ਪ੍ਰਤੀ-ਭਾਸ਼ਾ ਵਿਆਕਰਣ ਫਾਈਲ ਅਤੇ ਇੱਕ ਥੀਮ ਮੈਟ੍ਰਿਕਸ ਜਿਸ ਨੂੰ Workshop Terminal ਪੈਲੇਟ ਨਾਲ ਅਲਾਈਨ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਫਿਲਹਾਲ, ਰੈਂਡਰਰ ਸ਼ੁੱਧਤਾ ਅਤੇ XSS-ਸੁਰੱਖਿਆ ਉੱਤੇ ਕੇਂਦਰਿਤ ਹੈ; ਜੇ ਇਨਲਾਈਨ ਹਾਈਲਾਈਟਿੰਗ ਲਈ ਉਪਭੋਗਤਾ ਮੰਗ ਹੋਵੇ, ਤਾਂ ਇੱਕ ਆਪਟ-ਇਨ ਟੌਗਲ ਇੱਕ ਸੰਭਵ ਫਾਲੋ-ਅੱਪ ਹੈ।
ਇਹ HTML to Markdown Converter ਉਸੇ ਮੂਲ ਉੱਤੇ ਬੰਡਲ ਕੀਤੇ turndown@7.2.0 (+ turndown-plugin-gfm@1.0.2), marked@12.0.2, ਅਤੇ DOMPurify@3.1.7 ਨਾਲ ਸ਼ਿਪ ਕਰਦਾ ਹੈ, ਪੂਰਾ GFM ਵਿਸ਼ੇਸ਼ਤਾ ਸੈੱਟ ਛੱਡਦਾ ਹੈ, ਅਤੇ DOM ਨੂੰ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਹਰ ਰੈਂਡਰ ਕੀਤੀ HTML ਸਟ੍ਰਿੰਗ ਨੂੰ ਸਾਫ਼ ਕਰਦਾ ਹੈ। ਕੋਈ ਅਪਲੋਡ ਨਹੀਂ, ਕੋਈ CDN ਨਹੀਂ, ਕੋਈ ਟੈਲੀਮੈਟਰੀ ਨਹੀਂ — ਹਰ ਬਾਈਟ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ।