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