New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

remark-variables

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

remark-variables

Adds variables support to remark

latest
Source
npmnpm
Version
1.4.9
Version published
Weekly downloads
1K
16.53%
Maintainers
1
Weekly downloads
 
Created
Source

remark-variables

Travis Coverage
Status

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 = require('unified')
var parser = require('remark-parse')
var compiler = require('remark-stringify')
var variables = require('remark-variables')
var reporter = require('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

Keywords

remark

FAQs

Package last updated on 03 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts