0.1.0 • Published 2 years ago

rehype-mdxjs-inject-code-prop v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

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

optionrequiredDescriptiondefault
extensionsfalseWhat extensions will be used when resolving source code paths. Unused if custom moduleResolver is used['.tsx', '.js', '.json', '.ts', '.jsx', '.mdx']
componentToInjecttrueComponent name(s) where code will be injectedundefined
propNamefalseProp name for injected codecode
moduleResolverfalseA 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 resolveresolveSync(...)