meta-shortcodes
Generic shortcodes parser with support of attributes and single/pair tags.
Usage
var should = ;var ShortcodeParser = ; var parser = ; parser; parser; var input = "Sample [test]shortcode content [nested multiply=2 2 4/] is upper[/test] case!";var output = parser; outputshould;
Instalation
npm install meta-shortcodes
API
#constructor(opts)
opts = {
openPattern: '\\[',
closePattern: '\\]'
}
#add(shortcodeName, handlerFunction)
Registers new shortcode
Param | Type | Description |
---|---|---|
shortcodeName | string | Name of shortcode tag |
handlerFunction | function | Function that returns replacement for shortcode. Accepts two arguments - options object and content string. |
#parse(inputStr)
Registers new shortcode
Param | Type | Description |
---|---|---|
inputStr | string | Input string where shortcodes should be replaced. |
Shortcode examples
#Self-closing
[name argument1 argument2 key=value key=value/]
#Pair
[name]content[/name]
#Quoted arguments
[name "argument 1" 'argument 2' "key is"="long value"/]
#Escaping quotes in arguments
[name "argu\"ment" "ke\"y"='val\'ue']
#Escaping of entire shortcode
\\[this shortcode is not processed /]
Testing
npm install --dev
npm test
Current code-coverage 97%
Using alternative brackets
var should = ;var ShortcodeParser = ; var parser = ; parser; var output = parsershould;
License
MIT (c) 2015 META Platform team, Jiri Hybek