@nuxtjs/mdx

1.0.0 • Public • Published

@nuxtjs/mdx

@nuxtjs/mdx

npm version npm downloads Github Actions CI Codecov License

MDX module for Nuxt

Features

  • Import .mdx files as Vue components
  • Import Vue components in your .mdx files
  • Replace markdown elements with Vue components with the MDX Provider.

📖 Release Notes

Setup

  1. Add @nuxtjs/mdx dependency to your project
yarn add --dev @nuxtjs/mdx # or npm install --dev @nuxtjs/mdx
  1. Add @nuxtjs/mdx to the buildModules section of nuxt.config.js
export default {
  buildModules: [
    '@nuxtjs/mdx'
  ]
}

Usage

After installing the @nuxtjs/mdx module, you're ready to start using MDX files in your Nuxt app. The @nuxtjs/mdx module picks up all .mdx files used in your Nuxt app and converts them into Vue components. This makes it possible to use MDX files as Nuxt routes and regular components.

Using .mdx files in ~/pages directory

Start by creating a hello.mdx file in your ~/pages directory.

pages/
  index.vue
  hello.mdx

Inside hello.mdx, add some markdown content:

# Hello Nuxt MDX

<section
  id="mdx-nuxt-section"
  style={{
    color: 'white',
    backgroundColor: 'tomato',
    padding: '3rem'
  }}
>
  This a Nuxt MDX tomato.
</section>

<nuxt-link to="/some/path">
  to some page &rarr;
</nuxt-link>

After starting your app server, you can now view your rendered hello.mdx page at localhost:3000/hello 🎉

Importing .mdx files in Vue components

You can also import .mdx files as inside other Vue components.

<template>
  <div>
    <!-- 👇🏽 MDX file is parsed as Vue component -->
    <MyMDXComponent />
  </div>
</template>

<script>
import MyMDXComponent from '~/components/MyMDXComponent.mdx'

export default {
  components: {
    MyMDXComponent
  }
}
</script>

Development

  1. Clone this repository
  2. Install dependencies using yarn
  3. Start development server using yarn dev

License

MIT License

Copyright (c) Jonathan Bakebwa codebender828@gmail.com

Contributors

Thanks goes to these wonderful people (emoji key):


pooya parsa

💻

Sébastien Chopin

💻

Jonathan Bakebwa

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Readme

Keywords

none

Package Sidebar

Install

npm i @nuxtjs/mdx

Weekly Downloads

8

Version

1.0.0

License

MIT

Unpacked Size

7.8 kB

Total Files

4

Last publish

Collaborators

  • antfu
  • danielroe
  • clarkdo
  • pi0
  • atinux
  • alexchopin
  • _codebender828