MDX v0.20.3


MDX

Markdown for the component era

MDX is an authorable format that lets you seamlessly write JSX in your Markdown documents. You can import components, such as interactive charts or alerts, and embed them within your content. This makes writing long-form content with components a blast πŸš€.

Try it

Hello, world!

Below is an example of JSX embedded in Markdown.
Try and change the background color!

This is JSX

# Hello, *world*!

Below is an example of JSX embedded in Markdown. <br /> **Try and change
the background color!**

<div style={{ padding: '20px', backgroundColor: 'tomato' }}>
  <h3>This is JSX</h3>
</div>

❀️ Powerful: MDX blends markdown and JSX syntax to fit perfectly in JSX-based projects.

πŸ’» Everything is a component: Import JSX components and render them directly in your MDX document.

πŸ”§ Customizable: Decide which component is rendered for each markdown element.

πŸ“š Markdown-based: The simplicity and elegance of Markdown remains, you interleave JSX only when you want to.

πŸ”₯ Blazingly blazing fast: MDX has no runtime, all compilation occurs during the build stage.

β€œIt’s extremely useful for using design system components to render markdown and weaving interactive components in with existing markdown.”

β€” @chrisbiscardi

Why?

Before MDX, some of the benefits of writing Markdown were lost when integrating with JSX. Implementations were often template string-based which required lots of escaping and cumbersome syntax.

MDX seeks to make writing with Markdown and JSX simpler while being more expressive. Writing is fun again when you combine components, that can even be dynamic or load data, with the simplicity of Markdown for long-form content.

Watch some of these features in action