1.0.1 • Published 6 years ago
word-link v1.0.1
Word Link
Allows you to convert specific words into links. Inspired by Drupal module word_link.
This can be useful for crossposting your site's pages, or for the contextual advertising of your partners (SEO).
Installation
- Latest release
- Bower:
bower install word-link
- NPM:
npm install word-link
Usage
WordLink.apply(text, word|regexp, url, opts);
Argument | Type | Default | Details | |
---|---|---|---|---|
1 | text | String | Text in which you want to replace the word to word-links. | |
2 | word | String | A String or RegExp that is to be replaced by word-link. | |
3 | url | String | A URL to be used to generate a word-link. | |
4 | opts | Dictionary | (optional) Additional seetings. | |
opts.debug | Boolean | false | (optional) Enable debugging mode. Shows a console.log with replaced words. | |
opts.excludedTags | Array | ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'] | (optional) List of HTML tags to be ignored during replacement. | |
opts.attributes | Object | {} | (optional) Additional attributes for a link. |
Returns
Type: String
Text with replaced word-links.
Examples
var WordLink = require('word-link');
var text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
Replace words with a link:
WordLink.apply(text, 'ipsum', 'http://example.com');
// "Lorem <a href="http://example.com">ipsum</a> dolor sit amet, consectetur adipiscing elit."
Find words with regex and replace them with a link:
WordLink.apply(text, '(ipsum|elit)', 'http://example.com');
// "Lorem <a href="http://example.com">ipsum</a> dolor sit amet, consectetur adipiscing <a href="http://example.com">elit</a>."
Word Link understands html. It will ignore existed links and tag attributes:
var html = '<p>Lorem <a href="http://ipsum.com" class="ipsum">ipsum</a> dolor sit amet, consectetur adipiscing elit.</p>';
WordLink.apply(html, 'ipsum', 'http://example.com');
// "<p>Lorem <a href="http://ipsum.com" class="ipsum">ipsum</a> dolor sit amet, consectetur adipiscing elit.</p>"
TODOs
- A setting for tags to be ignored.
- Additional attributes for a link.
- Add tests.
- Nodejs version.