@nuxtjs/mdx v1.0.0
@nuxtjs/mdx
Features
- Import
.mdxfiles as Vue components - Import Vue components in your
.mdxfiles - Replace markdown elements with Vue components with the MDX Provider.
Setup
- Add
@nuxtjs/mdxdependency to your project
yarn add --dev @nuxtjs/mdx # or npm install --dev @nuxtjs/mdx- Add
@nuxtjs/mdxto thebuildModulessection ofnuxt.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.mdxInside 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 →
</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
- Clone this repository
- Install dependencies using
yarn - Start development server using
yarn dev
License
Copyright (c) Jonathan Bakebwa codebender828@gmail.com
Contributors β¨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
