Marked के साथ मैं कार्यान्वयन के दौरान लेक्सर नियमों को आसानी से ओवरराइड/जोड़/बदल सकता हूं, और यह बढ़िया है! उदाहरण के लिए मैं इस प्रकार से हैडर बनाने के लिए हैश के बीच की जगह का उपयोग करने के लिए एक पाठ पर हस्ताक्षर के लिए मजबूर कर सकते हैं:mark.js के लिए कस्टम InlineLexer नियम कैसे लिखें?
var lexer = new marked.Lexer(options);
console.log(lexer);
lexer.rules.heading = /^\s*(#{1,6})\s+([^\n]+?) *#* *(?:\n+|$)/
console.log(marked.parser(lexer.lex('#hashtag?'), options));
//<p>#hashtag?</p>
console.log(marked.parser(lexer.lex('# heading?'), options));
//<h1 id="undefinedheading-">heading?</h1>
कूल!
लेकिन क्या inlineLexer
के लिए आसानी से ऐसा करने का कोई तरीका है? जैसा कि मुझे लोगों को अगली अनुक्रम के साथ एक छवि जोड़ने में सक्षम होना चाहिए: %[My Image](http://example.com/img.jpg)
? इसलिए मैंने संशोधित किया:
var inlineLexer = marked.InlineLexer;
inlineLexer.rules.link = /^[!%]{0,1}?\[((?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*)\]\(\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*\)/;
...
मुझे आगे क्या करना चाहिए? एक चिह्नित उदाहरण के लिए एक कस्टम inlineLexer कैसे बांधें? कृपया मुझे यह दिखाने का एक उदाहरण दिखाएं कि यह कैसे करें! मैं कस्टम इनलाइन लेक्सर नियमों को कैसे संशोधित/जोड़ सकता हूं?
कृपया इस [मुद्दा] देखो (https://github.com/chjj/marked/issues/504) जहां मैं अपने समाधान तैनात। – Rugal