2011-09-05 16 views
18

क्लोजर में अपना खुद का मार्कडाउन पार्सर लिखने में समस्या यह है कि मार्कडाउन एक अच्छी तरह से निर्दिष्ट भाषा नहीं है। कोई "आधिकारिक" व्याकरण नहीं है, केवल एक अनौपचारिक "यहां यह कैसे काम करता है" वर्णन और पर्ल में वास्तव में बदसूरत संदर्भ कार्यान्वयन। http://briancarper.net/blog/415/मार्कडाउन के कैननिक कार्यान्वयन क्या है?

मैं Gruber के विनिर्देश here और कार्यान्वयन here देख सकते हैं।

यह एक कार्यान्वयन है कि गूगल रैंकिंग परीक्षण here

जीतता है तो फिर वहाँ है peg-markdown जो हल करने के लिए समस्या 'कोई व्याकरण है' दिखाई देता है - लेकिन विहित कार्यान्वयन नहीं है।

मेरा प्रश्न है - मार्कडाउन के कैननिकल कार्यान्वयन क्या है? (वह सब जो मानक कहता है मानक को परिभाषित करता है)।

संपादित करें:

मैं स्वीकार करता हूं "कोई विहित मानक है"। मैं अगली सबसे अच्छी चीज की तलाश में हूं।

उत्तर showdown.js लगता है, लेकिन problems with it हैं।

(कैननिकल की परिभाषा का उपयोग करके प्रत्येक व्यक्ति मानक को परिभाषित करता है)।

इसे here और गीथब here पर संदर्भित किया जाता है।

मैं pagedown में भी फेंक दूंगा (जैसा कि @deceze द्वारा किया गया है) क्योंकि यह शोडाउन में बग को ठीक करने और ग्रबर के मूल के करीब थोड़ा सा प्रतीत होता है।

+1

यह भी देखें http://six.pairlist.net/mailman/listinfo/markdown-discuss – daxim

+1

यह भी देखें http://www.codinghorror.com/blog/2009/12/responsible-open-source-code-parenting .html (जो कहने के लिए है कि उत्तर सबसे अधिक संभावना है कोई भी नहीं।) – deceze

उत्तर

6

मेरा मानना ​​है कि ग्रुबर मूल और प्रकार का कैननिकल है (उदाहरण के लिए, his 'Introducing Markdown'), और फिर लोगों ने इसे वहां से बढ़ा दिया है। मुझे लगता है कि कुछ एक्सटेंशन दूसरों की तुलना में अधिक आम हैं, इसलिए शायद यह देखने लायक है कि कुछ अच्छी तरह से इस्तेमाल किए गए पैकेजों के मूल में क्या है।

+0

आप एक अच्छी तरह से उपयोग किए गए पैकेज पर क्या विचार करेंगे? – hawkeye

+0

जिन्हें आपने दूसरे उत्तर में जोड़ा है: [github one] (http://github.github.com/github-flavored-markdown/), [showdown] (https://github.com/coreyti/showdown) , साथ ही साथ [डिस्काउंट] (http://www.pell.portland.or.us/~orc/Code/discount), और [पायथन मार्कडाउन] (http://www.freewisdom.org/projects/python- markdown/सुविधाएँ)। मैं यह भी कहूंगा [टेक्स्ट :: मार्कडाउन] (http://search.cpan.org/~bobtfish/Text- मार्कडाउन -1000030/lib/Text/Markdown.pm) और [PHP मार्कडाउन] (http: // michelf .com/परियोजनाओं/php-markdown /) के साथ-साथ वे दोनों ग्रबर के मूल के सख्त कार्यान्वयन प्रतीत होते हैं। – Aesin

1

CommonMark project मार्कडाउन विनिर्देशन के कुछ मुद्दों को संबोधित करने का प्रयास करता है, विशेष रूप से कुछ अस्पष्टताएं। यह reference implementation के साथ आता है, लेकिन यह स्पष्ट रूप से सामान्य मार्कमार्क के लिए संदर्भ कार्यान्वयन है, न कि सामान्य रूप से मार्कडाउन के लिए। यह आने वाले वर्षों में डी-फैक्टो मानक बन सकता है, क्योंकि कुछ प्रमुख उपयोगकर्ता उस परियोजना में शामिल होते हैं, लेकिन यह कई लोगों के बीच एक और बोली बन सकता है, इस मामले में संदर्भ कार्यान्वयन में थोड़ा महत्व होगा।

संबंधित मुद्दे