/** * Hash span elements that should not be parsed as markdown */ showdown.subParser('hashHTMLSpans', function (text, options, globals) { 'use strict'; text = globals.converter._dispatch('hashHTMLSpans.before', text, options, globals); var matches = showdown.helper.matchRecursiveRegExp(text, ']*>', '', 'gi'); for (var i = 0; i < matches.length; ++i) { text = text.replace(matches[i][0], '¨C' + (globals.gHtmlSpans.push(matches[i][0]) - 1) + 'C'); } text = globals.converter._dispatch('hashHTMLSpans.after', text, options, globals); return text; }); /** * Unhash HTML spans */ showdown.subParser('unhashHTMLSpans', function (text, options, globals) { 'use strict'; text = globals.converter._dispatch('unhashHTMLSpans.before', text, options, globals); for (var i = 0; i < globals.gHtmlSpans.length; ++i) { text = text.replace('¨C' + i + 'C', globals.gHtmlSpans[i]); } text = globals.converter._dispatch('unhashHTMLSpans.after', text, options, globals); return text; });