diff --git a/shared/naturalcrit/markdown.js b/shared/naturalcrit/markdown.js index b0844debc..9a52a82b0 100644 --- a/shared/naturalcrit/markdown.js +++ b/shared/naturalcrit/markdown.js @@ -369,12 +369,21 @@ const processStyleTags = (string)=>{ `${attributes?.length ? ` ${attributes.join(' ')}` : ''}`; }; +let globalLinks = {}; + module.exports = { marked : Marked, render : (rawBrewText)=>{ rawBrewText = rawBrewText.replace(/^\\column$/gm, `\n
\n`) .replace(/^(:+)$/gm, (match)=>`${``.repeat(match.length)}\n`); - return Marked.parse(rawBrewText); + const opts = Marked.defaults; + + rawBrewText = opts.hooks.preprocess(rawBrewText); + const tokens = Marked.lexer(rawBrewText, opts); + globalLinks = Object.assign({}, tokens.links); + Marked.walkTokens(tokens, opts.walkTokens); + const html = Marked.parser(tokens, opts); + return opts.hooks.postprocess(html); }, validate : (rawBrewText)=>{