Socket
Socket
Sign inDemoInstall

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.19.1 to 0.20.0

gh-pages/docs/data-9095f3bd19db5d85bffb23224734494e.js

4

dist/Autolinker.min.js
/*!
* Autolinker.js
* 0.19.1
* 0.20.0
*

@@ -10,2 +10,2 @@ * Copyright(c) 2015 Gregory Jacobs <greg@greg-jacobs.com>

*/
!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.Autolinker=b()}):"object"==typeof exports?module.exports=b():a.Autolinker=b()}(this,function(){var a=function(b){a.Util.assign(this,b);var c=this.hashtag;if(c!==!1&&"twitter"!==c&&"facebook"!==c&&"instagram"!==c)throw new Error("invalid `hashtag` cfg - see docs")};return a.prototype={constructor:a,urls:!0,email:!0,twitter:!0,phone:!0,hashtag:!1,newWindow:!0,stripPrefix:!0,truncate:void 0,className:"",htmlParser:void 0,matchParser:void 0,tagBuilder:void 0,link:function(a){if(!a)return"";for(var b=this.getHtmlParser(),c=b.parse(a),d=0,e=[],f=0,g=c.length;g>f;f++){var h=c[f],i=h.getType(),j=h.getText();if("element"===i)"a"===h.getTagName()&&(h.isClosing()?d=Math.max(d-1,0):d++),e.push(j);else if("entity"===i||"comment"===i)e.push(j);else if(0===d){var k=this.linkifyStr(j);e.push(k)}else e.push(j)}return e.join("")},linkifyStr:function(a){return this.getMatchParser().replace(a,this.createMatchReturnVal,this)},createMatchReturnVal:function(b){var c;if(this.replaceFn&&(c=this.replaceFn.call(this,this,b)),"string"==typeof c)return c;if(c===!1)return b.getMatchedText();if(c instanceof a.HtmlTag)return c.toAnchorString();var d=this.getTagBuilder(),e=d.build(b);return e.toAnchorString()},getHtmlParser:function(){var b=this.htmlParser;return b||(b=this.htmlParser=new a.htmlParser.HtmlParser),b},getMatchParser:function(){var b=this.matchParser;return b||(b=this.matchParser=new a.matchParser.MatchParser({urls:this.urls,email:this.email,twitter:this.twitter,phone:this.phone,hashtag:this.hashtag,stripPrefix:this.stripPrefix})),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}},a.link=function(b,c){var d=new a(c);return d.link(b)},a.match={},a.htmlParser={},a.matchParser={},a.Util={abstractMethod:function(){throw"abstract"},trimRegex:/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,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},trim:function(a){return a.replace(this.trimRegex,"")}},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||""},toAnchorString: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.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.htmlParser.HtmlParser=a.Util.extend(Object,{htmlRegex:function(){var a=/!--([\s\S]+?)--/,b=/[0-9a-zA-Z][0-9a-zA-Z:]*/,c=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,d=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,e=c.source+"(?:\\s*=\\s*"+d.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",e,"|",d.source+")",")*",">",")","|","(?:","<(/)?","(?:",a.source,"|","(?:","("+b.source+")","(?:","\\s+",e,")*","\\s*/?",")",")",">",")"].join(""),"gi")}(),htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,parse:function(a){for(var b,c,d=this.htmlRegex,e=0,f=[];null!==(b=d.exec(a));){var g=b[0],h=b[3],i=b[1]||b[4],j=!!b[2],k=a.substring(e,b.index);k&&(c=this.parseTextAndEntityNodes(k),f.push.apply(f,c)),f.push(h?this.createCommentNode(g,h):this.createElementNode(g,i,j)),e=b.index+g.length}if(e<a.length){var l=a.substring(e);l&&(c=this.parseTextAndEntityNodes(l),f.push.apply(f,c))}return f},parseTextAndEntityNodes:function(b){for(var c=[],d=a.Util.splitAndCapture(b,this.htmlCharacterEntitiesRegex),e=0,f=d.length;f>e;e+=2){var g=d[e],h=d[e+1];g&&c.push(this.createTextNode(g)),h&&c.push(this.createEntityNode(h))}return c},createCommentNode:function(b,c){return new a.htmlParser.CommentNode({text:b,comment:a.Util.trim(c)})},createElementNode:function(b,c,d){return new a.htmlParser.ElementNode({text:b,tagName:c.toLowerCase(),closing:d})},createEntityNode:function(b){return new a.htmlParser.EntityNode({text:b})},createTextNode:function(b){return new a.htmlParser.TextNode({text:b})}}),a.htmlParser.HtmlNode=a.Util.extend(Object,{text:"",constructor:function(b){a.Util.assign(this,b)},getType:a.Util.abstractMethod,getText:function(){return this.text}}),a.htmlParser.CommentNode=a.Util.extend(a.htmlParser.HtmlNode,{comment:"",getType:function(){return"comment"},getComment:function(){return this.comment}}),a.htmlParser.ElementNode=a.Util.extend(a.htmlParser.HtmlNode,{tagName:"",closing:!1,getType:function(){return"element"},getTagName:function(){return this.tagName},isClosing:function(){return this.closing}}),a.htmlParser.EntityNode=a.Util.extend(a.htmlParser.HtmlNode,{getType:function(){return"entity"}}),a.htmlParser.TextNode=a.Util.extend(a.htmlParser.HtmlNode,{getType:function(){return"text"}}),a.matchParser.MatchParser=a.Util.extend(Object,{urls:!0,email:!0,twitter:!0,phone:!0,hashtag:!1,stripPrefix:!0,matcherRegex:function(){var a=/(^|[^\w])@(\w{1,15})/,b=/(^|[^\w])#(\w{1,139})/,c=/(?:[\-;:&=\+\$,\w\.]+@)/,d=/(?:\+?\d{1,3}[-\040.])?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]\d{4}/,e=/(?:[A-Za-z][-.+A-Za-z0-9]*:(?![A-Za-z][-.+A-Za-z0-9]*:\/\/)(?!\d+\/?)(?:\/\/)?)/,f=/(?:www\.)/,g=/[A-Za-z0-9\.\-]*[A-Za-z0-9\-]/,h=/\.(?: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|press|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/,i=/[\-A-Za-z0-9+&@#\/%=~_()|'$*\[\]?!:,.;]*[\-A-Za-z0-9+&@#\/%=~_()|'$*\[\]]/;return new RegExp(["(",a.source,")","|","(",c.source,g.source,h.source,")","|","(","(?:","(",e.source,g.source,")","|","(?:","(.?//)?",f.source,g.source,")","|","(?:","(.?//)?",g.source,h.source,")",")","(?:"+i.source+")?",")","|","(",d.source,")","|","(",b.source,")"].join(""),"gi")}(),charBeforeProtocolRelMatchRegex:/^(.)?\/\//,constructor:function(b){a.Util.assign(this,b),this.matchValidator=new a.MatchValidator},replace:function(a,b,c){var d=this;return a.replace(this.matcherRegex,function(a,e,f,g,h,i,j,k,l,m,n,o,p){var q=d.processCandidateMatch(a,e,f,g,h,i,j,k,l,m,n,o,p);if(q){var r=b.call(c,q.match);return q.prefixStr+r+q.suffixStr}return a})},processCandidateMatch:function(b,c,d,e,f,g,h,i,j,k,l,m,n){var o,p=i||j,q="",r="";if(g&&!this.urls||f&&!this.email||k&&!this.phone||c&&!this.twitter||l&&!this.hashtag||!this.matchValidator.isValidMatch(g,h,p))return null;if(this.matchHasUnbalancedClosingParen(b))b=b.substr(0,b.length-1),r=")";else{var s=this.matchHasInvalidCharAfterTld(g,h);s>-1&&(r=b.substr(s),b=b.substr(0,s))}if(f)o=new a.match.Email({matchedText:b,email:f});else if(c)d&&(q=d,b=b.slice(1)),o=new a.match.Twitter({matchedText:b,twitterHandle:e});else if(k){var t=b.replace(/\D/g,"");o=new a.match.Phone({matchedText:b,number:t})}else if(l)m&&(q=m,b=b.slice(1)),o=new a.match.Hashtag({matchedText:b,serviceName:this.hashtag,hashtag:n});else{if(p){var u=p.match(this.charBeforeProtocolRelMatchRegex)[1]||"";u&&(q=u,b=b.slice(1))}o=new a.match.Url({matchedText:b,url:b,protocolUrlMatch:!!h,protocolRelativeMatch:!!p,stripPrefix:this.stripPrefix})}return{prefixStr:q,suffixStr:r,match:o}},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},matchHasInvalidCharAfterTld:function(a,b){if(!a)return-1;var c=0;b&&(c=a.indexOf(":"),a=a.slice(c));var d=/^((.?\/\/)?[A-Za-z0-9\.\-]*[A-Za-z0-9\-]\.[A-Za-z]+)/,e=d.exec(a);return null===e?-1:(c+=e[1].length,a=a.slice(e[1].length),/^[^.A-Za-z:\/?#]/.test(a)?c:-1)}}),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].toLowerCase();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.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.Hashtag=a.Util.extend(a.match.Match,{getType:function(){return"hashtag"},getHashtag:function(){return this.hashtag},getAnchorHref:function(){var a=this.serviceName,b=this.hashtag;switch(a){case"twitter":return"https://twitter.com/hashtag/"+b;case"facebook":return"https://www.facebook.com/hashtag/"+b;case"instagram":return"https://instagram.com/explore/tags/"+b;default:throw new Error("Unknown service name to point hashtag to: ",a)}},getAnchorText:function(){return"#"+this.hashtag}}),a.match.Phone=a.Util.extend(a.match.Match,{getType:function(){return"phone"},getNumber:function(){return this.number},getAnchorHref:function(){return"tel:"+this.number},getAnchorText:function(){return this.matchedText}}),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.Autolinker=b()}):"object"==typeof exports?module.exports=b():a.Autolinker=b()}(this,function(){var a=function(b){a.Util.assign(this,b);var c=this.hashtag;if(c!==!1&&"twitter"!==c&&"facebook"!==c&&"instagram"!==c)throw new Error("invalid `hashtag` cfg - see docs");var d=this.truncate=this.truncate||{};"number"==typeof d?this.truncate={length:d,location:"end"}:"object"==typeof d&&(this.truncate.length=d.length||Number.POSITIVE_INFINITY,this.truncate.location=d.location||"end")};return a.prototype={constructor:a,urls:!0,email:!0,twitter:!0,phone:!0,hashtag:!1,newWindow:!0,stripPrefix:!0,truncate:void 0,className:"",htmlParser:void 0,matchParser:void 0,tagBuilder:void 0,link:function(a){if(!a)return"";for(var b=this.getHtmlParser(),c=b.parse(a),d=0,e=[],f=0,g=c.length;g>f;f++){var h=c[f],i=h.getType(),j=h.getText();if("element"===i)"a"===h.getTagName()&&(h.isClosing()?d=Math.max(d-1,0):d++),e.push(j);else if("entity"===i||"comment"===i)e.push(j);else if(0===d){var k=this.linkifyStr(j);e.push(k)}else e.push(j)}return e.join("")},linkifyStr:function(a){return this.getMatchParser().replace(a,this.createMatchReturnVal,this)},createMatchReturnVal:function(b){var c;if(this.replaceFn&&(c=this.replaceFn.call(this,this,b)),"string"==typeof c)return c;if(c===!1)return b.getMatchedText();if(c instanceof a.HtmlTag)return c.toAnchorString();var d=this.getTagBuilder(),e=d.build(b);return e.toAnchorString()},getHtmlParser:function(){var b=this.htmlParser;return b||(b=this.htmlParser=new a.htmlParser.HtmlParser),b},getMatchParser:function(){var b=this.matchParser;return b||(b=this.matchParser=new a.matchParser.MatchParser({urls:this.urls,email:this.email,twitter:this.twitter,phone:this.phone,hashtag:this.hashtag,stripPrefix:this.stripPrefix})),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}},a.link=function(b,c){var d=new a(c);return d.link(b)},a.match={},a.htmlParser={},a.matchParser={},a.truncate={},a.Util={abstractMethod:function(){throw"abstract"},trimRegex:/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,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},trim:function(a){return a.replace(this.trimRegex,"")}},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||""},toAnchorString: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.AnchorTagBuilder=a.Util.extend(Object,{constructor:function(b){a.Util.assign(this,b)},build:function(b){return new a.HtmlTag({tagName:"a",attrs:this.createAttrs(b.getType(),b.getAnchorHref()),innerHtml:this.processAnchorText(b.getAnchorText())})},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){var c=this.truncate;if(!c)return b;var d=c.length,e=c.location;return"smart"===e?a.truncate.TruncateSmart(b,d,".."):"middle"===e?a.truncate.TruncateMiddle(b,d,".."):a.truncate.TruncateEnd(b,d,"..")}}),a.htmlParser.HtmlParser=a.Util.extend(Object,{htmlRegex:function(){var a=/!--([\s\S]+?)--/,b=/[0-9a-zA-Z][0-9a-zA-Z:]*/,c=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,d=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,e=c.source+"(?:\\s*=\\s*"+d.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",e,"|",d.source+")",")*",">",")","|","(?:","<(/)?","(?:",a.source,"|","(?:","("+b.source+")","(?:","\\s+",e,")*","\\s*/?",")",")",">",")"].join(""),"gi")}(),htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,parse:function(a){for(var b,c,d=this.htmlRegex,e=0,f=[];null!==(b=d.exec(a));){var g=b[0],h=b[3],i=b[1]||b[4],j=!!b[2],k=a.substring(e,b.index);k&&(c=this.parseTextAndEntityNodes(k),f.push.apply(f,c)),f.push(h?this.createCommentNode(g,h):this.createElementNode(g,i,j)),e=b.index+g.length}if(e<a.length){var l=a.substring(e);l&&(c=this.parseTextAndEntityNodes(l),f.push.apply(f,c))}return f},parseTextAndEntityNodes:function(b){for(var c=[],d=a.Util.splitAndCapture(b,this.htmlCharacterEntitiesRegex),e=0,f=d.length;f>e;e+=2){var g=d[e],h=d[e+1];g&&c.push(this.createTextNode(g)),h&&c.push(this.createEntityNode(h))}return c},createCommentNode:function(b,c){return new a.htmlParser.CommentNode({text:b,comment:a.Util.trim(c)})},createElementNode:function(b,c,d){return new a.htmlParser.ElementNode({text:b,tagName:c.toLowerCase(),closing:d})},createEntityNode:function(b){return new a.htmlParser.EntityNode({text:b})},createTextNode:function(b){return new a.htmlParser.TextNode({text:b})}}),a.htmlParser.HtmlNode=a.Util.extend(Object,{text:"",constructor:function(b){a.Util.assign(this,b)},getType:a.Util.abstractMethod,getText:function(){return this.text}}),a.htmlParser.CommentNode=a.Util.extend(a.htmlParser.HtmlNode,{comment:"",getType:function(){return"comment"},getComment:function(){return this.comment}}),a.htmlParser.ElementNode=a.Util.extend(a.htmlParser.HtmlNode,{tagName:"",closing:!1,getType:function(){return"element"},getTagName:function(){return this.tagName},isClosing:function(){return this.closing}}),a.htmlParser.EntityNode=a.Util.extend(a.htmlParser.HtmlNode,{getType:function(){return"entity"}}),a.htmlParser.TextNode=a.Util.extend(a.htmlParser.HtmlNode,{getType:function(){return"text"}}),a.matchParser.MatchParser=a.Util.extend(Object,{urls:!0,email:!0,twitter:!0,phone:!0,hashtag:!1,stripPrefix:!0,matcherRegex:function(){var a=/(^|[^\w])@(\w{1,15})/,b=/(^|[^\w])#(\w{1,139})/,c=/(?:[\-;:&=\+\$,\w\.]+@)/,d=/(?:\+?\d{1,3}[-\040.])?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]\d{4}/,e=/(?:[A-Za-z][-.+A-Za-z0-9]*:(?![A-Za-z][-.+A-Za-z0-9]*:\/\/)(?!\d+\/?)(?:\/\/)?)/,f=/(?:www\.)/,g=/[A-Za-z0-9\.\-]*[A-Za-z0-9\-]/,h=/\.(?: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|press|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/,i=/[\-A-Za-z0-9+&@#\/%=~_()|'$*\[\]?!:,.;]*[\-A-Za-z0-9+&@#\/%=~_()|'$*\[\]]/;return new RegExp(["(",a.source,")","|","(",c.source,g.source,h.source,")","|","(","(?:","(",e.source,g.source,")","|","(?:","(.?//)?",f.source,g.source,")","|","(?:","(.?//)?",g.source,h.source,")",")","(?:"+i.source+")?",")","|","(",d.source,")","|","(",b.source,")"].join(""),"gi")}(),charBeforeProtocolRelMatchRegex:/^(.)?\/\//,constructor:function(b){a.Util.assign(this,b),this.matchValidator=new a.MatchValidator},replace:function(a,b,c){var d=this;return a.replace(this.matcherRegex,function(a,e,f,g,h,i,j,k,l,m,n,o,p){var q=d.processCandidateMatch(a,e,f,g,h,i,j,k,l,m,n,o,p);if(q){var r=b.call(c,q.match);return q.prefixStr+r+q.suffixStr}return a})},processCandidateMatch:function(b,c,d,e,f,g,h,i,j,k,l,m,n){var o,p=i||j,q="",r="";if(g&&!this.urls||f&&!this.email||k&&!this.phone||c&&!this.twitter||l&&!this.hashtag||!this.matchValidator.isValidMatch(g,h,p))return null;if(this.matchHasUnbalancedClosingParen(b))b=b.substr(0,b.length-1),r=")";else{var s=this.matchHasInvalidCharAfterTld(g,h);s>-1&&(r=b.substr(s),b=b.substr(0,s))}if(f)o=new a.match.Email({matchedText:b,email:f});else if(c)d&&(q=d,b=b.slice(1)),o=new a.match.Twitter({matchedText:b,twitterHandle:e});else if(k){var t=b.replace(/\D/g,"");o=new a.match.Phone({matchedText:b,number:t})}else if(l)m&&(q=m,b=b.slice(1)),o=new a.match.Hashtag({matchedText:b,serviceName:this.hashtag,hashtag:n});else{if(p){var u=p.match(this.charBeforeProtocolRelMatchRegex)[1]||"";u&&(q=u,b=b.slice(1))}o=new a.match.Url({matchedText:b,url:b,protocolUrlMatch:!!h,protocolRelativeMatch:!!p,stripPrefix:this.stripPrefix})}return{prefixStr:q,suffixStr:r,match:o}},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},matchHasInvalidCharAfterTld:function(a,b){if(!a)return-1;var c=0;b&&(c=a.indexOf(":"),a=a.slice(c));var d=/^((.?\/\/)?[A-Za-z0-9\.\-]*[A-Za-z0-9\-]\.[A-Za-z]+)/,e=d.exec(a);return null===e?-1:(c+=e[1].length,a=a.slice(e[1].length),/^[^.A-Za-z:\/?#]/.test(a)?c:-1)}}),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].toLowerCase();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.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.Hashtag=a.Util.extend(a.match.Match,{getType:function(){return"hashtag"},getHashtag:function(){return this.hashtag},getAnchorHref:function(){var a=this.serviceName,b=this.hashtag;switch(a){case"twitter":return"https://twitter.com/hashtag/"+b;case"facebook":return"https://www.facebook.com/hashtag/"+b;case"instagram":return"https://instagram.com/explore/tags/"+b;default:throw new Error("Unknown service name to point hashtag to: ",a)}},getAnchorText:function(){return"#"+this.hashtag}}),a.match.Phone=a.Util.extend(a.match.Match,{getType:function(){return"phone"},getNumber:function(){return this.number},getAnchorHref:function(){return"tel:"+this.number},getAnchorText:function(){return this.matchedText}}),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.truncate.TruncateEnd=function(b,c,d){return a.Util.ellipsis(b,c,d)},a.truncate.TruncateMiddle=function(a,b,c){if(a.length<=b)return a;var d=b-c.length,e="";return d>0&&(e=a.substr(-1*Math.floor(d/2))),(a.substr(0,Math.ceil(d/2))+c+e).substr(0,b)},a.truncate.TruncateSmart=function(a,b,c){var d=function(a){var b={},c=a,d=c.match(/^([a-z]+):\/\//i);return d&&(b.scheme=d[1],c=c.substr(d[0].length)),d=c.match(/^(.*?)(?=(\?|#|\/|$))/i),d&&(b.host=d[1],c=c.substr(d[0].length)),d=c.match(/^\/(.*?)(?=(\?|#|$))/i),d&&(b.path=d[1],c=c.substr(d[0].length)),d=c.match(/^\?(.*?)(?=(#|$))/i),d&&(b.query=d[1],c=c.substr(d[0].length)),d=c.match(/^#(.*?)$/i),d&&(b.fragment=d[1]),b},e=function(a){var b="";return a.scheme&&a.host&&(b+=a.scheme+"://"),a.host&&(b+=a.host),a.path&&(b+="/"+a.path),a.query&&(b+="?"+a.query),a.fragment&&(b+="#"+a.fragment),b},f=function(a,b){var d=b/2,e=Math.ceil(d),f=-1*Math.floor(d),g="";return 0>f&&(g=a.substr(f)),a.substr(0,e)+c+g};if(a.length<=b)return a;var g=b-c.length,h=d(a);if(h.query){var i=h.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);i&&(h.query=h.query.substr(0,i[1].length),a=e(h))}if(a.length<=b)return a;if(h.host&&(h.host=h.host.replace(/^www\./,""),a=e(h)),a.length<=b)return a;var j="";if(h.host&&(j+=h.host),j.length>=g)return h.host.length==b?(h.host.substr(0,b-c.length)+c).substr(0,b):f(j,g).substr(0,b);var k="";if(h.path&&(k+="/"+h.path),h.query&&(k+="?"+h.query),k){if((j+k).length>=g){if((j+k).length==b)return(j+k).substr(0,b);var l=g-j.length;return(j+f(k,l)).substr(0,b)}j+=k}if(h.fragment){var m="#"+h.fragment;if((j+m).length>=g){if((j+m).length==b)return(j+m).substr(0,b);var n=g-j.length;return(j+f(m,n)).substr(0,b)}j+=m}if(h.scheme&&h.host){var o=h.scheme+"://";if((j+o).length<g)return(o+j).substr(0,b)}if(j.length<=b)return j;var p="";return g>0&&(p=j.substr(-1*Math.floor(g/2))),(j.substr(0,Math.ceil(g/2))+c+p).substr(0,b)},a});

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

Ext.data.JsonP.Autolinker_AnchorTagBuilder({"tagname":"class","name":"Autolinker.AnchorTagBuilder","autodetected":{},"files":[{"filename":"AnchorTagBuilder.js","href":"AnchorTagBuilder.html#Autolinker-AnchorTagBuilder"}],"protected":true,"extends":null,"members":[{"name":"className","tagname":"cfg","owner":"Autolinker.AnchorTagBuilder","id":"cfg-className","meta":{}},{"name":"newWindow","tagname":"cfg","owner":"Autolinker.AnchorTagBuilder","id":"cfg-newWindow","meta":{}},{"name":"truncate","tagname":"cfg","owner":"Autolinker.AnchorTagBuilder","id":"cfg-truncate","meta":{}},{"name":"constructor","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-constructor","meta":{}},{"name":"build","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-build","meta":{}},{"name":"createAttrs","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-createAttrs","meta":{"protected":true}},{"name":"createCssClass","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-createCssClass","meta":{"private":true}},{"name":"doTruncate","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-doTruncate","meta":{"private":true}},{"name":"processAnchorText","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-processAnchorText","meta":{"private":true}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.AnchorTagBuilder","short_doc":"Builds anchor (&lt;a&gt;) tags for the Autolinker utility when a match is found. ...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder' target='_blank'>AnchorTagBuilder.js</a></div></pre><div class='doc-contents'><p>Builds anchor (&lt;a&gt;) tags for the Autolinker utility when a match is found.</p>\n\n<p>Normally this class is instantiated, configured, and used internally by an <a href=\"#!/api/Autolinker\" rel=\"Autolinker\" class=\"docClass\">Autolinker</a> instance, but may\nactually be retrieved in a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a> to create <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">HtmlTag</a> instances\nwhich may be modified before returning from the <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>. For example:</p>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Test google.com\", {\n replaceFn : function( autolinker, match ) {\n var tag = autolinker.getTagBuilder().build( match ); // returns an <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a> instance\n tag.setAttr( 'rel', 'nofollow' );\n\n return tag;\n }\n} );\n\n// generated html:\n// Test &lt;a href=\"http://google.com\" target=\"_blank\" rel=\"nofollow\"&gt;google.com&lt;/a&gt;\n</code></pre>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-className' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-cfg-className' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-cfg-className' class='name expandable'>className</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>A CSS class name to add to the generated links. ...</div><div class='long'><p>A CSS class name to add to the generated links. This class will be added to all links, as well as this class\nplus match suffixes for styling url/email/phone/twitter/hashtag links differently.</p>\n\n<p>For example, if this config is provided as \"myLink\", then:</p>\n\n<ul>\n<li>URL links will have the CSS classes: \"myLink myLink-url\"</li>\n<li>Email links will have the CSS classes: \"myLink myLink-email\", and</li>\n<li>Twitter links will have the CSS classes: \"myLink myLink-twitter\"</li>\n<li>Phone links will have the CSS classes: \"myLink myLink-phone\"</li>\n<li>Hashtag links will have the CSS classes: \"myLink myLink-hashtag\"</li>\n</ul>\n\n</div></div></div><div id='cfg-newWindow' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-cfg-newWindow' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-cfg-newWindow' class='name expandable'>newWindow</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'><p><code>true</code> if the links should open in a new window, <code>false</code> otherwise.</p>\n</div><div class='long'><p><code>true</code> if the links should open in a new window, <code>false</code> otherwise.</p>\n</div></div></div><div id='cfg-truncate' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-cfg-truncate' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-cfg-truncate' class='name expandable'>truncate</a> : Number<span class=\"signature\"></span></div><div class='description'><div class='short'>A number for how many characters long matched text should be truncated to inside the text of\na link. ...</div><div class='long'><p>A number for how many characters long matched text should be truncated to inside the text of\na link. If the matched text is over this number of characters, it will be truncated to this length by\nadding a two period ellipsis ('..') to the end of the string.</p>\n\n<p>For example: A url like 'http://www.yahoo.com/some/long/path/to/a/file' truncated to 25 characters might look\nsomething like this: 'yahoo.com/some/long/pat..'</p>\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-constructor' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker.AnchorTagBuilder-method-constructor' class='name expandable'>Autolinker.AnchorTagBuilder</a>( <span class='pre'>[cfg]</span> ) : <a href=\"#!/api/Autolinker.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</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 (optional)<div class='sub-desc'><p>The configuration options for the AnchorTagBuilder 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.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-build' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-build' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-build' class='name expandable'>build</a>( <span class='pre'>match</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"></span></div><div class='description'><div class='short'>Generates the actual anchor (&lt;a&gt;) tag to use in place of the\nmatched text, via its match object. ...</div><div class='long'><p>Generates the actual anchor (&lt;a&gt;) tag to use in place of the\nmatched text, via its <code>match</code> object.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>match</span> : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><div class='sub-desc'><p>The Match instance to generate an\n anchor tag from.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>The HtmlTag instance for the anchor tag.</p>\n</div></li></ul></div></div></div><div id='method-createAttrs' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-createAttrs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-createAttrs' class='name expandable'>createAttrs</a>( <span class='pre'>matchType, href</span> ) : Object<span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Creates the Object (map) of the HTML attributes for the anchor (&lt;a&gt;)\n tag being generated. ...</div><div class='long'><p>Creates the Object (map) of the HTML attributes for the anchor (&lt;a&gt;)\n tag being generated.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>matchType</span> : \"url\"/\"email\"/\"phone\"/\"twitter\"/\"hashtag\"<div class='sub-desc'><p>The type of\n match that an anchor tag is being generated for.</p>\n</div></li><li><span class='pre'>href</span> : String<div class='sub-desc'><p>The href for the anchor tag.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A key/value Object (map) of the anchor tag's attributes.</p>\n</div></li></ul></div></div></div><div id='method-createCssClass' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-createCssClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-createCssClass' class='name expandable'>createCssClass</a>( <span class='pre'>matchType</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Creates the CSS class that will be used for a given anchor tag, based on\nthe matchType and the className config. ...</div><div class='long'><p>Creates the CSS class that will be used for a given anchor tag, based on\nthe <code>matchType</code> and the <a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-className\" rel=\"Autolinker.AnchorTagBuilder-cfg-className\" class=\"docClass\">className</a> config.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>matchType</span> : \"url\"/\"email\"/\"phone\"/\"twitter\"/\"hashtag\"<div class='sub-desc'><p>The type of\n match that an anchor tag is being generated for.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The CSS class string for the link. Example return:\n \"myLink myLink-url\". If no <a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-className\" rel=\"Autolinker.AnchorTagBuilder-cfg-className\" class=\"docClass\">className</a> was configured, returns\n an empty string.</p>\n</div></li></ul></div></div></div><div id='method-doTruncate' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-doTruncate' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-doTruncate' class='name expandable'>doTruncate</a>( <span class='pre'>text</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Performs the truncation of the anchorText, if the anchorText is\nlonger than the truncate option. ...</div><div class='long'><p>Performs the truncation of the <code>anchorText</code>, if the <code>anchorText</code> is\nlonger than the <a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-truncate\" rel=\"Autolinker.AnchorTagBuilder-cfg-truncate\" class=\"docClass\">truncate</a> option. Truncates the text to 2\ncharacters fewer than the <a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-truncate\" rel=\"Autolinker.AnchorTagBuilder-cfg-truncate\" class=\"docClass\">truncate</a> option, and adds \"..\" to the\nend.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The anchor tag's text (i.e. what will be displayed).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The truncated anchor text.</p>\n</div></li></ul></div></div></div><div id='method-processAnchorText' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-processAnchorText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-processAnchorText' class='name expandable'>processAnchorText</a>( <span class='pre'>anchorText</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Processes the anchorText by truncating the text according to the\ntruncate config. ...</div><div class='long'><p>Processes the <code>anchorText</code> by truncating the text according to the\n<a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-truncate\" rel=\"Autolinker.AnchorTagBuilder-cfg-truncate\" class=\"docClass\">truncate</a> config.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>anchorText</span> : String<div class='sub-desc'><p>The anchor tag's text (i.e. what will be\n displayed).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The processed <code>anchorText</code>.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{"protected":true}});
Ext.data.JsonP.Autolinker_AnchorTagBuilder({"tagname":"class","name":"Autolinker.AnchorTagBuilder","autodetected":{},"files":[{"filename":"AnchorTagBuilder.js","href":"AnchorTagBuilder.html#Autolinker-AnchorTagBuilder"}],"protected":true,"extends":null,"members":[{"name":"className","tagname":"cfg","owner":"Autolinker.AnchorTagBuilder","id":"cfg-className","meta":{}},{"name":"newWindow","tagname":"cfg","owner":"Autolinker.AnchorTagBuilder","id":"cfg-newWindow","meta":{}},{"name":"truncate","tagname":"cfg","owner":"Autolinker.AnchorTagBuilder","id":"cfg-truncate","meta":{}},{"name":"constructor","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-constructor","meta":{}},{"name":"build","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-build","meta":{}},{"name":"createAttrs","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-createAttrs","meta":{"protected":true}},{"name":"createCssClass","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-createCssClass","meta":{"private":true}},{"name":"doTruncate","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-doTruncate","meta":{"private":true}},{"name":"processAnchorText","tagname":"method","owner":"Autolinker.AnchorTagBuilder","id":"method-processAnchorText","meta":{"private":true}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.AnchorTagBuilder","short_doc":"Builds anchor (&lt;a&gt;) tags for the Autolinker utility when a match is found. ...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder' target='_blank'>AnchorTagBuilder.js</a></div></pre><div class='doc-contents'><p>Builds anchor (&lt;a&gt;) tags for the Autolinker utility when a match is found.</p>\n\n<p>Normally this class is instantiated, configured, and used internally by an\n<a href=\"#!/api/Autolinker\" rel=\"Autolinker\" class=\"docClass\">Autolinker</a> instance, but may actually be retrieved in a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>\nto create <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">HtmlTag</a> instances which may be modified\nbefore returning from the <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>. For\nexample:</p>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Test google.com\", {\n replaceFn : function( autolinker, match ) {\n var tag = autolinker.getTagBuilder().build( match ); // returns an <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a> instance\n tag.setAttr( 'rel', 'nofollow' );\n\n return tag;\n }\n} );\n\n// generated html:\n// Test &lt;a href=\"http://google.com\" target=\"_blank\" rel=\"nofollow\"&gt;google.com&lt;/a&gt;\n</code></pre>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-className' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-cfg-className' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-cfg-className' class='name expandable'>className</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>A CSS class name to add to the generated links. ...</div><div class='long'><p>A CSS class name to add to the generated links. This class will be added to all links, as well as this class\nplus match suffixes for styling url/email/phone/twitter/hashtag links differently.</p>\n\n<p>For example, if this config is provided as \"myLink\", then:</p>\n\n<ul>\n<li>URL links will have the CSS classes: \"myLink myLink-url\"</li>\n<li>Email links will have the CSS classes: \"myLink myLink-email\", and</li>\n<li>Twitter links will have the CSS classes: \"myLink myLink-twitter\"</li>\n<li>Phone links will have the CSS classes: \"myLink myLink-phone\"</li>\n<li>Hashtag links will have the CSS classes: \"myLink myLink-hashtag\"</li>\n</ul>\n\n</div></div></div><div id='cfg-newWindow' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-cfg-newWindow' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-cfg-newWindow' class='name expandable'>newWindow</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'><p><code>true</code> if the links should open in a new window, <code>false</code> otherwise.</p>\n</div><div class='long'><p><code>true</code> if the links should open in a new window, <code>false</code> otherwise.</p>\n</div></div></div><div id='cfg-truncate' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-cfg-truncate' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-cfg-truncate' class='name expandable'>truncate</a> : Number/Object<span class=\"signature\"></span></div><div class='description'><div class='short'>Number Form\n\nA number for how many characters matched text should be truncated to\ninside the text of a link. ...</div><div class='long'><h2>Number Form</h2>\n\n<p>A number for how many characters matched text should be truncated to\ninside the text of a link. If the matched text is over this number of\ncharacters, it will be truncated to this length by adding a two period\nellipsis ('..') to the end of the string.</p>\n\n<p>For example: A url like 'http://www.yahoo.com/some/long/path/to/a/file'\ntruncated to 25 characters might look something like this:\n'yahoo.com/some/long/pat..'</p>\n\n<p>Example Usage:</p>\n\n<pre><code>truncate: 25\n</code></pre>\n\n<h2>Object Form</h2>\n\n<p>An Object may also be provided with two properties: <code>length</code> (Number) and\n<code>location</code> (String). <code>location</code> may be one of the following: 'end'\n(default), 'middle', or 'smart'.</p>\n\n<p>Example Usage:</p>\n\n<pre><code>truncate: { length: 25, location: 'middle' }\n</code></pre>\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-constructor' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker.AnchorTagBuilder-method-constructor' class='name expandable'>Autolinker.AnchorTagBuilder</a>( <span class='pre'>[cfg]</span> ) : <a href=\"#!/api/Autolinker.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</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 (optional)<div class='sub-desc'><p>The configuration options for the AnchorTagBuilder 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.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-build' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-build' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-build' class='name expandable'>build</a>( <span class='pre'>match</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"></span></div><div class='description'><div class='short'>Generates the actual anchor (&lt;a&gt;) tag to use in place of the\nmatched text, via its match object. ...</div><div class='long'><p>Generates the actual anchor (&lt;a&gt;) tag to use in place of the\nmatched text, via its <code>match</code> object.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>match</span> : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><div class='sub-desc'><p>The Match instance to generate an\n anchor tag from.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>The HtmlTag instance for the anchor tag.</p>\n</div></li></ul></div></div></div><div id='method-createAttrs' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-createAttrs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-createAttrs' class='name expandable'>createAttrs</a>( <span class='pre'>matchType, anchorHref</span> ) : Object<span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Creates the Object (map) of the HTML attributes for the anchor (&lt;a&gt;)\n tag being generated. ...</div><div class='long'><p>Creates the Object (map) of the HTML attributes for the anchor (&lt;a&gt;)\n tag being generated.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>matchType</span> : \"url\"/\"email\"/\"phone\"/\"twitter\"/\"hashtag\"<div class='sub-desc'><p>The type of\n match that an anchor tag is being generated for.</p>\n</div></li><li><span class='pre'>anchorHref</span> : String<div class='sub-desc'><p>The href for the anchor tag.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A key/value Object (map) of the anchor tag's attributes.</p>\n</div></li></ul></div></div></div><div id='method-createCssClass' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-createCssClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-createCssClass' class='name expandable'>createCssClass</a>( <span class='pre'>matchType</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Creates the CSS class that will be used for a given anchor tag, based on\nthe matchType and the className config. ...</div><div class='long'><p>Creates the CSS class that will be used for a given anchor tag, based on\nthe <code>matchType</code> and the <a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-className\" rel=\"Autolinker.AnchorTagBuilder-cfg-className\" class=\"docClass\">className</a> config.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>matchType</span> : \"url\"/\"email\"/\"phone\"/\"twitter\"/\"hashtag\"<div class='sub-desc'><p>The type of\n match that an anchor tag is being generated for.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The CSS class string for the link. Example return:\n \"myLink myLink-url\". If no <a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-className\" rel=\"Autolinker.AnchorTagBuilder-cfg-className\" class=\"docClass\">className</a> was configured, returns\n an empty string.</p>\n</div></li></ul></div></div></div><div id='method-doTruncate' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-doTruncate' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-doTruncate' class='name expandable'>doTruncate</a>( <span class='pre'>anchorText</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Performs the truncation of the anchorText based on the truncate\noption. ...</div><div class='long'><p>Performs the truncation of the <code>anchorText</code> based on the <a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-truncate\" rel=\"Autolinker.AnchorTagBuilder-cfg-truncate\" class=\"docClass\">truncate</a>\noption. If the <code>anchorText</code> is longer than the length specified by the\n<a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-truncate\" rel=\"Autolinker.AnchorTagBuilder-cfg-truncate\" class=\"docClass\">truncate</a> option, the truncation is performed based on the\n<code>location</code> property. See <a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-truncate\" rel=\"Autolinker.AnchorTagBuilder-cfg-truncate\" class=\"docClass\">truncate</a> for details.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>anchorText</span> : String<div class='sub-desc'><p>The anchor tag's text (i.e. what will be\n displayed).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The truncated anchor text.</p>\n</div></li></ul></div></div></div><div id='method-processAnchorText' 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.AnchorTagBuilder'>Autolinker.AnchorTagBuilder</span><br/><a href='source/AnchorTagBuilder.html#Autolinker-AnchorTagBuilder-method-processAnchorText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.AnchorTagBuilder-method-processAnchorText' class='name expandable'>processAnchorText</a>( <span class='pre'>anchorText</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Processes the anchorText by truncating the text according to the\ntruncate config. ...</div><div class='long'><p>Processes the <code>anchorText</code> by truncating the text according to the\n<a href=\"#!/api/Autolinker.AnchorTagBuilder-cfg-truncate\" rel=\"Autolinker.AnchorTagBuilder-cfg-truncate\" class=\"docClass\">truncate</a> config.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>anchorText</span> : String<div class='sub-desc'><p>The anchor tag's text (i.e. what will be\n displayed).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The processed <code>anchorText</code>.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{"protected":true}});

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

Ext.data.JsonP.Autolinker_HtmlTag({"tagname":"class","name":"Autolinker.HtmlTag","autodetected":{},"files":[{"filename":"HtmlTag.js","href":"HtmlTag.html#Autolinker-HtmlTag"}],"extends":null,"members":[{"name":"attrs","tagname":"cfg","owner":"Autolinker.HtmlTag","id":"cfg-attrs","meta":{}},{"name":"innerHTML","tagname":"cfg","owner":"Autolinker.HtmlTag","id":"cfg-innerHTML","meta":{}},{"name":"innerHtml","tagname":"cfg","owner":"Autolinker.HtmlTag","id":"cfg-innerHtml","meta":{}},{"name":"tagName","tagname":"cfg","owner":"Autolinker.HtmlTag","id":"cfg-tagName","meta":{}},{"name":"whitespaceRegex","tagname":"property","owner":"Autolinker.HtmlTag","id":"property-whitespaceRegex","meta":{"protected":true}},{"name":"constructor","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-constructor","meta":{}},{"name":"addClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-addClass","meta":{"chainable":true}},{"name":"buildAttrsStr","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-buildAttrsStr","meta":{"protected":true}},{"name":"getAttr","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getAttr","meta":{}},{"name":"getAttrs","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getAttrs","meta":{}},{"name":"getClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getClass","meta":{}},{"name":"getInnerHtml","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getInnerHtml","meta":{}},{"name":"getTagName","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getTagName","meta":{}},{"name":"hasClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-hasClass","meta":{}},{"name":"removeClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-removeClass","meta":{"chainable":true}},{"name":"setAttr","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setAttr","meta":{"chainable":true}},{"name":"setAttrs","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setAttrs","meta":{"chainable":true}},{"name":"setClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setClass","meta":{}},{"name":"setInnerHtml","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setInnerHtml","meta":{"chainable":true}},{"name":"setTagName","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setTagName","meta":{"chainable":true}},{"name":"toAnchorString","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-toAnchorString","meta":{}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.HtmlTag","short_doc":"Represents an HTML tag, which can be used to easily build/modify HTML tags programmatically. ...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/HtmlTag.html#Autolinker-HtmlTag' target='_blank'>HtmlTag.js</a></div></pre><div class='doc-contents'><p>Represents an HTML tag, which can be used to easily build/modify HTML tags programmatically.</p>\n\n<p>Autolinker uses this abstraction to create HTML tags, and then write them out as strings. You may also use\nthis class in your code, especially within a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>.</p>\n\n<h2>Examples</h2>\n\n<p>Example instantiation:</p>\n\n<pre><code>var tag = new <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a>( {\n tagName : 'a',\n attrs : { 'href': 'http://google.com', 'class': 'external-link' },\n innerHtml : 'Google'\n} );\n\ntag.toAnchorString(); // &lt;a href=\"http://google.com\" class=\"external-link\"&gt;Google&lt;/a&gt;\n\n// Individual accessor methods\ntag.getTagName(); // 'a'\ntag.getAttr( 'href' ); // 'http://google.com'\ntag.hasClass( 'external-link' ); // true\n</code></pre>\n\n<p>Using mutator methods (which may be used in combination with instantiation config properties):</p>\n\n<pre><code>var tag = new <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a>();\ntag.setTagName( 'a' );\ntag.setAttr( 'href', 'http://google.com' );\ntag.addClass( 'external-link' );\ntag.setInnerHtml( 'Google' );\n\ntag.getTagName(); // 'a'\ntag.getAttr( 'href' ); // 'http://google.com'\ntag.hasClass( 'external-link' ); // true\n\ntag.toAnchorString(); // &lt;a href=\"http://google.com\" class=\"external-link\"&gt;Google&lt;/a&gt;\n</code></pre>\n\n<h2>Example use within a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a></h2>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Test google.com\", {\n replaceFn : function( autolinker, match ) {\n var tag = autolinker.getTagBuilder().build( match ); // returns an <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a> instance, configured with the Match's href and anchor text\n tag.setAttr( 'rel', 'nofollow' );\n\n return tag;\n }\n} );\n\n// generated html:\n// Test &lt;a href=\"http://google.com\" target=\"_blank\" rel=\"nofollow\"&gt;google.com&lt;/a&gt;\n</code></pre>\n\n<h2>Example use with a new tag for the replacement</h2>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Test google.com\", {\n replaceFn : function( autolinker, match ) {\n var tag = new <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a>( {\n tagName : 'button',\n attrs : { 'title': 'Load URL: ' + match.getAnchorHref() },\n innerHtml : 'Load URL: ' + match.getAnchorText()\n } );\n\n return tag;\n }\n} );\n\n// generated html:\n// Test &lt;button title=\"Load URL: http://google.com\"&gt;Load URL: google.com&lt;/button&gt;\n</code></pre>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-attrs' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-cfg-attrs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-cfg-attrs' class='name expandable'>attrs</a> : Object.&lt;String, String&gt;<span class=\"signature\"></span></div><div class='description'><div class='short'>An key/value Object (map) of attributes to create the tag with. ...</div><div class='long'><p>An key/value Object (map) of attributes to create the tag with. The keys are the attribute names, and the\nvalues are the attribute values.</p>\n</div></div></div><div id='cfg-innerHTML' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-cfg-innerHTML' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-cfg-innerHTML' class='name expandable'>innerHTML</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Alias of innerHtml, accepted for consistency with the browser DOM api, but prefer the camelCased version\nfor acronym ...</div><div class='long'><p>Alias of <a href=\"#!/api/Autolinker.HtmlTag-cfg-innerHtml\" rel=\"Autolinker.HtmlTag-cfg-innerHtml\" class=\"docClass\">innerHtml</a>, accepted for consistency with the browser DOM api, but prefer the camelCased version\nfor acronym names.</p>\n</div></div></div><div id='cfg-innerHtml' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-cfg-innerHtml' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-cfg-innerHtml' class='name expandable'>innerHtml</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>The inner HTML for the tag. ...</div><div class='long'><p>The inner HTML for the tag.</p>\n\n<p>Note the camel case name on <code>innerHtml</code>. Acronyms are camelCased in this utility (such as not to run into the acronym\nnaming inconsistency that the DOM developers created with <code>XMLHttpRequest</code>). You may alternatively use <a href=\"#!/api/Autolinker.HtmlTag-cfg-innerHTML\" rel=\"Autolinker.HtmlTag-cfg-innerHTML\" class=\"docClass\">innerHTML</a>\nif you prefer, but this one is recommended.</p>\n</div></div></div><div id='cfg-tagName' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-cfg-tagName' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-cfg-tagName' class='name expandable'>tagName</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>The tag name. ...</div><div class='long'><p>The tag name. Ex: 'a', 'button', etc.</p>\n\n<p>Not required at instantiation time, but should be set using <a href=\"#!/api/Autolinker.HtmlTag-method-setTagName\" rel=\"Autolinker.HtmlTag-method-setTagName\" class=\"docClass\">setTagName</a> before <a href=\"#!/api/Autolinker.HtmlTag-method-toAnchorString\" rel=\"Autolinker.HtmlTag-method-toAnchorString\" class=\"docClass\">toAnchorString</a>\nis executed.</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-whitespaceRegex' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-property-whitespaceRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-property-whitespaceRegex' class='name expandable'>whitespaceRegex</a> : RegExp<span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Regular expression used to match whitespace in a string of CSS classes. ...</div><div class='long'><p>Regular expression used to match whitespace in a string of CSS classes.</p>\n<p>Defaults to: <code>/\\s+/</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 not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker.HtmlTag-method-constructor' class='name expandable'>Autolinker.HtmlTag</a>( <span class='pre'>[cfg]</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</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 (optional)<div class='sub-desc'><p>The configuration properties for this class, in an Object (map)</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-addClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-addClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-addClass' class='name expandable'>addClass</a>( <span class='pre'>cssClass</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Convenience method to add one or more CSS classes to the HtmlTag. ...</div><div class='long'><p>Convenience method to add one or more CSS classes to the HtmlTag. Will not add duplicate CSS classes.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cssClass</span> : String<div class='sub-desc'><p>One or more space-separated CSS classes to add.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-buildAttrsStr' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-buildAttrsStr' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-buildAttrsStr' class='name expandable'>buildAttrsStr</a>( <span class='pre'></span> ) : String<span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Support method for toAnchorString, returns the string space-separated key=\"value\" pairs, used to populate\nthe stringi...</div><div class='long'><p>Support method for <a href=\"#!/api/Autolinker.HtmlTag-method-toAnchorString\" rel=\"Autolinker.HtmlTag-method-toAnchorString\" class=\"docClass\">toAnchorString</a>, returns the string space-separated key=\"value\" pairs, used to populate\nthe stringified HtmlTag.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>Example return: <code>attr1=\"value1\" attr2=\"value2\"</code></p>\n</div></li></ul></div></div></div><div id='method-getAttr' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getAttr' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getAttr' class='name expandable'>getAttr</a>( <span class='pre'>name</span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Retrieves an attribute from the HtmlTag. ...</div><div class='long'><p>Retrieves an attribute from the HtmlTag. If the attribute does not exist, returns <code>undefined</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>name</span> : String<div class='sub-desc'><p>The attribute name to retrieve.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The attribute's value, or <code>undefined</code> if it does not exist on the HtmlTag.</p>\n</div></li></ul></div></div></div><div id='method-getAttrs' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getAttrs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getAttrs' class='name expandable'>getAttrs</a>( <span class='pre'></span> ) : Object.&lt;String, String&gt;<span class=\"signature\"></span></div><div class='description'><div class='short'>Retrieves the attributes Object (map) for the HtmlTag. ...</div><div class='long'><p>Retrieves the attributes Object (map) for the HtmlTag.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object.&lt;String, String&gt;</span><div class='sub-desc'><p>A key/value object of the attributes for the HtmlTag.</p>\n</div></li></ul></div></div></div><div id='method-getClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getClass' class='name expandable'>getClass</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Convenience method to retrieve the CSS class(es) for the HtmlTag, which will each be separated by spaces when\nthere a...</div><div class='long'><p>Convenience method to retrieve the CSS class(es) for the HtmlTag, which will each be separated by spaces when\nthere are multiple.</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-getInnerHtml' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getInnerHtml' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getInnerHtml' class='name expandable'>getInnerHtml</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Retrieves the inner HTML for the tag. ...</div><div class='long'><p>Retrieves the inner HTML for the tag.</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-getTagName' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getTagName' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getTagName' class='name expandable'>getTagName</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Retrieves the tag name. ...</div><div class='long'><p>Retrieves the tag name.</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-hasClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-hasClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-hasClass' class='name expandable'>hasClass</a>( <span class='pre'>cssClass</span> ) : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>Convenience method to check if the tag has a CSS class or not. ...</div><div class='long'><p>Convenience method to check if the tag has a CSS class or not.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cssClass</span> : String<div class='sub-desc'><p>The CSS class to check for.</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 HtmlTag has the CSS class, <code>false</code> otherwise.</p>\n</div></li></ul></div></div></div><div id='method-removeClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-removeClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-removeClass' class='name expandable'>removeClass</a>( <span class='pre'>cssClass</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Convenience method to remove one or more CSS classes from the HtmlTag. ...</div><div class='long'><p>Convenience method to remove one or more CSS classes from the HtmlTag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cssClass</span> : String<div class='sub-desc'><p>One or more space-separated CSS classes to remove.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setAttr' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setAttr' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setAttr' class='name expandable'>setAttr</a>( <span class='pre'>attrName, attrValue</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Sets an attribute on the HtmlTag. ...</div><div class='long'><p>Sets an attribute on the HtmlTag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>attrName</span> : String<div class='sub-desc'><p>The attribute name to set.</p>\n</div></li><li><span class='pre'>attrValue</span> : String<div class='sub-desc'><p>The attribute value to set.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setAttrs' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setAttrs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setAttrs' class='name expandable'>setAttrs</a>( <span class='pre'>attrs</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Sets one or more attributes on the HtmlTag. ...</div><div class='long'><p>Sets one or more attributes on the HtmlTag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>attrs</span> : Object.&lt;String, String&gt;<div class='sub-desc'><p>A key/value Object (map) of the attributes to set.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setClass' class='name expandable'>setClass</a>( <span class='pre'>cssClass</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"></span></div><div class='description'><div class='short'>Sets the provided cssClass, overwriting any current CSS classes on the HtmlTag. ...</div><div class='long'><p>Sets the provided <code>cssClass</code>, overwriting any current CSS classes on the HtmlTag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cssClass</span> : String<div class='sub-desc'><p>One or more space-separated CSS classes to set (overwrite).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setInnerHtml' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setInnerHtml' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setInnerHtml' class='name expandable'>setInnerHtml</a>( <span class='pre'>html</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Sets the inner HTML for the tag. ...</div><div class='long'><p>Sets the inner HTML for the tag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>html</span> : String<div class='sub-desc'><p>The inner HTML to set.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setTagName' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setTagName' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setTagName' class='name expandable'>setTagName</a>( <span class='pre'>tagName</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Sets the tag name that will be used to generate the tag with. ...</div><div class='long'><p>Sets the tag name that will be used to generate the tag with.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>tagName</span> : String<div class='sub-desc'>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-toAnchorString' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-toAnchorString' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-toAnchorString' class='name expandable'>toAnchorString</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Override of superclass method used to generate the HTML string for the tag. ...</div><div class='long'><p>Override of superclass method used to generate the HTML string for the tag.</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></div></div></div>","meta":{}});
Ext.data.JsonP.Autolinker_HtmlTag({"tagname":"class","name":"Autolinker.HtmlTag","autodetected":{},"files":[{"filename":"HtmlTag.js","href":"HtmlTag.html#Autolinker-HtmlTag"}],"extends":null,"members":[{"name":"attrs","tagname":"cfg","owner":"Autolinker.HtmlTag","id":"cfg-attrs","meta":{}},{"name":"innerHTML","tagname":"cfg","owner":"Autolinker.HtmlTag","id":"cfg-innerHTML","meta":{}},{"name":"innerHtml","tagname":"cfg","owner":"Autolinker.HtmlTag","id":"cfg-innerHtml","meta":{}},{"name":"tagName","tagname":"cfg","owner":"Autolinker.HtmlTag","id":"cfg-tagName","meta":{}},{"name":"whitespaceRegex","tagname":"property","owner":"Autolinker.HtmlTag","id":"property-whitespaceRegex","meta":{"protected":true}},{"name":"constructor","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-constructor","meta":{}},{"name":"addClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-addClass","meta":{"chainable":true}},{"name":"buildAttrsStr","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-buildAttrsStr","meta":{"protected":true}},{"name":"getAttr","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getAttr","meta":{}},{"name":"getAttrs","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getAttrs","meta":{}},{"name":"getClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getClass","meta":{}},{"name":"getInnerHtml","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getInnerHtml","meta":{}},{"name":"getTagName","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-getTagName","meta":{}},{"name":"hasClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-hasClass","meta":{}},{"name":"removeClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-removeClass","meta":{"chainable":true}},{"name":"setAttr","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setAttr","meta":{"chainable":true}},{"name":"setAttrs","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setAttrs","meta":{"chainable":true}},{"name":"setClass","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setClass","meta":{}},{"name":"setInnerHtml","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setInnerHtml","meta":{"chainable":true}},{"name":"setTagName","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-setTagName","meta":{"chainable":true}},{"name":"toAnchorString","tagname":"method","owner":"Autolinker.HtmlTag","id":"method-toAnchorString","meta":{}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.HtmlTag","short_doc":"Represents an HTML tag, which can be used to easily build/modify HTML tags programmatically. ...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/HtmlTag.html#Autolinker-HtmlTag' target='_blank'>HtmlTag.js</a></div></pre><div class='doc-contents'><p>Represents an HTML tag, which can be used to easily build/modify HTML tags programmatically.</p>\n\n<p>Autolinker uses this abstraction to create HTML tags, and then write them out as strings. You may also use\nthis class in your code, especially within a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>.</p>\n\n<h2>Examples</h2>\n\n<p>Example instantiation:</p>\n\n<pre><code>var tag = new <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a>( {\n tagName : 'a',\n attrs : { 'href': 'http://google.com', 'class': 'external-link' },\n innerHtml : 'Google'\n} );\n\ntag.toAnchorString(); // &lt;a href=\"http://google.com\" class=\"external-link\"&gt;Google&lt;/a&gt;\n\n// Individual accessor methods\ntag.getTagName(); // 'a'\ntag.getAttr( 'href' ); // 'http://google.com'\ntag.hasClass( 'external-link' ); // true\n</code></pre>\n\n<p>Using mutator methods (which may be used in combination with instantiation config properties):</p>\n\n<pre><code>var tag = new <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a>();\ntag.setTagName( 'a' );\ntag.setAttr( 'href', 'http://google.com' );\ntag.addClass( 'external-link' );\ntag.setInnerHtml( 'Google' );\n\ntag.getTagName(); // 'a'\ntag.getAttr( 'href' ); // 'http://google.com'\ntag.hasClass( 'external-link' ); // true\n\ntag.toAnchorString(); // &lt;a href=\"http://google.com\" class=\"external-link\"&gt;Google&lt;/a&gt;\n</code></pre>\n\n<h2>Example use within a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a></h2>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Test google.com\", {\n replaceFn : function( autolinker, match ) {\n var tag = autolinker.getTagBuilder().build( match ); // returns an <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a> instance, configured with the Match's href and anchor text\n tag.setAttr( 'rel', 'nofollow' );\n\n return tag;\n }\n} );\n\n// generated html:\n// Test &lt;a href=\"http://google.com\" target=\"_blank\" rel=\"nofollow\"&gt;google.com&lt;/a&gt;\n</code></pre>\n\n<h2>Example use with a new tag for the replacement</h2>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Test google.com\", {\n replaceFn : function( autolinker, match ) {\n var tag = new <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a>( {\n tagName : 'button',\n attrs : { 'title': 'Load URL: ' + match.getAnchorHref() },\n innerHtml : 'Load URL: ' + match.getAnchorText()\n } );\n\n return tag;\n }\n} );\n\n// generated html:\n// Test &lt;button title=\"Load URL: http://google.com\"&gt;Load URL: google.com&lt;/button&gt;\n</code></pre>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-attrs' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-cfg-attrs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-cfg-attrs' class='name expandable'>attrs</a> : Object.&lt;String, String&gt;<span class=\"signature\"></span></div><div class='description'><div class='short'>An key/value Object (map) of attributes to create the tag with. ...</div><div class='long'><p>An key/value Object (map) of attributes to create the tag with. The keys are the attribute names, and the\nvalues are the attribute values.</p>\n</div></div></div><div id='cfg-innerHTML' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-cfg-innerHTML' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-cfg-innerHTML' class='name expandable'>innerHTML</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Alias of innerHtml, accepted for consistency with the browser DOM api, but prefer the camelCased version\nfor acronym ...</div><div class='long'><p>Alias of <a href=\"#!/api/Autolinker.HtmlTag-cfg-innerHtml\" rel=\"Autolinker.HtmlTag-cfg-innerHtml\" class=\"docClass\">innerHtml</a>, accepted for consistency with the browser DOM api, but prefer the camelCased version\nfor acronym names.</p>\n</div></div></div><div id='cfg-innerHtml' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-cfg-innerHtml' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-cfg-innerHtml' class='name expandable'>innerHtml</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>The inner HTML for the tag. ...</div><div class='long'><p>The inner HTML for the tag.</p>\n\n<p>Note the camel case name on <code>innerHtml</code>. Acronyms are camelCased in this utility (such as not to run into the acronym\nnaming inconsistency that the DOM developers created with <code>XMLHttpRequest</code>). You may alternatively use <a href=\"#!/api/Autolinker.HtmlTag-cfg-innerHTML\" rel=\"Autolinker.HtmlTag-cfg-innerHTML\" class=\"docClass\">innerHTML</a>\nif you prefer, but this one is recommended.</p>\n</div></div></div><div id='cfg-tagName' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-cfg-tagName' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-cfg-tagName' class='name expandable'>tagName</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>The tag name. ...</div><div class='long'><p>The tag name. Ex: 'a', 'button', etc.</p>\n\n<p>Not required at instantiation time, but should be set using <a href=\"#!/api/Autolinker.HtmlTag-method-setTagName\" rel=\"Autolinker.HtmlTag-method-setTagName\" class=\"docClass\">setTagName</a> before <a href=\"#!/api/Autolinker.HtmlTag-method-toAnchorString\" rel=\"Autolinker.HtmlTag-method-toAnchorString\" class=\"docClass\">toAnchorString</a>\nis executed.</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-whitespaceRegex' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-property-whitespaceRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-property-whitespaceRegex' class='name expandable'>whitespaceRegex</a> : RegExp<span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Regular expression used to match whitespace in a string of CSS classes. ...</div><div class='long'><p>Regular expression used to match whitespace in a string of CSS classes.</p>\n<p>Defaults to: <code>/\\s+/</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 not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Autolinker.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker.HtmlTag-method-constructor' class='name expandable'>Autolinker.HtmlTag</a>( <span class='pre'>[cfg]</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</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 (optional)<div class='sub-desc'><p>The configuration properties for this class, in an Object (map)</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-addClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-addClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-addClass' class='name expandable'>addClass</a>( <span class='pre'>cssClass</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Convenience method to add one or more CSS classes to the HtmlTag. ...</div><div class='long'><p>Convenience method to add one or more CSS classes to the HtmlTag. Will not add duplicate CSS classes.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cssClass</span> : String<div class='sub-desc'><p>One or more space-separated CSS classes to add.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-buildAttrsStr' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-buildAttrsStr' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-buildAttrsStr' class='name expandable'>buildAttrsStr</a>( <span class='pre'></span> ) : String<span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Support method for toAnchorString, returns the string space-separated key=\"value\" pairs, used to populate\nthe stringi...</div><div class='long'><p>Support method for <a href=\"#!/api/Autolinker.HtmlTag-method-toAnchorString\" rel=\"Autolinker.HtmlTag-method-toAnchorString\" class=\"docClass\">toAnchorString</a>, returns the string space-separated key=\"value\" pairs, used to populate\nthe stringified HtmlTag.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>Example return: <code>attr1=\"value1\" attr2=\"value2\"</code></p>\n</div></li></ul></div></div></div><div id='method-getAttr' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getAttr' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getAttr' class='name expandable'>getAttr</a>( <span class='pre'>attrName</span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Retrieves an attribute from the HtmlTag. ...</div><div class='long'><p>Retrieves an attribute from the HtmlTag. If the attribute does not exist, returns <code>undefined</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>attrName</span> : String<div class='sub-desc'><p>The attribute name to retrieve.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The attribute's value, or <code>undefined</code> if it does not exist on the HtmlTag.</p>\n</div></li></ul></div></div></div><div id='method-getAttrs' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getAttrs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getAttrs' class='name expandable'>getAttrs</a>( <span class='pre'></span> ) : Object.&lt;String, String&gt;<span class=\"signature\"></span></div><div class='description'><div class='short'>Retrieves the attributes Object (map) for the HtmlTag. ...</div><div class='long'><p>Retrieves the attributes Object (map) for the HtmlTag.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object.&lt;String, String&gt;</span><div class='sub-desc'><p>A key/value object of the attributes for the HtmlTag.</p>\n</div></li></ul></div></div></div><div id='method-getClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getClass' class='name expandable'>getClass</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Convenience method to retrieve the CSS class(es) for the HtmlTag, which will each be separated by spaces when\nthere a...</div><div class='long'><p>Convenience method to retrieve the CSS class(es) for the HtmlTag, which will each be separated by spaces when\nthere are multiple.</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-getInnerHtml' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getInnerHtml' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getInnerHtml' class='name expandable'>getInnerHtml</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Retrieves the inner HTML for the tag. ...</div><div class='long'><p>Retrieves the inner HTML for the tag.</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-getTagName' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-getTagName' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-getTagName' class='name expandable'>getTagName</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Retrieves the tag name. ...</div><div class='long'><p>Retrieves the tag name.</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-hasClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-hasClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-hasClass' class='name expandable'>hasClass</a>( <span class='pre'>cssClass</span> ) : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>Convenience method to check if the tag has a CSS class or not. ...</div><div class='long'><p>Convenience method to check if the tag has a CSS class or not.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cssClass</span> : String<div class='sub-desc'><p>The CSS class to check for.</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 HtmlTag has the CSS class, <code>false</code> otherwise.</p>\n</div></li></ul></div></div></div><div id='method-removeClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-removeClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-removeClass' class='name expandable'>removeClass</a>( <span class='pre'>cssClass</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Convenience method to remove one or more CSS classes from the HtmlTag. ...</div><div class='long'><p>Convenience method to remove one or more CSS classes from the HtmlTag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cssClass</span> : String<div class='sub-desc'><p>One or more space-separated CSS classes to remove.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setAttr' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setAttr' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setAttr' class='name expandable'>setAttr</a>( <span class='pre'>attrName, attrValue</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Sets an attribute on the HtmlTag. ...</div><div class='long'><p>Sets an attribute on the HtmlTag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>attrName</span> : String<div class='sub-desc'><p>The attribute name to set.</p>\n</div></li><li><span class='pre'>attrValue</span> : String<div class='sub-desc'><p>The attribute value to set.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setAttrs' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setAttrs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setAttrs' class='name expandable'>setAttrs</a>( <span class='pre'>attrs</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Sets one or more attributes on the HtmlTag. ...</div><div class='long'><p>Sets one or more attributes on the HtmlTag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>attrs</span> : Object.&lt;String, String&gt;<div class='sub-desc'><p>A key/value Object (map) of the attributes to set.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setClass' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setClass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setClass' class='name expandable'>setClass</a>( <span class='pre'>cssClass</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"></span></div><div class='description'><div class='short'>Sets the provided cssClass, overwriting any current CSS classes on the HtmlTag. ...</div><div class='long'><p>Sets the provided <code>cssClass</code>, overwriting any current CSS classes on the HtmlTag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>cssClass</span> : String<div class='sub-desc'><p>One or more space-separated CSS classes to set (overwrite).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setInnerHtml' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setInnerHtml' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setInnerHtml' class='name expandable'>setInnerHtml</a>( <span class='pre'>html</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Sets the inner HTML for the tag. ...</div><div class='long'><p>Sets the inner HTML for the tag.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>html</span> : String<div class='sub-desc'><p>The inner HTML to set.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-setTagName' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-setTagName' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-setTagName' class='name expandable'>setTagName</a>( <span class='pre'>tagName</span> ) : <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a><span class=\"signature\"><span class='chainable' >chainable</span></span></div><div class='description'><div class='short'>Sets the tag name that will be used to generate the tag with. ...</div><div class='long'><p>Sets the tag name that will be used to generate the tag with.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>tagName</span> : String<div class='sub-desc'>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a></span><div class='sub-desc'><p>This HtmlTag instance, so that method calls may be chained.</p>\n</div></li></ul></div></div></div><div id='method-toAnchorString' 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.HtmlTag'>Autolinker.HtmlTag</span><br/><a href='source/HtmlTag.html#Autolinker-HtmlTag-method-toAnchorString' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.HtmlTag-method-toAnchorString' class='name expandable'>toAnchorString</a>( <span class='pre'></span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Override of superclass method used to generate the HTML string for the tag. ...</div><div class='long'><p>Override of superclass method used to generate the HTML string for the tag.</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></div></div></div>","meta":{}});

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

Ext.data.JsonP.Autolinker({"tagname":"class","name":"Autolinker","autodetected":{},"files":[{"filename":"Autolinker.js","href":"Autolinker.html#Autolinker"}],"extends":null,"members":[{"name":"className","tagname":"cfg","owner":"Autolinker","id":"cfg-className","meta":{}},{"name":"email","tagname":"cfg","owner":"Autolinker","id":"cfg-email","meta":{}},{"name":"hashtag","tagname":"cfg","owner":"Autolinker","id":"cfg-hashtag","meta":{}},{"name":"newWindow","tagname":"cfg","owner":"Autolinker","id":"cfg-newWindow","meta":{}},{"name":"phone","tagname":"cfg","owner":"Autolinker","id":"cfg-phone","meta":{}},{"name":"replaceFn","tagname":"cfg","owner":"Autolinker","id":"cfg-replaceFn","meta":{}},{"name":"stripPrefix","tagname":"cfg","owner":"Autolinker","id":"cfg-stripPrefix","meta":{}},{"name":"truncate","tagname":"cfg","owner":"Autolinker","id":"cfg-truncate","meta":{}},{"name":"twitter","tagname":"cfg","owner":"Autolinker","id":"cfg-twitter","meta":{}},{"name":"urls","tagname":"cfg","owner":"Autolinker","id":"cfg-urls","meta":{}},{"name":"htmlParser","tagname":"property","owner":"Autolinker","id":"property-htmlParser","meta":{"private":true}},{"name":"matchParser","tagname":"property","owner":"Autolinker","id":"property-matchParser","meta":{"private":true}},{"name":"tagBuilder","tagname":"property","owner":"Autolinker","id":"property-tagBuilder","meta":{"private":true}},{"name":"constructor","tagname":"method","owner":"Autolinker","id":"method-constructor","meta":{}},{"name":"createMatchReturnVal","tagname":"method","owner":"Autolinker","id":"method-createMatchReturnVal","meta":{"private":true}},{"name":"getHtmlParser","tagname":"method","owner":"Autolinker","id":"method-getHtmlParser","meta":{"protected":true}},{"name":"getMatchParser","tagname":"method","owner":"Autolinker","id":"method-getMatchParser","meta":{"protected":true}},{"name":"getTagBuilder","tagname":"method","owner":"Autolinker","id":"method-getTagBuilder","meta":{}},{"name":"link","tagname":"method","owner":"Autolinker","id":"method-link","meta":{}},{"name":"linkifyStr","tagname":"method","owner":"Autolinker","id":"method-linkifyStr","meta":{"private":true}},{"name":"link","tagname":"method","owner":"Autolinker","id":"static-method-link","meta":{"static":true}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker","short_doc":"Utility class used to process a given string of text, and wrap the matches in\nthe appropriate anchor (&lt;a&gt;) tags...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/Autolinker.html#Autolinker' target='_blank'>Autolinker.js</a></div></pre><div class='doc-contents'><p>Utility class used to process a given string of text, and wrap the matches in\nthe appropriate anchor (&lt;a&gt;) tags to turn them into links.</p>\n\n<p>Any of the configuration options may be provided in an Object (map) provided\nto the Autolinker constructor, which will configure how the <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">link()</a>\nmethod will process the links.</p>\n\n<p>For example:</p>\n\n<pre><code>var autolinker = new Autolinker( {\n newWindow : false,\n truncate : 30\n} );\n\nvar html = autolinker.link( \"Joe went to www.yahoo.com\" );\n// produces: 'Joe went to &lt;a href=\"http://www.yahoo.com\"&gt;yahoo.com&lt;/a&gt;'\n</code></pre>\n\n<p>The <a href=\"#!/api/Autolinker-static-method-link\" rel=\"Autolinker-static-method-link\" class=\"docClass\">static link()</a> method may also be used to inline options into a single call, which may\nbe more convenient for one-off uses. For example:</p>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Joe went to www.yahoo.com\", {\n newWindow : false,\n truncate : 30\n} );\n// produces: 'Joe went to &lt;a href=\"http://www.yahoo.com\"&gt;yahoo.com&lt;/a&gt;'\n</code></pre>\n\n<h2>Custom Replacements of Links</h2>\n\n<p>If the configuration options do not provide enough flexibility, a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>\nmay be provided to fully customize the output of Autolinker. This function is\ncalled once for each URL/Email/Phone#/Twitter Handle/Hashtag match that is\nencountered.</p>\n\n<p>For example:</p>\n\n<pre><code>var input = \"...\"; // string with URLs, Email Addresses, Phone #s, Twitter Handles, and Hashtags\n\nvar linkedText = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( input, {\n replaceFn : function( autolinker, match ) {\n console.log( \"href = \", match.getAnchorHref() );\n console.log( \"text = \", match.getAnchorText() );\n\n switch( match.getType() ) {\n case 'url' :\n console.log( \"url: \", match.getUrl() );\n\n if( match.getUrl().indexOf( 'mysite.com' ) === -1 ) {\n var tag = autolinker.getTagBuilder().build( match ); // returns an `<a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a>` instance, which provides mutator methods for easy changes\n tag.setAttr( 'rel', 'nofollow' );\n tag.addClass( 'external-link' );\n\n return tag;\n\n } else {\n return true; // let Autolinker perform its normal anchor tag replacement\n }\n\n case 'email' :\n var email = match.getEmail();\n console.log( \"email: \", email );\n\n if( email === \"my@own.address\" ) {\n return false; // don't auto-link this particular email address; leave as-is\n } else {\n return; // no return value will have Autolinker perform its normal anchor tag replacement (same as returning `true`)\n }\n\n case 'phone' :\n var phoneNumber = match.getPhoneNumber();\n console.log( phoneNumber );\n\n return '&lt;a href=\"http://newplace.to.link.phone.numbers.to/\"&gt;' + phoneNumber + '&lt;/a&gt;';\n\n case 'twitter' :\n var twitterHandle = match.getTwitterHandle();\n console.log( twitterHandle );\n\n return '&lt;a href=\"http://newplace.to.link.twitter.handles.to/\"&gt;' + twitterHandle + '&lt;/a&gt;';\n\n case 'hashtag' :\n var hashtag = match.getHashtag();\n console.log( hashtag );\n\n return '&lt;a href=\"http://newplace.to.link.hashtag.handles.to/\"&gt;' + hashtag + '&lt;/a&gt;';\n }\n }\n} );\n</code></pre>\n\n<p>The function may return the following values:</p>\n\n<ul>\n<li><code>true</code> (Boolean): Allow Autolinker to replace the match as it normally would.</li>\n<li><code>false</code> (Boolean): Do not replace the current match at all - leave as-is.</li>\n<li>Any String: If a string is returned from the function, the string will be used directly as the replacement HTML for\nthe match.</li>\n<li>An <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a> instance, which can be used to build/modify an HTML tag before writing out its HTML text.</li>\n</ul>\n\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-className' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-className' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-className' class='name expandable'>className</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>A CSS class name to add to the generated links. ...</div><div class='long'><p>A CSS class name to add to the generated links. This class will be added to all links, as well as this class\nplus match suffixes for styling url/email/phone/twitter/hashtag links differently.</p>\n\n<p>For example, if this config is provided as \"myLink\", then:</p>\n\n<ul>\n<li>URL links will have the CSS classes: \"myLink myLink-url\"</li>\n<li>Email links will have the CSS classes: \"myLink myLink-email\", and</li>\n<li>Twitter links will have the CSS classes: \"myLink myLink-twitter\"</li>\n<li>Phone links will have the CSS classes: \"myLink myLink-phone\"</li>\n<li>Hashtag links will have the CSS classes: \"myLink myLink-hashtag\"</li>\n</ul>\n\n<p>Defaults to: <code>&quot;&quot;</code></p></div></div></div><div id='cfg-email' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-email' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-email' class='name expandable'>email</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if email addresses should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if email addresses should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-hashtag' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-hashtag' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-hashtag' class='name expandable'>hashtag</a> : Boolean/String<span class=\"signature\"></span></div><div class='description'><div class='short'>A string for the service name to have hashtags (ex: \"#myHashtag\")\nauto-linked to. ...</div><div class='long'><p>A string for the service name to have hashtags (ex: \"#myHashtag\")\nauto-linked to. The currently-supported values are:</p>\n\n<ul>\n<li>'twitter'</li>\n<li>'facebook'</li>\n</ul>\n\n\n<p>Pass <code>false</code> to skip auto-linking of hashtags.</p>\n<p>Defaults to: <code>false</code></p></div></div></div><div id='cfg-newWindow' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-newWindow' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-newWindow' class='name expandable'>newWindow</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if the links should open in a new window, false otherwise. ...</div><div class='long'><p><code>true</code> if the links should open in a new window, <code>false</code> otherwise.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-phone' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-phone' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-phone' class='name expandable'>phone</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if Phone numbers (\"(555)555-5555\") should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if Phone numbers (\"(555)555-5555\") should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-replaceFn' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-replaceFn' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-replaceFn' class='name expandable'>replaceFn</a> : Function<span class=\"signature\"></span></div><div class='description'><div class='short'>A function to individually process each match found in the input string. ...</div><div class='long'><p>A function to individually process each match found in the input string.</p>\n\n<p>See the class's description for usage.</p>\n\n<p>This function is called with the following parameters:</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>autolinker</span> : <a href=\"#!/api/Autolinker\" rel=\"Autolinker\" class=\"docClass\">Autolinker</a><div class='sub-desc'><p>The Autolinker instance, which may be used to retrieve child objects from (such\n as the instance's <a href=\"#!/api/Autolinker-method-getTagBuilder\" rel=\"Autolinker-method-getTagBuilder\" class=\"docClass\">tag builder</a>).</p>\n</div></li><li><span class='pre'>match</span> : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><div class='sub-desc'><p>The Match instance which can be used to retrieve information about the\n match that the <code>replaceFn</code> is currently processing. See <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a> subclasses for details.</p>\n</div></li></ul></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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-stripPrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-stripPrefix' class='name expandable'>stripPrefix</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if 'http://' or 'https://' and/or the 'www.' should be stripped\nfrom the beginning of URL links' text, false oth...</div><div class='long'><p><code>true</code> if 'http://' or 'https://' and/or the 'www.' should be stripped\nfrom the beginning of URL links' text, <code>false</code> otherwise.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-truncate' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-truncate' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-truncate' class='name expandable'>truncate</a> : Number<span class=\"signature\"></span></div><div class='description'><div class='short'>A number for how many characters long matched text should be truncated to inside the text of\na link. ...</div><div class='long'><p>A number for how many characters long matched text should be truncated to inside the text of\na link. If the matched text is over this number of characters, it will be truncated to this length by\nadding a two period ellipsis ('..') to the end of the string.</p>\n\n<p>For example: A url like 'http://www.yahoo.com/some/long/path/to/a/file' truncated to 25 characters might look\nsomething like this: 'yahoo.com/some/long/pat..'</p>\n</div></div></div><div id='cfg-twitter' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-twitter' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-twitter' class='name expandable'>twitter</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if Twitter handles (\"@example\") should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if Twitter handles (\"@example\") should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-urls' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-urls' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-urls' class='name expandable'>urls</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if miscellaneous URLs should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if miscellaneous URLs should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></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-htmlParser' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-property-htmlParser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-property-htmlParser' class='name expandable'>htmlParser</a> : <a href=\"#!/api/Autolinker.htmlParser.HtmlParser\" rel=\"Autolinker.htmlParser.HtmlParser\" class=\"docClass\">Autolinker.htmlParser.HtmlParser</a><span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The HtmlParser instance used to skip over HTML tags, while finding text nodes to process. ...</div><div class='long'><p>The HtmlParser instance used to skip over HTML tags, while finding text nodes to process. This is lazily instantiated\nin the <a href=\"#!/api/Autolinker-method-getHtmlParser\" rel=\"Autolinker-method-getHtmlParser\" class=\"docClass\">getHtmlParser</a> method.</p>\n</div></div></div><div id='property-matchParser' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-property-matchParser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-property-matchParser' class='name expandable'>matchParser</a> : <a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a><span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The MatchParser instance used to find matches in the text nodes of an input string passed to\nlink. ...</div><div class='long'><p>The MatchParser instance used to find matches in the text nodes of an input string passed to\n<a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">link</a>. This is lazily instantiated in the <a href=\"#!/api/Autolinker-method-getMatchParser\" rel=\"Autolinker-method-getMatchParser\" class=\"docClass\">getMatchParser</a> method.</p>\n</div></div></div><div id='property-tagBuilder' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-property-tagBuilder' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-property-tagBuilder' class='name expandable'>tagBuilder</a> : <a href=\"#!/api/Autolinker.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</a><span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The AnchorTagBuilder instance used to build match replacement anchor tags. ...</div><div class='long'><p>The AnchorTagBuilder instance used to build match replacement anchor tags. Note: this is lazily instantiated\nin the <a href=\"#!/api/Autolinker-method-getTagBuilder\" rel=\"Autolinker-method-getTagBuilder\" class=\"docClass\">getTagBuilder</a> method.</p>\n</div></div></div></div></div><div class='members-section'><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div class='definedBy'>Defined By</div><h4 class='members-subtitle'>Instance methods</h3><div id='method-constructor' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker-method-constructor' class='name expandable'>Autolinker</a>( <span class='pre'>[config]</span> ) : <a href=\"#!/api/Autolinker\" rel=\"Autolinker\" class=\"docClass\">Autolinker</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'>config</span> : Object (optional)<div class='sub-desc'><p>The configuration options for the Autolinker 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\" rel=\"Autolinker\" class=\"docClass\">Autolinker</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-createMatchReturnVal' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-createMatchReturnVal' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-createMatchReturnVal' class='name expandable'>createMatchReturnVal</a>( <span class='pre'>match</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Creates the return string value for a given match in the input string,\nfor the linkifyStr method. ...</div><div class='long'><p>Creates the return string value for a given match in the input string,\nfor the <a href=\"#!/api/Autolinker-method-linkifyStr\" rel=\"Autolinker-method-linkifyStr\" class=\"docClass\">linkifyStr</a> method.</p>\n\n<p>This method handles the <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>, if one was provided.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>match</span> : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><div class='sub-desc'><p>The Match object that represents the match.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The string that the <code>match</code> should be replaced with. This is usually the anchor tag string, but\n may be the <code>matchStr</code> itself if the match is not to be replaced.</p>\n</div></li></ul></div></div></div><div id='method-getHtmlParser' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-getHtmlParser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-getHtmlParser' class='name expandable'>getHtmlParser</a>( <span class='pre'></span> ) : <a href=\"#!/api/Autolinker.htmlParser.HtmlParser\" rel=\"Autolinker.htmlParser.HtmlParser\" class=\"docClass\">Autolinker.htmlParser.HtmlParser</a><span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Lazily instantiates and returns the htmlParser instance for this Autolinker instance. ...</div><div class='long'><p>Lazily instantiates and returns the <a href=\"#!/api/Autolinker-property-htmlParser\" rel=\"Autolinker-property-htmlParser\" class=\"docClass\">htmlParser</a> instance for this Autolinker instance.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.htmlParser.HtmlParser\" rel=\"Autolinker.htmlParser.HtmlParser\" class=\"docClass\">Autolinker.htmlParser.HtmlParser</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getMatchParser' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-getMatchParser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-getMatchParser' class='name expandable'>getMatchParser</a>( <span class='pre'></span> ) : <a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a><span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Lazily instantiates and returns the matchParser instance for this Autolinker instance. ...</div><div class='long'><p>Lazily instantiates and returns the <a href=\"#!/api/Autolinker-property-matchParser\" rel=\"Autolinker-property-matchParser\" class=\"docClass\">matchParser</a> instance for this Autolinker instance.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getTagBuilder' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-getTagBuilder' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-getTagBuilder' class='name expandable'>getTagBuilder</a>( <span class='pre'></span> ) : <a href=\"#!/api/Autolinker.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</a><span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the tagBuilder instance for this Autolinker instance, lazily instantiating it\nif it does not yet exist. ...</div><div class='long'><p>Returns the <a href=\"#!/api/Autolinker-property-tagBuilder\" rel=\"Autolinker-property-tagBuilder\" class=\"docClass\">tagBuilder</a> instance for this Autolinker instance, lazily instantiating it\nif it does not yet exist.</p>\n\n<p>This method may be used in a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a> to generate the <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">HtmlTag</a> instance that\nAutolinker would normally generate, and then allow for modifications before returning it. For example:</p>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Test google.com\", {\n replaceFn : function( autolinker, match ) {\n var tag = autolinker.getTagBuilder().build( match ); // returns an <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a> instance\n tag.setAttr( 'rel', 'nofollow' );\n\n return tag;\n }\n} );\n\n// generated html:\n// Test &lt;a href=\"http://google.com\" target=\"_blank\" rel=\"nofollow\"&gt;google.com&lt;/a&gt;\n</code></pre>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-link' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-link' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-link' class='name expandable'>link</a>( <span class='pre'>textOrHtml</span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Automatically links URLs, Email addresses, Phone numbers, Twitter\nhandles, and Hashtags found in the given chunk of H...</div><div class='long'><p>Automatically links URLs, Email addresses, Phone numbers, Twitter\nhandles, and Hashtags found in the given chunk of HTML. Does not link\nURLs found within HTML tags.</p>\n\n<p>For instance, if given the text: <code>You should go to http://www.yahoo.com</code>,\nthen the result will be <code>You should go to\n&amp;lt;a href=\"http://www.yahoo.com\"&amp;gt;http://www.yahoo.com&amp;lt;/a&amp;gt;</code></p>\n\n<p>This method finds the text around any HTML elements in the input\n<code>textOrHtml</code>, which will be the text that is processed. Any original HTML\nelements will be left as-is, as well as the text that is already wrapped\nin anchor (&lt;a&gt;) tags.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>textOrHtml</span> : String<div class='sub-desc'><p>The HTML or text to autolink matches within\n (depending on if the <a href=\"#!/api/Autolinker-cfg-urls\" rel=\"Autolinker-cfg-urls\" class=\"docClass\">urls</a>, <a href=\"#!/api/Autolinker-cfg-email\" rel=\"Autolinker-cfg-email\" class=\"docClass\">email</a>, <a href=\"#!/api/Autolinker-cfg-phone\" rel=\"Autolinker-cfg-phone\" class=\"docClass\">phone</a>,\n <a href=\"#!/api/Autolinker-cfg-twitter\" rel=\"Autolinker-cfg-twitter\" class=\"docClass\">twitter</a>, and <a href=\"#!/api/Autolinker-cfg-hashtag\" rel=\"Autolinker-cfg-hashtag\" class=\"docClass\">hashtag</a> options are enabled).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The HTML, with matches automatically linked.</p>\n</div></li></ul></div></div></div><div id='method-linkifyStr' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-linkifyStr' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-linkifyStr' class='name expandable'>linkifyStr</a>( <span class='pre'>str</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Process the text that lies in between HTML tags, performing the anchor\ntag replacements for the matches, and returns ...</div><div class='long'><p>Process the text that lies in between HTML tags, performing the anchor\ntag replacements for the matches, and returns the string with the\nreplacements made.</p>\n\n<p>This method does the actual wrapping of matches with anchor tags.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>str</span> : String<div class='sub-desc'><p>The string of text to auto-link.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The text with anchor tags auto-filled.</p>\n</div></li></ul></div></div></div></div><div class='subsection'><div class='definedBy'>Defined By</div><h4 class='members-subtitle'>Static methods</h3><div id='static-method-link' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-static-method-link' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-static-method-link' class='name expandable'>link</a>( <span class='pre'>textOrHtml, [options]</span> ) : String<span class=\"signature\"><span class='static' >static</span></span></div><div class='description'><div class='short'>Automatically links URLs, Email addresses, Phone Numbers, Twitter handles,\nand Hashtags found in the given chunk of H...</div><div class='long'><p>Automatically links URLs, Email addresses, Phone Numbers, Twitter handles,\nand Hashtags found in the given chunk of HTML. Does not link URLs found\nwithin HTML tags.</p>\n\n<p>For instance, if given the text: <code>You should go to http://www.yahoo.com</code>,\nthen the result will be <code>You should go to &amp;lt;a href=\"http://www.yahoo.com\"&amp;gt;http://www.yahoo.com&amp;lt;/a&amp;gt;</code></p>\n\n<p>Example:</p>\n\n<pre><code>var linkedText = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Go to google.com\", { newWindow: false } );\n// Produces: \"Go to &lt;a href=\"http://google.com\"&gt;google.com&lt;/a&gt;\"\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>textOrHtml</span> : String<div class='sub-desc'><p>The HTML or text to find matches within (depending\n on if the <a href=\"#!/api/Autolinker-cfg-urls\" rel=\"Autolinker-cfg-urls\" class=\"docClass\">urls</a>, <a href=\"#!/api/Autolinker-cfg-email\" rel=\"Autolinker-cfg-email\" class=\"docClass\">email</a>, <a href=\"#!/api/Autolinker-cfg-phone\" rel=\"Autolinker-cfg-phone\" class=\"docClass\">phone</a>, <a href=\"#!/api/Autolinker-cfg-twitter\" rel=\"Autolinker-cfg-twitter\" class=\"docClass\">twitter</a>,\n and <a href=\"#!/api/Autolinker-cfg-hashtag\" rel=\"Autolinker-cfg-hashtag\" class=\"docClass\">hashtag</a> options are enabled).</p>\n</div></li><li><span class='pre'>options</span> : Object (optional)<div class='sub-desc'><p>Any of the configuration options for the Autolinker\n class, specified in an Object (map). See the class description for an\n example call.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The HTML text, with matches automatically linked.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{}});
Ext.data.JsonP.Autolinker({"tagname":"class","name":"Autolinker","autodetected":{},"files":[{"filename":"Autolinker.js","href":"Autolinker.html#Autolinker"}],"extends":null,"members":[{"name":"className","tagname":"cfg","owner":"Autolinker","id":"cfg-className","meta":{}},{"name":"email","tagname":"cfg","owner":"Autolinker","id":"cfg-email","meta":{}},{"name":"hashtag","tagname":"cfg","owner":"Autolinker","id":"cfg-hashtag","meta":{}},{"name":"newWindow","tagname":"cfg","owner":"Autolinker","id":"cfg-newWindow","meta":{}},{"name":"phone","tagname":"cfg","owner":"Autolinker","id":"cfg-phone","meta":{}},{"name":"replaceFn","tagname":"cfg","owner":"Autolinker","id":"cfg-replaceFn","meta":{}},{"name":"stripPrefix","tagname":"cfg","owner":"Autolinker","id":"cfg-stripPrefix","meta":{}},{"name":"truncate","tagname":"cfg","owner":"Autolinker","id":"cfg-truncate","meta":{}},{"name":"twitter","tagname":"cfg","owner":"Autolinker","id":"cfg-twitter","meta":{}},{"name":"urls","tagname":"cfg","owner":"Autolinker","id":"cfg-urls","meta":{}},{"name":"htmlParser","tagname":"property","owner":"Autolinker","id":"property-htmlParser","meta":{"private":true}},{"name":"matchParser","tagname":"property","owner":"Autolinker","id":"property-matchParser","meta":{"private":true}},{"name":"tagBuilder","tagname":"property","owner":"Autolinker","id":"property-tagBuilder","meta":{"private":true}},{"name":"constructor","tagname":"method","owner":"Autolinker","id":"method-constructor","meta":{}},{"name":"createMatchReturnVal","tagname":"method","owner":"Autolinker","id":"method-createMatchReturnVal","meta":{"private":true}},{"name":"getHtmlParser","tagname":"method","owner":"Autolinker","id":"method-getHtmlParser","meta":{"protected":true}},{"name":"getMatchParser","tagname":"method","owner":"Autolinker","id":"method-getMatchParser","meta":{"protected":true}},{"name":"getTagBuilder","tagname":"method","owner":"Autolinker","id":"method-getTagBuilder","meta":{}},{"name":"link","tagname":"method","owner":"Autolinker","id":"method-link","meta":{}},{"name":"linkifyStr","tagname":"method","owner":"Autolinker","id":"method-linkifyStr","meta":{"private":true}},{"name":"link","tagname":"method","owner":"Autolinker","id":"static-method-link","meta":{"static":true}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker","short_doc":"Utility class used to process a given string of text, and wrap the matches in\nthe appropriate anchor (&lt;a&gt;) tags...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/Autolinker.html#Autolinker' target='_blank'>Autolinker.js</a></div></pre><div class='doc-contents'><p>Utility class used to process a given string of text, and wrap the matches in\nthe appropriate anchor (&lt;a&gt;) tags to turn them into links.</p>\n\n<p>Any of the configuration options may be provided in an Object (map) provided\nto the Autolinker constructor, which will configure how the <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">link()</a>\nmethod will process the links.</p>\n\n<p>For example:</p>\n\n<pre><code>var autolinker = new Autolinker( {\n newWindow : false,\n truncate : 30\n} );\n\nvar html = autolinker.link( \"Joe went to www.yahoo.com\" );\n// produces: 'Joe went to &lt;a href=\"http://www.yahoo.com\"&gt;yahoo.com&lt;/a&gt;'\n</code></pre>\n\n<p>The <a href=\"#!/api/Autolinker-static-method-link\" rel=\"Autolinker-static-method-link\" class=\"docClass\">static link()</a> method may also be used to inline options into a single call, which may\nbe more convenient for one-off uses. For example:</p>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Joe went to www.yahoo.com\", {\n newWindow : false,\n truncate : 30\n} );\n// produces: 'Joe went to &lt;a href=\"http://www.yahoo.com\"&gt;yahoo.com&lt;/a&gt;'\n</code></pre>\n\n<h2>Custom Replacements of Links</h2>\n\n<p>If the configuration options do not provide enough flexibility, a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>\nmay be provided to fully customize the output of Autolinker. This function is\ncalled once for each URL/Email/Phone#/Twitter Handle/Hashtag match that is\nencountered.</p>\n\n<p>For example:</p>\n\n<pre><code>var input = \"...\"; // string with URLs, Email Addresses, Phone #s, Twitter Handles, and Hashtags\n\nvar linkedText = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( input, {\n replaceFn : function( autolinker, match ) {\n console.log( \"href = \", match.getAnchorHref() );\n console.log( \"text = \", match.getAnchorText() );\n\n switch( match.getType() ) {\n case 'url' :\n console.log( \"url: \", match.getUrl() );\n\n if( match.getUrl().indexOf( 'mysite.com' ) === -1 ) {\n var tag = autolinker.getTagBuilder().build( match ); // returns an `<a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a>` instance, which provides mutator methods for easy changes\n tag.setAttr( 'rel', 'nofollow' );\n tag.addClass( 'external-link' );\n\n return tag;\n\n } else {\n return true; // let Autolinker perform its normal anchor tag replacement\n }\n\n case 'email' :\n var email = match.getEmail();\n console.log( \"email: \", email );\n\n if( email === \"my@own.address\" ) {\n return false; // don't auto-link this particular email address; leave as-is\n } else {\n return; // no return value will have Autolinker perform its normal anchor tag replacement (same as returning `true`)\n }\n\n case 'phone' :\n var phoneNumber = match.getPhoneNumber();\n console.log( phoneNumber );\n\n return '&lt;a href=\"http://newplace.to.link.phone.numbers.to/\"&gt;' + phoneNumber + '&lt;/a&gt;';\n\n case 'twitter' :\n var twitterHandle = match.getTwitterHandle();\n console.log( twitterHandle );\n\n return '&lt;a href=\"http://newplace.to.link.twitter.handles.to/\"&gt;' + twitterHandle + '&lt;/a&gt;';\n\n case 'hashtag' :\n var hashtag = match.getHashtag();\n console.log( hashtag );\n\n return '&lt;a href=\"http://newplace.to.link.hashtag.handles.to/\"&gt;' + hashtag + '&lt;/a&gt;';\n }\n }\n} );\n</code></pre>\n\n<p>The function may return the following values:</p>\n\n<ul>\n<li><code>true</code> (Boolean): Allow Autolinker to replace the match as it normally would.</li>\n<li><code>false</code> (Boolean): Do not replace the current match at all - leave as-is.</li>\n<li>Any String: If a string is returned from the function, the string will be used directly as the replacement HTML for\nthe match.</li>\n<li>An <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a> instance, which can be used to build/modify an HTML tag before writing out its HTML text.</li>\n</ul>\n\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-className' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-className' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-className' class='name expandable'>className</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>A CSS class name to add to the generated links. ...</div><div class='long'><p>A CSS class name to add to the generated links. This class will be added to all links, as well as this class\nplus match suffixes for styling url/email/phone/twitter/hashtag links differently.</p>\n\n<p>For example, if this config is provided as \"myLink\", then:</p>\n\n<ul>\n<li>URL links will have the CSS classes: \"myLink myLink-url\"</li>\n<li>Email links will have the CSS classes: \"myLink myLink-email\", and</li>\n<li>Twitter links will have the CSS classes: \"myLink myLink-twitter\"</li>\n<li>Phone links will have the CSS classes: \"myLink myLink-phone\"</li>\n<li>Hashtag links will have the CSS classes: \"myLink myLink-hashtag\"</li>\n</ul>\n\n<p>Defaults to: <code>&quot;&quot;</code></p></div></div></div><div id='cfg-email' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-email' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-email' class='name expandable'>email</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if email addresses should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if email addresses should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-hashtag' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-hashtag' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-hashtag' class='name expandable'>hashtag</a> : Boolean/String<span class=\"signature\"></span></div><div class='description'><div class='short'>A string for the service name to have hashtags (ex: \"#myHashtag\")\nauto-linked to. ...</div><div class='long'><p>A string for the service name to have hashtags (ex: \"#myHashtag\")\nauto-linked to. The currently-supported values are:</p>\n\n<ul>\n<li>'twitter'</li>\n<li>'facebook'</li>\n<li>'instagram'</li>\n</ul>\n\n\n<p>Pass <code>false</code> to skip auto-linking of hashtags.</p>\n<p>Defaults to: <code>false</code></p></div></div></div><div id='cfg-newWindow' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-newWindow' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-newWindow' class='name expandable'>newWindow</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if the links should open in a new window, false otherwise. ...</div><div class='long'><p><code>true</code> if the links should open in a new window, <code>false</code> otherwise.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-phone' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-phone' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-phone' class='name expandable'>phone</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if Phone numbers (\"(555)555-5555\") should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if Phone numbers (\"(555)555-5555\") should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-replaceFn' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-replaceFn' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-replaceFn' class='name expandable'>replaceFn</a> : Function<span class=\"signature\"></span></div><div class='description'><div class='short'>A function to individually process each match found in the input string. ...</div><div class='long'><p>A function to individually process each match found in the input string.</p>\n\n<p>See the class's description for usage.</p>\n\n<p>This function is called with the following parameters:</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>autolinker</span> : <a href=\"#!/api/Autolinker\" rel=\"Autolinker\" class=\"docClass\">Autolinker</a><div class='sub-desc'><p>The Autolinker instance, which may be used to retrieve child objects from (such\n as the instance's <a href=\"#!/api/Autolinker-method-getTagBuilder\" rel=\"Autolinker-method-getTagBuilder\" class=\"docClass\">tag builder</a>).</p>\n</div></li><li><span class='pre'>match</span> : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><div class='sub-desc'><p>The Match instance which can be used to retrieve information about the\n match that the <code>replaceFn</code> is currently processing. See <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a> subclasses for details.</p>\n</div></li></ul></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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-stripPrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-stripPrefix' class='name expandable'>stripPrefix</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if 'http://' or 'https://' and/or the 'www.' should be stripped\nfrom the beginning of URL links' text, false oth...</div><div class='long'><p><code>true</code> if 'http://' or 'https://' and/or the 'www.' should be stripped\nfrom the beginning of URL links' text, <code>false</code> otherwise.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-truncate' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-truncate' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-truncate' class='name expandable'>truncate</a> : Number/Object<span class=\"signature\"></span></div><div class='description'><div class='short'>Number Form\n\nA number for how many characters matched text should be truncated to\ninside the text of a link. ...</div><div class='long'><h2>Number Form</h2>\n\n<p>A number for how many characters matched text should be truncated to\ninside the text of a link. If the matched text is over this number of\ncharacters, it will be truncated to this length by adding a two period\nellipsis ('..') to the end of the string.</p>\n\n<p>For example: A url like 'http://www.yahoo.com/some/long/path/to/a/file'\ntruncated to 25 characters might look something like this:\n'yahoo.com/some/long/pat..'</p>\n\n<p>Example Usage:</p>\n\n<pre><code>truncate: 25\n</code></pre>\n\n<h2>Object Form</h2>\n\n<p>An Object may also be provided with two properties: <code>length</code> (Number) and\n<code>location</code> (String). <code>location</code> may be one of the following: 'end'\n(default), 'middle', or 'smart'.</p>\n\n<p>Example Usage:</p>\n\n<pre><code>truncate: { length: 25, location: 'middle' }\n</code></pre>\n<ul><li><span class='pre'>length</span> : Number<div class='sub-desc'><p>How many characters to allow before\n truncation will occur.</p>\n</div></li><li><span class='pre'>location</span> : \"end\"/\"middle\"/\"smart\" (optional)<div class='sub-desc'><ul>\n<li>'end' (default): will truncate up to the number of characters, and then\nadd an ellipsis at the end. Ex: 'yahoo.com/some/long/pat..'</li>\n<li>'middle': will truncate and add the ellipsis in the middle. Ex:\n'yahoo.com/s..th/to/a/file'</li>\n<li>'smart': for URLs where the algorithm attempts to strip out unnecessary\nparts first (such as the 'www.', then URL scheme, hash, etc.),\nattempting to still make the URL human-readable before trying to find a\ngood point to insert the ellipsis if it is still too long. Ex:\n'yahoo.com/some..to/a/file'. For more details, see\n<a href=\"#!/api/Autolinker.truncate.TruncateSmart\" rel=\"Autolinker.truncate.TruncateSmart\" class=\"docClass\">Autolinker.truncate.TruncateSmart</a>.</li>\n</ul>\n\n<p>Defaults to: <code>&quot;end&quot;</code></p></div></li></ul></div></div></div><div id='cfg-twitter' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-twitter' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-twitter' class='name expandable'>twitter</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if Twitter handles (\"@example\") should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if Twitter handles (\"@example\") should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-urls' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-cfg-urls' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-cfg-urls' class='name expandable'>urls</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if miscellaneous URLs should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if miscellaneous URLs should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></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-htmlParser' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-property-htmlParser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-property-htmlParser' class='name expandable'>htmlParser</a> : <a href=\"#!/api/Autolinker.htmlParser.HtmlParser\" rel=\"Autolinker.htmlParser.HtmlParser\" class=\"docClass\">Autolinker.htmlParser.HtmlParser</a><span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The HtmlParser instance used to skip over HTML tags, while finding text nodes to process. ...</div><div class='long'><p>The HtmlParser instance used to skip over HTML tags, while finding text nodes to process. This is lazily instantiated\nin the <a href=\"#!/api/Autolinker-method-getHtmlParser\" rel=\"Autolinker-method-getHtmlParser\" class=\"docClass\">getHtmlParser</a> method.</p>\n</div></div></div><div id='property-matchParser' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-property-matchParser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-property-matchParser' class='name expandable'>matchParser</a> : <a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a><span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The MatchParser instance used to find matches in the text nodes of an input string passed to\nlink. ...</div><div class='long'><p>The MatchParser instance used to find matches in the text nodes of an input string passed to\n<a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">link</a>. This is lazily instantiated in the <a href=\"#!/api/Autolinker-method-getMatchParser\" rel=\"Autolinker-method-getMatchParser\" class=\"docClass\">getMatchParser</a> method.</p>\n</div></div></div><div id='property-tagBuilder' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-property-tagBuilder' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-property-tagBuilder' class='name expandable'>tagBuilder</a> : <a href=\"#!/api/Autolinker.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</a><span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The AnchorTagBuilder instance used to build match replacement anchor tags. ...</div><div class='long'><p>The AnchorTagBuilder instance used to build match replacement anchor tags. Note: this is lazily instantiated\nin the <a href=\"#!/api/Autolinker-method-getTagBuilder\" rel=\"Autolinker-method-getTagBuilder\" class=\"docClass\">getTagBuilder</a> method.</p>\n</div></div></div></div></div><div class='members-section'><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div class='definedBy'>Defined By</div><h4 class='members-subtitle'>Instance methods</h3><div id='method-constructor' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker-method-constructor' class='name expandable'>Autolinker</a>( <span class='pre'>[cfg]</span> ) : <a href=\"#!/api/Autolinker\" rel=\"Autolinker\" class=\"docClass\">Autolinker</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 (optional)<div class='sub-desc'><p>The configuration options for the Autolinker 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\" rel=\"Autolinker\" class=\"docClass\">Autolinker</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-createMatchReturnVal' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-createMatchReturnVal' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-createMatchReturnVal' class='name expandable'>createMatchReturnVal</a>( <span class='pre'>match</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Creates the return string value for a given match in the input string,\nfor the linkifyStr method. ...</div><div class='long'><p>Creates the return string value for a given match in the input string,\nfor the <a href=\"#!/api/Autolinker-method-linkifyStr\" rel=\"Autolinker-method-linkifyStr\" class=\"docClass\">linkifyStr</a> method.</p>\n\n<p>This method handles the <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a>, if one was provided.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>match</span> : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><div class='sub-desc'><p>The Match object that represents the match.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The string that the <code>match</code> should be replaced with. This is usually the anchor tag string, but\n may be the <code>matchStr</code> itself if the match is not to be replaced.</p>\n</div></li></ul></div></div></div><div id='method-getHtmlParser' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-getHtmlParser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-getHtmlParser' class='name expandable'>getHtmlParser</a>( <span class='pre'></span> ) : <a href=\"#!/api/Autolinker.htmlParser.HtmlParser\" rel=\"Autolinker.htmlParser.HtmlParser\" class=\"docClass\">Autolinker.htmlParser.HtmlParser</a><span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Lazily instantiates and returns the htmlParser instance for this Autolinker instance. ...</div><div class='long'><p>Lazily instantiates and returns the <a href=\"#!/api/Autolinker-property-htmlParser\" rel=\"Autolinker-property-htmlParser\" class=\"docClass\">htmlParser</a> instance for this Autolinker instance.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.htmlParser.HtmlParser\" rel=\"Autolinker.htmlParser.HtmlParser\" class=\"docClass\">Autolinker.htmlParser.HtmlParser</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getMatchParser' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-getMatchParser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-getMatchParser' class='name expandable'>getMatchParser</a>( <span class='pre'></span> ) : <a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a><span class=\"signature\"><span class='protected' >protected</span></span></div><div class='description'><div class='short'>Lazily instantiates and returns the matchParser instance for this Autolinker instance. ...</div><div class='long'><p>Lazily instantiates and returns the <a href=\"#!/api/Autolinker-property-matchParser\" rel=\"Autolinker-property-matchParser\" class=\"docClass\">matchParser</a> instance for this Autolinker instance.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getTagBuilder' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-getTagBuilder' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-getTagBuilder' class='name expandable'>getTagBuilder</a>( <span class='pre'></span> ) : <a href=\"#!/api/Autolinker.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</a><span class=\"signature\"></span></div><div class='description'><div class='short'>Returns the tagBuilder instance for this Autolinker instance, lazily instantiating it\nif it does not yet exist. ...</div><div class='long'><p>Returns the <a href=\"#!/api/Autolinker-property-tagBuilder\" rel=\"Autolinker-property-tagBuilder\" class=\"docClass\">tagBuilder</a> instance for this Autolinker instance, lazily instantiating it\nif it does not yet exist.</p>\n\n<p>This method may be used in a <a href=\"#!/api/Autolinker-cfg-replaceFn\" rel=\"Autolinker-cfg-replaceFn\" class=\"docClass\">replaceFn</a> to generate the <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">HtmlTag</a> instance that\nAutolinker would normally generate, and then allow for modifications before returning it. For example:</p>\n\n<pre><code>var html = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Test google.com\", {\n replaceFn : function( autolinker, match ) {\n var tag = autolinker.getTagBuilder().build( match ); // returns an <a href=\"#!/api/Autolinker.HtmlTag\" rel=\"Autolinker.HtmlTag\" class=\"docClass\">Autolinker.HtmlTag</a> instance\n tag.setAttr( 'rel', 'nofollow' );\n\n return tag;\n }\n} );\n\n// generated html:\n// Test &lt;a href=\"http://google.com\" target=\"_blank\" rel=\"nofollow\"&gt;google.com&lt;/a&gt;\n</code></pre>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.AnchorTagBuilder\" rel=\"Autolinker.AnchorTagBuilder\" class=\"docClass\">Autolinker.AnchorTagBuilder</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-link' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-link' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-link' class='name expandable'>link</a>( <span class='pre'>textOrHtml</span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Automatically links URLs, Email addresses, Phone numbers, Twitter\nhandles, and Hashtags found in the given chunk of H...</div><div class='long'><p>Automatically links URLs, Email addresses, Phone numbers, Twitter\nhandles, and Hashtags found in the given chunk of HTML. Does not link\nURLs found within HTML tags.</p>\n\n<p>For instance, if given the text: <code>You should go to http://www.yahoo.com</code>,\nthen the result will be <code>You should go to\n&amp;lt;a href=\"http://www.yahoo.com\"&amp;gt;http://www.yahoo.com&amp;lt;/a&amp;gt;</code></p>\n\n<p>This method finds the text around any HTML elements in the input\n<code>textOrHtml</code>, which will be the text that is processed. Any original HTML\nelements will be left as-is, as well as the text that is already wrapped\nin anchor (&lt;a&gt;) tags.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>textOrHtml</span> : String<div class='sub-desc'><p>The HTML or text to autolink matches within\n (depending on if the <a href=\"#!/api/Autolinker-cfg-urls\" rel=\"Autolinker-cfg-urls\" class=\"docClass\">urls</a>, <a href=\"#!/api/Autolinker-cfg-email\" rel=\"Autolinker-cfg-email\" class=\"docClass\">email</a>, <a href=\"#!/api/Autolinker-cfg-phone\" rel=\"Autolinker-cfg-phone\" class=\"docClass\">phone</a>,\n <a href=\"#!/api/Autolinker-cfg-twitter\" rel=\"Autolinker-cfg-twitter\" class=\"docClass\">twitter</a>, and <a href=\"#!/api/Autolinker-cfg-hashtag\" rel=\"Autolinker-cfg-hashtag\" class=\"docClass\">hashtag</a> options are enabled).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The HTML, with matches automatically linked.</p>\n</div></li></ul></div></div></div><div id='method-linkifyStr' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-method-linkifyStr' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-method-linkifyStr' class='name expandable'>linkifyStr</a>( <span class='pre'>str</span> ) : String<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Process the text that lies in between HTML tags, performing the anchor\ntag replacements for the matches, and returns ...</div><div class='long'><p>Process the text that lies in between HTML tags, performing the anchor\ntag replacements for the matches, and returns the string with the\nreplacements made.</p>\n\n<p>This method does the actual wrapping of matches with anchor tags.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>str</span> : String<div class='sub-desc'><p>The string of text to auto-link.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The text with anchor tags auto-filled.</p>\n</div></li></ul></div></div></div></div><div class='subsection'><div class='definedBy'>Defined By</div><h4 class='members-subtitle'>Static methods</h3><div id='static-method-link' 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'>Autolinker</span><br/><a href='source/Autolinker.html#Autolinker-static-method-link' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker-static-method-link' class='name expandable'>link</a>( <span class='pre'>textOrHtml, [options]</span> ) : String<span class=\"signature\"><span class='static' >static</span></span></div><div class='description'><div class='short'>Automatically links URLs, Email addresses, Phone Numbers, Twitter handles,\nand Hashtags found in the given chunk of H...</div><div class='long'><p>Automatically links URLs, Email addresses, Phone Numbers, Twitter handles,\nand Hashtags found in the given chunk of HTML. Does not link URLs found\nwithin HTML tags.</p>\n\n<p>For instance, if given the text: <code>You should go to http://www.yahoo.com</code>,\nthen the result will be <code>You should go to &amp;lt;a href=\"http://www.yahoo.com\"&amp;gt;http://www.yahoo.com&amp;lt;/a&amp;gt;</code></p>\n\n<p>Example:</p>\n\n<pre><code>var linkedText = <a href=\"#!/api/Autolinker-method-link\" rel=\"Autolinker-method-link\" class=\"docClass\">Autolinker.link</a>( \"Go to google.com\", { newWindow: false } );\n// Produces: \"Go to &lt;a href=\"http://google.com\"&gt;google.com&lt;/a&gt;\"\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>textOrHtml</span> : String<div class='sub-desc'><p>The HTML or text to find matches within (depending\n on if the <a href=\"#!/api/Autolinker-cfg-urls\" rel=\"Autolinker-cfg-urls\" class=\"docClass\">urls</a>, <a href=\"#!/api/Autolinker-cfg-email\" rel=\"Autolinker-cfg-email\" class=\"docClass\">email</a>, <a href=\"#!/api/Autolinker-cfg-phone\" rel=\"Autolinker-cfg-phone\" class=\"docClass\">phone</a>, <a href=\"#!/api/Autolinker-cfg-twitter\" rel=\"Autolinker-cfg-twitter\" class=\"docClass\">twitter</a>,\n and <a href=\"#!/api/Autolinker-cfg-hashtag\" rel=\"Autolinker-cfg-hashtag\" class=\"docClass\">hashtag</a> options are enabled).</p>\n</div></li><li><span class='pre'>options</span> : Object (optional)<div class='sub-desc'><p>Any of the configuration options for the Autolinker\n class, specified in an Object (map). See the class description for an\n example call.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The HTML text, with matches automatically linked.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{}});

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

Ext.data.JsonP.Autolinker_matchParser_MatchParser({"tagname":"class","name":"Autolinker.matchParser.MatchParser","autodetected":{},"files":[{"filename":"MatchParser.js","href":"MatchParser.html#Autolinker-matchParser-MatchParser"}],"private":true,"extends":null,"members":[{"name":"email","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-email","meta":{}},{"name":"hashtag","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-hashtag","meta":{}},{"name":"phone","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-phone","meta":{}},{"name":"stripPrefix","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-stripPrefix","meta":{}},{"name":"twitter","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-twitter","meta":{}},{"name":"urls","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-urls","meta":{}},{"name":"charBeforeProtocolRelMatchRegex","tagname":"property","owner":"Autolinker.matchParser.MatchParser","id":"property-charBeforeProtocolRelMatchRegex","meta":{"private":true}},{"name":"matchValidator","tagname":"property","owner":"Autolinker.matchParser.MatchParser","id":"property-matchValidator","meta":{"private":true}},{"name":"matcherRegex","tagname":"property","owner":"Autolinker.matchParser.MatchParser","id":"property-matcherRegex","meta":{"private":true}},{"name":"constructor","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-constructor","meta":{}},{"name":"matchHasInvalidCharAfterTld","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-matchHasInvalidCharAfterTld","meta":{"private":true}},{"name":"matchHasUnbalancedClosingParen","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-matchHasUnbalancedClosingParen","meta":{"private":true}},{"name":"processCandidateMatch","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-processCandidateMatch","meta":{"private":true}},{"name":"replace","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-replace","meta":{}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.matchParser.MatchParser","short_doc":"Used by Autolinker to parse potential matches, given an input string of text. ...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser' target='_blank'>MatchParser.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 parse potential matches, given an input string of text.</p>\n\n<p>The MatchParser is fed a non-HTML string in order to search for matches.\nAutolinker first uses the <a href=\"#!/api/Autolinker.htmlParser.HtmlParser\" rel=\"Autolinker.htmlParser.HtmlParser\" class=\"docClass\">Autolinker.htmlParser.HtmlParser</a> to \"walk\naround\" HTML tags, and then the text around the HTML tags is passed into the\nMatchParser in order to find the actual matches.</p>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-email' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-email' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-email' class='name expandable'>email</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if email addresses should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if email addresses should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-hashtag' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-hashtag' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-hashtag' class='name expandable'>hashtag</a> : Boolean/String<span class=\"signature\"></span></div><div class='description'><div class='short'>A string for the service name to have hashtags (ex: \"#myHashtag\")\nauto-linked to. ...</div><div class='long'><p>A string for the service name to have hashtags (ex: \"#myHashtag\")\nauto-linked to. The currently-supported values are:</p>\n\n<ul>\n<li>'twitter'</li>\n<li>'facebook'</li>\n</ul>\n\n\n<p>Pass <code>false</code> to skip auto-linking of hashtags.</p>\n<p>Defaults to: <code>false</code></p></div></div></div><div id='cfg-phone' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-phone' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-phone' class='name expandable'>phone</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if Phone numbers (\"(555)555-5555\") should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if Phone numbers (\"(555)555-5555\") should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-stripPrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-stripPrefix' class='name expandable'>stripPrefix</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if 'http://' or 'https://' and/or the 'www.' should be stripped\nfrom the beginning of URL links' text, false oth...</div><div class='long'><p><code>true</code> if 'http://' or 'https://' and/or the 'www.' should be stripped\nfrom the beginning of URL links' text, <code>false</code> otherwise.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-twitter' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-twitter' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-twitter' class='name expandable'>twitter</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if Twitter handles (\"@example\") should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if Twitter handles (\"@example\") should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-urls' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-urls' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-urls' class='name expandable'>urls</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if miscellaneous URLs should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if miscellaneous URLs should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></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-charBeforeProtocolRelMatchRegex' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-property-charBeforeProtocolRelMatchRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-property-charBeforeProtocolRelMatchRegex' class='name expandable'>charBeforeProtocolRelMatchRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression used to retrieve the character before a\nprotocol-relative URL match. ...</div><div class='long'><p>The regular expression used to retrieve the character before a\nprotocol-relative URL match.</p>\n\n<p>This is used in conjunction with the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>, which needs\nto grab the character before a protocol-relative '//' due to the lack of\na negative look-behind in JavaScript regular expressions. The character\nbefore the match is stripped from the URL.</p>\n<p>Defaults to: <code>/^(.)?\\/\\//</code></p></div></div></div><div id='property-matchValidator' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-property-matchValidator' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-property-matchValidator' class='name expandable'>matchValidator</a> : <a href=\"#!/api/Autolinker.MatchValidator\" rel=\"Autolinker.MatchValidator\" class=\"docClass\">Autolinker.MatchValidator</a><span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The MatchValidator object, used to filter out any false positives from\nthe matcherRegex. ...</div><div class='long'><p>The MatchValidator object, used to filter out any false positives from\nthe <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>. See <a href=\"#!/api/Autolinker.MatchValidator\" rel=\"Autolinker.MatchValidator\" class=\"docClass\">Autolinker.MatchValidator</a> for details.</p>\n</div></div></div><div id='property-matcherRegex' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-property-matcherRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex' class='name expandable'>matcherRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression that matches URLs, email addresses, phone #s,\nTwitter handles, and Hashtags. ...</div><div class='long'><p>The regular expression that matches URLs, email addresses, phone #s,\nTwitter handles, and Hashtags.</p>\n\n<p>This regular expression has the following capturing groups:</p>\n\n<ol>\n<li>Group that is used to determine if there is a Twitter handle match\n(i.e. \\@someTwitterUser). Simply check for its existence to determine\nif there is a Twitter handle match. The next couple of capturing\ngroups give information about the Twitter handle match.</li>\n<li>The whitespace character before the \\@sign in a Twitter handle. This\nis needed because there are no lookbehinds in JS regular expressions,\nand can be used to reconstruct the original string in a replace().</li>\n<li>The Twitter handle itself in a Twitter match. If the match is\n'@someTwitterUser', the handle is 'someTwitterUser'.</li>\n<li>Group that matches an email address. Used to determine if the match\nis an email address, as well as holding the full address. Ex:\n'me@my.com'</li>\n<li>Group that matches a URL in the input text. Ex: 'http://google.com',\n'www.google.com', or just 'google.com'. This also includes a path,\nurl parameters, or hash anchors. Ex: google.com/path/to/file?q1=1&amp;q2=2#myAnchor</li>\n<li>Group that matches a protocol URL (i.e. 'http://google.com'). This is\nused to match protocol URLs with just a single word, like 'http://localhost',\nwhere we won't double check that the domain name has at least one '.'\nin it.</li>\n<li>A protocol-relative ('//') match for the case of a 'www.' prefixed\nURL. Will be an empty string if it is not a protocol-relative match.\nWe need to know the character before the '//' in order to determine\nif it is a valid match or the // was in a string we don't want to\nauto-link.</li>\n<li>A protocol-relative ('//') match for the case of a known TLD prefixed\nURL. Will be an empty string if it is not a protocol-relative match.\nSee #6 for more info.</li>\n<li>Group that is used to determine if there is a phone number match. The\nnext 3 groups give segments of the phone number.</li>\n<li>Group that is used to determine if there is a Hashtag match\n(i.e. #someHashtag). Simply check for its existence to determine if\nthere is a Hashtag match. The next couple of capturing groups give\ninformation about the Hashtag match.</li>\n<li>The whitespace character before the #sign in a Hashtag handle. This\nis needed because there are no look-behinds in JS regular\nexpressions, and can be used to reconstruct the original string in a\nreplace().</li>\n<li>The Hashtag itself in a Hashtag match. If the match is\n'#someHashtag', the hashtag is 'someHashtag'.</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-constructor' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker.matchParser.MatchParser-method-constructor' class='name expandable'>Autolinker.matchParser.MatchParser</a>( <span class='pre'>[cfg]</span> ) : <a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</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 (optional)<div class='sub-desc'><p>The configuration options for the AnchorTagBuilder\ninstance, specified in an Object (map).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-matchHasInvalidCharAfterTld' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-matchHasInvalidCharAfterTld' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-method-matchHasInvalidCharAfterTld' class='name expandable'>matchHasInvalidCharAfterTld</a>( <span class='pre'>urlMatch, protocolUrlMatch</span> ) : Number<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determine if there's an invalid character after the TLD in a URL. ...</div><div class='long'><p>Determine if there's an invalid character after the TLD in a URL. Valid\ncharacters after TLD are ':/?#'. Exclude protocol matched URLs from this\ncheck.</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\n 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\n match. Ex: 'http://yahoo.com'. This is used to match something like\n 'http://localhost', where we won't double check that the domain name\n has at least one '.' in it.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Number</span><div class='sub-desc'><p>the position where the invalid character was found. If\n no such character was found, returns -1</p>\n</div></li></ul></div></div></div><div id='method-matchHasUnbalancedClosingParen' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-matchHasUnbalancedClosingParen' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-method-matchHasUnbalancedClosingParen' class='name expandable'>matchHasUnbalancedClosingParen</a>( <span class='pre'>matchStr</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if a match found has an unmatched closing parenthesis. ...</div><div class='long'><p>Determines if a match found has an unmatched closing parenthesis. If so,\nthis parenthesis will be removed from the match itself, and appended\nafter the generated anchor tag in <a href=\"#!/api/Autolinker.matchParser.MatchParser-method-processCandidateMatch\" rel=\"Autolinker.matchParser.MatchParser-method-processCandidateMatch\" class=\"docClass\">processCandidateMatch</a>.</p>\n\n<p>A match may have an extra closing parenthesis at the end of the match\nbecause the regular expression must include parenthesis for URLs such as\n\"wikipedia.com/something_(disambiguation)\", which should be auto-linked.</p>\n\n<p>However, an extra parenthesis <em>will</em> be included when the URL itself is\nwrapped in parenthesis, such as in the case of \"(wikipedia.com/something_(disambiguation))\".\nIn this case, the last closing parenthesis should <em>not</em> be part of the\nURL itself, and this method will return <code>true</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>matchStr</span> : String<div class='sub-desc'><p>The full match string from the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>.</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 there is an unbalanced closing parenthesis at\n the end of the <code>matchStr</code>, <code>false</code> otherwise.</p>\n</div></li></ul></div></div></div><div id='method-processCandidateMatch' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-processCandidateMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-method-processCandidateMatch' class='name expandable'>processCandidateMatch</a>( <span class='pre'>matchStr, twitterMatch, twitterHandlePrefixWhitespaceChar, twitterHandle, emailAddressMatch, urlMatch, protocolUrlMatch, wwwProtocolRelativeMatch, tldProtocolRelativeMatch, phoneMatch, hashtagMatch, hashtagPrefixWhitespaceChar, hashtag</span> ) : Object<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Processes a candidate match from the matcherRegex. ...</div><div class='long'><p>Processes a candidate match from the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>.</p>\n\n<p>Not all matches found by the regex are actual URL/Email/Phone/Twitter/Hashtag\nmatches, as determined by the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matchValidator\" rel=\"Autolinker.matchParser.MatchParser-property-matchValidator\" class=\"docClass\">matchValidator</a>. In this case, the\nmethod returns <code>null</code>. Otherwise, a valid Object with <code>prefixStr</code>,\n<code>match</code>, and <code>suffixStr</code> is returned.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>matchStr</span> : String<div class='sub-desc'><p>The full match that was found by the\n <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>.</p>\n</div></li><li><span class='pre'>twitterMatch</span> : String<div class='sub-desc'><p>The matched text of a Twitter handle, if the\n match is a Twitter match.</p>\n</div></li><li><span class='pre'>twitterHandlePrefixWhitespaceChar</span> : String<div class='sub-desc'><p>The whitespace char\n before the sign in a Twitter handle match. This is needed because of\n no lookbehinds in JS regexes, and is need to re-include the character\n for the anchor tag replacement.</p>\n</div></li><li><span class='pre'>twitterHandle</span> : String<div class='sub-desc'><p>The actual Twitter user (i.e the word after\n the sign in a Twitter match).</p>\n</div></li><li><span class='pre'>emailAddressMatch</span> : String<div class='sub-desc'><p>The matched email address for an email\n address match.</p>\n</div></li><li><span class='pre'>urlMatch</span> : String<div class='sub-desc'><p>The matched URL string for 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\n match. Ex: 'http://yahoo.com'. This is used to match something like\n 'http://localhost', where we won't double check that the domain name\n has at least one '.' in it.</p>\n</div></li><li><span class='pre'>wwwProtocolRelativeMatch</span> : String<div class='sub-desc'><p>The '//' for a protocol-relative\n match from a 'www' url, with the character that comes before the '//'.</p>\n</div></li><li><span class='pre'>tldProtocolRelativeMatch</span> : String<div class='sub-desc'><p>The '//' for a protocol-relative\n match from a TLD (top level domain) match, with the character that\n comes before the '//'.</p>\n</div></li><li><span class='pre'>phoneMatch</span> : String<div class='sub-desc'><p>The matched text of a phone number</p>\n</div></li><li><span class='pre'>hashtagMatch</span> : String<div class='sub-desc'><p>The matched text of a Twitter\n Hashtag, if the match is a Hashtag match.</p>\n</div></li><li><span class='pre'>hashtagPrefixWhitespaceChar</span> : String<div class='sub-desc'><p>The whitespace char\n before the # sign in a Hashtag match. This is needed because of no\n lookbehinds in JS regexes, and is need to re-include the character for\n the anchor tag replacement.</p>\n</div></li><li><span class='pre'>hashtag</span> : String<div class='sub-desc'><p>The actual Hashtag (i.e the word\n after the # sign in a Hashtag match).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A \"match description object\". This will be <code>null</code> if the\n match was invalid, or if a match type is disabled. Otherwise, this will\n be an Object (map) with the following properties:</p>\n<ul><li><span class='pre'>prefixStr</span> : String<div class='sub-desc'><p>The char(s) that should be prepended to\n the replacement string. These are char(s) that were needed to be\n included from the regex match that were ignored by processing code, and\n should be re-inserted into the replacement stream.</p>\n</div></li><li><span class='pre'>suffixStr</span> : String<div class='sub-desc'><p>The char(s) that should be appended to\n the replacement string. These are char(s) that were needed to be\n included from the regex match that were ignored by processing code, and\n should be re-inserted into the replacement stream.</p>\n</div></li><li><span class='pre'>match</span> : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><div class='sub-desc'><p>The Match object that\n represents the match that was found.</p>\n</div></li></ul></div></li></ul></div></div></div><div id='method-replace' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-replace' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-method-replace' class='name expandable'>replace</a>( <span class='pre'>text, replaceFn, [contextObj]</span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Parses the input text to search for matches, and calls the replaceFn\nto allow replacements of the matches. ...</div><div class='long'><p>Parses the input <code>text</code> to search for matches, and calls the <code>replaceFn</code>\nto allow replacements of the matches. Returns the <code>text</code> with matches\nreplaced.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text to search and repace matches in.</p>\n</div></li><li><span class='pre'>replaceFn</span> : Function<div class='sub-desc'><p>The iterator function to handle the\n replacements. The function takes a single argument, a <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a>\n object, and should return the text that should make the replacement.</p>\n</div></li><li><span class='pre'>contextObj</span> : Object (optional)<div class='sub-desc'><p>The context object (\"scope\") to run\n the <code>replaceFn</code> in.</p>\n<p>Defaults to: <code>window</code></p></div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{"private":true}});
Ext.data.JsonP.Autolinker_matchParser_MatchParser({"tagname":"class","name":"Autolinker.matchParser.MatchParser","autodetected":{},"files":[{"filename":"MatchParser.js","href":"MatchParser.html#Autolinker-matchParser-MatchParser"}],"private":true,"extends":null,"members":[{"name":"email","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-email","meta":{}},{"name":"hashtag","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-hashtag","meta":{}},{"name":"phone","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-phone","meta":{}},{"name":"stripPrefix","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-stripPrefix","meta":{}},{"name":"twitter","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-twitter","meta":{}},{"name":"urls","tagname":"cfg","owner":"Autolinker.matchParser.MatchParser","id":"cfg-urls","meta":{}},{"name":"charBeforeProtocolRelMatchRegex","tagname":"property","owner":"Autolinker.matchParser.MatchParser","id":"property-charBeforeProtocolRelMatchRegex","meta":{"private":true}},{"name":"matchValidator","tagname":"property","owner":"Autolinker.matchParser.MatchParser","id":"property-matchValidator","meta":{"private":true}},{"name":"matcherRegex","tagname":"property","owner":"Autolinker.matchParser.MatchParser","id":"property-matcherRegex","meta":{"private":true}},{"name":"constructor","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-constructor","meta":{}},{"name":"matchHasInvalidCharAfterTld","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-matchHasInvalidCharAfterTld","meta":{"private":true}},{"name":"matchHasUnbalancedClosingParen","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-matchHasUnbalancedClosingParen","meta":{"private":true}},{"name":"processCandidateMatch","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-processCandidateMatch","meta":{"private":true}},{"name":"replace","tagname":"method","owner":"Autolinker.matchParser.MatchParser","id":"method-replace","meta":{}}],"alternateClassNames":[],"aliases":{},"id":"class-Autolinker.matchParser.MatchParser","short_doc":"Used by Autolinker to parse potential matches, given an input string of text. ...","component":false,"superclasses":[],"subclasses":[],"mixedInto":[],"mixins":[],"parentMixins":[],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Files</h4><div class='dependency'><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser' target='_blank'>MatchParser.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 parse potential matches, given an input string of text.</p>\n\n<p>The MatchParser is fed a non-HTML string in order to search for matches.\nAutolinker first uses the <a href=\"#!/api/Autolinker.htmlParser.HtmlParser\" rel=\"Autolinker.htmlParser.HtmlParser\" class=\"docClass\">Autolinker.htmlParser.HtmlParser</a> to \"walk\naround\" HTML tags, and then the text around the HTML tags is passed into the\nMatchParser in order to find the actual matches.</p>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-email' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-email' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-email' class='name expandable'>email</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if email addresses should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if email addresses should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-hashtag' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-hashtag' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-hashtag' class='name expandable'>hashtag</a> : Boolean/String<span class=\"signature\"></span></div><div class='description'><div class='short'>A string for the service name to have hashtags (ex: \"#myHashtag\")\nauto-linked to. ...</div><div class='long'><p>A string for the service name to have hashtags (ex: \"#myHashtag\")\nauto-linked to. The currently-supported values are:</p>\n\n<ul>\n<li>'twitter'</li>\n<li>'facebook'</li>\n<li>'instagram'</li>\n</ul>\n\n\n<p>Pass <code>false</code> to skip auto-linking of hashtags.</p>\n<p>Defaults to: <code>false</code></p></div></div></div><div id='cfg-phone' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-phone' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-phone' class='name expandable'>phone</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if Phone numbers (\"(555)555-5555\") should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if Phone numbers (\"(555)555-5555\") should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-stripPrefix' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-stripPrefix' class='name expandable'>stripPrefix</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if 'http://' or 'https://' and/or the 'www.' should be stripped\nfrom the beginning of URL links' text, false oth...</div><div class='long'><p><code>true</code> if 'http://' or 'https://' and/or the 'www.' should be stripped\nfrom the beginning of URL links' text, <code>false</code> otherwise.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-twitter' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-twitter' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-twitter' class='name expandable'>twitter</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if Twitter handles (\"@example\") should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if Twitter handles (\"@example\") should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-urls' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-cfg-urls' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-cfg-urls' class='name expandable'>urls</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>true if miscellaneous URLs should be automatically linked, false if they should not be. ...</div><div class='long'><p><code>true</code> if miscellaneous URLs should be automatically linked, <code>false</code> if they should not be.</p>\n<p>Defaults to: <code>true</code></p></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-charBeforeProtocolRelMatchRegex' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-property-charBeforeProtocolRelMatchRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-property-charBeforeProtocolRelMatchRegex' class='name expandable'>charBeforeProtocolRelMatchRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression used to retrieve the character before a\nprotocol-relative URL match. ...</div><div class='long'><p>The regular expression used to retrieve the character before a\nprotocol-relative URL match.</p>\n\n<p>This is used in conjunction with the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>, which needs\nto grab the character before a protocol-relative '//' due to the lack of\na negative look-behind in JavaScript regular expressions. The character\nbefore the match is stripped from the URL.</p>\n<p>Defaults to: <code>/^(.)?\\/\\//</code></p></div></div></div><div id='property-matchValidator' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-property-matchValidator' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-property-matchValidator' class='name expandable'>matchValidator</a> : <a href=\"#!/api/Autolinker.MatchValidator\" rel=\"Autolinker.MatchValidator\" class=\"docClass\">Autolinker.MatchValidator</a><span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The MatchValidator object, used to filter out any false positives from\nthe matcherRegex. ...</div><div class='long'><p>The MatchValidator object, used to filter out any false positives from\nthe <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>. See <a href=\"#!/api/Autolinker.MatchValidator\" rel=\"Autolinker.MatchValidator\" class=\"docClass\">Autolinker.MatchValidator</a> for details.</p>\n</div></div></div><div id='property-matcherRegex' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-property-matcherRegex' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex' class='name expandable'>matcherRegex</a> : RegExp<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>The regular expression that matches URLs, email addresses, phone #s,\nTwitter handles, and Hashtags. ...</div><div class='long'><p>The regular expression that matches URLs, email addresses, phone #s,\nTwitter handles, and Hashtags.</p>\n\n<p>This regular expression has the following capturing groups:</p>\n\n<ol>\n<li>Group that is used to determine if there is a Twitter handle match\n(i.e. \\@someTwitterUser). Simply check for its existence to determine\nif there is a Twitter handle match. The next couple of capturing\ngroups give information about the Twitter handle match.</li>\n<li>The whitespace character before the \\@sign in a Twitter handle. This\nis needed because there are no lookbehinds in JS regular expressions,\nand can be used to reconstruct the original string in a replace().</li>\n<li>The Twitter handle itself in a Twitter match. If the match is\n'@someTwitterUser', the handle is 'someTwitterUser'.</li>\n<li>Group that matches an email address. Used to determine if the match\nis an email address, as well as holding the full address. Ex:\n'me@my.com'</li>\n<li>Group that matches a URL in the input text. Ex: 'http://google.com',\n'www.google.com', or just 'google.com'. This also includes a path,\nurl parameters, or hash anchors. Ex: google.com/path/to/file?q1=1&amp;q2=2#myAnchor</li>\n<li>Group that matches a protocol URL (i.e. 'http://google.com'). This is\nused to match protocol URLs with just a single word, like 'http://localhost',\nwhere we won't double check that the domain name has at least one '.'\nin it.</li>\n<li>A protocol-relative ('//') match for the case of a 'www.' prefixed\nURL. Will be an empty string if it is not a protocol-relative match.\nWe need to know the character before the '//' in order to determine\nif it is a valid match or the // was in a string we don't want to\nauto-link.</li>\n<li>A protocol-relative ('//') match for the case of a known TLD prefixed\nURL. Will be an empty string if it is not a protocol-relative match.\nSee #6 for more info.</li>\n<li>Group that is used to determine if there is a phone number match. The\nnext 3 groups give segments of the phone number.</li>\n<li>Group that is used to determine if there is a Hashtag match\n(i.e. #someHashtag). Simply check for its existence to determine if\nthere is a Hashtag match. The next couple of capturing groups give\ninformation about the Hashtag match.</li>\n<li>The whitespace character before the #sign in a Hashtag handle. This\nis needed because there are no look-behinds in JS regular\nexpressions, and can be used to reconstruct the original string in a\nreplace().</li>\n<li>The Hashtag itself in a Hashtag match. If the match is\n'#someHashtag', the hashtag is 'someHashtag'.</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-constructor' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-constructor' target='_blank' class='view-source'>view source</a></div><strong class='new-keyword'>new</strong><a href='#!/api/Autolinker.matchParser.MatchParser-method-constructor' class='name expandable'>Autolinker.matchParser.MatchParser</a>( <span class='pre'>[cfg]</span> ) : <a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</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 (optional)<div class='sub-desc'><p>The configuration options for the AnchorTagBuilder\ninstance, specified in an Object (map).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a></span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-matchHasInvalidCharAfterTld' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-matchHasInvalidCharAfterTld' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-method-matchHasInvalidCharAfterTld' class='name expandable'>matchHasInvalidCharAfterTld</a>( <span class='pre'>urlMatch, protocolUrlMatch</span> ) : Number<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determine if there's an invalid character after the TLD in a URL. ...</div><div class='long'><p>Determine if there's an invalid character after the TLD in a URL. Valid\ncharacters after TLD are ':/?#'. Exclude protocol matched URLs from this\ncheck.</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\n 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\n match. Ex: 'http://yahoo.com'. This is used to match something like\n 'http://localhost', where we won't double check that the domain name\n has at least one '.' in it.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Number</span><div class='sub-desc'><p>the position where the invalid character was found. If\n no such character was found, returns -1</p>\n</div></li></ul></div></div></div><div id='method-matchHasUnbalancedClosingParen' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-matchHasUnbalancedClosingParen' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-method-matchHasUnbalancedClosingParen' class='name expandable'>matchHasUnbalancedClosingParen</a>( <span class='pre'>matchStr</span> ) : Boolean<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Determines if a match found has an unmatched closing parenthesis. ...</div><div class='long'><p>Determines if a match found has an unmatched closing parenthesis. If so,\nthis parenthesis will be removed from the match itself, and appended\nafter the generated anchor tag in <a href=\"#!/api/Autolinker.matchParser.MatchParser-method-processCandidateMatch\" rel=\"Autolinker.matchParser.MatchParser-method-processCandidateMatch\" class=\"docClass\">processCandidateMatch</a>.</p>\n\n<p>A match may have an extra closing parenthesis at the end of the match\nbecause the regular expression must include parenthesis for URLs such as\n\"wikipedia.com/something_(disambiguation)\", which should be auto-linked.</p>\n\n<p>However, an extra parenthesis <em>will</em> be included when the URL itself is\nwrapped in parenthesis, such as in the case of \"(wikipedia.com/something_(disambiguation))\".\nIn this case, the last closing parenthesis should <em>not</em> be part of the\nURL itself, and this method will return <code>true</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>matchStr</span> : String<div class='sub-desc'><p>The full match string from the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>.</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 there is an unbalanced closing parenthesis at\n the end of the <code>matchStr</code>, <code>false</code> otherwise.</p>\n</div></li></ul></div></div></div><div id='method-processCandidateMatch' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-processCandidateMatch' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-method-processCandidateMatch' class='name expandable'>processCandidateMatch</a>( <span class='pre'>matchStr, twitterMatch, twitterHandlePrefixWhitespaceChar, twitterHandle, emailAddressMatch, urlMatch, protocolUrlMatch, wwwProtocolRelativeMatch, tldProtocolRelativeMatch, phoneMatch, hashtagMatch, hashtagPrefixWhitespaceChar, hashtag</span> ) : Object<span class=\"signature\"><span class='private' >private</span></span></div><div class='description'><div class='short'>Processes a candidate match from the matcherRegex. ...</div><div class='long'><p>Processes a candidate match from the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>.</p>\n\n<p>Not all matches found by the regex are actual URL/Email/Phone/Twitter/Hashtag\nmatches, as determined by the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matchValidator\" rel=\"Autolinker.matchParser.MatchParser-property-matchValidator\" class=\"docClass\">matchValidator</a>. In this case, the\nmethod returns <code>null</code>. Otherwise, a valid Object with <code>prefixStr</code>,\n<code>match</code>, and <code>suffixStr</code> is returned.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>matchStr</span> : String<div class='sub-desc'><p>The full match that was found by the\n <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">matcherRegex</a>.</p>\n</div></li><li><span class='pre'>twitterMatch</span> : String<div class='sub-desc'><p>The matched text of a Twitter handle, if the\n match is a Twitter match.</p>\n</div></li><li><span class='pre'>twitterHandlePrefixWhitespaceChar</span> : String<div class='sub-desc'><p>The whitespace char\n before the sign in a Twitter handle match. This is needed because of\n no lookbehinds in JS regexes, and is need to re-include the character\n for the anchor tag replacement.</p>\n</div></li><li><span class='pre'>twitterHandle</span> : String<div class='sub-desc'><p>The actual Twitter user (i.e the word after\n the sign in a Twitter match).</p>\n</div></li><li><span class='pre'>emailAddressMatch</span> : String<div class='sub-desc'><p>The matched email address for an email\n address match.</p>\n</div></li><li><span class='pre'>urlMatch</span> : String<div class='sub-desc'><p>The matched URL string for 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\n match. Ex: 'http://yahoo.com'. This is used to match something like\n 'http://localhost', where we won't double check that the domain name\n has at least one '.' in it.</p>\n</div></li><li><span class='pre'>wwwProtocolRelativeMatch</span> : String<div class='sub-desc'><p>The '//' for a protocol-relative\n match from a 'www' url, with the character that comes before the '//'.</p>\n</div></li><li><span class='pre'>tldProtocolRelativeMatch</span> : String<div class='sub-desc'><p>The '//' for a protocol-relative\n match from a TLD (top level domain) match, with the character that\n comes before the '//'.</p>\n</div></li><li><span class='pre'>phoneMatch</span> : String<div class='sub-desc'><p>The matched text of a phone number</p>\n</div></li><li><span class='pre'>hashtagMatch</span> : String<div class='sub-desc'><p>The matched text of a Twitter\n Hashtag, if the match is a Hashtag match.</p>\n</div></li><li><span class='pre'>hashtagPrefixWhitespaceChar</span> : String<div class='sub-desc'><p>The whitespace char\n before the # sign in a Hashtag match. This is needed because of no\n lookbehinds in JS regexes, and is need to re-include the character for\n the anchor tag replacement.</p>\n</div></li><li><span class='pre'>hashtag</span> : String<div class='sub-desc'><p>The actual Hashtag (i.e the word\n after the # sign in a Hashtag match).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A \"match description object\". This will be <code>null</code> if the\n match was invalid, or if a match type is disabled. Otherwise, this will\n be an Object (map) with the following properties:</p>\n<ul><li><span class='pre'>prefixStr</span> : String<div class='sub-desc'><p>The char(s) that should be prepended to\n the replacement string. These are char(s) that were needed to be\n included from the regex match that were ignored by processing code, and\n should be re-inserted into the replacement stream.</p>\n</div></li><li><span class='pre'>suffixStr</span> : String<div class='sub-desc'><p>The char(s) that should be appended to\n the replacement string. These are char(s) that were needed to be\n included from the regex match that were ignored by processing code, and\n should be re-inserted into the replacement stream.</p>\n</div></li><li><span class='pre'>match</span> : <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a><div class='sub-desc'><p>The Match object that\n represents the match that was found.</p>\n</div></li></ul></div></li></ul></div></div></div><div id='method-replace' 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.matchParser.MatchParser'>Autolinker.matchParser.MatchParser</span><br/><a href='source/MatchParser.html#Autolinker-matchParser-MatchParser-method-replace' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Autolinker.matchParser.MatchParser-method-replace' class='name expandable'>replace</a>( <span class='pre'>text, replaceFn, [contextObj]</span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Parses the input text to search for matches, and calls the replaceFn\nto allow replacements of the matches. ...</div><div class='long'><p>Parses the input <code>text</code> to search for matches, and calls the <code>replaceFn</code>\nto allow replacements of the matches. Returns the <code>text</code> with matches\nreplaced.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text to search and repace matches in.</p>\n</div></li><li><span class='pre'>replaceFn</span> : Function<div class='sub-desc'><p>The iterator function to handle the\n replacements. The function takes a single argument, a <a href=\"#!/api/Autolinker.match.Match\" rel=\"Autolinker.match.Match\" class=\"docClass\">Autolinker.match.Match</a>\n object, and should return the text that should make the replacement.</p>\n</div></li><li><span class='pre'>contextObj</span> : Object (optional)<div class='sub-desc'><p>The context object (\"scope\") to run\n the <code>replaceFn</code> in.</p>\n<p>Defaults to: <code>window</code></p></div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{"private":true}});

@@ -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":"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\nAutolinker.matchParser.MatchParser.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\n<a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">Autolinker.matchParser.MatchParser.matcherRegex</a>.</p>\n\n<p>Due to the limitations of regular expressions (including the missing feature\nof look-behinds in JS regular expressions), we cannot always determine the\nvalidity of a given match. This class applies a bit of additional logic to\nfilter out any false positives that have been matched by the\n<a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">Autolinker.matchParser.MatchParser.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\nmatch, coming from the Autolinker.matchParser....</div><div class='long'><p>The regular expression used to check a potential protocol-relative URL\nmatch, coming from the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">Autolinker.matchParser.MatchParser.matcherRegex</a>.\nA 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\nthe '//' match in order to determine if we should actually autolink a\nprotocol-relative URL. This is needed because there is no negative\nlook-behind in JavaScript regular expressions.</p>\n\n<p>For instance, we want to autolink something like \"Go to: //google.com\",\nbut we don't want to autolink something like \"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\nreturns <code>true</code> if there is a <code>protocolRelativeMatch</code>, and that match\ncontains a word character before the '//' (i.e. it must contain\nwhitespace or nothing before the '//' in order 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\n URL match (i.e. '//'), possibly with a preceding character (ex, a\n space, such as: ' //', or a letter, such as: 'a//'). The match is\n invalid if there is a word character 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,\n <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 the Autolinker.matchParser.MatchParser\nis valid. ...</div><div class='long'><p>Determines if a given match found by the <a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a>\nis 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\n domain name (effectively skipping over matches like \"abc:def\").\n 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\n domain name (effectively skipping over matches like \"git:1.0\").\n3) A protocol-relative url match (a URL beginning with '//') whose\n previous character is a word character (effectively skipping over\n 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\n 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\n match. Ex: 'http://yahoo.com'. This is used to match something like\n 'http://localhost', where we won't double check that the domain name\n 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\n URL match (i.e. '//'), possibly with a preceding character (ex, a\n space, such as: ' //', or a letter, such as: 'a//'). The match is\n invalid if there is a word character 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\n processed, or <code>false</code> if the match is invalid and/or should just not be\n 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\n<code>false</code> if the scheme is '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\n match. Ex: 'http://yahoo.com' 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\nthe protocol (i.e. ...</div><div class='long'><p>Determines if a URL match does not have at least one word character after\nthe protocol (i.e. in the domain name).</p>\n\n<p>At least one letter character must exist in the domain name after a\nprotocol match. Ex: skip over something like \"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\n 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\n match. Ex: 'http://yahoo.com'. This is used to know whether or not we\n have a protocol in the URL string, in order to check for a word\n character after the protocol 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\n character in it after the protocol, <code>false</code> 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\n match).</p>\n\n<p>Either situation is considered an invalid URL (ex: 'git:d' does not have\neither the '://' part, or at least one dot in the domain name. If the\nmatch 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\n 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\n match. Ex: 'http://yahoo.com'. This is used to match something like\n 'http://localhost', where we won't double check that the domain name\n 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,\n or at least one dot ('.') in a non-full-protocol 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\nAutolinker.matchParser.MatchParser.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\n<a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">Autolinker.matchParser.MatchParser.matcherRegex</a>.</p>\n\n<p>Due to the limitations of regular expressions (including the missing feature\nof look-behinds in JS regular expressions), we cannot always determine the\nvalidity of a given match. This class applies a bit of additional logic to\nfilter out any false positives that have been matched by the\n<a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">Autolinker.matchParser.MatchParser.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\nmatch, coming from the Autolinker.matchParser....</div><div class='long'><p>The regular expression used to check a potential protocol-relative URL\nmatch, coming from the <a href=\"#!/api/Autolinker.matchParser.MatchParser-property-matcherRegex\" rel=\"Autolinker.matchParser.MatchParser-property-matcherRegex\" class=\"docClass\">Autolinker.matchParser.MatchParser.matcherRegex</a>.\nA 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\nthe '//' match in order to determine if we should actually autolink a\nprotocol-relative URL. This is needed because there is no negative\nlook-behind in JavaScript regular expressions.</p>\n\n<p>For instance, we want to autolink something like \"Go to: //google.com\",\nbut we don't want to autolink something like \"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\nreturns <code>true</code> if there is a <code>protocolRelativeMatch</code>, and that match\ncontains a word character before the '//' (i.e. it must contain\nwhitespace or nothing before the '//' in order 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\n URL match (i.e. '//'), possibly with a preceding character (ex, a\n space, such as: ' //', or a letter, such as: 'a//'). The match is\n invalid if there is a word character 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,\n <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 the Autolinker.matchParser.MatchParser\nis valid. ...</div><div class='long'><p>Determines if a given match found by the <a href=\"#!/api/Autolinker.matchParser.MatchParser\" rel=\"Autolinker.matchParser.MatchParser\" class=\"docClass\">Autolinker.matchParser.MatchParser</a>\nis 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\n domain name (effectively skipping over matches like \"abc:def\").\n 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\n domain name (effectively skipping over matches like \"git:1.0\").\n3) A protocol-relative url match (a URL beginning with '//') whose\n previous character is a word character (effectively skipping over\n 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\n 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\n match. Ex: 'http://yahoo.com'. This is used to match something like\n 'http://localhost', where we won't double check that the domain name\n 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\n URL match (i.e. '//'), possibly with a preceding character (ex, a\n space, such as: ' //', or a letter, such as: 'a//'). The match is\n invalid if there is a word character 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\n processed, or <code>false</code> if the match is invalid and/or should just not be\n 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\n<code>false</code> if the scheme is '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\n match. Ex: 'http://yahoo.com' 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\nthe protocol (i.e. ...</div><div class='long'><p>Determines if a URL match does not have at least one word character after\nthe protocol (i.e. in the domain name).</p>\n\n<p>At least one letter character must exist in the domain name after a\nprotocol match. Ex: skip over something like \"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\n 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\n match. Ex: 'http://yahoo.com'. This is used to know whether or not we\n have a protocol in the URL string, in order to check for a word\n character after the protocol 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\n character in it after the protocol, <code>false</code> 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\n match).</p>\n\n<p>Either situation is considered an invalid URL (ex: 'git:d' does not have\neither the '://' part, or at least one dot in the domain name. If the\nmatch 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\n 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\n match. Ex: 'http://yahoo.com'. This is used to match something like\n 'http://localhost', where we won't double check that the domain name\n 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,\n or at least one dot ('.') in a non-full-protocol match.</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{"private":true}});

@@ -34,2 +34,5 @@ /*global require, module */

jshint: {
options : {
jshintrc: true
},
files: {

@@ -73,3 +76,6 @@ src: [ 'src/**/*.js', 'tests/**/*.js' ]

'src/match/Twitter.js',
'src/match/Url.js'
'src/match/Url.js',
'src/truncate/TruncateEnd.js',
'src/truncate/TruncateMiddle.js',
'src/truncate/TruncateSmart.js'
],

@@ -76,0 +82,0 @@ dest: distPath

{
"name": "autolinker",
"version": "0.19.1",
"version": "0.20.0",
"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",

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

beginning of links, `false` otherwise. Defaults to `true`.<br /><br />
- [truncate](http://gregjacobs.github.io/Autolinker.js/docs/#!/api/Autolinker-cfg-truncate) : Number<br />
- [truncate](http://gregjacobs.github.io/Autolinker.js/docs/#!/api/Autolinker-cfg-truncate) : Number/Object<br />
A number for how many characters long URLs/emails/Twitter handles/Twitter

@@ -110,4 +110,18 @@ hashtags should be truncated to inside the text of a link. If the match is

replacing the end of the string with a two period ellipsis ('..').<br /><br />
Example: a url like 'http://www.yahoo.com/some/long/path/to/a/file' truncated
to 25 characters may look like this: 'yahoo.com/some/long/pat..'<br /><br />
In the object form, both `length` and `location` may be specified to perform
truncation. Available options for `location` are: 'end' (default), 'middle',
or 'smart'. Example usage:
```javascript
truncate: { length: 32, location: 'middle' }
```
The 'smart' truncation option is for URLs where the algorithm attempts to
strip out unnecessary parts of the URL (such as the 'www.', then URL scheme,
hash, etc.) before trying to find a good point to insert the ellipsis if it is
still too long. For details, see source code of: (TruncateSmart)[http://gregjacobs.github.io/Autolinker.js/gh-pages/docs/#!/api/Autolinker.truncate.TruncateSmart]
- [className](http://gregjacobs.github.io/Autolinker.js/docs/#!/api/Autolinker-cfg-className) : String<br />

@@ -114,0 +128,0 @@ A CSS class name to add to the generated anchor tags. This class will be added

@@ -10,5 +10,7 @@ /*global Autolinker */

*
* Normally this class is instantiated, configured, and used internally by an {@link Autolinker} instance, but may
* actually be retrieved in a {@link Autolinker#replaceFn replaceFn} to create {@link Autolinker.HtmlTag HtmlTag} instances
* which may be modified before returning from the {@link Autolinker#replaceFn replaceFn}. For example:
* Normally this class is instantiated, configured, and used internally by an
* {@link Autolinker} instance, but may actually be retrieved in a {@link Autolinker#replaceFn replaceFn}
* to create {@link Autolinker.HtmlTag HtmlTag} instances which may be modified
* before returning from the {@link Autolinker#replaceFn replaceFn}. For
* example:
*

@@ -35,3 +37,3 @@ * var html = Autolinker.link( "Test google.com", {

/**
* @cfg {Number} truncate
* @cfg {Object} truncate
* @inheritdoc Autolinker#truncate

@@ -64,3 +66,3 @@ */

build : function( match ) {
var tag = new Autolinker.HtmlTag( {
return new Autolinker.HtmlTag( {
tagName : 'a',

@@ -70,4 +72,2 @@ attrs : this.createAttrs( match.getType(), match.getAnchorHref() ),

} );
return tag;
},

@@ -83,3 +83,3 @@

* match that an anchor tag is being generated for.
* @param {String} href The href for the anchor tag.
* @param {String} anchorHref The href for the anchor tag.
* @return {Object} A key/value Object (map) of the anchor tag's attributes.

@@ -142,15 +142,30 @@ */

/**
* Performs the truncation of the `anchorText`, if the `anchorText` is
* longer than the {@link #truncate} option. Truncates the text to 2
* characters fewer than the {@link #truncate} option, and adds ".." to the
* end.
* Performs the truncation of the `anchorText` based on the {@link #truncate}
* option. If the `anchorText` is longer than the length specified by the
* {@link #truncate} option, the truncation is performed based on the
* `location` property. See {@link #truncate} for details.
*
* @private
* @param {String} text The anchor tag's text (i.e. what will be displayed).
* @param {String} anchorText The anchor tag's text (i.e. what will be
* displayed).
* @return {String} The truncated anchor text.
*/
doTruncate : function( anchorText ) {
return Autolinker.Util.ellipsis( anchorText, this.truncate || Number.POSITIVE_INFINITY );
var truncate = this.truncate;
if( !truncate ) return anchorText;
var truncateLength = truncate.length,
truncateLocation = truncate.location;
if( truncateLocation === 'smart' ) {
return Autolinker.truncate.TruncateSmart( anchorText, truncateLength, '..' );
} else if( truncateLocation === 'middle' ) {
return Autolinker.truncate.TruncateMiddle( anchorText, truncateLength, '..' );
} else {
return Autolinker.truncate.TruncateEnd( anchorText, truncateLength, '..' );
}
}
} );
} );

@@ -105,3 +105,3 @@ /**

* @constructor
* @param {Object} [config] The configuration options for the Autolinker instance, specified in an Object (map).
* @param {Object} [cfg] The configuration options for the Autolinker instance, specified in an Object (map).
*/

@@ -116,2 +116,11 @@ var Autolinker = function( cfg ) {

}
// Normalize the `truncate` option
var truncate = this.truncate = this.truncate || {};
if( typeof truncate === 'number' ) {
this.truncate = { length: truncate, location: 'end' };
} else if( typeof truncate === 'object' ) {
this.truncate.length = truncate.length || Number.POSITIVE_INFINITY;
this.truncate.location = truncate.location || 'end';
}
};

@@ -180,10 +189,44 @@

/**
* @cfg {Number} truncate
* @cfg {Number/Object} truncate
*
* A number for how many characters long matched text should be truncated to inside the text of
* a link. If the matched text is over this number of characters, it will be truncated to this length by
* adding a two period ellipsis ('..') to the end of the string.
* ## Number Form
*
* For example: A url like 'http://www.yahoo.com/some/long/path/to/a/file' truncated to 25 characters might look
* something like this: 'yahoo.com/some/long/pat..'
* A number for how many characters matched text should be truncated to
* inside the text of a link. If the matched text is over this number of
* characters, it will be truncated to this length by adding a two period
* ellipsis ('..') to the end of the string.
*
* For example: A url like 'http://www.yahoo.com/some/long/path/to/a/file'
* truncated to 25 characters might look something like this:
* 'yahoo.com/some/long/pat..'
*
* Example Usage:
*
* truncate: 25
*
*
* ## Object Form
*
* An Object may also be provided with two properties: `length` (Number) and
* `location` (String). `location` may be one of the following: 'end'
* (default), 'middle', or 'smart'.
*
* Example Usage:
*
* truncate: { length: 25, location: 'middle' }
*
* @cfg {Number} truncate.length How many characters to allow before
* truncation will occur.
* @cfg {"end"/"middle"/"smart"} [truncate.location="end"]
*
* - 'end' (default): will truncate up to the number of characters, and then
* add an ellipsis at the end. Ex: 'yahoo.com/some/long/pat..'
* - 'middle': will truncate and add the ellipsis in the middle. Ex:
* 'yahoo.com/s..th/to/a/file'
* - 'smart': for URLs where the algorithm attempts to strip out unnecessary
* parts first (such as the 'www.', then URL scheme, hash, etc.),
* attempting to make the URL human-readable before looking for a good
* point to insert the ellipsis if it is still too long. Ex:
* 'yahoo.com/some..to/a/file'. For more details, see
* {@link Autolinker.truncate.TruncateSmart}.
*/

@@ -479,1 +522,2 @@ truncate : undefined,

Autolinker.matchParser = {};
Autolinker.truncate = {};

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

*
* @param {String} name The attribute name to retrieve.
* @param {String} attrName The attribute name to retrieve.
* @return {String} The attribute's value, or `undefined` if it does not exist on the HtmlTag.

@@ -176,0 +176,0 @@ */

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

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 not supported yet

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

Sorry, the diff of this file is not supported yet

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