inject-string
![Coverage percentage](https://coveralls.io/repos/amazingSurge/inject-string/badge.svg)
Inject a snippet of code or content into a string.
Installation
Install with npm
$ npm install --save inject-string
Usage
var InjectString = require('inject-string');
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo');
Actions
###append
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.append('bar');
prepend
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.prepend('bar');
replace
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.replace('bar');
strip
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
inject.strip('custom');
stripAll
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
inject.stripAll();
Static call
inject
InjectString.inject('a <!-- snippet --> b', 'foo', {stripTags: true});
strip
InjectString.strip('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after', {tag:'custom'});
stripAll
InjectString.stripAll('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
Options
Keep placeholders
Inject a snippet into a string with placeholders (used for subsequent insertions):
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo', {
stripTags: false
});
Strip placeholders
Inject a snippet into a string without placeholders:
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo', {
stripTags: true
});
Use a custom tag name
Customize the placeholder name:
var inject = new InjectString('before <!-- xyz --> after');
inject.append(str, 'foo', {tag: 'xyz'})
Use custom delimiters
Customize the placeholder delimiters:
var str = new InjectString('a {{!snippet}} b', {delimiters: ['{{!', '}}']});
var result = inject.append('foo');
Add newlines around snippet
var inject = new InjectString('a <!-- snippet --> b', {newlines: true});
var result = inject.append('foo');
Running tests
Install dev dependencies:
$ npm install -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Credits
This library is based on inject-snippet.
License
MIT © amazingSurge