node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

remark-rehype

remark-rehype Build Status Coverage Status

Bridge / mutate from remark to rehype.

Note that remark-rehype doesn’t deal with HTML inside the markdown. You’ll need rehype-raw if you’re planning on doing that.

Installation

npm:

npm install remark-rehype

Usage

Say we have the following file, example.md:

Hello world
 
> Block quote.
 
Some _emphasis_**importance**, and `code`.

And our script, example.js, looks as follows:

var vfile = require('to-vfile');
var report = require('vfile-reporter');
var unified = require('unified');
var markdown = require('remark-parse');
var remark2rehype = require('remark-rehype');
var doc = require('rehype-document');
var format = require('rehype-format');
var html = require('rehype-stringify');
 
unified()
  .use(markdown)
  .use(remark2rehype)
  .use(doc)
  .use(format)
  .use(html)
  .process(vfile.readSync('example.md'), function (err, file) {
    console.error(report(err || file));
    console.log(String(file));
  });

Now, running node example yields:

example.md: no issues found
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>example</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>
  <body>
    <h1>Hello world</h1>
    <blockquote>
      <p>Block quote.</p>
    </blockquote>
    <p>Some <em>emphasis</em><strong>importance</strong>, and <code>code</code>.</p>
  </body>
</html>

API

origin.use(remark2rehype[, destination][, options])

Either bridge or mutate from remark (MDAST) to rehype (HAST).

destination

If given (Unified), runs the destination processor with the new HAST tree, then, after running discards that tree and continues on running the origin processor with the original tree (bridge-mode). Otherwise, passes the tree to further plug-ins (mutate-mode).

options

options are passed through to mdast-util-to-hast, if given.

Related

License

MIT © Titus Wormer