What is MDX?
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. 🚀
❤️ Powerful: MDX blends markdown and JSX syntax to fit perfectly in JSX-based projects.
💻 Everything is a component: Use existing components inside your MDX and import other MDX files as plain components.
🔧 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.”
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 @kentcdodds introduce some of these features on YouTube: