Package Exports
- remark-variables
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (remark-variables) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-variablesUsage
If we have a file, example.md
# {{ title }}
- {{ list[0] }} (string)
- {{ list[1] }} (number)
- {{ list[2] }} (boolean)
> {{ subtitle }}and
var unified = require('unified')
var parser = require('remark-parse')
var compiler = require('remark-stringify')
var variables = require('remark-variables')
var reporter = requir('vfile-reporter')
var toVfile = require('to-vfile')
var markdown = toVfile('./example.md')
// Set the processor
var processor = unified()
.use(parser)
.use(compiler)
.use(variables)
// Add some data
processor = processor()
.data('title', 'Example')
.data('subtitle', 'Variables in markdown!')
.data('list', [ 'other text', 0, true ])
// And process
processor().process(markdown, function (err, file) {
console.error(reporter(err || file))
console.log(file.toString())
})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