Auto-link
Auto-link is an npm package that replaces URLs in text with HTML links, ignore the URLs within a href/pre tag.
Installation
npm install --save auto-link
Usage
var autoLink = ;
Using the link() method:
var html = autoLinklinktext options;
Example
var html = autoLinklink'<p>Welcom to www.google.com</p>';//<p>Welcom to <a href="http://www.google.com">www.google.com</a></p>
Options
These are specified by providing an Object as the second parameter to autoLink.link().
target
: String or Boolean
A target attribute will be added to the replaced href tag if thetarget
option is a String value.false
means that do not add target attribuite.
Default value isfalse
.
e.g.
autoLinklink'<p>Welcom to www.google.com</p>' target: '_blank';//<p>Welcom to <a href="http://www.google.com" target="_blank">www.google.com</a></p>
attrs
: Object
The attributes you want to add to the replaced href tag. e.g.
autoLinklink'<p>Welcom to www.google.com</p>' attrs: class: 'mylink' name: 'mylink1' id: 'mylink2' ;//<p>Welcom to <a href="http://www.google.com" class="mylink" name="mylink1" id="mylink2">www.google.com</a></p>
ignore.tags
: Array[String]
The URLs text within some tags should not be replaces. for example:<a href="http://www.google.com">www.google.com</a>
should NOT be replaced to<a href="<a href="http://www.google.com">http://www.google.com</a>"><a href="http://www.google.com">www.google.com</a></a>
. So the The URLs text withinignore.tags
won't be replaced.
Defaults value is['a', 'pre', 'code', 'textarea']
.
e.g.
autoLinklink'<p>Welcom to <a href="http://www.google.com">www.google.com</a></p>';//<p>Welcom to <a href="http://www.google.com">www.google.com</a></p> autoLinklink'<p>Welcom to www.google.com</p>, <span>www.stackoverflow.com</span> and <pre>www.github.com</pre>' ignore: tags: 'p' 'span' ;//<p>Welcom to www.google.com</p>, <span>www.stackoverflow.com</span> and <pre><a href="http://www.github.com">www.github.com</a></pre>
ignore.classes
: Array[String]
The same withignore.tags
, but it's for CSS classes.
Defaults values is['hljs']
.
e.g.
autoLinklink'<p class="hljs">Welcom to www.google.com <span class="myclass">and www.github.com</span></p>' ignore: classes: 'myclass' ;//<p class="hljs">Welcom to <a href="http://www.google.com">www.google.com</a> <span class="myclass">and www.github.com</span></p>
ignore.fn
: Function
Sometimes it's hard to filter the elements by tags and CSS classes. so theignore.fn
is used to filter the elements which you want to ignore. The function has a JSDOM element as it's parameter, it should retrun a boolean value to specify the element ignores or not.
If enable theignore.fn
option, theignore.tags
andignore.classes
options will be invalidated.
e.g.
autoLinklink'<p id="hljs">Welcom to www.google.com <span id="myid1">and www.github.com</span></p>' ignore: { return ele && ele > -1; } ;//<p id="hljs">Welcom to <a href="http://www.google.com">www.google.com</a> <span id="myid1">and www.github.com</span></p>
Tests
$ npm install -g mocha
npm test