Markdown से HTML
GitHub-स्टाइल सिंटैक्स सपोर्ट के साथ Markdown को HTML में बदलें — टेबल, टास्क लिस्ट, फ़ेंस्ड कोड और स्ट्राइकथ्रू। एक लाइव प्रीव्यू किसी सैंडबॉक्स्ड फ़्रेम में रेंडर होता है ताकि आपके पेस्ट किए में से कुछ भी न चल सके।
- फ़ाइलें कभी आपकी डिवाइस से बाहर नहीं जातीं
- मुफ़्त, बिना साइन-अप
- कोई वॉटरमार्क नहीं
- लोड होने के बाद ऑफ़लाइन भी काम करता है
Markdown से HTML कैसे करें
- 1
Markdown टाइप करें या पेस्ट करें
आपके टाइप करते ही HTML और प्रीव्यू अपडेट होते हैं।
- 2
प्रीव्यू जाँचें
सैंडबॉक्स्ड फ़्रेम में रेंडर किया गया, तो पेस्ट किया कंटेंट कोई स्क्रिप्ट नहीं चला सकता।
- 3
HTML कॉपी करें
मार्कअप कॉपी करें या इसे .html फ़ाइल के रूप में डाउनलोड करें।
CommonMark बनाम GitHub Flavored Markdown
Markdown एक कम-स्पेसिफ़ाइड फ़ॉर्मेट के रूप में शुरू हुआ था बिना किसी एक, अधिकृत व्याकरण के, जिसका मतलब था अलग-अलग इम्प्लीमेंटेशन किनारे-मामलों में असहमत होते थे — नेस्टेड लिस्ट को कैसे व्यवहार करना चाहिए, क्या किसी शब्द के अंदर अंडरस्कोर एम्फ़ेसिस गिने जाते हैं — अक्सर ऐसे तरीक़ों से जो एक जैसे सोर्स टेक्स्ट से वाक़ई अलग रेंडर किया आउटपुट बनाते। CommonMark ख़ास तौर पर इसे ठीक करने के लिए सामने आया, एक अकेली, सटीक, बिना-अस्पष्टता वाली स्पेसिफ़िकेशन परिभाषित करते हुए जिसे कोई भी अनुरूप पार्सर बिल्कुल फ़ॉलो करे। GitHub Flavored Markdown (GFM) उस CommonMark आधार पर बना है और कई एक्सटेंशन जोड़ता है जो सादा CommonMark बिल्कुल परिभाषित नहीं करता: वर्टिकल-बार कैरेक्टर और हाइफ़न सेपरेटर पंक्ति से बनी टेबल, `- [ ]` और `- [x]` के रूप में लिखे टास्क लिस्ट चेकबॉक्स, डबल टिल्ड में लपेटा स्ट्राइकथ्रू टेक्स्ट, और बिना साफ़ लिंक सिंटैक्स की ज़रूरत के नंगी URL का ऑटो-हाइपरलिंकिंग। GFM वह बोली है जो यह टूल इम्प्लीमेंट करता है क्योंकि GitHub, Reddit, और भारी बहुमत के स्टैटिक साइट जेनरेटर व डॉक्यूमेंटेशन टूल इसी पर मानकीकृत हो गए हैं, जिससे यह कहीं और पढ़े जाने के लिए लिखी किसी भी चीज़ के लिए सबसे व्यापक रूप से उपयोगी लक्ष्य बन जाता है।
सैंडबॉक्स्ड प्रीव्यू किससे बचाता है, और किससे नहीं
Markdown की सिंटैक्स जान-बूझकर सीधे इसके अंदर कच्चा HTML एम्बेड करने की अनुमति देती है — यह इरादतन है और Markdown लेखकों को कोई एम्बेडेड एलिमेंट, कोई ख़ास अलाइनमेंट, या स्टाइल का कोई टुकड़ा डालने देता है जिसके लिए ख़ुद Markdown सिंटैक्स के पास कोई शॉर्टहैंड नहीं है। जोखिम यह है कि किसी अविश्वसनीय Markdown में पेस्ट किया कोई `<script>` टैग या `onerror=` जैसा इनलाइन इवेंट हैंडलर आमतौर पर उसे रेंडर करने वाले संदर्भ में चल जाता, जो एक असली क्रॉस-साइट स्क्रिप्टिंग वेक्टर है अगर Markdown प्रीव्यू देखने वाले व्यक्ति से अलग किसी और से आया हो। लाइव प्रीव्यू को स्क्रिप्ट बंद किए किसी सैंडबॉक्स्ड iframe के अंदर रेंडर करने का मतलब है कि प्रीव्यू में ऐसा कोई भी स्क्रिप्ट टैग या इवेंट हैंडलर बस नहीं चलता — ब्राउज़र सही तरीक़े से सैंडबॉक्स्ड किसी फ़्रेम के अंदर कोड चलाने से मना कर देता है, जोखिम को उस सैंडबॉक्स्ड प्रीव्यू तक सीमित रखते हुए।
सैंडबॉक्सिंग जो नहीं करती वह है यह टूल आपके कॉपी करने के लिए जो *जेनरेट किया HTML आउटपुट* बनाता है उसे सैनिटाइज़ करना — वह टेक्स्ट-स्तरीय आउटपुट मूल Markdown में मौजूद किसी भी कच्चे HTML को अब भी रखता है, वफ़ादारी से बरक़रार, ठीक जैसा Markdown की स्पेसिफ़िकेशन का मक़सद है। अगर वह जेनरेट किया HTML किसी लाइव पेज में डालना है जो किसी अविश्वसनीय लेखक का कंटेंट दिखाता है, तो पब्लिश होने से पहले सर्वर पर उसे अपना अलग सैनिटाइज़ेशन क़दम चाहिए, जो इस प्रीव्यू सैंडबॉक्सिंग द्वारा संभाली किसी भी चीज़ से अलग क़दम है।
Markdown कच्चे HTML की अनुमति क्यों देता है
Markdown जान-बूझकर उन HTML संरचनाओं के लिए एक शॉर्टहैंड के रूप में डिज़ाइन किया गया था जिनका लेखक सबसे ज़्यादा सहारा लेते हैं — हेडिंग, लिंक, एम्फ़ेसिस, लिस्ट — HTML की पूरी क्षमता के पूर्ण विकल्प के रूप में नहीं। कोई भी चीज़ जिसके लिए ख़ुद Markdown सिंटैक्स के पास कोई बराबर नहीं है, किसी ख़ास इनलाइन स्टाइल से लेकर एम्बेडेड वीडियो तक, को सीधे Markdown सोर्स कोड के अंदर लिटरल HTML के रूप में लिखा जाना है, और पार्सर इसे अवैध मानकर रिजेक्ट करने की बजाय बिना बदले आगे बढ़ा देता है। यह एक जान-बूझकर लिया गया डिज़ाइन फ़ैसला है जो Markdown की मूल स्पेसिफ़िकेशन तक जाता है, किसी ख़ास इम्प्लीमेंटेशन में कोई ख़ामी या चूक नहीं।
अक्सर पूछे जाने वाले सवाल
Markdown का कौन सा वैरिएंट सपोर्टेड है?
GitHub Flavored Markdown: टेबल, फ़ेंस्ड कोड ब्लॉक, टास्क लिस्ट, स्ट्राइकथ्रू और ऑटोलिंक, CommonMark के मूल के ऊपर। यही वह बोली है जो GitHub, Reddit और ज़्यादातर स्टैटिक साइट जेनरेटर इस्तेमाल करते हैं।
क्या किसी अविश्वसनीय स्रोत का Markdown पेस्ट करना सुरक्षित है?
प्रीव्यू स्क्रिप्ट बंद किए किसी सैंडबॉक्स्ड iframe के अंदर रेंडर होता है, तो एम्बेडेड `<script>` टैग और इवेंट हैंडलर नहीं चल सकते। ध्यान दें कि *जेनरेट किया HTML* आपके Markdown में मौजूद किसी भी कच्चे HTML को अब भी रखता है — जो कंटेंट आपने नहीं लिखा उसे पब्लिश करने से पहले सर्वर पर उसे सैनिटाइज़ करें।
क्या यह Markdown के अंदर कच्चा HTML सपोर्ट करता है?
हाँ — Markdown इनलाइन HTML की अनुमति देता है और इसे जैसा है वैसा आगे बढ़ा देता है। यही वजह है कि ऊपर वाली सैनिटाइज़ेशन नोट मायने रखती है अगर स्रोत अविश्वसनीय हो।
मेरी टेबल क्यों रेंडर नहीं होती?
GFM टेबल को हेडर के नीचे हाइफ़न वाली एक सेपरेटर पंक्ति चाहिए, और अगर टेबल किसी पैराग्राफ़ के बाद आती है तो शुरुआत में एक ख़ाली लाइन। सेपरेटर पंक्ति में एक अकेली ग़ायब वर्टिकल बार सब कुछ चुपचाप वापस सादे टेक्स्ट में बदल देती है।