Inject a snippet of code or content into a string.
Install with npm
$ npm install --save inject-string
var InjectString = require('inject-string');
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo');
//=> 'before <!-- snippet -->\nfoo\n<!-- endsnippet --> after'
###append
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.append('bar');
//=> 'before <!-- snippet -->\nfoobar\n<!-- endsnippet --> after'
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.prepend('bar');
//=> 'before <!-- snippet -->\nbarfoo\n<!-- endsnippet --> after'
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> after');
inject.replace('bar');
//=> 'before <!-- snippet -->\nbar\n<!-- endsnippet --> after'
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
inject.strip('custom');
//=> 'before <!-- snippet -->foo<!-- endsnippet --> bar after'
var inject = new InjectString('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
inject.stripAll();
//=> 'before foo bar after'
InjectString.inject('a <!-- snippet --> b', 'foo', {stripTags: true});
//=> 'a foo b'
InjectString.strip('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after', {tag:'custom'});
//=> 'before <!-- snippet -->foo<!-- endsnippet --> bar after'
InjectString.stripAll('before <!-- snippet -->foo<!-- endsnippet --> <!-- custom -->bar<!-- endcustom --> after');
//=> 'before foo bar after'
Inject a snippet into a string with placeholders (used for subsequent insertions):
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo', {
stripTags: false
});
//=> 'before <!-- snippet -->foo<!-- endsnippet --> after'
Inject a snippet into a string without placeholders:
var inject = new InjectString('before <!-- snippet --> after');
inject.append('foo', {
stripTags: true
});
//=> 'before foo after'
Customize the placeholder name:
var inject = new InjectString('before <!-- xyz --> after');
inject.append(str, 'foo', {tag: 'xyz'})
//=> 'before foo after'
Customize the placeholder delimiters:
var str = new InjectString('a {{!snippet}} b', {delimiters: ['{{!', '}}']});
var result = inject.append('foo');
//=> 'a {{! snippet }}foo{{! endsnippet }} b'
var inject = new InjectString('a <!-- snippet --> b', {newlines: true});
var result = inject.append('foo');
//=> 'a <!-- snippet -->\nfoo\n<!-- endsnippet --> b'
Specify lines
var inject = new InjectString('a <!-- snippet --> b', {newlines: 2});
var result = inject.append('foo');
//=> 'a <!-- snippet -->\n\nfoo\n\n<!-- endsnippet --> b'
Specify lines for before and after separately
var inject = new InjectString('a <!-- snippet --> b', {newlines: '1,2'});
var result = inject.append('foo');
//=> 'a <!-- snippet -->\nfoo\n\n<!-- endsnippet --> b'
Install dev dependencies:
$ npm install -d && npm test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
This library is based on inject-snippet.
MIT © amazingSurge