MD

MD फ़ाइल क्या होती है?

सादा पाठ, मुट्ठी भर सजावट चिह्नों के साथ। लगभग सारा दस्तावेज़ीकरण और क़रीब-क़रीब हर README इसी में लिखा है।

MD है क्या

MD एक सादा टेक्स्ट फ़ॉर्मेट है, जो किसी भी एडिटर में खुल जाता है। इसका इस्तेमाल एडिटिंग और प्रोग्रामों के बीच डेटा ले जाना के लिए होता है।

एक्सटेंशन .md है और पूरा नाम Markdown। दोनों उतना नहीं बताते जितना यह कि फ़ाइल अंदर क्या-क्या रख सकती है — और इस पन्ने का बाक़ी हिस्सा इसी के बारे में है।

MD आया कहाँ से

यह 2004 तक पीछे जाता है। विनिर्देश CommonMark है।

उम्र एक व्यावहारिक वजह से काम की है: फ़ॉर्मेट जितना पुराना, उतने ज़्यादा प्रोग्रामों को उसे सीखने का वक़्त मिला है।

विनिर्देश सार्वजनिक है

यह पूरा प्रकाशित है, इसलिए कोई भी इसे देखकर अंदाज़ा लगाने के बजाय दस्तावेज़ पढ़कर लागू कर सकता है। यही वजह है कि यह फ़ॉर्मेट इतने सारे प्रोग्रामों में मिलता है, और यही वजह है कि बीस साल पहले लिखी गई फ़ाइलें आज भी खुल जाती हैं। पर विनिर्देश का प्रकाशित होना और उसका रॉयल्टी-मुक्त होना एक बात नहीं है: जहाँ फ़ॉर्मेट किसी कोडेक को अपने अंदर लपेटता है, वहाँ पेटेंट का लाइसेंस एक अलग सवाल है, और मानक उसका जवाब नहीं देता।

MD को खोलता कौन है

Visual Studio Code, Obsidian और Typora इसे पढ़ते हैं, और इसी तरह के ज़्यादातर दूसरे प्रोग्राम भी।

फ़ाइल न खुले तो कसूर फ़ॉर्मेट का शायद ही कभी होता है — अक्सर प्रोग्राम ही फ़ॉर्मेट से पुराना होता है। किसी पुरानी चीज़ में बदल लेना इससे निकलने का भरोसेमंद रास्ता है, और इस वेबसाइट का बाक़ी हिस्सा इसी के लिए है।

इसे ब्राउज़र में खोलना

इसे कोई भी ब्राउज़र नहीं पढ़ता।

इसे बदलने की सबसे आम वजह यही है: फ़ॉर्मेट ख़राब है, ऐसा नहीं — बात यह है कि जहाँ आप फ़ाइल दिखाना चाहते हैं वह जगह उसे पढ़ ही नहीं सकती।

यह काम करने का फ़ॉर्मेट है

MD इसलिए बना है कि इसे खोला और बदला जाए। जब तक काम चल रहा है फ़ाइल इसी फ़ॉर्मेट में रखिए, और जब भी बनी हुई प्रति चाहिए हो, इसी से निर्यात कीजिए।

Markdown किसलिए है

Markdown इसलिए मौजूद है कि हाथ से HTML लिखना उबाऊ है और वर्ड प्रोसेसर में लिखना ऐसी फ़ाइल बनाता है जिसे कोई diff नहीं कर सकता। यह उन रिवाजों का सेट है जो नाम मिलने से बहुत पहले सादे-पाठ ईमेल में इस्तेमाल हो रहे थे: हैश से शुरू लाइन हेडिंग है, तारे के निशान किसी शब्द को बोल्ड बनाते हैं।

यही गुण है जिसने इसे दस्तावेज़ीकरण में सबसे ऊपर पहुँचाया। Markdown में लिखा README, changelog या ब्लॉग पोस्ट एक टेक्स्ट फ़ाइल है — यह वर्शन कंट्रोल में जाती है, दो लोग इसे संपादित करके नतीजा मिला सकते हैं, और समीक्षक बिना कुछ रेंडर किए diff पढ़ सकता है।

रूप, और वह एक फ़र्क़ जो सबको पकड़ लेता है

कोई एक Markdown नहीं है। 2004 का मूल विवरण अनौपचारिक था और बहुत कुछ तय नहीं करता था, इसलिए लागू करने वालों ने ख़ाली जगहें अलग-अलग भरीं। CommonMark सटीक विनिर्देश का गंभीर प्रयास है और ज़्यादातर आधुनिक एडिटर इसी का पालन करते हैं। GitHub Flavored Markdown CommonMark के साथ कुछ जोड़ है।

सबसे ज़्यादा उलझन जो जोड़ बनाती है वह है टेबल। पाइप-सीमांकित टेबल CommonMark का हिस्सा नहीं हैं — वे GitHub एक्सटेंशन हैं। जो टेबल रिपॉज़िटरी में पूरी तरह रेंडर होता है और कहीं और पाइप की लाइन बनकर निकलता है वह बिगड़ी फ़ाइल नहीं है; वह ऐसा एक्सटेंशन इस्तेमाल कर रही फ़ाइल है जो दूसरा औज़ार लागू नहीं करता।

Front matter, और फ़ाइल का ऊपरी हिस्सा अजीब क्यों दिखता है

बहुत सारी Markdown फ़ाइलें तीन हाइफ़न से घिरे ब्लॉक से शुरू होती हैं जिसमें शीर्षक, तारीख़ और टैग की सूची जैसा कुछ होता है। यह front matter है — आमतौर पर YAML — और यह बिलकुल Markdown नहीं है। स्टैटिक-साइट जनरेटर इसे दस्तावेज़ के बारे में मेटाडेटा की तरह पढ़ते हैं और रेंडर करने से पहले हटा देते हैं।

front matter न जानने वाला औज़ार इसे पन्ने के ऊपर सीधे पाठ की तरह दिखाता है। अगर बदला दस्तावेज़ तीन हाइफ़न और कुंजी-मूल्य जोड़ों की सूची से शुरू हो, यही हुआ है, और बदलने से पहले ब्लॉक मिटाना सुधार है।

Markdown जान-बूझकर क्या नहीं कर सकता

कोई पन्ना आकार नहीं, कोई मार्जिन नहीं, कोई फ़ॉन्ट नहीं, कोई पन्ना-टूट नहीं, कोई फ़ुटर नहीं। यह कमी नहीं, विशेषता है: फ़ाइल संरचना बताती है — यह हेडिंग है, यह उद्धरण है — और दिखावट जो भी इसे रेंडर करे उस पर छोड़ देती है। वही दस्तावेज़ बिना दोबारा लिखे वेब पन्ना, PDF और स्लाइड बन जाता है।

इसमें कोई टिप्पणी नहीं, कोई track changes नहीं। वर्शन कंट्रोल यह काम करता है, और बेहतर करता है, जो फ़ॉर्मेट का सौदा है। अगर दस्तावेज़ को इतिहास के बजाय समीक्षा वर्कफ़्लो चाहिए, वर्ड प्रोसेसर ईमानदार औज़ार है।

Markdown से तैयार दस्तावेज़ निकालना

आम गंतव्य है PDF, किसी को भेजी जा रही किसी भी चीज़ के लिए जिसे परवाह नहीं कि यह किसमें लिखी गई। बदलाव संरचनात्मक चिह्नों को असली फ़ॉर्मेटिंग में बदल देता है: हेडिंग हेडिंग बन जाती है, कोड ब्लॉक अपना मोनोस्पेस फ़ॉन्ट रखते हैं।

HTML दूसरा आम लक्ष्य है, और यह अनुवाद से ज़्यादा बदलाव के क़रीब है क्योंकि Markdown उसी के लिए शॉर्टहैंड बनाया गया था। DOCX में बदलना जानने लायक़ है: टेक्स्ट एडिटर में लिखा दस्तावेज़ किसी को सौंपना जो सिर्फ़ track changes वाली Word फ़ाइल स्वीकार करेगा।

तस्वीरें और लिंक संदर्भ हैं, सामग्री नहीं

छह आरेख दिखाती Markdown फ़ाइल में कोई आरेख नहीं होता। इसमें छह पथ होते हैं, और तस्वीरें डिस्क या सर्वर पर इसके साथ बैठी होती हैं। फ़ाइल को उसके इर्द-गिर्द के फ़ोल्डर के बिना हिलाइए तो हर तस्वीर ग़ायब हो जाती है।

यह बदलते वक़्त मायने रखता है। कन्वर्टर सिर्फ़ वही तस्वीर embed कर सकता है जो उसे मिले। यह ईमेल करते वक़्त भी मायने रखता है: बिना एसेट के .md फ़ाइल भेजना कंकाल भेजना है। अगर तस्वीरें ही मुद्दा हैं, PDF में बदलिए।

बिना किसी ख़ास सॉफ़्टवेयर के Markdown संपादित करना

कोई भी टेक्स्ट एडिटर काम करेगा — Notepad, TextEdit, nano — क्योंकि फ़ाइल पाठ है। यही पूरा आकर्षण है, और यही वजह है कि 2004 में लिखा Markdown दस्तावेज़ आज बिना कुछ इंस्टॉल किए खुलता है।

समर्पित एडिटर लाइव प्रीव्यू जोड़ते हैं, जो लिखते वक़्त सचमुच काम का है और फ़ाइल के लिए पूरी तरह बेमानी। Visual Studio Code, Obsidian और Typora सब टाइप करते वक़्त रेंडर करते हैं; इनमें से कोई भी कुछ ऐसा नहीं सहेजता जो बाक़ी न पढ़ सकें।

ज़रूरी जानकारी, एक जगह

MD फ़ॉर्मेट की पहचान और उसका स्रोत।
एक्सटेंशन.md, .markdown
मीडिया टाइपtext/markdown
पहली बार प्रकाशित2004
विनिर्देशCommonMark

Markdown फ़ाइलें: आम सवाल

MD फ़ाइल कैसे खोलूँ

कोई भी टेक्स्ट एडिटर इसे खोलता है, क्योंकि यह सादा पाठ है — Windows पर Notepad, Mac पर TextEdit। फ़ॉर्मेट किया देखने के लिए, Visual Studio Code, Obsidian या Typora जैसा प्रीव्यू वाला एडिटर इस्तेमाल कीजिए, या इसे PDF या HTML में बदलिए।

मेरी टेबल रेंडर क्यों नहीं होती

पाइप-सीमांकित टेबल CommonMark विनिर्देश का हिस्सा नहीं, GitHub एक्सटेंशन हैं, इसलिए सख़्त रेंडरर पाइप को सीधे दिखाता है। फ़ाइल ठीक है; औज़ार वह एक्सटेंशन लागू नहीं करता।

MD और Markdown में क्या फ़र्क़ है

कुछ नहीं — .md बस आम एक्सटेंशन है, और .markdown वही चीज़ पूरी लिखी हुई। दोनों हर जगह पहचाने जाते हैं, और लगभग हर प्रोजेक्ट .md इस्तेमाल करता है।

क्या Markdown को Word में बदल सकता हूँ

हाँ। हेडिंग, सूचियाँ, ज़ोर, लिंक और कोड ब्लॉक साफ़ Word स्टाइल में मैप होते हैं। जो नहीं बचता वह वह चीज़ है जो Markdown के पास कभी थी ही नहीं — पन्ना ले-आउट, हेडर-फ़ुटर, सटीक स्पेसिंग।

क्या तस्वीरें MD फ़ाइल के भीतर सहेजी होती हैं

नहीं। फ़ाइल हर तस्वीर का पथ रखती है, और तस्वीरें इसके साथ रहती हैं। फ़ाइल को अकेले हिलाने या भेजने पर तस्वीरें ग़ायब हो जाती हैं। एक स्व-निहित दस्तावेज़ चाहिए तो PDF में बदलिए।

क्या Markdown README जैसी चीज़ है

README पारंपरिक नाम वाली फ़ाइल है, आमतौर पर Markdown में लिखी — README.md। रिवाज़ है कि यह प्रोजेक्ट खोलने वाला हर कोई सबसे पहले पढ़ता है। Markdown फ़ॉर्मेट है; README वह काम है जो फ़ाइल कर रही है।