Markdown प्रीव्यू और HTML कन्वर्टर

अपना Markdown साथ-साथ रेंडर होते देखें और HTML कॉपी करें — प्रीव्यू आपके ब्राउज़र में sandbox के भीतर चलता है।

इस्तेमाल कैसे करें

  1. बाईं ओर अपना Markdown लिखें या पेस्ट करें — दाईं ओर का प्रीव्यू टाइप करते-करते अपडेट होता रहता है।
  2. अगर आप किसी चैट बॉक्स या कमेंट फ़ील्ड के लिए लिख रहे हैं, जहाँ हर Enter से नई लाइन शुरू होती है, तो "एकल लाइन ब्रेक को
    मानें" पर टिक करें।
  3. HTML स्रोत देखने के लिए "HTML में बदलें" पर क्लिक करें, फिर उसे कॉपी करें या तुरंत खुलने योग्य .html फ़ाइल डाउनलोड करें।

इस टूल के बारे में

Markdown सादा टेक्स्ट है जिसमें कुछ विराम-चिह्न परंपराएँ जुड़ी होती हैं — हेडिंग के लिए हैश, ज़ोर देने के लिए तारांकन, सूची आइटम के लिए हाइफ़न — जिन्हें एक कन्वर्टर HTML में बदल देता है। यह टूल उसे marked से GitHub Flavored Markdown मोड में रेंडर करता है, इसलिए लोग असल में जो लिखते हैं वह बचा रहता है: टेबल, भाषा के टैग वाले फ़ेंस्ड कोड ब्लॉक, टास्क लिस्ट, स्ट्राइकथ्रू और नंगे URL जो लिंक बन जाते हैं। प्रीव्यू एडिटर के बगल में बैठा रहता है और टाइप करते ही फिर से बनता है, इसलिए टूटी हुई टेबल या बिना बंद हुआ कोड फ़ेंस आपको लिखते समय ही पकड़ में आ जाता है, README पुश करने के बाद नहीं।

Markdown कन्वर्टर को एक सुरक्षा-निर्णय लेना होता है, और यह पेज उसे टालने के बजाय साफ़-साफ़ बताता है: marked कुछ भी sanitise नहीं करता। Markdown जान-बूझकर कच्चे HTML की अनुमति देता है, इसलिए script टैग, onerror हैंडलर वाली इमेज या javascript: URL पर जाता लिंक पार्सर से ठीक वैसे ही बाहर आते हैं जैसे अंदर गए थे। उसे इस पेज के भीतर रेंडर करना क्रॉस-साइट स्क्रिप्टिंग की खाई होती। sanitiser लिखने के बजाय, प्रीव्यू को एक ऐसे iframe के अंदर बनाया जाता है जिसका sandbox एट्रिब्यूट ख़ाली है — यानी हर पाबंदी चालू। allow-scripts के बिना कुछ भी नहीं चलता और कोई इवेंट हैंडलर नहीं दगता; allow-same-origin के बिना फ़्रेम एक अपारदर्शी ऑरिजिन में बैठता है और इस पेज, इसकी कुकीज़ या इसके स्टोरेज को पढ़ नहीं सकता। फ़्रेम के अंदर default-src 'none' वाली Content-Security-Policy दूसरी, स्वतंत्र परत है। कोई sanitiser आपको उससे अलग कुछ दिखाता जो HTML आप कॉपी करने वाले हैं — और प्रीव्यू में यह ठीक ग़लत सौदा होता।

जो चीज़ जान-बूझकर sanitise नहीं की जाती वह ख़ुद HTML है, क्योंकि वही तो उत्पाद है: कॉपी और डाउनलोड आपको ठीक वही देते हैं जो marked ने बनाया। इसलिए जब आपके Markdown में कुछ ऐसा होता है जो कोड चला सकता है, तो टूल उसका नाम बता देता है — script, iframe, form, कोई on-हैंडलर, कोई javascript: URL — और याद दिला देता है कि अलगाव सिर्फ़ प्रीव्यू तक है। उस HTML को कहीं प्रकाशित कीजिए जबकि Markdown किसी और का था, और जोखिम उसके साथ-साथ चला जाएगा। सब कुछ आपके अपने डिवाइस पर JavaScript में चलता है और आपका लिखा कुछ भी अपलोड नहीं होता। प्रीव्यू सिर्फ़ एक ही अनुरोध करता है, और वह भी वही जो आपने ख़ुद लिखा हो — जब कोई इमेज किसी बाहरी URL की ओर इशारा करती है। प्रीव्यू में लिंक क्लिक करने योग्य नहीं होते: यही sandbox की क़ीमत है, और प्रीव्यू के लिए यह सस्ती है।

अक्सर पूछे जाने वाले सवाल

क्या मेरा Markdown मेरे ब्राउज़र से बाहर जाता है?

नहीं। टेक्स्ट आपके डिवाइस पर JavaScript से पार्स और रेंडर होता है: कुछ भी किसी सर्वर पर नहीं भेजा जाता, न स्टोर होता है, न लॉग। पेज लोड होने के बाद इंटरनेट काट दीजिए, टूल फिर भी काम करेगा।

क्या यह टूल HTML को sanitise करता है?

नहीं, और यह ऐसा होने का दिखावा भी नहीं करता। प्रीव्यू एक sandbox वाले iframe में अलग-थलग है, इसलिए वहाँ कुछ नहीं चलता, लेकिन जो HTML आप कॉपी करते हैं वह ठीक वही है जो पार्सर ने बनाया। अगर Markdown किसी और से आया है, तो प्रकाशित करने से पहले उसे sanitise करें।

प्रीव्यू में लिंक क्लिक करने योग्य क्यों नहीं हैं?

क्योंकि प्रीव्यू फ़्रेम पर sandbox की हर पाबंदी चालू है, और नेविगेशन उनमें से एक है — वही स्विच जो javascript: लिंक को चलने से रोकता है। लिंक जीवित चाहिए तो HTML कॉपी कर लें।

कौन-सा Markdown फ़्लेवर समर्थित है?

GitHub Flavored Markdown: CommonMark के साथ टेबल, भाषा टैग वाले फ़ेंस्ड कोड ब्लॉक, टास्क लिस्ट, स्ट्राइकथ्रू और अपने आप बनने वाले लिंक। हेडिंग को id एट्रिब्यूट नहीं मिलते, इसलिए GitHub विषय-सूची के लिए जो anchors बनाता है वे यहाँ नहीं होते।

कॉपी किए गए HTML और डाउनलोड की गई फ़ाइल में क्या फ़र्क़ है?

कॉपी आपको HTML का टुकड़ा देता है, जिसे आप अपने किसी मौजूदा पेज में पेस्ट कर सकें। डाउनलोड उसे UTF-8 charset और पढ़ने लायक़ स्टाइलिंग वाले पूरे दस्तावेज़ में लपेट देता है, ताकि वह अकेले भी ठीक खुले, उच्चारण-चिह्न सलामत।

मेरे एकल लाइन ब्रेक ग़ायब हो गए। क्यों?

क्योंकि मानक Markdown में एकल न्यूलाइन बस एक स्पेस है — पैराग्राफ़ ख़ाली लाइन से अलग होते हैं। चैट बॉक्स और कमेंट फ़ील्ड हर Enter पर लाइन तोड़ते हैं, इसलिए उनके लिए लिखते समय "एकल लाइन ब्रेक को
मानें" पर टिक करें।

संबंधित टूल्स

Markdown तालिका जेनरेटर Markdown तालिकाएँ दृश्य रूप से बनाएँ — संपादन-योग्य ग्रिड, हर कॉलम का अलाइनमेंट और CSV इम्पोर्ट, अपने ब्राउज़र में। HTML एंटिटी एनकोडर और डिकोडर विशेष कैरेक्टरों को HTML एंटिटी में एनकोड करें और वापस डिकोड करें — अपने ब्राउज़र में। YAML से JSON कन्वर्टर YAML को JSON में और JSON को YAML में बदलें, और किसी भी सिंटैक्स एरर की सटीक लाइन और कॉलम पाएँ। llms.txt जेनरेटर ऐसी llms.txt फ़ाइल बनाएँ जो AI असिस्टेंट को बताए कि आपकी साइट के कौन से पेज असल में मायने रखते हैं। CSV ↔ JSON Converter CSV को JSON में या JSON को CSV में कन्वर्ट करें — डेलिमिटर चुनें, डेटा पेस्ट करें, और रिजल्ट कॉपी करें। Reddit Markdown Formatter Reddit के Markdown सिंटैक्स से टेक्स्ट फ़ॉर्मेट करें — बोल्ड, इटैलिक, लिंक, लिस्ट, कोट, कोड ब्लॉक और टेबल।

लंबे लिंक? मुफ़्त में छोटा करें

Vai.la किसी भी URL को क्लिक आंकड़ों, QR Code और आपके अपने बायोलिंक के साथ एक शॉर्ट लिंक में बदल देता है।

टूल्स का इस्तेमाल कैसे होता है या उनके परिणामों के आधार पर लिए गए निर्णयों के लिए Vai.la ज़िम्मेदार नहीं है।