jstransformer-markdown-it
Version:
markdown-it support for JSTransformers.
104 lines (76 loc) • 2.93 kB
Markdown
# jstransformer-markdown-it
[markdown-it](https://github.com/markdown-it/markdown-it) support for [JSTransformers](http://github.com/jstransformers).
[](https://travis-ci.org/jstransformers/jstransformer-markdown-it)
[](https://codecov.io/gh/jstransformers/jstransformer-markdown-it)
[](http://david-dm.org/jstransformers/jstransformer-markdown-it)
[](https://www.npmjs.org/package/jstransformer-markdown-it)
## Installation
npm install jstransformer-markdown-it
## API
```js
var md = require('jstransformer')(require('jstransformer-markdown-it'));
md.render('# Hello World!').body;
//=> '<h1>Hello World!</h1>'
```
### Inline rendering
markdown-it supports rendering a Markdown string in an inline fashion (i.e. without wrapping `<p>`):
```js
var md = require('markdown-it')();
md.renderInline(src);
```
In jstransformer-markdown-it, this can be achieved through the `inline` option:
```js
var md = require('jstransformer')(require('jstransformer-markdown-it'));
md.render('**strong**').body;
//=> '<p><strong>strong</strong></p>\n'
md.render('**strong**', { inline: true }).body;
//=> '<strong>strong</strong>'
```
### Plugins
Plugins in markdown-it are applied with the `.use` function:
```js
var md = require('markdown-it')();
md.use(require('plugin1'));
md.use(plugin2);
md.use(plugin3, opts, ...);
md.use(require('plugin4'), opts, ...);
```
jstransformer-markdown-it allows doing the same through the `plugins` option:
```js
var md = require('jstransformer')(require('jstransformer-markdown-it'));
md.render(markdown, {
plugins: [
'plugin1',
plugin2,
[plugin3, opts, ...],
['plugin4', opts, ...]
]
}).body;
```
If an element of the `plugins` array is a string, it is `require`d. If an element is an array, the first element will represent the plugin, while the rest are treated as options to that plugin.
### Rules
markdown-it allows enabling and disabling specific rules through `md.disable` and `.enable` functions:
```js
var md = require('markdown-it')();
md.disable([ 'link', 'image' ]);
md.disable('backticks');
md.disable('might-not-exist', true);
md.enable('might-not-exist2', true);
```
In jstransformer-markdown-it, the same thing can be done with the `enable` and `disable` options, with slightly modified syntax:
```js
var md = require('jstransformer')(require('jstransformer-markdown-it'))
md.render(markdown, {
disable: [
'link',
'image',
'backticks',
['might-not-exist', true]
],
enable: [
['might-not-exist2', true]
]
}).body;
```
## License
MIT