/** * These are all the transformations that occur *within* block-level * tags like paragraphs, headers, and list items. */ showdown.subParser('spanGamut', function (text, options, globals) { 'use strict'; text = globals.converter._dispatch('spanGamut.before', text, options, globals); text = showdown.subParser('codeSpans')(text, options, globals); text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals); text = showdown.subParser('encodeBackslashEscapes')(text, options, globals); // Process anchor and image tags. Images must come first, // because ![foo][f] looks like an anchor. text = showdown.subParser('images')(text, options, globals); text = showdown.subParser('anchors')(text, options, globals); // Make links out of things like `` // Must come after _DoAnchors(), because you can use < and > // delimiters in inline links like [this](). text = showdown.subParser('autoLinks')(text, options, globals); text = showdown.subParser('italicsAndBold')(text, options, globals); text = showdown.subParser('strikethrough')(text, options, globals); // we need to hash HTML tags inside spans text = showdown.subParser('hashHTMLSpans')(text, options, globals); // now we encode amps and angles text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals); // Do hard breaks if (options.simpleLineBreaks) { // GFM style hard breaks text = text.replace(/\n/g, '
\n'); } else { // Vanilla hard breaks text = text.replace(/ +\n/g, '
\n'); } text = globals.converter._dispatch('spanGamut.after', text, options, globals); return text; });