documentation/js/Markdown.Converter.js
function encodeProblemUrlChars(url) {
            if (!url)
                return "";

            var len = url.length;

            return url.replace(_problemUrlChars, function (match, offset) {
                if (match == "~D") // escape for dollar
                    return "%24";
                if (match == ":") {
                    if (offset == len - 1 || /[0-9\/]/.test(url.charAt(offset + 1)))
                        return ":"
                }
                return "%" + match.charCodeAt(0).toString(16);
            });
        }
function encodeProblemUrlChars(url) {
            if (!url)
                return "";

            var len = url.length;

            return url.replace(_problemUrlChars, function (match, offset) {
                if (match == "~D") // escape for dollar
                    return "%24";
                if (match == ":") {
                    if (offset == len - 1 || /[0-9\/]/.test(url.charAt(offset + 1)))
                        return ":"
                }
                return "%" + match.charCodeAt(0).toString(16);
            });
        }
function encodeProblemUrlChars ( url ) { if ( ! url ) return "" ; var len = url . length ; return url . replace ( _problemUrlChars , function ( match , offset ) { if ( match == "~D" ) // escape for dollar
 return "%24" ; if ( match == ":" ) { if ( offset == len - 1 || / [0-9\/] / . test ( url . charAt ( offset + 1 ) ) ) return ":" } return "%" + match . charCodeAt ( 0 ) . toString ( 16 ) ; } ) ; }
hex-encodes some unusual "problem" chars in URLs to avoid URL detection problems
hex - encodes some unusual problem chars in URLs to avoid URL detection problems