A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/remcohaszing/rehype-mdx-code-props below:

remcohaszing/rehype-mdx-code-props: A rehype MDX plugin for interpreting markdown code meta as props

A rehype MDX plugin for interpreting markdown code meta as props.

npm install rehype-mdx-code-props

This plugin interprets markdown code block metadata as JSX props.

For example, given a file named example.mdx with the following content:

```js copy filename="awesome.js" onOpen={props.openDemo} {...props}
console.log('Everything is awesome!')
```

The following script:

import { readFile } from 'node:fs/promises'

import { compile } from '@mdx-js/mdx'
import rehypeMdxCodeProps from 'rehype-mdx-code-props'

const { value } = await compile(await readFile('example.mdx'), {
  jsx: true,
  rehypePlugins: [rehypeMdxCodeProps]
})
console.log(value)

Roughly yields:

export default function MDXContent(props) {
  return (
    <pre copy filename="awesome.js" onOpen={props.openDemo} {...props}>
      <code className="language-js">{"console.log('Everything is awesome!');\n"}</code>
    </pre>
  )
}

The <pre /> element doesn’t support those custom props. Use custom components to give the props meaning.

Note This plugin transforms the hast (HTML) nodes into JSX. After running this plugin, they can no longer be processed by other plugins. To combine it with other plugins, such as syntax highlighting plugins, rehype-mdx-code-props must run last.

This package has a default export rehypeMdxCodeProps.

An MDX rehype plugin for transforming markdown code meta into JSX props.

This plugin works with Node.js 16 or greater and MDX 3.

MIT © Remco Haszing


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4