Make the words shine
$ npm i -S @tadashi/highlight
Basic usage
const highlight = require('@tadashi/highlight')
const source = 'My name is Bond, James Bond...'
const q = 'James Bond'
highlight(source, q)
// My name is <mark>Bond</mark>, <mark>James</mark> <mark>Bond</mark>...
Without breaking the term into small words
const highlight = require('@tadashi/highlight')
const source = 'My name is Bond, James Bond...'
const q = 'James Bond'
const split = false
highlight(source, q, {split});
// My name is Bond, <mark>James Bond</mark>...
Without breaking the term into small words and changing the template
const highlight = require('@tadashi/highlight')
const source = 'My name is Bond, James Bond...'
const q = 'James Bond'
const tpl = '<b>$&</b>'
const split = false
highlight(source, q, {tpl, split});
// My name is Bond, <b>James Bond</b>...
Ignoring case sensitive
const highlight = require('@tadashi/highlight')
const source = 'What a wonderful phrase'
const q = 'w'
const tpl = '<b>$&</b>'
const caseSensitive = false
highlight(source, q, {tpl, caseSensitive});
// <b>W</b>hat a <b>w</b>onderful phrase
Name | Type | Required | Default | Description |
---|---|---|---|---|
source | string | yes | - | Your text |
q | string | yes | - | The term that will be shine |
options | object | no | see below | Options |
Name | Type | Required | Default | Description |
---|---|---|---|---|
tpl | string | no | <mark>$&</mark> | Custom template |
split | boolean | no | true | Break the term in many words |
caseSensitive | boolean | no | true | Defines whether letters are treated as distinct |
MIT © Thiago Lagden