UNPKG

remark-directive-rehype

Version:

Remark plugin to enable Markdown directives to be parsed as HTML.

20 lines (19 loc) 721 B
import { h } from 'hastscript'; import { map } from 'unist-util-map'; const isDirectiveNode = (node) => { const { type } = node; return type === 'textDirective' || type === 'leafDirective' || type === 'containerDirective'; }; const mapDirectiveNode = (node) => { if (isDirectiveNode(node)) { const { properties, tagName } = h(node.name, node.attributes); return Object.assign(Object.assign({}, node), { data: { hName: tagName, hProperties: properties } }); } return node; }; const transformNodeTree = (nodeTree) => map(nodeTree, mapDirectiveNode); const remarkDirectiveRehype = () => transformNodeTree; export default remarkDirectiveRehype;