With Marked我可以輕鬆地在執行期間覆蓋/添加/更改詞法分析規則,而且它非常棒! 例如,我可以強制使用哈希空間之間簽署的文本,使頭是這樣的:如何編寫標記.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 2017-05-05 19:39:44