UNPKG

showdown

Version:

A Markdown to HTML converter written in Javascript

20 lines (16 loc) 831 B
/** * Hash and escape <pre><code> elements that should not be parsed as markdown */ showdown.subParser('hashPreCodeTags', function (text, options, globals) { 'use strict'; text = globals.converter._dispatch('hashPreCodeTags.before', text, options, globals); var repFunc = function (wholeMatch, match, left, right) { // encode html entities var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right; return '\n\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\n\n'; }; // Hash <pre><code> text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^ {0,3}<pre\\b[^>]*>\\s*<code\\b[^>]*>', '^ {0,3}</code>\\s*</pre>', 'gim'); text = globals.converter._dispatch('hashPreCodeTags.after', text, options, globals); return text; });