Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

autolinker

Package Overview
Dependencies
Maintainers
1
Versions
87
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

autolinker - npm Package Compare versions

Comparing version 0.15.0 to 0.15.1

gh-pages/docs/data-2a2115aba3580f20902d0a5ae9e10deb.js

6

dist/Autolinker.min.js
/*!
* Autolinker.js
* 0.15.0
* 0.15.1
*
* Copyright(c) 2014 Gregory Jacobs <greg@greg-jacobs.com>
* Copyright(c) 2015 Gregory Jacobs <greg@greg-jacobs.com>
* MIT Licensed. http://www.opensource.org/licenses/mit-license.php

@@ -10,2 +10,2 @@ *

*/
!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.returnExportsGlobal=b()}):"object"==typeof exports?module.exports=b():a.Autolinker=b()}(this,function(){var a=function(b){a.Util.assign(this,b),this.matchValidator=new a.MatchValidator};return a.prototype={constructor:a,urls:!0,email:!0,twitter:!0,newWindow:!0,stripPrefix:!0,className:"",htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;)/gi,matcherRegex:function(){var a=/(^|[^\w])@(\w{1,15})/,b=/(?:[\-;:&=\+\$,\w\.]+@)/,c=/(?:[A-Za-z][-.+A-Za-z0-9]+:(?![A-Za-z][-.+A-Za-z0-9]+:\/\/)(?!\d+\/?)(?:\/\/)?)/,d=/(?:www\.)/,e=/[A-Za-z0-9\.\-]*[A-Za-z0-9\-]/,f=/\.(?:international|construction|contractors|enterprises|photography|productions|foundation|immobilien|industries|management|properties|technology|christmas|community|directory|education|equipment|institute|marketing|solutions|vacations|bargains|boutique|builders|catering|cleaning|clothing|computer|democrat|diamonds|graphics|holdings|lighting|partners|plumbing|supplies|training|ventures|academy|careers|company|cruises|domains|exposed|flights|florist|gallery|guitars|holiday|kitchen|neustar|okinawa|recipes|rentals|reviews|shiksha|singles|support|systems|agency|berlin|camera|center|coffee|condos|dating|estate|events|expert|futbol|kaufen|luxury|maison|monash|museum|nagoya|photos|repair|report|social|supply|tattoo|tienda|travel|viajes|villas|vision|voting|voyage|actor|build|cards|cheap|codes|dance|email|glass|house|mango|ninja|parts|photo|shoes|solar|today|tokyo|tools|watch|works|aero|arpa|asia|best|bike|blue|buzz|camp|club|cool|coop|farm|fish|gift|guru|info|jobs|kiwi|kred|land|limo|link|menu|mobi|moda|name|pics|pink|post|qpon|rich|ruhr|sexy|tips|vote|voto|wang|wien|wiki|zone|bar|bid|biz|cab|cat|ceo|com|edu|gov|int|kim|mil|net|onl|org|pro|pub|red|tel|uno|wed|xxx|xyz|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)\b/,g=/[\-A-Za-z0-9+&@#\/%=~_()|'$*\[\]?!:,.;]*[\-A-Za-z0-9+&@#\/%=~_()|'$*\[\]]/;return new RegExp(["(",a.source,")","|","(",b.source,e.source,f.source,")","|","(","(?:","(",c.source,e.source,")","|","(?:","(.?//)?",d.source,e.source,")","|","(?:","(.?//)?",e.source,f.source,")",")","(?:"+g.source+")?",")"].join(""),"gi")}(),charBeforeProtocolRelMatchRegex:/^(.)?\/\//,link:function(b){var c=this,d=this.getHtmlParser(),e=this.htmlCharacterEntitiesRegex,f=0,g=[];return d.parse(b,{processHtmlNode:function(a,b,c){"a"===b&&(c?f=Math.max(f-1,0):f++),g.push(a)},processTextNode:function(b){if(0===f)for(var d=a.Util.splitAndCapture(b,e),h=0,i=d.length;i>h;h++){var j=d[h],k=c.processTextNode(j);g.push(k)}else g.push(b)}}),g.join("")},getHtmlParser:function(){var b=this.htmlParser;return b||(b=this.htmlParser=new a.HtmlParser),b},getTagBuilder:function(){var b=this.tagBuilder;return b||(b=this.tagBuilder=new a.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),b},processTextNode:function(a){var b=this;return a.replace(this.matcherRegex,function(a,c,d,e,f,g,h,i,j){var k=b.processCandidateMatch(a,c,d,e,f,g,h,i,j);if(k){var l=b.createMatchReturnVal(k.match,k.matchStr);return k.prefixStr+l+k.suffixStr}return a})},processCandidateMatch:function(b,c,d,e,f,g,h,i,j){var k,l=i||j,m="",n="";if(c&&!this.twitter||f&&!this.email||g&&!this.urls||!this.matchValidator.isValidMatch(g,h,l))return null;if(this.matchHasUnbalancedClosingParen(b)&&(b=b.substr(0,b.length-1),n=")"),f)k=new a.match.Email({matchedText:b,email:f});else if(c)d&&(m=d,b=b.slice(1)),k=new a.match.Twitter({matchedText:b,twitterHandle:e});else{if(l){var o=l.match(this.charBeforeProtocolRelMatchRegex)[1]||"";o&&(m=o,b=b.slice(1))}k=new a.match.Url({matchedText:b,url:b,protocolUrlMatch:!!h,protocolRelativeMatch:!!l,stripPrefix:this.stripPrefix})}return{prefixStr:m,suffixStr:n,matchStr:b,match:k}},matchHasUnbalancedClosingParen:function(a){var b=a.charAt(a.length-1);if(")"===b){var c=a.match(/\(/g),d=a.match(/\)/g),e=c&&c.length||0,f=d&&d.length||0;if(f>e)return!0}return!1},createMatchReturnVal:function(b,c){var d;if(this.replaceFn&&(d=this.replaceFn.call(this,this,b)),"string"==typeof d)return d;if(d===!1)return c;if(d instanceof a.HtmlTag)return d.toString();var e=this.getTagBuilder(),f=e.build(b);return f.toString()}},a.link=function(b,c){var d=new a(c);return d.link(b)},a.match={},a.Util={abstractMethod:function(){throw"abstract"},assign:function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},extend:function(b,c){var d=b.prototype,e=function(){};e.prototype=d;var f;f=c.hasOwnProperty("constructor")?c.constructor:function(){d.constructor.apply(this,arguments)};var g=f.prototype=new e;return g.constructor=f,g.superclass=d,delete c.constructor,a.Util.assign(g,c),f},ellipsis:function(a,b,c){return a.length>b&&(c=null==c?"..":c,a=a.substring(0,b-c.length)+c),a},indexOf:function(a,b){if(Array.prototype.indexOf)return a.indexOf(b);for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},splitAndCapture:function(a,b){if(!b.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var c,d=[],e=0;c=b.exec(a);)d.push(a.substring(e,c.index)),d.push(c[0]),e=c.index+c[0].length;return d.push(a.substring(e)),d}},a.HtmlParser=a.Util.extend(Object,{htmlRegex:function(){var a=/[0-9a-zA-Z][0-9a-zA-Z:]*/,b=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,c=/(?:".*?"|'.*?'|[^'"=<>`\s]+)/,d=b.source+"(?:\\s*=\\s*"+c.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",d,"|",c.source+")",")*",">",")","|","(?:","<(/)?","("+a.source+")","(?:","\\s+",d,")*","\\s*/?",">",")"].join(""),"gi")}(),parse:function(a,b){b=b||{};for(var c,d=b.processHtmlNode||function(){},e=b.processTextNode||function(){},f=this.htmlRegex,g=0;null!==(c=f.exec(a));){var h=c[0],i=c[1]||c[3],j=!!c[2],k=a.substring(g,c.index);k&&e(k),d(h,i.toLowerCase(),j),g=c.index+h.length}if(g<a.length){var l=a.substring(g);l&&e(l)}}}),a.HtmlTag=a.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(b){a.Util.assign(this,b),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(a){return this.tagName=a,this},getTagName:function(){return this.tagName||""},setAttr:function(a,b){var c=this.getAttrs();return c[a]=b,this},getAttr:function(a){return this.getAttrs()[a]},setAttrs:function(b){var c=this.getAttrs();return a.Util.assign(c,b),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(a){return this.setAttr("class",a)},addClass:function(b){for(var c,d=this.getClass(),e=this.whitespaceRegex,f=a.Util.indexOf,g=d?d.split(e):[],h=b.split(e);c=h.shift();)-1===f(g,c)&&g.push(c);return this.getAttrs()["class"]=g.join(" "),this},removeClass:function(b){for(var c,d=this.getClass(),e=this.whitespaceRegex,f=a.Util.indexOf,g=d?d.split(e):[],h=b.split(e);g.length&&(c=h.shift());){var i=f(g,c);-1!==i&&g.splice(i,1)}return this.getAttrs()["class"]=g.join(" "),this},getClass:function(){return this.getAttrs()["class"]||""},hasClass:function(a){return-1!==(" "+this.getClass()+" ").indexOf(" "+a+" ")},setInnerHtml:function(a){return this.innerHtml=a,this},getInnerHtml:function(){return this.innerHtml||""},toString:function(){var a=this.getTagName(),b=this.buildAttrsStr();return b=b?" "+b:"",["<",a,b,">",this.getInnerHtml(),"</",a,">"].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var a=this.getAttrs(),b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c+'="'+a[c]+'"');return b.join(" ")}}),a.MatchValidator=a.Util.extend(Object,{invalidProtocolRelMatchRegex:/^[\w]\/\//,hasFullProtocolRegex:/^[A-Za-z][-.+A-Za-z0-9]+:\/\//,uriSchemeRegex:/^[A-Za-z][-.+A-Za-z0-9]+:/,hasWordCharAfterProtocolRegex:/:[^\s]*?[A-Za-z]/,isValidMatch:function(a,b,c){return b&&!this.isValidUriScheme(b)||this.urlMatchDoesNotHaveProtocolOrDot(a,b)||this.urlMatchDoesNotHaveAtLeastOneWordChar(a,b)||this.isInvalidProtocolRelativeMatch(c)?!1:!0},isValidUriScheme:function(a){var b=a.match(this.uriSchemeRegex)[0];return"javascript:"!==b&&"vbscript:"!==b},urlMatchDoesNotHaveProtocolOrDot:function(a,b){return!(!a||b&&this.hasFullProtocolRegex.test(b)||-1!==a.indexOf("."))},urlMatchDoesNotHaveAtLeastOneWordChar:function(a,b){return a&&b?!this.hasWordCharAfterProtocolRegex.test(a):!1},isInvalidProtocolRelativeMatch:function(a){return!!a&&this.invalidProtocolRelMatchRegex.test(a)}}),a.AnchorTagBuilder=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},build:function(b){var c=new a.HtmlTag({tagName:"a",attrs:this.createAttrs(b.getType(),b.getAnchorHref()),innerHtml:this.processAnchorText(b.getAnchorText())});return c},createAttrs:function(a,b){var c={href:b},d=this.createCssClass(a);return d&&(c["class"]=d),this.newWindow&&(c.target="_blank"),c},createCssClass:function(a){var b=this.className;return b?b+" "+b+"-"+a:""},processAnchorText:function(a){return a=this.doTruncate(a)},doTruncate:function(b){return a.Util.ellipsis(b,this.truncate||Number.POSITIVE_INFINITY)}}),a.match.Match=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},getType:a.Util.abstractMethod,getMatchedText:function(){return this.matchedText},getAnchorHref:a.Util.abstractMethod,getAnchorText:a.Util.abstractMethod}),a.match.Email=a.Util.extend(a.match.Match,{getType:function(){return"email"},getEmail:function(){return this.email},getAnchorHref:function(){return"mailto:"+this.email},getAnchorText:function(){return this.email}}),a.match.Twitter=a.Util.extend(a.match.Match,{getType:function(){return"twitter"},getTwitterHandle:function(){return this.twitterHandle},getAnchorHref:function(){return"https://twitter.com/"+this.twitterHandle},getAnchorText:function(){return"@"+this.twitterHandle}}),a.match.Url=a.Util.extend(a.match.Match,{urlPrefixRegex:/^(https?:\/\/)?(www\.)?/i,protocolRelativeRegex:/^\/\//,protocolPrepended:!1,getType:function(){return"url"},getUrl:function(){var a=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(a=this.url="http://"+a,this.protocolPrepended=!0),a},getAnchorHref:function(){var a=this.getUrl();return a.replace(/&amp;/g,"&")},getAnchorText:function(){var a=this.getUrl();return this.protocolRelativeMatch&&(a=this.stripProtocolRelativePrefix(a)),this.stripPrefix&&(a=this.stripUrlPrefix(a)),a=this.removeTrailingSlash(a)},stripUrlPrefix:function(a){return a.replace(this.urlPrefixRegex,"")},stripProtocolRelativePrefix:function(a){return a.replace(this.protocolRelativeRegex,"")},removeTrailingSlash:function(a){return"/"===a.charAt(a.length-1)&&(a=a.slice(0,-1)),a}}),a});
!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.returnExportsGlobal=b()}):"object"==typeof exports?module.exports=b():a.Autolinker=b()}(this,function(){var a=function(b){a.Util.assign(this,b),this.matchValidator=new a.MatchValidator};return a.prototype={constructor:a,urls:!0,email:!0,twitter:!0,newWindow:!0,stripPrefix:!0,className:"",htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;)/gi,matcherRegex:function(){var a=/(^|[^\w])@(\w{1,15})/,b=/(?:[\-;:&=\+\$,\w\.]+@)/,c=/(?:[A-Za-z][-.+A-Za-z0-9]+:(?![A-Za-z][-.+A-Za-z0-9]+:\/\/)(?!\d+\/?)(?:\/\/)?)/,d=/(?:www\.)/,e=/[A-Za-z0-9\.\-]*[A-Za-z0-9\-]/,f=/\.(?:international|construction|contractors|enterprises|photography|productions|foundation|immobilien|industries|management|properties|technology|christmas|community|directory|education|equipment|institute|marketing|solutions|vacations|bargains|boutique|builders|catering|cleaning|clothing|computer|democrat|diamonds|graphics|holdings|lighting|partners|plumbing|supplies|training|ventures|academy|careers|company|cruises|domains|exposed|flights|florist|gallery|guitars|holiday|kitchen|neustar|okinawa|recipes|rentals|reviews|shiksha|singles|support|systems|agency|berlin|camera|center|coffee|condos|dating|estate|events|expert|futbol|kaufen|luxury|maison|monash|museum|nagoya|photos|repair|report|social|supply|tattoo|tienda|travel|viajes|villas|vision|voting|voyage|actor|build|cards|cheap|codes|dance|email|glass|house|mango|ninja|parts|photo|shoes|solar|today|tokyo|tools|watch|works|aero|arpa|asia|best|bike|blue|buzz|camp|club|cool|coop|farm|fish|gift|guru|info|jobs|kiwi|kred|land|limo|link|menu|mobi|moda|name|pics|pink|post|qpon|rich|ruhr|sexy|tips|vote|voto|wang|wien|wiki|zone|bar|bid|biz|cab|cat|ceo|com|edu|gov|int|kim|mil|net|onl|org|pro|pub|red|tel|uno|wed|xxx|xyz|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)\b/,g=/[\-A-Za-z0-9+&@#\/%=~_()|'$*\[\]?!:,.;]*[\-A-Za-z0-9+&@#\/%=~_()|'$*\[\]]/;return new RegExp(["(",a.source,")","|","(",b.source,e.source,f.source,")","|","(","(?:","(",c.source,e.source,")","|","(?:","(.?//)?",d.source,e.source,")","|","(?:","(.?//)?",e.source,f.source,")",")","(?:"+g.source+")?",")"].join(""),"gi")}(),charBeforeProtocolRelMatchRegex:/^(.)?\/\//,link:function(b){var c=this,d=this.getHtmlParser(),e=this.htmlCharacterEntitiesRegex,f=0,g=[];return d.parse(b,{processHtmlNode:function(a,b,c){"a"===b&&(c?f=Math.max(f-1,0):f++),g.push(a)},processTextNode:function(b){if(0===f)for(var d=a.Util.splitAndCapture(b,e),h=0,i=d.length;i>h;h++){var j=d[h],k=c.processTextNode(j);g.push(k)}else g.push(b)}}),g.join("")},getHtmlParser:function(){var b=this.htmlParser;return b||(b=this.htmlParser=new a.HtmlParser),b},getTagBuilder:function(){var b=this.tagBuilder;return b||(b=this.tagBuilder=new a.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),b},processTextNode:function(a){var b=this;return a.replace(this.matcherRegex,function(a,c,d,e,f,g,h,i,j){var k=b.processCandidateMatch(a,c,d,e,f,g,h,i,j);if(k){var l=b.createMatchReturnVal(k.match,k.matchStr);return k.prefixStr+l+k.suffixStr}return a})},processCandidateMatch:function(b,c,d,e,f,g,h,i,j){var k,l=i||j,m="",n="";if(c&&!this.twitter||f&&!this.email||g&&!this.urls||!this.matchValidator.isValidMatch(g,h,l))return null;if(this.matchHasUnbalancedClosingParen(b)&&(b=b.substr(0,b.length-1),n=")"),f)k=new a.match.Email({matchedText:b,email:f});else if(c)d&&(m=d,b=b.slice(1)),k=new a.match.Twitter({matchedText:b,twitterHandle:e});else{if(l){var o=l.match(this.charBeforeProtocolRelMatchRegex)[1]||"";o&&(m=o,b=b.slice(1))}k=new a.match.Url({matchedText:b,url:b,protocolUrlMatch:!!h,protocolRelativeMatch:!!l,stripPrefix:this.stripPrefix})}return{prefixStr:m,suffixStr:n,matchStr:b,match:k}},matchHasUnbalancedClosingParen:function(a){var b=a.charAt(a.length-1);if(")"===b){var c=a.match(/\(/g),d=a.match(/\)/g),e=c&&c.length||0,f=d&&d.length||0;if(f>e)return!0}return!1},createMatchReturnVal:function(b,c){var d;if(this.replaceFn&&(d=this.replaceFn.call(this,this,b)),"string"==typeof d)return d;if(d===!1)return c;if(d instanceof a.HtmlTag)return d.toString();var e=this.getTagBuilder(),f=e.build(b);return f.toString()}},a.link=function(b,c){var d=new a(c);return d.link(b)},a.match={},a.Util={abstractMethod:function(){throw"abstract"},assign:function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},extend:function(b,c){var d=b.prototype,e=function(){};e.prototype=d;var f;f=c.hasOwnProperty("constructor")?c.constructor:function(){d.constructor.apply(this,arguments)};var g=f.prototype=new e;return g.constructor=f,g.superclass=d,delete c.constructor,a.Util.assign(g,c),f},ellipsis:function(a,b,c){return a.length>b&&(c=null==c?"..":c,a=a.substring(0,b-c.length)+c),a},indexOf:function(a,b){if(Array.prototype.indexOf)return a.indexOf(b);for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},splitAndCapture:function(a,b){if(!b.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var c,d=[],e=0;c=b.exec(a);)d.push(a.substring(e,c.index)),d.push(c[0]),e=c.index+c[0].length;return d.push(a.substring(e)),d}},a.HtmlParser=a.Util.extend(Object,{htmlRegex:function(){var a=/[0-9a-zA-Z][0-9a-zA-Z:]*/,b=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,c=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,d=b.source+"(?:\\s*=\\s*"+c.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",d,"|",c.source+")",")*",">",")","|","(?:","<(/)?","("+a.source+")","(?:","\\s+",d,")*","\\s*/?",">",")"].join(""),"gi")}(),parse:function(a,b){b=b||{};for(var c,d=b.processHtmlNode||function(){},e=b.processTextNode||function(){},f=this.htmlRegex,g=0;null!==(c=f.exec(a));){var h=c[0],i=c[1]||c[3],j=!!c[2],k=a.substring(g,c.index);k&&e(k),d(h,i.toLowerCase(),j),g=c.index+h.length}if(g<a.length){var l=a.substring(g);l&&e(l)}}}),a.HtmlTag=a.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(b){a.Util.assign(this,b),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(a){return this.tagName=a,this},getTagName:function(){return this.tagName||""},setAttr:function(a,b){var c=this.getAttrs();return c[a]=b,this},getAttr:function(a){return this.getAttrs()[a]},setAttrs:function(b){var c=this.getAttrs();return a.Util.assign(c,b),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(a){return this.setAttr("class",a)},addClass:function(b){for(var c,d=this.getClass(),e=this.whitespaceRegex,f=a.Util.indexOf,g=d?d.split(e):[],h=b.split(e);c=h.shift();)-1===f(g,c)&&g.push(c);return this.getAttrs()["class"]=g.join(" "),this},removeClass:function(b){for(var c,d=this.getClass(),e=this.whitespaceRegex,f=a.Util.indexOf,g=d?d.split(e):[],h=b.split(e);g.length&&(c=h.shift());){var i=f(g,c);-1!==i&&g.splice(i,1)}return this.getAttrs()["class"]=g.join(" "),this},getClass:function(){return this.getAttrs()["class"]||""},hasClass:function(a){return-1!==(" "+this.getClass()+" ").indexOf(" "+a+" ")},setInnerHtml:function(a){return this.innerHtml=a,this},getInnerHtml:function(){return this.innerHtml||""},toString:function(){var a=this.getTagName(),b=this.buildAttrsStr();return b=b?" "+b:"",["<",a,b,">",this.getInnerHtml(),"</",a,">"].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var a=this.getAttrs(),b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c+'="'+a[c]+'"');return b.join(" ")}}),a.MatchValidator=a.Util.extend(Object,{invalidProtocolRelMatchRegex:/^[\w]\/\//,hasFullProtocolRegex:/^[A-Za-z][-.+A-Za-z0-9]+:\/\//,uriSchemeRegex:/^[A-Za-z][-.+A-Za-z0-9]+:/,hasWordCharAfterProtocolRegex:/:[^\s]*?[A-Za-z]/,isValidMatch:function(a,b,c){return b&&!this.isValidUriScheme(b)||this.urlMatchDoesNotHaveProtocolOrDot(a,b)||this.urlMatchDoesNotHaveAtLeastOneWordChar(a,b)||this.isInvalidProtocolRelativeMatch(c)?!1:!0},isValidUriScheme:function(a){var b=a.match(this.uriSchemeRegex)[0];return"javascript:"!==b&&"vbscript:"!==b},urlMatchDoesNotHaveProtocolOrDot:function(a,b){return!(!a||b&&this.hasFullProtocolRegex.test(b)||-1!==a.indexOf("."))},urlMatchDoesNotHaveAtLeastOneWordChar:function(a,b){return a&&b?!this.hasWordCharAfterProtocolRegex.test(a):!1},isInvalidProtocolRelativeMatch:function(a){return!!a&&this.invalidProtocolRelMatchRegex.test(a)}}),a.AnchorTagBuilder=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},build:function(b){var c=new a.HtmlTag({tagName:"a",attrs:this.createAttrs(b.getType(),b.getAnchorHref()),innerHtml:this.processAnchorText(b.getAnchorText())});return c},createAttrs:function(a,b){var c={href:b},d=this.createCssClass(a);return d&&(c["class"]=d),this.newWindow&&(c.target="_blank"),c},createCssClass:function(a){var b=this.className;return b?b+" "+b+"-"+a:""},processAnchorText:function(a){return a=this.doTruncate(a)},doTruncate:function(b){return a.Util.ellipsis(b,this.truncate||Number.POSITIVE_INFINITY)}}),a.match.Match=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},getType:a.Util.abstractMethod,getMatchedText:function(){return this.matchedText},getAnchorHref:a.Util.abstractMethod,getAnchorText:a.Util.abstractMethod}),a.match.Email=a.Util.extend(a.match.Match,{getType:function(){return"email"},getEmail:function(){return this.email},getAnchorHref:function(){return"mailto:"+this.email},getAnchorText:function(){return this.email}}),a.match.Twitter=a.Util.extend(a.match.Match,{getType:function(){return"twitter"},getTwitterHandle:function(){return this.twitterHandle},getAnchorHref:function(){return"https://twitter.com/"+this.twitterHandle},getAnchorText:function(){return"@"+this.twitterHandle}}),a.match.Url=a.Util.extend(a.match.Match,{urlPrefixRegex:/^(https?:\/\/)?(www\.)?/i,protocolRelativeRegex:/^\/\//,protocolPrepended:!1,getType:function(){return"url"},getUrl:function(){var a=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(a=this.url="http://"+a,this.protocolPrepended=!0),a},getAnchorHref:function(){var a=this.getUrl();return a.replace(/&amp;/g,"&")},getAnchorText:function(){var a=this.getUrl();return this.protocolRelativeMatch&&(a=this.stripProtocolRelativePrefix(a)),this.stripPrefix&&(a=this.stripUrlPrefix(a)),a=this.removeTrailingSlash(a)},stripUrlPrefix:function(a){return a.replace(this.urlPrefixRegex,"")},stripProtocolRelativePrefix:function(a){return a.replace(this.protocolRelativeRegex,"")},removeTrailingSlash:function(a){return"/"===a.charAt(a.length-1)&&(a=a.slice(0,-1)),a}}),a});

@@ -1,1 +0,1 @@

Ext.data.JsonP.Autolinker_HtmlParser({"tagname":"class","name":"Autolinker.HtmlParser","autodetected":{},"files":[{"filename":"HtmlParser.js","href":"HtmlParser.html#Autolinker-HtmlParser"}],"private":true,"extends":null,"members":[{"name":"htmlRegex","tagname":"property","owner":"Autolinker.HtmlParser","id":"property-htmlRegex","meta":{"private":true}},{"name":"parse","tagname":"method","owner":"Autolinker.HtmlParser","id":"method-parse","meta":{}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.HtmlParser","short_doc":"An HTML parser implementation which simply walks an HTML string and calls the provided visitor functions to process\nH...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/HtmlParser.html#Autolinker-HtmlParser' target='_blank'>HtmlParser.js</a></div></pre><div class='doc-contents'><div class='rounded-box private-box'><p><strong>NOTE:</strong> This is a private utility class for internal use by the framework. Don't rely on its existence.</p></div><p>An HTML parser implementation which simply walks an HTML string and calls the provided visitor functions to process\nHTML and text nodes.</p>\n\n<p>Autolinker uses this to only link URLs/emails/Twitter handles within text nodes, basically ignoring HTML tags.</p>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-property'>Properties</h3><div class='subsection'><div id='property-htmlRegex' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.HtmlParser'>Autolinker.HtmlParser</span><br/><a href='source/HtmlParser.html#Autolinker-HtmlParser-property-htmlRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlParser-property-htmlRegex' class='name expandable'>htmlRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression used to pull out HTML tags from a string. ...</div><div class='long'><p>The regular expression used to pull out HTML tags from a string. Handles namespaced HTML tags and\nattribute names, as specified by http://www.w3.org/TR/html-markup/syntax.html.</p>\n\n<p>Capturing groups:</p>\n\n<ol>\n<li>If it is an end tag, this group will have the '/'.</li>\n<li>The tag name.</li>\n</ol>\n\n</div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div id='method-parse' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.HtmlParser'>Autolinker.HtmlParser</span><br/><a href='source/HtmlParser.html#Autolinker-HtmlParser-method-parse' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlParser-method-parse' class='name expandable'>parse</a>( <span class='pre'>html, [options]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Walks an HTML string, calling the options.processHtmlNode function for each HTML tag that is encountered, and calling...</div><div class='long'><p>Walks an HTML string, calling the <code>options.processHtmlNode</code> function for each HTML tag that is encountered, and calling\nthe <code>options.processTextNode</code> function when each text around HTML tags is encountered.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>html</span> : String<div class='sub-desc'><p>The HTML to parse.</p>\n</div></li><li><span class='pre'>options</span> : Object (optional)<div class='sub-desc'><p>An Object (map) which may contain the following properties:</p>\n<ul><li><span class='pre'>processHtmlNode</span> : Function (optional)<div class='sub-desc'><p>A visitor function which allows processing of an encountered HTML node.\n This function is called with the following arguments:</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>tagText</span> : String (optional)<div class='sub-desc'><p>The HTML tag text that was found.</p>\n</div></li><li><span class='pre'>tagName</span> : String (optional)<div class='sub-desc'><p>The tag name for the HTML tag that was found. Ex: 'a' for an anchor tag.</p>\n</div></li><li><span class='pre'>isClosingTag</span> : String (optional)<div class='sub-desc'><p><code>true</code> if the tag is a closing tag (ex: &lt;/a&gt;), <code>false</code> otherwise.</p>\n</div></li></ul></div></li><li><span class='pre'>processTextNode</span> : Function (optional)<div class='sub-desc'><p>A visitor function which allows processing of an encountered text node.\n This function is called with the following arguments:</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String (optional)<div class='sub-desc'><p>The text node that was matched.</p>\n</div></li></ul></div></li></ul></div></li></ul></div></div></div></div></div></div></div>","meta":{"private":true}});
Ext.data.JsonP.Autolinker_HtmlParser({"tagname":"class","name":"Autolinker.HtmlParser","autodetected":{},"files":[{"filename":"HtmlParser.js","href":"HtmlParser.html#Autolinker-HtmlParser"}],"private":true,"extends":null,"members":[{"name":"htmlRegex","tagname":"property","owner":"Autolinker.HtmlParser","id":"property-htmlRegex","meta":{"private":true}},{"name":"parse","tagname":"method","owner":"Autolinker.HtmlParser","id":"method-parse","meta":{}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.HtmlParser","short_doc":"An HTML parser implementation which simply walks an HTML string and calls the provided visitor functions to process\nH...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/HtmlParser.html#Autolinker-HtmlParser' target='_blank'>HtmlParser.js</a></div></pre><div class='doc-contents'><div class='rounded-box private-box'><p><strong>NOTE:</strong> This is a private utility class for internal use by the framework. Don't rely on its existence.</p></div><p>An HTML parser implementation which simply walks an HTML string and calls the provided visitor functions to process\nHTML and text nodes.</p>\n\n<p>Autolinker uses this to only link URLs/emails/Twitter handles within text nodes, basically ignoring HTML tags.</p>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-property'>Properties</h3><div class='subsection'><div id='property-htmlRegex' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.HtmlParser'>Autolinker.HtmlParser</span><br/><a href='source/HtmlParser.html#Autolinker-HtmlParser-property-htmlRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlParser-property-htmlRegex' class='name expandable'>htmlRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression used to pull out HTML tags from a string. ...</div><div class='long'><p>The regular expression used to pull out HTML tags from a string. Handles namespaced HTML tags and\nattribute names, as specified by http://www.w3.org/TR/html-markup/syntax.html.</p>\n\n<p>Capturing groups:</p>\n\n<ol>\n<li>The \"!DOCTYPE\" tag name, if a tag is a &lt;!DOCTYPE&gt; tag.</li>\n<li>If it is an end tag, this group will have the '/'.</li>\n<li>The tag name for all tags (other than the &lt;!DOCTYPE&gt; tag)</li>\n</ol>\n\n</div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div id='method-parse' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.HtmlParser'>Autolinker.HtmlParser</span><br/><a href='source/HtmlParser.html#Autolinker-HtmlParser-method-parse' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlParser-method-parse' class='name expandable'>parse</a>( <span class='pre'>html, [options]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Walks an HTML string, calling the options.processHtmlNode function for each HTML tag that is encountered, and calling...</div><div class='long'><p>Walks an HTML string, calling the <code>options.processHtmlNode</code> function for each HTML tag that is encountered, and calling\nthe <code>options.processTextNode</code> function when each text around HTML tags is encountered.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>html</span> : String<div class='sub-desc'><p>The HTML to parse.</p>\n</div></li><li><span class='pre'>options</span> : Object (optional)<div class='sub-desc'><p>An Object (map) which may contain the following properties:</p>\n<ul><li><span class='pre'>processHtmlNode</span> : Function (optional)<div class='sub-desc'><p>A visitor function which allows processing of an encountered HTML node.\n This function is called with the following arguments:</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>tagText</span> : String (optional)<div class='sub-desc'><p>The HTML tag text that was found.</p>\n</div></li><li><span class='pre'>tagName</span> : String (optional)<div class='sub-desc'><p>The tag name for the HTML tag that was found. Ex: 'a' for an anchor tag.</p>\n</div></li><li><span class='pre'>isClosingTag</span> : String (optional)<div class='sub-desc'><p><code>true</code> if the tag is a closing tag (ex: &lt;/a&gt;), <code>false</code> otherwise.</p>\n</div></li></ul></div></li><li><span class='pre'>processTextNode</span> : Function (optional)<div class='sub-desc'><p>A visitor function which allows processing of an encountered text node.\n This function is called with the following arguments:</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String (optional)<div class='sub-desc'><p>The text node that was matched.</p>\n</div></li></ul></div></li></ul></div></li></ul></div></div></div></div></div></div></div>","meta":{"private":true}});

@@ -1,1 +0,1 @@

Ext.data.JsonP.Autolinker_match_Url({"tagname":"class","name":"Autolinker.match.Url","autodetected":{},"files":[{"filename":"Url.js","href":"Url.html#Autolinker-match-Url"}],"extends":"Autolinker.match.Match","members":[{"name":"matchedText","tagname":"cfg","owner":"Autolinker.match.Match","id":"cfg-matchedText","meta":{"required":true}},{"name":"protocolRelativeMatch","tagname":"cfg","owner":"Autolinker.match.Url","id":"cfg-protocolRelativeMatch","meta":{"required":true}},{"name":"stripPrefix","tagname":"cfg","owner":"Autolinker.match.Url","id":"cfg-stripPrefix","meta":{"required":true}},{"name":"url","tagname":"cfg","owner":"Autolinker.match.Url","id":"cfg-url","meta":{"required":true}},{"name":"checkForProtocolRegex","tagname":"property","owner":"Autolinker.match.Url","id":"property-checkForProtocolRegex","meta":{"protected":true}},{"name":"protocolRelativeRegex","tagname":"property","owner":"Autolinker.match.Url","id":"property-protocolRelativeRegex","meta":{"private":true}},{"name":"urlPrefixRegex","tagname":"property","owner":"Autolinker.match.Url","id":"property-urlPrefixRegex","meta":{"private":true}},{"name":"constructor","tagname":"method","owner":"Autolinker.match.Match","id":"method-constructor","meta":{}},{"name":"getAnchorHref","tagname":"method","owner":"Autolinker.match.Url","id":"method-getAnchorHref","meta":{}},{"name":"getAnchorText","tagname":"method","owner":"Autolinker.match.Url","id":"method-getAnchorText","meta":{}},{"name":"getMatchedText","tagname":"method","owner":"Autolinker.match.Match","id":"method-getMatchedText","meta":{}},{"name":"getType","tagname":"method","owner":"Autolinker.match.Url","id":"method-getType","meta":{}},{"name":"getUrl","tagname":"method","owner":"Autolinker.match.Url","id":"method-getUrl","meta":{}},{"name":"removeTrailingSlash","tagname":"method","owner":"Autolinker.match.Url","id":"method-removeTrailingSlash","meta":{"private":true}},{"name":"stripProtocolRelativePrefix","tagname":"method","owner":"Autolinker.match.Url","id":"method-stripProtocolRelativePrefix","meta":{"private":true}},{"name":"stripUrlPrefix","tagname":"method","owner":"Autolinker.match.Url","id":"method-stripUrlPrefix","meta":{"private":true}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.match.Url","short_doc":"Represents a Url match found in an input string which should be Autolinked. ...","component":false,"superclasses":["Autolinker.match.Match"],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Hierarchy</h4><div class='subclass first-child'><a href='#!/api/Autolinker.match.Match' rel='Autolinker.match.Match' class='docClass'>Autolinker.match.Match</a><div class='subclass '><strong>Autolinker.match.Url</strong></div></div><h4>Files</h4><div class='dependency'><a href='source/Url.html#Autolinker-match-Url' target='_blank'>Url.js</a></div></pre><div class='doc-contents'><p>Represents a Url match found in an input string which should be Autolinked.</p>\n\n<p>See this class's superclass (<a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a>) for more details.</p>\n</div><div class='members'><div class='members-section'><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div class='definedBy'>Defined By</div><h4 class='members-subtitle'>Required config options</h3><div id='cfg-matchedText' class='member first-child inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Autolinker.match.Match' rel='Autolinker.match.Match' class='defined-in docClass'>Autolinker.match.Match</a><br/><a href='source/Match.html#Autolinker-match-Match-cfg-matchedText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Match-cfg-matchedText' class='name expandable'>matchedText</a> : String<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'><p>The original text that was matched.</p>\n</div><div class='long'><p>The original text that was matched.</p>\n</div></div></div><div id='cfg-protocolRelativeMatch' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-cfg-protocolRelativeMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-cfg-protocolRelativeMatch' class='name expandable'>protocolRelativeMatch</a> : Boolean<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'>true if the URL is a protocol-relative match. ...</div><div class='long'><p><code>true</code> if the URL is a protocol-relative match. A protocol-relative match is a URL that starts with '//',\nand will be either http:// or https:// based on the protocol that the site is loaded under.</p>\n</div></div></div><div id='cfg-stripPrefix' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-cfg-stripPrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-cfg-stripPrefix' class='name expandable'>stripPrefix</a> : Boolean<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'>true if 'http://' or 'https://' and/or the 'www.' should be stripped from the beginning of URL links' text,\nfalse oth...</div><div class='long'><p><code>true</code> if 'http://' or 'https://' and/or the 'www.' should be stripped from the beginning of URL links' text,\n<code>false</code> otherwise.</p>\n</div></div></div><div id='cfg-url' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-cfg-url' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-cfg-url' class='name expandable'>url</a> : String<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'><p>The url that was matched.</p>\n</div><div class='long'><p>The url that was matched.</p>\n</div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-property'>Properties</h3><div class='subsection'><div id='property-checkForProtocolRegex' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-property-checkForProtocolRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-property-checkForProtocolRegex' class='name expandable'>checkForProtocolRegex</a> : RegExp<span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>A regular expression used to check if the url is missing a protocol (in which case, 'http://'\nwill be added). ...</div><div class='long'><p>A regular expression used to check if the <a href=\"#!/api/Autolinker.match.Url-cfg-url\" rel=\"Autolinker.match.Url-cfg-url\" class=\"docClass\">url</a> is missing a protocol (in which case, 'http://'\nwill be added).</p>\n<p>Defaults to: <code>/^[A-Za-z]{3,9}:/</code></p></div></div></div><div id='property-protocolRelativeRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-property-protocolRelativeRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-property-protocolRelativeRegex' class='name expandable'>protocolRelativeRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression used to remove the protocol-relative '//' from the url string, for purposes\nof getAnchorText. ...</div><div class='long'><p>The regular expression used to remove the protocol-relative '//' from the <a href=\"#!/api/Autolinker.match.Url-cfg-url\" rel=\"Autolinker.match.Url-cfg-url\" class=\"docClass\">url</a> string, for purposes\nof <a href=\"#!/api/Autolinker.match.Url-method-getAnchorText\" rel=\"Autolinker.match.Url-method-getAnchorText\" class=\"docClass\">getAnchorText</a>. A protocol-relative URL is, for example, \"//yahoo.com\"</p>\n<p>Defaults to: <code>/^\\/\\//</code></p></div></div></div><div id='property-urlPrefixRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-property-urlPrefixRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-property-urlPrefixRegex' class='name expandable'>urlPrefixRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>A regular expression used to remove the 'http://' or 'https://' and/or the 'www.' from URLs. ...</div><div class='long'><p>A regular expression used to remove the 'http://' or 'https://' and/or the 'www.' from URLs.</p>\n<p>Defaults to: <code>/^(https?:\\/\\/)?(www\\.)?/i</code></p></div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div id='method-constructor' class='member first-child inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Autolinker.match.Match' rel='Autolinker.match.Match' class='defined-in docClass'>Autolinker.match.Match</a><br/><a href='source/Match.html#Autolinker-match-Match-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker.match.Match-method-constructor' class='name expandable'>Autolinker.match.Url</a>( <span class='pre'>cfg</span> ) : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><span class=\"signature\"></span></div><div class='description'><div class='short'> ...</div><div class='long'>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cfg</span> : Object<div class='sub-desc'><p>The configuration properties for the Match instance, specified in an Object (map).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getAnchorHref' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-getAnchorHref' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-getAnchorHref' class='name expandable'>getAnchorHref</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the anchor href that should be generated for the match. ...</div><div class='long'><p>Returns the anchor href that should be generated for the match.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul><p>Overrides: <a href=\"#!/api/Autolinker.match.Match-method-getAnchorHref\" rel=\"Autolinker.match.Match-method-getAnchorHref\" class=\"docClass\">Autolinker.match.Match.getAnchorHref</a></p></div></div></div><div id='method-getAnchorText' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-getAnchorText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-getAnchorText' class='name expandable'>getAnchorText</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the anchor text that should be generated for the match. ...</div><div class='long'><p>Returns the anchor text that should be generated for the match.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul><p>Overrides: <a href=\"#!/api/Autolinker.match.Match-method-getAnchorText\" rel=\"Autolinker.match.Match-method-getAnchorText\" class=\"docClass\">Autolinker.match.Match.getAnchorText</a></p></div></div></div><div id='method-getMatchedText' class='member inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Autolinker.match.Match' rel='Autolinker.match.Match' class='defined-in docClass'>Autolinker.match.Match</a><br/><a href='source/Match.html#Autolinker-match-Match-method-getMatchedText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Match-method-getMatchedText' class='name expandable'>getMatchedText</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the original text that was matched. ...</div><div class='long'><p>Returns the original text that was matched.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getType' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-getType' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-getType' class='name expandable'>getType</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns a string name for the type of match that this class represents. ...</div><div class='long'><p>Returns a string name for the type of match that this class represents.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul><p>Overrides: <a href=\"#!/api/Autolinker.match.Match-method-getType\" rel=\"Autolinker.match.Match-method-getType\" class=\"docClass\">Autolinker.match.Match.getType</a></p></div></div></div><div id='method-getUrl' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-getUrl' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-getUrl' class='name expandable'>getUrl</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the url that was matched, assuming the protocol to be 'http://' if the match\nwas missing a protocol. ...</div><div class='long'><p>Returns the url that was matched, assuming the protocol to be 'http://' if the match\nwas missing a protocol.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-removeTrailingSlash' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-removeTrailingSlash' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-removeTrailingSlash' class='name expandable'>removeTrailingSlash</a>( <span class='pre'>anchorText</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Removes any trailing slash from the given anchorText, in preparation for the text to be displayed. ...</div><div class='long'><p>Removes any trailing slash from the given <code>anchorText</code>, in preparation for the text to be displayed.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>anchorText</span> : String<div class='sub-desc'><p>The text of the anchor that is being generated, for which to remove any trailing\n slash ('/') that may exist.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The <code>anchorText</code>, with the trailing slash removed.</p>\n</div></li></ul></div></div></div><div id='method-stripProtocolRelativePrefix' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-stripProtocolRelativePrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-stripProtocolRelativePrefix' class='name expandable'>stripProtocolRelativePrefix</a>( <span class='pre'>text</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Strips any protocol-relative '//' from the anchor text. ...</div><div class='long'><p>Strips any protocol-relative '//' from the anchor text.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text of the anchor that is being generated, for which to strip off the\n protocol-relative prefix (such as stripping off \"//\")</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The <code>anchorText</code>, with the protocol-relative prefix stripped.</p>\n</div></li></ul></div></div></div><div id='method-stripUrlPrefix' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-stripUrlPrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-stripUrlPrefix' class='name expandable'>stripUrlPrefix</a>( <span class='pre'>text</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Strips the URL prefix (such as \"http://\" or \"https://\") from the given text. ...</div><div class='long'><p>Strips the URL prefix (such as \"http://\" or \"https://\") from the given text.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text of the anchor that is being generated, for which to strip off the\n url prefix (such as stripping off \"http://\")</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The <code>anchorText</code>, with the prefix stripped.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{}});
Ext.data.JsonP.Autolinker_match_Url({"tagname":"class","name":"Autolinker.match.Url","autodetected":{},"files":[{"filename":"Url.js","href":"Url.html#Autolinker-match-Url"}],"extends":"Autolinker.match.Match","members":[{"name":"matchedText","tagname":"cfg","owner":"Autolinker.match.Match","id":"cfg-matchedText","meta":{"required":true}},{"name":"protocolRelativeMatch","tagname":"cfg","owner":"Autolinker.match.Url","id":"cfg-protocolRelativeMatch","meta":{"required":true}},{"name":"protocolUrlMatch","tagname":"cfg","owner":"Autolinker.match.Url","id":"cfg-protocolUrlMatch","meta":{"required":true}},{"name":"stripPrefix","tagname":"cfg","owner":"Autolinker.match.Url","id":"cfg-stripPrefix","meta":{"required":true}},{"name":"url","tagname":"cfg","owner":"Autolinker.match.Url","id":"cfg-url","meta":{"required":true}},{"name":"protocolPrepended","tagname":"property","owner":"Autolinker.match.Url","id":"property-protocolPrepended","meta":{"private":true}},{"name":"protocolRelativeRegex","tagname":"property","owner":"Autolinker.match.Url","id":"property-protocolRelativeRegex","meta":{"private":true}},{"name":"urlPrefixRegex","tagname":"property","owner":"Autolinker.match.Url","id":"property-urlPrefixRegex","meta":{"private":true}},{"name":"constructor","tagname":"method","owner":"Autolinker.match.Match","id":"method-constructor","meta":{}},{"name":"getAnchorHref","tagname":"method","owner":"Autolinker.match.Url","id":"method-getAnchorHref","meta":{}},{"name":"getAnchorText","tagname":"method","owner":"Autolinker.match.Url","id":"method-getAnchorText","meta":{}},{"name":"getMatchedText","tagname":"method","owner":"Autolinker.match.Match","id":"method-getMatchedText","meta":{}},{"name":"getType","tagname":"method","owner":"Autolinker.match.Url","id":"method-getType","meta":{}},{"name":"getUrl","tagname":"method","owner":"Autolinker.match.Url","id":"method-getUrl","meta":{}},{"name":"removeTrailingSlash","tagname":"method","owner":"Autolinker.match.Url","id":"method-removeTrailingSlash","meta":{"private":true}},{"name":"stripProtocolRelativePrefix","tagname":"method","owner":"Autolinker.match.Url","id":"method-stripProtocolRelativePrefix","meta":{"private":true}},{"name":"stripUrlPrefix","tagname":"method","owner":"Autolinker.match.Url","id":"method-stripUrlPrefix","meta":{"private":true}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.match.Url","short_doc":"Represents a Url match found in an input string which should be Autolinked. ...","component":false,"superclasses":["Autolinker.match.Match"],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Hierarchy</h4><div class='subclass first-child'><a href='#!/api/Autolinker.match.Match' rel='Autolinker.match.Match' class='docClass'>Autolinker.match.Match</a><div class='subclass '><strong>Autolinker.match.Url</strong></div></div><h4>Files</h4><div class='dependency'><a href='source/Url.html#Autolinker-match-Url' target='_blank'>Url.js</a></div></pre><div class='doc-contents'><p>Represents a Url match found in an input string which should be Autolinked.</p>\n\n<p>See this class's superclass (<a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a>) for more details.</p>\n</div><div class='members'><div class='members-section'><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div class='definedBy'>Defined By</div><h4 class='members-subtitle'>Required config options</h3><div id='cfg-matchedText' class='member first-child inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Autolinker.match.Match' rel='Autolinker.match.Match' class='defined-in docClass'>Autolinker.match.Match</a><br/><a href='source/Match.html#Autolinker-match-Match-cfg-matchedText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Match-cfg-matchedText' class='name expandable'>matchedText</a> : String<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'><p>The original text that was matched.</p>\n</div><div class='long'><p>The original text that was matched.</p>\n</div></div></div><div id='cfg-protocolRelativeMatch' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-cfg-protocolRelativeMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-cfg-protocolRelativeMatch' class='name expandable'>protocolRelativeMatch</a> : Boolean<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'>true if the URL is a protocol-relative match. ...</div><div class='long'><p><code>true</code> if the URL is a protocol-relative match. A protocol-relative match is a URL that starts with '//',\nand will be either http:// or https:// based on the protocol that the site is loaded under.</p>\n</div></div></div><div id='cfg-protocolUrlMatch' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-cfg-protocolUrlMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-cfg-protocolUrlMatch' class='name expandable'>protocolUrlMatch</a> : Boolean<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'>true if the URL is a match which already has a protocol (i.e. ...</div><div class='long'><p><code>true</code> if the URL is a match which already has a protocol (i.e. 'http://'), <code>false</code> if the match was from a 'www' or\nknown TLD match.</p>\n</div></div></div><div id='cfg-stripPrefix' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-cfg-stripPrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-cfg-stripPrefix' class='name expandable'>stripPrefix</a> : Boolean<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'>true if 'http://' or 'https://' and/or the 'www.' should be stripped from the beginning of URL links' text,\nfalse oth...</div><div class='long'><p><code>true</code> if 'http://' or 'https://' and/or the 'www.' should be stripped from the beginning of URL links' text,\n<code>false</code> otherwise.</p>\n</div></div></div><div id='cfg-url' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-cfg-url' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-cfg-url' class='name expandable'>url</a> : String<span class=\"signature\"><span class='required' >required</span></span></div><div class='description'><div class='short'><p>The url that was matched.</p>\n</div><div class='long'><p>The url that was matched.</p>\n</div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-property'>Properties</h3><div class='subsection'><div id='property-protocolPrepended' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-property-protocolPrepended' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-property-protocolPrepended' class='name expandable'>protocolPrepended</a> : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Will be set to true if the 'http://' protocol has been prepended to the url (because the\nurl did not have a protocol) ...</div><div class='long'><p>Will be set to <code>true</code> if the 'http://' protocol has been prepended to the <a href=\"#!/api/Autolinker.match.Url-cfg-url\" rel=\"Autolinker.match.Url-cfg-url\" class=\"docClass\">url</a> (because the\n<a href=\"#!/api/Autolinker.match.Url-cfg-url\" rel=\"Autolinker.match.Url-cfg-url\" class=\"docClass\">url</a> did not have a protocol)</p>\n<p>Defaults to: <code>false</code></p></div></div></div><div id='property-protocolRelativeRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-property-protocolRelativeRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-property-protocolRelativeRegex' class='name expandable'>protocolRelativeRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression used to remove the protocol-relative '//' from the url string, for purposes\nof getAnchorText. ...</div><div class='long'><p>The regular expression used to remove the protocol-relative '//' from the <a href=\"#!/api/Autolinker.match.Url-cfg-url\" rel=\"Autolinker.match.Url-cfg-url\" class=\"docClass\">url</a> string, for purposes\nof <a href=\"#!/api/Autolinker.match.Url-method-getAnchorText\" rel=\"Autolinker.match.Url-method-getAnchorText\" class=\"docClass\">getAnchorText</a>. A protocol-relative URL is, for example, \"//yahoo.com\"</p>\n<p>Defaults to: <code>/^\\/\\//</code></p></div></div></div><div id='property-urlPrefixRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-property-urlPrefixRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-property-urlPrefixRegex' class='name expandable'>urlPrefixRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>A regular expression used to remove the 'http://' or 'https://' and/or the 'www.' from URLs. ...</div><div class='long'><p>A regular expression used to remove the 'http://' or 'https://' and/or the 'www.' from URLs.</p>\n<p>Defaults to: <code>/^(https?:\\/\\/)?(www\\.)?/i</code></p></div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div id='method-constructor' class='member first-child inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Autolinker.match.Match' rel='Autolinker.match.Match' class='defined-in docClass'>Autolinker.match.Match</a><br/><a href='source/Match.html#Autolinker-match-Match-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker.match.Match-method-constructor' class='name expandable'>Autolinker.match.Url</a>( <span class='pre'>cfg</span> ) : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><span class=\"signature\"></span></div><div class='description'><div class='short'> ...</div><div class='long'>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cfg</span> : Object<div class='sub-desc'><p>The configuration properties for the Match instance, specified in an Object (map).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getAnchorHref' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-getAnchorHref' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-getAnchorHref' class='name expandable'>getAnchorHref</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the anchor href that should be generated for the match. ...</div><div class='long'><p>Returns the anchor href that should be generated for the match.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul><p>Overrides: <a href=\"#!/api/Autolinker.match.Match-method-getAnchorHref\" rel=\"Autolinker.match.Match-method-getAnchorHref\" class=\"docClass\">Autolinker.match.Match.getAnchorHref</a></p></div></div></div><div id='method-getAnchorText' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-getAnchorText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-getAnchorText' class='name expandable'>getAnchorText</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the anchor text that should be generated for the match. ...</div><div class='long'><p>Returns the anchor text that should be generated for the match.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul><p>Overrides: <a href=\"#!/api/Autolinker.match.Match-method-getAnchorText\" rel=\"Autolinker.match.Match-method-getAnchorText\" class=\"docClass\">Autolinker.match.Match.getAnchorText</a></p></div></div></div><div id='method-getMatchedText' class='member inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Autolinker.match.Match' rel='Autolinker.match.Match' class='defined-in docClass'>Autolinker.match.Match</a><br/><a href='source/Match.html#Autolinker-match-Match-method-getMatchedText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Match-method-getMatchedText' class='name expandable'>getMatchedText</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the original text that was matched. ...</div><div class='long'><p>Returns the original text that was matched.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getType' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-getType' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-getType' class='name expandable'>getType</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns a string name for the type of match that this class represents. ...</div><div class='long'><p>Returns a string name for the type of match that this class represents.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul><p>Overrides: <a href=\"#!/api/Autolinker.match.Match-method-getType\" rel=\"Autolinker.match.Match-method-getType\" class=\"docClass\">Autolinker.match.Match.getType</a></p></div></div></div><div id='method-getUrl' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-getUrl' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-getUrl' class='name expandable'>getUrl</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the url that was matched, assuming the protocol to be 'http://' if the original\nmatch was missing a protocol. ...</div><div class='long'><p>Returns the url that was matched, assuming the protocol to be 'http://' if the original\nmatch was missing a protocol.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-removeTrailingSlash' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-removeTrailingSlash' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-removeTrailingSlash' class='name expandable'>removeTrailingSlash</a>( <span class='pre'>anchorText</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Removes any trailing slash from the given anchorText, in preparation for the text to be displayed. ...</div><div class='long'><p>Removes any trailing slash from the given <code>anchorText</code>, in preparation for the text to be displayed.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>anchorText</span> : String<div class='sub-desc'><p>The text of the anchor that is being generated, for which to remove any trailing\n slash ('/') that may exist.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The <code>anchorText</code>, with the trailing slash removed.</p>\n</div></li></ul></div></div></div><div id='method-stripProtocolRelativePrefix' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-stripProtocolRelativePrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-stripProtocolRelativePrefix' class='name expandable'>stripProtocolRelativePrefix</a>( <span class='pre'>text</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Strips any protocol-relative '//' from the anchor text. ...</div><div class='long'><p>Strips any protocol-relative '//' from the anchor text.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text of the anchor that is being generated, for which to strip off the\n protocol-relative prefix (such as stripping off \"//\")</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The <code>anchorText</code>, with the protocol-relative prefix stripped.</p>\n</div></li></ul></div></div></div><div id='method-stripUrlPrefix' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.match.Url'>Autolinker.match.Url</span><br/><a href='source/Url.html#Autolinker-match-Url-method-stripUrlPrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.match.Url-method-stripUrlPrefix' class='name expandable'>stripUrlPrefix</a>( <span class='pre'>text</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Strips the URL prefix (such as \"http://\" or \"https://\") from the given text. ...</div><div class='long'><p>Strips the URL prefix (such as \"http://\" or \"https://\") from the given text.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text of the anchor that is being generated, for which to strip off the\n url prefix (such as stripping off \"http://\")</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The <code>anchorText</code>, with the prefix stripped.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{}});

@@ -1,1 +0,1 @@

Ext.data.JsonP.Autolinker_MatchValidator({"tagname":"class","name":"Autolinker.MatchValidator","autodetected":{},"files":[{"filename":"MatchValidator.js","href":"MatchValidator.html#Autolinker-MatchValidator"}],"private":true,"extends":null,"members":[{"name":"hasFullProtocolRegex","tagname":"property","owner":"Autolinker.MatchValidator","id":"property-hasFullProtocolRegex","meta":{"private":true}},{"name":"hasProtocolPrefixRegex","tagname":"property","owner":"Autolinker.MatchValidator","id":"property-hasProtocolPrefixRegex","meta":{"private":true}},{"name":"hasWordCharAfterProtocolRegex","tagname":"property","owner":"Autolinker.MatchValidator","id":"property-hasWordCharAfterProtocolRegex","meta":{"private":true}},{"name":"invalidProtocolRelMatchRegex","tagname":"property","owner":"Autolinker.MatchValidator","id":"property-invalidProtocolRelMatchRegex","meta":{"private":true}},{"name":"isInvalidProtocolRelativeMatch","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-isInvalidProtocolRelativeMatch","meta":{"private":true}},{"name":"isValidMatch","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-isValidMatch","meta":{}},{"name":"urlMatchDoesNotHaveAtLeastOneWordChar","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-urlMatchDoesNotHaveAtLeastOneWordChar","meta":{"private":true}},{"name":"urlMatchDoesNotHaveProtocolOrDot","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-urlMatchDoesNotHaveProtocolOrDot","meta":{"private":true}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.MatchValidator","short_doc":"Used by Autolinker to filter out false positives from the Autolinker.matcherRegex. ...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/MatchValidator.html#Autolinker-MatchValidator' target='_blank'>MatchValidator.js</a></div></pre><div class='doc-contents'><div class='rounded-box private-box'><p><strong>NOTE:</strong> This is a private utility class for internal use by the framework. Don't rely on its existence.</p></div><p>Used by Autolinker to filter out false positives from the <a href=\"#!/api/Autolinker-property-matcherRegex\" rel=\"Autolinker-property-matcherRegex\" class=\"docClass\">Autolinker.matcherRegex</a>.</p>\n\n<p>Due to the limitations of regular expressions (including the missing feature of look-behinds in JS regular expressions),\nwe cannot always determine the validity of a given match. This class applies a bit of additional logic to filter out any\nfalse positives that have been matched by the <a href=\"#!/api/Autolinker-property-matcherRegex\" rel=\"Autolinker-property-matcherRegex\" class=\"docClass\">Autolinker.matcherRegex</a>.</p>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-property'>Properties</h3><div class='subsection'><div id='property-hasFullProtocolRegex' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-property-hasFullProtocolRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-property-hasFullProtocolRegex' class='name expandable'>hasFullProtocolRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Regex to test for a full protocol, with the two trailing slashes. ...</div><div class='long'><p>Regex to test for a full protocol, with the two trailing slashes. Ex: 'http://'</p>\n<p>Defaults to: <code>/^[A-Za-z]{3,9}:\\/\\//</code></p></div></div></div><div id='property-hasProtocolPrefixRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-property-hasProtocolPrefixRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-property-hasProtocolPrefixRegex' class='name expandable'>hasProtocolPrefixRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Regex to test for a protocol prefix, such as 'mailto:' ...</div><div class='long'><p>Regex to test for a protocol prefix, such as 'mailto:'</p>\n<p>Defaults to: <code>/^[A-Za-z]{3,9}:/</code></p></div></div></div><div id='property-hasWordCharAfterProtocolRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-property-hasWordCharAfterProtocolRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-property-hasWordCharAfterProtocolRegex' class='name expandable'>hasWordCharAfterProtocolRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Regex to determine if at least one word char exists after the protocol (i.e. ...</div><div class='long'><p>Regex to determine if at least one word char exists after the protocol (i.e. after the ':')</p>\n<p>Defaults to: <code>/:.*?[A-Za-z]/</code></p></div></div></div><div id='property-invalidProtocolRelMatchRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-property-invalidProtocolRelMatchRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-property-invalidProtocolRelMatchRegex' class='name expandable'>invalidProtocolRelMatchRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression used to check a potential protocol-relative URL match, coming from the\nAutolinker.matcherRegex. ...</div><div class='long'><p>The regular expression used to check a potential protocol-relative URL match, coming from the\n<a href=\"#!/api/Autolinker-property-matcherRegex\" rel=\"Autolinker-property-matcherRegex\" class=\"docClass\">Autolinker.matcherRegex</a>. A protocol-relative URL is, for example, \"//yahoo.com\"</p>\n\n<p>This regular expression checks to see if there is a word character before the '//' match in order to determine if\nwe should actually autolink a protocol-relative URL. This is needed because there is no negative look-behind in\nJavaScript regular expressions.</p>\n\n<p>For instance, we want to autolink something like \"Go to: //google.com\", but we don't want to autolink something\nlike \"abc//google.com\"</p>\n<p>Defaults to: <code>/^[\\w]\\/\\//</code></p></div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div id='method-isInvalidProtocolRelativeMatch' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-isInvalidProtocolRelativeMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-isInvalidProtocolRelativeMatch' class='name expandable'>isInvalidProtocolRelativeMatch</a>( <span class='pre'>protocolRelativeMatch</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if a protocol-relative match is an invalid one. ...</div><div class='long'><p>Determines if a protocol-relative match is an invalid one. This method returns <code>true</code> if there is a <code>protocolRelativeMatch</code>,\nand that match contains a word character before the '//' (i.e. it must contain whitespace or nothing before the '//' in\norder to be considered valid).</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>protocolRelativeMatch</span> : String<div class='sub-desc'><p>The protocol-relative string for a URL match (i.e. '//'), possibly with a preceding\n character (ex, a space, such as: ' //', or a letter, such as: 'a//'). The match is invalid if there is a word character\n preceding the '//'.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if it is an invalid protocol-relative match, <code>false</code> otherwise.</p>\n</div></li></ul></div></div></div><div id='method-isValidMatch' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-isValidMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-isValidMatch' class='name expandable'>isValidMatch</a>( <span class='pre'>urlMatch, protocolUrlMatch, protocolRelativeMatch</span> ) : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>Determines if a given match found by Autolinker.processTextNode is valid. ...</div><div class='long'><p>Determines if a given match found by <a href=\"#!/api/Autolinker-method-processTextNode\" rel=\"Autolinker-method-processTextNode\" class=\"docClass\">Autolinker.processTextNode</a> is valid. Will return <code>false</code> for:</p>\n\n<p>1) URL matches which do not have at least have one period ('.') in the domain name (effectively skipping over\n matches like \"abc:def\"). However, URL matches with a protocol will be allowed (ex: 'http://localhost')\n2) URL matches which do not have at least one word character in the domain name (effectively skipping over\n matches like \"git:1.0\").\n3) A protocol-relative url match (a URL beginning with '//') whose previous character is a word character\n (effectively skipping over strings like \"abc//google.com\")</p>\n\n<p>Otherwise, returns <code>true</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>urlMatch</span> : String<div class='sub-desc'><p>The matched URL, if there was one. Will be an empty string if the match is not a URL match.</p>\n</div></li><li><span class='pre'>protocolUrlMatch</span> : String<div class='sub-desc'><p>The match URL string for a protocol match. Ex: 'http://yahoo.com'. This is used to match\n something like 'http://localhost', where we won't double check that the domain name has at least one '.' in it.</p>\n</div></li><li><span class='pre'>protocolRelativeMatch</span> : String<div class='sub-desc'><p>The protocol-relative string for a URL match (i.e. '//'), possibly with a preceding\n character (ex, a space, such as: ' //', or a letter, such as: 'a//'). The match is invalid if there is a word character\n preceding the '//'.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if the match given is valid and should be processed, or <code>false</code> if the match is invalid and/or\n should just not be processed.</p>\n</div></li></ul></div></div></div><div id='method-urlMatchDoesNotHaveAtLeastOneWordChar' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-urlMatchDoesNotHaveAtLeastOneWordChar' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-urlMatchDoesNotHaveAtLeastOneWordChar' class='name expandable'>urlMatchDoesNotHaveAtLeastOneWordChar</a>( <span class='pre'>urlMatch</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if a URL match does not have at least one word character after the protocol (i.e. ...</div><div class='long'><p>Determines if a URL match does not have at least one word character after the protocol (i.e. in the domain name).</p>\n\n<p>At least one letter character must exist in the domain name after a protocol match. Ex: skip over something\nlike \"git:1.0\"</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>urlMatch</span> : String<div class='sub-desc'><p>The matched URL, if there was one. Will be an empty string if the match is not a URL match.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if the URL match does not have at least one word character in it after the protocol, <code>false</code>\n otherwise.</p>\n</div></li></ul></div></div></div><div id='method-urlMatchDoesNotHaveProtocolOrDot' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-urlMatchDoesNotHaveProtocolOrDot' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-urlMatchDoesNotHaveProtocolOrDot' class='name expandable'>urlMatchDoesNotHaveProtocolOrDot</a>( <span class='pre'>urlMatch, protocolUrlMatch</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if a URL match does not have either:\n\na) a full protocol (i.e. ...</div><div class='long'><p>Determines if a URL match does not have either:</p>\n\n<p>a) a full protocol (i.e. 'http://'), or\nb) at least one dot ('.') in the domain name (for a non-full-protocol match).</p>\n\n<p>Either situation is considered an invalid URL (ex: 'git:d' does not have either the '://' part, or at least one dot\nin the domain name. If the match was 'git:abc.com', we would consider this valid.)</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>urlMatch</span> : String<div class='sub-desc'><p>The matched URL, if there was one. Will be an empty string if the match is not a URL match.</p>\n</div></li><li><span class='pre'>protocolUrlMatch</span> : String<div class='sub-desc'><p>The match URL string for a protocol match. Ex: 'http://yahoo.com'. This is used to match\n something like 'http://localhost', where we won't double check that the domain name has at least one '.' in it.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if the URL match does not have a full protocol, or at least one dot ('.') in a non-full-protocol\n match.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{"private":true}});
Ext.data.JsonP.Autolinker_MatchValidator({"tagname":"class","name":"Autolinker.MatchValidator","autodetected":{},"files":[{"filename":"MatchValidator.js","href":"MatchValidator.html#Autolinker-MatchValidator"}],"private":true,"extends":null,"members":[{"name":"hasFullProtocolRegex","tagname":"property","owner":"Autolinker.MatchValidator","id":"property-hasFullProtocolRegex","meta":{"private":true}},{"name":"hasWordCharAfterProtocolRegex","tagname":"property","owner":"Autolinker.MatchValidator","id":"property-hasWordCharAfterProtocolRegex","meta":{"private":true}},{"name":"invalidProtocolRelMatchRegex","tagname":"property","owner":"Autolinker.MatchValidator","id":"property-invalidProtocolRelMatchRegex","meta":{"private":true}},{"name":"uriSchemeRegex","tagname":"property","owner":"Autolinker.MatchValidator","id":"property-uriSchemeRegex","meta":{"private":true}},{"name":"isInvalidProtocolRelativeMatch","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-isInvalidProtocolRelativeMatch","meta":{"private":true}},{"name":"isValidMatch","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-isValidMatch","meta":{}},{"name":"isValidUriScheme","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-isValidUriScheme","meta":{"private":true}},{"name":"urlMatchDoesNotHaveAtLeastOneWordChar","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-urlMatchDoesNotHaveAtLeastOneWordChar","meta":{"private":true}},{"name":"urlMatchDoesNotHaveProtocolOrDot","tagname":"method","owner":"Autolinker.MatchValidator","id":"method-urlMatchDoesNotHaveProtocolOrDot","meta":{"private":true}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.MatchValidator","short_doc":"Used by Autolinker to filter out false positives from the Autolinker.matcherRegex. ...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/MatchValidator.html#Autolinker-MatchValidator' target='_blank'>MatchValidator.js</a></div></pre><div class='doc-contents'><div class='rounded-box private-box'><p><strong>NOTE:</strong> This is a private utility class for internal use by the framework. Don't rely on its existence.</p></div><p>Used by Autolinker to filter out false positives from the <a href=\"#!/api/Autolinker-property-matcherRegex\" rel=\"Autolinker-property-matcherRegex\" class=\"docClass\">Autolinker.matcherRegex</a>.</p>\n\n<p>Due to the limitations of regular expressions (including the missing feature of look-behinds in JS regular expressions),\nwe cannot always determine the validity of a given match. This class applies a bit of additional logic to filter out any\nfalse positives that have been matched by the <a href=\"#!/api/Autolinker-property-matcherRegex\" rel=\"Autolinker-property-matcherRegex\" class=\"docClass\">Autolinker.matcherRegex</a>.</p>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-property'>Properties</h3><div class='subsection'><div id='property-hasFullProtocolRegex' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-property-hasFullProtocolRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-property-hasFullProtocolRegex' class='name expandable'>hasFullProtocolRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Regex to test for a full protocol, with the two trailing slashes. ...</div><div class='long'><p>Regex to test for a full protocol, with the two trailing slashes. Ex: 'http://'</p>\n<p>Defaults to: <code>/^[A-Za-z][-.+A-Za-z0-9]+:\\/\\//</code></p></div></div></div><div id='property-hasWordCharAfterProtocolRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-property-hasWordCharAfterProtocolRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-property-hasWordCharAfterProtocolRegex' class='name expandable'>hasWordCharAfterProtocolRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Regex to determine if at least one word char exists after the protocol (i.e. ...</div><div class='long'><p>Regex to determine if at least one word char exists after the protocol (i.e. after the ':')</p>\n<p>Defaults to: <code>/:[^\\s]*?[A-Za-z]/</code></p></div></div></div><div id='property-invalidProtocolRelMatchRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-property-invalidProtocolRelMatchRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-property-invalidProtocolRelMatchRegex' class='name expandable'>invalidProtocolRelMatchRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression used to check a potential protocol-relative URL match, coming from the\nAutolinker.matcherRegex. ...</div><div class='long'><p>The regular expression used to check a potential protocol-relative URL match, coming from the\n<a href=\"#!/api/Autolinker-property-matcherRegex\" rel=\"Autolinker-property-matcherRegex\" class=\"docClass\">Autolinker.matcherRegex</a>. A protocol-relative URL is, for example, \"//yahoo.com\"</p>\n\n<p>This regular expression checks to see if there is a word character before the '//' match in order to determine if\nwe should actually autolink a protocol-relative URL. This is needed because there is no negative look-behind in\nJavaScript regular expressions.</p>\n\n<p>For instance, we want to autolink something like \"Go to: //google.com\", but we don't want to autolink something\nlike \"abc//google.com\"</p>\n<p>Defaults to: <code>/^[\\w]\\/\\//</code></p></div></div></div><div id='property-uriSchemeRegex' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-property-uriSchemeRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-property-uriSchemeRegex' class='name expandable'>uriSchemeRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Regex to find the URI scheme, such as 'mailto:'. ...</div><div class='long'><p>Regex to find the URI scheme, such as 'mailto:'.</p>\n\n<p>This is used to filter out 'javascript:' and 'vbscript:' schemes.</p>\n<p>Defaults to: <code>/^[A-Za-z][-.+A-Za-z0-9]+:/</code></p></div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div id='method-isInvalidProtocolRelativeMatch' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-isInvalidProtocolRelativeMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-isInvalidProtocolRelativeMatch' class='name expandable'>isInvalidProtocolRelativeMatch</a>( <span class='pre'>protocolRelativeMatch</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if a protocol-relative match is an invalid one. ...</div><div class='long'><p>Determines if a protocol-relative match is an invalid one. This method returns <code>true</code> if there is a <code>protocolRelativeMatch</code>,\nand that match contains a word character before the '//' (i.e. it must contain whitespace or nothing before the '//' in\norder to be considered valid).</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>protocolRelativeMatch</span> : String<div class='sub-desc'><p>The protocol-relative string for a URL match (i.e. '//'), possibly with a preceding\n character (ex, a space, such as: ' //', or a letter, such as: 'a//'). The match is invalid if there is a word character\n preceding the '//'.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if it is an invalid protocol-relative match, <code>false</code> otherwise.</p>\n</div></li></ul></div></div></div><div id='method-isValidMatch' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-isValidMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-isValidMatch' class='name expandable'>isValidMatch</a>( <span class='pre'>urlMatch, protocolUrlMatch, protocolRelativeMatch</span> ) : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>Determines if a given match found by Autolinker.processTextNode is valid. ...</div><div class='long'><p>Determines if a given match found by <a href=\"#!/api/Autolinker-method-processTextNode\" rel=\"Autolinker-method-processTextNode\" class=\"docClass\">Autolinker.processTextNode</a> is valid. Will return <code>false</code> for:</p>\n\n<p>1) URL matches which do not have at least have one period ('.') in the domain name (effectively skipping over\n matches like \"abc:def\"). However, URL matches with a protocol will be allowed (ex: 'http://localhost')\n2) URL matches which do not have at least one word character in the domain name (effectively skipping over\n matches like \"git:1.0\").\n3) A protocol-relative url match (a URL beginning with '//') whose previous character is a word character\n (effectively skipping over strings like \"abc//google.com\")</p>\n\n<p>Otherwise, returns <code>true</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>urlMatch</span> : String<div class='sub-desc'><p>The matched URL, if there was one. Will be an empty string if the match is not a URL match.</p>\n</div></li><li><span class='pre'>protocolUrlMatch</span> : String<div class='sub-desc'><p>The match URL string for a protocol match. Ex: 'http://yahoo.com'. This is used to match\n something like 'http://localhost', where we won't double check that the domain name has at least one '.' in it.</p>\n</div></li><li><span class='pre'>protocolRelativeMatch</span> : String<div class='sub-desc'><p>The protocol-relative string for a URL match (i.e. '//'), possibly with a preceding\n character (ex, a space, such as: ' //', or a letter, such as: 'a//'). The match is invalid if there is a word character\n preceding the '//'.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if the match given is valid and should be processed, or <code>false</code> if the match is invalid and/or\n should just not be processed.</p>\n</div></li></ul></div></div></div><div id='method-isValidUriScheme' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-isValidUriScheme' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-isValidUriScheme' class='name expandable'>isValidUriScheme</a>( <span class='pre'>uriSchemeMatch</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if the URI scheme is a valid scheme to be autolinked. ...</div><div class='long'><p>Determines if the URI scheme is a valid scheme to be autolinked. Returns <code>false</code> if the scheme is\n'javascript:' or 'vbscript:'</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>uriSchemeMatch</span> : String<div class='sub-desc'><p>The match URL string for a full URI scheme match. Ex: 'http://yahoo.com'\n or 'mailto:a@a.com'.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if the scheme is a valid one, <code>false</code> otherwise.</p>\n</div></li></ul></div></div></div><div id='method-urlMatchDoesNotHaveAtLeastOneWordChar' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-urlMatchDoesNotHaveAtLeastOneWordChar' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-urlMatchDoesNotHaveAtLeastOneWordChar' class='name expandable'>urlMatchDoesNotHaveAtLeastOneWordChar</a>( <span class='pre'>urlMatch, protocolUrlMatch</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if a URL match does not have at least one word character after the protocol (i.e. ...</div><div class='long'><p>Determines if a URL match does not have at least one word character after the protocol (i.e. in the domain name).</p>\n\n<p>At least one letter character must exist in the domain name after a protocol match. Ex: skip over something\nlike \"git:1.0\"</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>urlMatch</span> : String<div class='sub-desc'><p>The matched URL, if there was one. Will be an empty string if the match is not a URL match.</p>\n</div></li><li><span class='pre'>protocolUrlMatch</span> : String<div class='sub-desc'><p>The match URL string for a protocol match. Ex: 'http://yahoo.com'. This is used to\n know whether or not we have a protocol in the URL string, in order to check for a word character after the protocol\n separator (':').</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if the URL match does not have at least one word character in it after the protocol, <code>false</code>\n otherwise.</p>\n</div></li></ul></div></div></div><div id='method-urlMatchDoesNotHaveProtocolOrDot' class='member not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.MatchValidator'>Autolinker.MatchValidator</span><br/><a href='source/MatchValidator.html#Autolinker-MatchValidator-method-urlMatchDoesNotHaveProtocolOrDot' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.MatchValidator-method-urlMatchDoesNotHaveProtocolOrDot' class='name expandable'>urlMatchDoesNotHaveProtocolOrDot</a>( <span class='pre'>urlMatch, protocolUrlMatch</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if a URL match does not have either:\n\na) a full protocol (i.e. ...</div><div class='long'><p>Determines if a URL match does not have either:</p>\n\n<p>a) a full protocol (i.e. 'http://'), or\nb) at least one dot ('.') in the domain name (for a non-full-protocol match).</p>\n\n<p>Either situation is considered an invalid URL (ex: 'git:d' does not have either the '://' part, or at least one dot\nin the domain name. If the match was 'git:abc.com', we would consider this valid.)</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>urlMatch</span> : String<div class='sub-desc'><p>The matched URL, if there was one. Will be an empty string if the match is not a URL match.</p>\n</div></li><li><span class='pre'>protocolUrlMatch</span> : String<div class='sub-desc'><p>The match URL string for a protocol match. Ex: 'http://yahoo.com'. This is used to match\n something like 'http://localhost', where we won't double check that the domain name has at least one '.' in it.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if the URL match does not have a full protocol, or at least one dot ('.') in a non-full-protocol\n match.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{"private":true}});
{
"name": "autolinker",
"version": "0.15.0",
"version": "0.15.1",
"description": "Utility to automatically link the URLs, email addresses, and Twitter handles in a given block of text/HTML",

@@ -5,0 +5,0 @@ "main": "dist/Autolinker.js",

@@ -53,3 +53,3 @@ # Autolinker.js

// note: npm wants an all-lowercase package name, but the utility is a class and should be
// aliased with a captial letter
// aliased with a capital letter
```

@@ -56,0 +56,0 @@

@@ -30,3 +30,3 @@ /*global Autolinker */

attrNameRegex = /[^\s\0"'>\/=\x01-\x1F\x7F]+/, // the unicode range accounts for excluding control chars, and the delete char
attrValueRegex = /(?:".*?"|'.*?'|[^'"=<>`\s]+)/, // double quoted, single quoted, or unquoted attribute values
attrValueRegex = /(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/, // double quoted, single quoted, or unquoted attribute values
nameEqualsValueRegex = attrNameRegex.source + '(?:\\s*=\\s*' + attrValueRegex.source + ')?'; // optional '=[value]'

@@ -33,0 +33,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc