Con Marked Posso facilmente sovrascrivere/aggiungere/modificare le regole di lexer durante l'implementazione, ed è fantastico! Per esempio posso forzare di utilizzare lo spazio tra le hash firmare un testo per fare un colpo di testa in questo modo:come scrivere regola InlineLexer personalizzata per marked.js?
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>
Cool!
Ma c'è un modo, per fare facilmente lo stesso per inlineLexer
? Come ho bisogno di rendere le persone in grado di aggiungere immagini con la sequenza successiva: %[My Image](http://example.com/img.jpg)
? Così ho modificato:
var inlineLexer = marked.InlineLexer;
inlineLexer.rules.link = /^[!%]{0,1}?\[((?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*)\]\(\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*\)/;
...
Che cosa devo fare dopo? Come associare un inlineLexer personalizzato a un'istanza contrassegnata? Per favore, mostrami un esempio di come farlo! Come posso modificare/aggiungere regole inline lexer personalizzate?
Si prega di guardare questo [problema] (https://github.com/chjj/marked/issues/504) dove ho postato la mia soluzione. – Rugal