diff --git a/examples/with-mdx/README.md b/examples/with-mdx/README.md new file mode 100644 index 00000000..95739d55 --- /dev/null +++ b/examples/with-mdx/README.md @@ -0,0 +1,45 @@ +[![Deploy to now](https://deploy.now.sh/static/button.svg)](https://deploy.now.sh/?repo=https://github.com/zeit/next.js/tree/master/examples/with-mdx) + +# Example app with MDX + +## How to use + +### Using `create-next-app` + +Execute [`create-next-app`](https://github.com/segmentio/create-next-app) with [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/) or [npx](https://github.com/zkat/npx#readme) to bootstrap the example: + +```bash +npx create-next-app --example with-mdx with-mdx-app +# or +yarn create next-app --example with-mdx with-mdx-app +``` + +### Download manually + +Download the example: + +```bash +curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-mdx +cd with-mdx +``` + +Install it and run: + +```bash +npm install +npm run dev +# or +yarn +yarn dev +``` + +Deploy it to the cloud with [now](https://zeit.co/now) ([download](https://zeit.co/download)) + +```bash +now +``` + +## The idea behind the example + +This example shows using [MDX](https://github.com/mdx-js/mdx) as top level pages +for your next.js app. diff --git a/examples/with-mdx/components/button.js b/examples/with-mdx/components/button.js new file mode 100644 index 00000000..035fbf70 --- /dev/null +++ b/examples/with-mdx/components/button.js @@ -0,0 +1,12 @@ +export default ({ children }) => ( + +) diff --git a/examples/with-mdx/next.config.js b/examples/with-mdx/next.config.js new file mode 100644 index 00000000..ef57d190 --- /dev/null +++ b/examples/with-mdx/next.config.js @@ -0,0 +1,6 @@ +const withMDX = require('@zeit/next-mdx')({ + extension: /\.mdx?$/ +}) +module.exports = withMDX({ + pageExtensions: ['js', 'jsx', 'mdx'] +}) diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json new file mode 100644 index 00000000..2c546ec7 --- /dev/null +++ b/examples/with-mdx/package.json @@ -0,0 +1,18 @@ +{ + "name": "with-mdx", + "version": "1.0.0", + "scripts": { + "dev": "next", + "build": "next build", + "start": "next start" + }, + "dependencies": { + "@mdx-js/mdx": "0.16.5", + "@zeit/next-mdx": "1.2.0", + "next": "latest", + "react": "^16.0.0", + "react-dom": "^16.0.0" + }, + "devDependencies": {}, + "license": "ISC" +} diff --git a/examples/with-mdx/pages/index.mdx b/examples/with-mdx/pages/index.mdx new file mode 100644 index 00000000..ebd48dbe --- /dev/null +++ b/examples/with-mdx/pages/index.mdx @@ -0,0 +1,7 @@ +import Button from '../components/button.js' + +# MDX + Next.js + +Look, a button! 👇 + +