/// import AutolinkerCJS = require('autolinker'); () => { let linkedText1 = Autolinker.link( "Check out google.com" ); new Autolinker(); let autolinker1 = new Autolinker( { className: "myLink" } ); let textToAutoLink = 'text'; let linkedText2 = autolinker1.link( textToAutoLink ); let linkedText3 = Autolinker.link( "Check out google.com", { className: "myLink" } ); let linkedText4 = Autolinker.link( "Check out google.com", { newWindow: false } ); let linkedText5 = Autolinker.link( "http://www.yahoo.com/some/long/path/to/a/file", { truncate: 25, newWindow: false } ); let myTextEl = document.getElementById( 'text' ); myTextEl.innerHTML = Autolinker.link( myTextEl.innerHTML ); let autolinker2 = new Autolinker( { newWindow: false, truncate: 25 } ); autolinker2.link( "Check out http://www.yahoo.com/some/long/path/to/a/file" ); // Produces: "Check out yahoo.com/some/long/pat.." autolinker2.link( "Go to www.google.com" ); // Produces: "Go to google.com" let input = "..."; // string with URLs, Email Addresses, Twitter Handles, and Hashtags let linkedText6 = Autolinker.link( input, { replaceFn : function( autolinker, match ) { console.log( "href = ", match.getAnchorHref() ); console.log( "text = ", match.getAnchorText() ); switch( match.getType() ) { case 'url' : console.log( "url: ", match.getUrl() ); if( match.getUrl().indexOf( 'mysite.com' ) === -1 ) { let tag = autolinker.getTagBuilder().build( match ); // returns an `Autolinker.HtmlTag` instance, which provides mutator methods for easy changes tag.setAttr( 'rel', 'nofollow' ); tag.addClass( 'external-link' ); return tag; } else { return true; // let Autolinker perform its normal anchor tag replacement } case 'email' : let email = match.getEmail(); console.log( "email: ", email ); if( email === "my@own.address" ) { return false; // don't auto-link this particular email address; leave as-is } else { return; // no return value will have Autolinker perform its normal anchor tag replacement (same as returning `true`) } case 'phone' : let phoneNumber = match.getPhoneNumber(); console.log( phoneNumber ); return '' + phoneNumber + ''; case 'twitter' : let twitterHandle = match.getTwitterHandle(); console.log( twitterHandle ); return '' + twitterHandle + ''; case 'hashtag' : let hashtag = match.getHashtag(); console.log( hashtag ); return '' + hashtag + ''; } } } ); } () => { let linkedText1 = AutolinkerCJS.link( "Check out google.com" ); new AutolinkerCJS(); let autolinker1 = new AutolinkerCJS( { className: "myLink" } ); let textToAutoLink = 'text'; let linkedText2 = autolinker1.link( textToAutoLink ); let linkedText3 = AutolinkerCJS.link( "Check out google.com", { className: "myLink" } ); let linkedText4 = AutolinkerCJS.link( "Check out google.com", { newWindow: false } ); let linkedText5 = AutolinkerCJS.link( "http://www.yahoo.com/some/long/path/to/a/file", { truncate: 25, newWindow: false } ); let myTextEl = document.getElementById( 'text' ); myTextEl.innerHTML = AutolinkerCJS.link( myTextEl.innerHTML ); let autolinker2 = new AutolinkerCJS( { newWindow: false, truncate: 25 } ); autolinker2.link( "Check out http://www.yahoo.com/some/long/path/to/a/file" ); // Produces: "Check out yahoo.com/some/long/pat.." autolinker2.link( "Go to www.google.com" ); // Produces: "Go to google.com" let input = "..."; // string with URLs, Email Addresses, Twitter Handles, and Hashtags let linkedText6 = AutolinkerCJS.link( input, { replaceFn : function( autolinker, match ) { console.log( "href = ", match.getAnchorHref() ); console.log( "text = ", match.getAnchorText() ); switch( match.getType() ) { case 'url' : console.log( "url: ", match.getUrl() ); if( match.getUrl().indexOf( 'mysite.com' ) === -1 ) { let tag = autolinker.getTagBuilder().build( match ); // returns an `AutolinkerCJS.HtmlTag` instance, which provides mutator methods for easy changes tag.setAttr( 'rel', 'nofollow' ); tag.addClass( 'external-link' ); return tag; } else { return true; // let AutolinkerCJS perform its normal anchor tag replacement } case 'email' : let email = match.getEmail(); console.log( "email: ", email ); if( email === "my@own.address" ) { return false; // don't auto-link this particular email address; leave as-is } else { return; // no return value will have AutolinkerCJS perform its normal anchor tag replacement (same as returning `true`) } case 'phone' : let phoneNumber = match.getPhoneNumber(); console.log( phoneNumber ); return '' + phoneNumber + ''; case 'twitter' : let twitterHandle = match.getTwitterHandle(); console.log( twitterHandle ); return '' + twitterHandle + ''; case 'hashtag' : let hashtag = match.getHashtag(); console.log( hashtag ); return '' + hashtag + ''; } } } ); }