/** * Smart processing for ampersands and angle brackets that need to be encoded. */ showdown.subParser('encodeAmpsAndAngles', function (text, options, globals) { 'use strict'; text = globals.converter._dispatch('encodeAmpsAndAngles.before', text, options, globals); // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin: // http://bumppo.net/projects/amputator/ text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g, '&'); // Encode naked <'s text = text.replace(/<(?![a-z\/?\$!])/gi, '<'); text = globals.converter._dispatch('encodeAmpsAndAngles.after', text, options, globals); return text; });