rehype-mdxjs-inject-code-prop
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

About

A MDX - rehype plugin that uses injects code prop on targeted components. Code segment is generated from target component's children property.

This is a lightweight and straightforward implementation of storybook concept as you can get code preview + code really fast while documenting your components inside .mdx files

Uses prettier to format code segment.

Installataion

npm install rehype-mdxjs-inject-code-prop -D

or

yarn add rehype-mdxjs-inject-code-prop -D

Usage

With mdx core compiler

import { transform as rehypeInjectCodeAsProp } from 'rehype-mdxjs-inject-code-prop'
import { compile } from '@mdx-js/mdx';

const code = compile('./src/mdxFileSource.mdx', {
    rehypePlugins: [rehypeInjectCodeAsProp({
        componentToInject: /MyCodeComponent|MyOtherCodeComponent/
    })]
});

// Do something with the code...
// console.log(code) 

Options

option required Description default
extensions false What extensions will be used when resolving source code paths. Unused if custom moduleResolver is used ['.tsx', '.js', '.json', '.ts', '.jsx', '.mdx']
componentToInject true Component name(s) where code will be injected undefined
propName false Prop name for injected code code
moduleResolver false A custom function resolver for ES modules inside MDX files. You probably don't wanna tackle this unless you need some specific module resolving logic. By default it uses browserify resolve resolveSync(...)

Package Sidebar

Install

npm i rehype-mdxjs-inject-code-prop

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

7.8 kB

Total Files

4

Last publish

Collaborators

  • kbulatovic