remark-variables
This plugin adds variables support to remark using a customizable template syntax. Variables are checked against both the vfile's, and processor's data property and can use both dot and bracket syntax. For example, foo.bar[0]
resolve to vfile.data.foo.bar[0]
if it exists, or do nothing if the property does not exist. By default, this plugin uses double curly braces {{
, }}
to denote variables but can be configured.
Install
npm install --save remark-variables
Usage
If we have a file, example.md
# {{ title }}
- {{ list[0] }} (string)
- {{ list[1] }} (number)
- {{ list[2] }} (boolean)
> {{ subtitle }}
and
var unified = var parser = var compiler = var variables = var reporter = var toVfile = var markdown = // Set the processorvar processor = // Add some dataprocessor = data'title' 'Example' data'subtitle' 'Variables in markdown!' data'list' 'other text' 0 true // And process
the output would be
./example.md: no issues found
# Example
- other text (string)
- 0 (number)
- true (boolean)
> Variables in markdown!
Options
Type: Object
| Array
| String
If options is a string, then it is used as the opening and closing fence markers, for example: .use(variables, ':')
would match :some.variable[0]:
look for vfile.data.some.variable[0]
. If options is an array, options[0] and options[1] are used as fence markers.
fence
Type: Array
Default: [ '{{', '}}' ]
Markers used to denote a variable to be replaced.
License
MIT © Paul Zimmer