Quarkdown 2.0.0 - शक्तिशाली फीचर्स के साथ Markdown
(quarkdown.com)- Markdown-आधारित दस्तावेज़ लेखन में LaTeX-स्तर की typesetting क्षमताएँ जोड़कर, शोध-पत्र से लेकर किताब, प्रेज़ेंटेशन, static site और knowledge base तक सब कुछ एक ही टूल में बनाया जा सकता है
- boilerplate को कम करने वाला syntax के भीतर author, margin, abstract, image और quote जैसे तत्व सीधे जोड़े जा सकते हैं, जिससे content और layout साथ-साथ लिखा जा सकता है
- एक लाइन की
.doctypeसेटिंग सेpaged,plain,docs,slidesdocument type बदले जा सकते हैं, और interactive presentation भी सपोर्ट होती है - तेज़ compile और live preview उपलब्ध है, और Turing complete scripting के ज़रिए functions और arguments को reuse करके दोहराए जाने वाले layout काम कम किए जा सकते हैं
- यह मुफ़्त है और open source के रूप में उपलब्ध है, और compiler लगातार विकसित हो रहा है तथा free software के रूप में बनाए रखा गया है
2.0.0 रिलीज़ में बदलाव : 23 अप्रैल 2026 को जारी
- HTML output पूरी तरह offline मोड में बदल गया है, जिससे CDN और Google Fonts पर निर्भरता के कारण होने वाली styling टूटने और फीचर छूटने की समस्या काफ़ी कम हुई है
- नया permission system जोड़ा गया है, जिससे compile के दौरान document किस सीमा तक access कर सकता है, यह
--allow,--denyसे नियंत्रित किया जा सकता है; permission न होने पर तुरंत error आता है, जिससे सुरक्षा बढ़ती है - default output directory
./outputसे बदलकर./quarkdown-outputहो गई है, इसलिए पुरानी default path पर निर्भर workflows को समायोजित करना होगा --previewइस्तेमाल करने पर default output name अब.docname-आधारित नहीं है, बल्किpreview-<mainfile>-<hash>फ़ॉर्मेट में बदल गया है, जिससे preview की स्थिरता बढ़ती है- parallel rendering जोड़ा गया है, जिससे बड़े documents में sibling elements को एक साथ process करके rendering performance बेहतर होती है
- project root की
public/directory को HTML output root में जैसा का तैसा कॉपी किया जा सकता है, जिससेrobots.txt,CNAMEऔर साझा static assets को deploy करना आसान हो जाता है - नई
.htmloptionsfunction सेbaseurlसेट करने पर हर page में canonical link जोड़ा जा सकता है औरsitemap.xmlभी generate किया जा सकता है, जिससे search engine friendliness बढ़ती है - HTML compile के दौरान links और images में
@root path symbol सपोर्ट किया गया है, जिससे किसी भी subdocument से shared assets को एकसमान तरीके से refer किया जा सकता है - नई
.imageprimitive function जोड़ी गई है, जिससे size, caption और fixed relative path इस्तेमाल करना है या नहीं, इसे बारीकी से नियंत्रित किया जा सकता है, और यहpublic/assets के उपयोग के साथ भी अच्छी तरह मेल खाती है - सभी referable elements के लिए cross-reference links सपोर्ट किए गए हैं, जिससे figures, tables, code blocks, formulas और user-defined numbered blocks तक click करके जाया जा सकता है
Injectionstandard library module का नाम बदलकरHtmlकर दिया गया है, इसलिए मौजूदा documents या reference code में बदलाव की ज़रूरत होगी- dark theme live preview में सफ़ेद flash की समस्या और Quarkdoc wiki link से जुड़ी दिक्कत भी ठीक कर दी गई है, जिससे उपयोग अनुभव बेहतर हुआ है
1 टिप्पणियां
Hacker News की राय
सच कहूँ तो यह प्रभावशाली है, लेकिन मेरे लिए Markdown का मूल सार इसकी बेहद सादगी में है
इसे GUI के बिना भी एडिट किया जा सकता है, टर्मिनल में VIM पर लिखते समय भी अंदाज़ा रहता है कि नतीजा लगभग कैसा दिखेगा, और raw
.mdफ़ाइल खुद भी वैसे ही पढ़ने लायक होती हैलेकिन जब इसमें लगातार फीचर जोड़ने शुरू करते हैं, तो बार-बार अनजान कमांड ढूँढने पड़ते हैं, फिर वे याद भी नहीं रहते, और rendering के बिना यह भरोसा भी नहीं रहता कि चीज़ कैसी दिखेगी, तो आखिरकार WYSIWYG एडिटर की इच्छा होने लगती है
यह कुछ वैसा लगता है जैसे QWERTY कीबोर्ड में Cyrillic, Devanagari, Chinese और Arabic कीज़ भी सब जोड़ देने की सोच हो, और फिर अंत में दोबारा hunt and peck पर लौटना पड़े
इसका बेसिक syntax वैसे तरीकों को दोबारा इस्तेमाल करता है जिनसे लोग पहले से टेक्स्ट में formatting की नकल करते थे, इसलिए लिखा हुआ इनपुट खुद ही काफ़ी हद तक पढ़ने योग्य रहता है
Markdown लिखना ठीक-ठीक न भी आता हो, तब भी ज़्यादातर मामलों में पढ़ने में दिक्कत नहीं होती; table table जैसी दिखती है और paragraph बस paragraph जैसा दिखता है
कभी-कभी syntax दोबारा देखना पड़ता है, लेकिन वह ठीक है। passive vocabulary का active vocabulary से बड़ा होना स्वाभाविक है
इसलिए मैं आम तौर पर इनपुट source की पठनीयता से आकलन करता हूँ, और यहाँ दिखी कई चीज़ों में उस पैमाने पर बहुत बड़ा फायदा नज़र नहीं आता
हाँ, math formatting के उदाहरण मैंने नहीं देखे, और मैं LaTeX जिन कम मौकों पर इस्तेमाल करता हूँ, उनमें ज़्यादातर वजह वही गणितीय अभिव्यक्तियाँ होती हैं जो Markdown में नहीं हो पातीं, इसलिए वह हिस्सा व्यवहार में कैसा दिखता है यह जानने की जिज्ञासा है
फिर भी Quarkdown सीधा LaTeX लिखने से साफ़ तौर पर बेहतर superset जैसा लगता है, और Word जैसे GUI एडिटर की तुलना में output की predictability और LLM-सहायता प्राप्त editing के साथ compatibility भी बेहतर लगती है
उसका नाम Microsoft Word रख सकते हैं
आजकल सिर्फ़ साधारण "plain markdown" एडिटर से अलग नज़र आना मुश्किल है, और HN के फ्रंट पेज तक पहुँचना हो तो लगता है कि सामान्य Markdown से आगे की functional completeness चाहिए ही
यह किसी तरह का natural selection जैसा लगता है
अच्छा होगा अगर ऐसे tools और markup languages की तुलना एक ही जगह मिल जाए
MyST, Pandoc, Quarkdown, Quarto, Typst को साथ रखकर देखना बढ़िया रहेगा
Quarto और Pandoc, Pandoc Markdown का इस्तेमाल करते हैं, और https://www.zettlr.com/ भी ऐसा ही करता है
वहीं Quarkdown और Typst, LaTeX या HTML+Javascript की तरफ़ ज़्यादा झुकती हुई programmable markup languages जैसी लगती हैं, इसलिए अभी यह तय नहीं है कि असली LaTeX उत्तराधिकारी कौन बनेगा
Markdown बस
.txtपर थोड़ी syntax sugar डालने जैसा है, और उसे PDF या HTML में export किया जा सकता हैQuarto वह Markdown है जिसमें आप code blocks चलाना चाहते हैं
Typst आधुनिक ढंग से फिर से बनाया गया LaTeX है, जिसमें 90% झंझट कम हो गया है, लेकिन शायद 10% फीचर भी साथ ही कम हो गए हैं
अकादमिक दुनिया वैसे भी नई चीज़ों से कतराती है, इसलिए Typst इस्तेमाल करने पर भी शायद बहुत उत्साह न मिले
Pandoc आख़िरकार PDF, HTML जैसे कई formats में export करने का tool है
आम तौर पर जल्दी समझ में आ जाता है कि किस तरफ़ का tool चाहिए, और asciidoc जैसी चीज़ें भी हैं, लेकिन अगर सोचें कि markdown/quarto/typst संयोजन किन क्षेत्रों को cover नहीं करता, तो वे बहुत ज़्यादा नहीं हैं
जो बचता है वह शायद WYSIWYG एडिटर जैसा कुछ है
यह Markdown का काफ़ी अच्छी तरह डिज़ाइन किया हुआ और काफ़ी thorough superset लगता है
https://djot.net/
अगर LaTeX का इस्तेमाल और कम करना पड़ता तो बहुत अच्छा होता, लेकिन असली प्रोजेक्ट्स में आज़माने पर corner cases इतने ज़्यादा निकले कि आखिरकार फिर LaTeX पर लौटना पड़ा
LaTeX की कुछ चीज़ें इसमें नहीं हैं, और Pandoc compatibility की कमी भी बड़ा कारण थी
सच में उम्मीद है कि बस आख़िरी 10% भी पूरा हो जाए
https://github.com/iamgio/quarkdown#comparison
उसके intermediate JSON format पर मनचाहे filters लगाए जा सकते हैं, इसलिए व्यावहारिक रूप से लगभग कोई भी conversion implement किया जा सकता है, और वह तरह-तरह के formats को उस JSON में या उससे वापस बदल देता है
इसलिए मैं Pandoc-आधारित systems को पसंद करता हूँ, और जो काम base tool नहीं कर पाता, वह भी अक्सर एक छोटे inline filter से हो जाता है
physics software standard model के हिसाब से Quarkdown को Atom में एडिट करो तो वह Quarkup बन जाता है, और Neutron Mail को Proton Mail से बदलना पड़ता है
लेकिन यह तभी काम करता है जब आप बाएँ हाथ से टाइप करते हुए Electron app बनाओ और साथ में anti-Neutrinos AI blogpost भी लिखो
मेरी छोटी-सी राय में, यह असल में LaTeX-style macros वाले Markdown के काफ़ी करीब है
बस यहाँ उन्हें functions कहा गया है, शायद इसलिए कि कम-से-कम एक ऐसा function तो है ही जिसके side effects हैं — वही जो नए functions define करता है
"सब कुछ function है" वाली syntactic purity मुझे पसंद है, लेकिन structure और styling को HTML/CSS की तरह स्वाभाविक रूप से मिला देना थोड़ा mixed feeling देता है। हालाँकि वह सीमा पहले भी पूरी तरह साफ़ नहीं थी
फिर भी यह काफ़ी अच्छा है, और Markdown को बहुत बदलने की कोशिशों पर लोगों की शंका भी समझ में आती है
यह आलोचना भी सही है कि functions का ज़्यादा इस्तेमाल source की पठनीयता घटा सकता है, और कभी-कभी Turing-incompleteness भी एक फ़ायदा होती है
लेकिन अगर इसे Markdown में functions जोड़ने के design के रूप में देखें, तो यह काफ़ी साफ़-सुथरा design है
मैं Quarkdown का लेखक और project lead हूँ
यह शुरुआत में एक विश्वविद्यालयी research project था, और दो साल बाद यह इस रूप में होगा, यह मैंने कभी नहीं सोचा था
दिलचस्पी दिखाने के लिए धन्यवाद, मैं comments का जितना हो सके जवाब दूँगा
मुझे हमेशा
**bold**और*italic*की बजाय*bold*और_italic_ज़्यादा सही लगे हैंMarkdown का यह अतिरिक्त asterisk डिज़ाइन के लिहाज़ से कमज़ोर लगता है, और ख़ास तौर पर फ़ोन या टैबलेट पर Markdown एडिट करते समय काफ़ी असुविधाजनक भी है
GUI documents में भी macros से आम तौर पर बचा जाता है, इसलिए जिज्ञासा है कि क्या Quarkdown मूल रूप से जटिल और दोहराव वाले documents के लिए डिज़ाइन किया गया था
सवाल लेने के लिए धन्यवाद
docs को सरसरी तौर पर देखकर मुझे थोड़ा संदेह हुआ कि evaluation model इस काम के लिए सही बैठता है या नहीं
text layout में आम तौर पर एक हिस्से में बदलाव करने पर दूसरी जगहों की placement बिगड़ जाती है, इसलिए layout pass को fixed point तक बार-बार चलाने वाली संरचना चाहिए
Typst में इसके लिए context का concept है https://typst.app/docs/reference/context/, लेकिन Quarkdown में मुझे ऐसा कुछ नहीं दिखा। हो सकता है मैं चूक गया हूँ
मैं किताब के काम में pandoc/md/LaTeX stack से Typst पर गया हूँ, और अब तक काफ़ी संतुष्ट हूँ
आधुनिक language में programming जैसा अहसास अच्छा लगता है, और speed भी pandoc+LaTeX से बहुत बेहतर है
https://functionalprogrammingstrategies.com/
AsciiDoc के नज़रिए से देखें तो Quarkdown का syntax design साफ़-सुथरा लगता है, और खास तौर पर user-defined functions अच्छे लगते हैं
लेकिन इस श्रेणी में असली कठिन हिस्सा source language से ज़्यादा output pipeline होता है
cross-reference, admonition, conditional content, function-based reuse जैसी Markdown extensions को design के स्तर पर काफ़ी हद तक संभाला जा सकता है
असली दीवार उसके बाद आती है, जैसे PDF/UA के अनुरूप tagged PDF, अलग-अलग environments में भी न डगमगाने वाले deterministic builds, multilingual document sites में hreflang और cross-document linking, या 500 पेज की किताब में भी टिके रहने वाला incremental rebuild
खास तौर पर EU में 28 जून 2025 से European Accessibility Act लागू होने के बाद PDF/UA की अहमियत और बढ़ गई है
आपके चार doctype, खासकर paged वाले हिस्से, को आगे कैसे ले जाने की योजना है, यह जानना चाहूँगा
तुलना तालिका में MyST भी होना चाहिए
https://mystmd.org/
यह आगे चलकर नया Markdown standard भी बन सकता है
यह Markdown extension नहीं है, लेकिन इसका लक्ष्य और use cases काफ़ी मिलते-जुलते हैं
बस मज़बूत LSP support की कमी खलती है, कम-से-कम मैं helix में इसे ठीक से चलाने में सफल नहीं हुआ
मेरा ब्लॉग भी pydata-sphinx-theme और myst पर बना है
चाहो तो PR के ज़रिए तालिका खुद अपडेट कर सकते हो
अपने app में मैंने थोड़ा अलग रास्ता चुना है
मैंने पठनीयता और बड़े Mermaid diagrams को आसानी से संभालने पर ध्यान दिया, और हाल में map की तरह navigate करने वाला fullscreen mode भी जोड़ा है
https://mdview.io/s/97af684b
SSG इस्तेमाल करते समय मैं आम तौर पर input को जितना हो सके साफ़ Markdown में रखना पसंद करता हूँ, और formatting की बारीकियाँ CSS में डाल देता हूँ
उदाहरण के लिए
.abstractजैसा कुछ लिखने की ज़रूरत नहीं; CSS को ही पहला paragraph abstract की तरह ट्रीट करने दिया जा सकता हैइसके उलट यह project ज़्यादा समृद्ध self-contained documents बनाने की दिशा में दिखता है
इसमें CSS नहीं है, लेकिन पहले से परिभाषित styling options बहुत हैं, इसलिए बार-बार शुरुआती HTML की याद आती है
HTML 1 में न रंग थे, न लगभग कोई formatting, इसलिए वह Markdown जैसा था; फिर HTML 3 तक आते-आते बहुत सी चीज़ें जुड़ने लगीं, तो यह उसी प्रवाह जैसा लगता है