fix(options.omitExtraWLInCodeBlocks): fix for options.omitExtraWLInCodeBlocks only applying in gitHub flavoured code blocks

This commit is contained in:
Estevão Soares dos Santos 2015-05-26 19:57:36 +01:00
parent ddd6011df2
commit e6f40e190c

View File

@ -22,15 +22,21 @@ showdown.subParser('codeBlocks', function (text, options, globals) {
var pattern = /(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g;
text = text.replace(pattern, function (wholeMatch, m1, m2) {
var codeblock = m1, nextChar = m2;
var codeblock = m1,
nextChar = m2,
end = '\n';
codeblock = showdown.subParser('outdent')(codeblock);
codeblock = showdown.subParser('encodeCode')(codeblock);
codeblock = showdown.subParser('detab')(codeblock);
codeblock = codeblock.replace(/^\n+/g, ''); // trim leading newlines
codeblock = codeblock.replace(/\n+$/g, ''); // trim trailing whitespace
codeblock = codeblock.replace(/\n+$/g, ''); // trim trailing newlines
codeblock = '<pre><code>' + codeblock + '\n</code></pre>';
if (options.omitExtraWLInCodeBlocks) {
end = '';
}
codeblock = '<pre><code>' + codeblock + end + '</code></pre>';
return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;
});