mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
MDX example app (#5796)
Example deployment on now v2: https://nextjswith-mdxexample-r8b1vzjbn.now.sh
This commit is contained in:
parent
f79230db33
commit
2f3b0c4de6
45
examples/with-mdx/README.md
Normal file
45
examples/with-mdx/README.md
Normal file
|
@ -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.
|
12
examples/with-mdx/components/button.js
Normal file
12
examples/with-mdx/components/button.js
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
export default ({ children }) => (
|
||||||
|
<button style={{
|
||||||
|
borderRadius: '3px',
|
||||||
|
border: '1px solid black',
|
||||||
|
color: 'black',
|
||||||
|
padding: '0.5em 1em',
|
||||||
|
cursor: 'pointer',
|
||||||
|
fontSize: '1.1em'
|
||||||
|
}}>
|
||||||
|
{children}
|
||||||
|
</button>
|
||||||
|
)
|
6
examples/with-mdx/next.config.js
Normal file
6
examples/with-mdx/next.config.js
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
const withMDX = require('@zeit/next-mdx')({
|
||||||
|
extension: /\.mdx?$/
|
||||||
|
})
|
||||||
|
module.exports = withMDX({
|
||||||
|
pageExtensions: ['js', 'jsx', 'mdx']
|
||||||
|
})
|
18
examples/with-mdx/package.json
Normal file
18
examples/with-mdx/package.json
Normal file
|
@ -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"
|
||||||
|
}
|
7
examples/with-mdx/pages/index.mdx
Normal file
7
examples/with-mdx/pages/index.mdx
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
import Button from '../components/button.js'
|
||||||
|
|
||||||
|
# MDX + Next.js
|
||||||
|
|
||||||
|
Look, a button! 👇
|
||||||
|
|
||||||
|
<Button>👋 Hello</Button>
|
Loading…
Reference in a new issue