UNPKG

showdown

Version:

A Markdown to HTML converter written in Javascript

49 lines (45 loc) 1.5 kB
/** * * * Backtick quotes are used for <code></code> spans. * * * You can use multiple backticks as the delimiters if you want to * include literal backticks in the code span. So, this input: * * Just type ``foo `bar` baz`` at the prompt. * * Will translate to: * * <p>Just type <code>foo `bar` baz</code> at the prompt.</p> * * There's no arbitrary limit to the number of backticks you * can use as delimters. If you need three consecutive backticks * in your code, use four for delimiters, etc. * * * You can use spaces to get literal backticks at the edges: * * ... type `` `bar` `` ... * * Turns to: * * ... type <code>`bar`</code> ... */ showdown.subParser('codeSpans', function (text, options, globals) { 'use strict'; text = globals.converter._dispatch('codeSpans.before', text, options, globals); if (typeof(text) === 'undefined') { text = ''; } text = text.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm, function (wholeMatch, m1, m2, m3) { var c = m3; c = c.replace(/^([ \t]*)/g, ''); // leading whitespace c = c.replace(/[ \t]*$/g, ''); // trailing whitespace c = showdown.subParser('encodeCode')(c, options, globals); c = m1 + '<code>' + c + '</code>'; c = showdown.subParser('hashHTMLSpans')(c, options, globals); return c; } ); text = globals.converter._dispatch('codeSpans.after', text, options, globals); return text; });