├── .gitignore ├── templates └── next │ ├── pages │ ├── components │ │ ├── index.md │ │ └── Button.md │ ├── getting-started.md │ ├── index.md │ ├── _document.js │ └── _app.js │ ├── .gitignore │ ├── package.json │ ├── next.config.js │ └── README.md ├── docs ├── .gitignore ├── pages │ ├── exporting.md │ ├── getting-started.md │ ├── migrating-from-x0.md │ ├── typography.mdx │ ├── _app.js │ ├── _document.js │ ├── index.md │ ├── theming.md │ ├── components.md │ └── custom-setup.md ├── static │ ├── card.png │ └── mdx-docs.gif ├── babel.config.js ├── package.json ├── src │ ├── card.js │ └── components.js ├── README.md └── next.config.js ├── packages ├── mdx-docs │ ├── .npmignore │ ├── babel.config.js │ ├── README.md │ ├── src │ │ ├── withComponents.js │ │ ├── components.js │ │ ├── context.js │ │ ├── index.js │ │ ├── NavLinks.js │ │ ├── Pagination.js │ │ └── Layout.js │ └── package.json ├── mdx-style │ ├── themes.js │ ├── babel.config.js │ ├── .npmignore │ ├── test │ │ ├── __fixtures__ │ │ │ └── hello.mdx │ │ ├── __snapshots__ │ │ │ └── index.js.snap │ │ └── index.js │ ├── src │ │ ├── themes │ │ │ ├── index.js │ │ │ ├── term.js │ │ │ └── base.js │ │ └── index.js │ ├── package.json │ ├── README.md │ └── package-lock.json ├── mdx-live │ ├── .npmignore │ ├── babel.config.js │ ├── docs │ │ └── index.mdx │ ├── package.json │ ├── README.md │ ├── test │ │ ├── index.js │ │ └── __snapshots__ │ │ │ └── index.js.snap │ └── src │ │ └── index.js ├── create-docs │ ├── README.md │ ├── package.json │ ├── cli.js │ └── package-lock.json └── next-mdx-docs │ ├── package.json │ ├── README.md │ ├── index.js │ └── package-lock.json ├── lerna.json ├── now.json ├── babel.config.js ├── Dockerfile ├── .travis.yml ├── CHANGELOG.md ├── package.json ├── LICENSE.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | coverage 3 | node_modules 4 | -------------------------------------------------------------------------------- /templates/next/pages/components/index.md: -------------------------------------------------------------------------------- 1 | 2 | # Components 3 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | .next 4 | out 5 | -------------------------------------------------------------------------------- /packages/mdx-docs/.npmignore: -------------------------------------------------------------------------------- 1 | babel.config.js 2 | src 3 | test 4 | demo 5 | -------------------------------------------------------------------------------- /packages/mdx-style/themes.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/themes') 2 | -------------------------------------------------------------------------------- /templates/next/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | .next 4 | out 5 | -------------------------------------------------------------------------------- /docs/pages/exporting.md: -------------------------------------------------------------------------------- 1 | 2 | # Exporting 3 | 4 | - static export 5 | - assetPath 6 | -------------------------------------------------------------------------------- /packages/mdx-docs/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../../babel.config') 2 | -------------------------------------------------------------------------------- /packages/mdx-live/.npmignore: -------------------------------------------------------------------------------- 1 | coverage 2 | test 3 | src 4 | docs 5 | babel.config.js 6 | -------------------------------------------------------------------------------- /packages/mdx-live/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../../babel.config') 2 | -------------------------------------------------------------------------------- /packages/mdx-style/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../../babel.config') 2 | -------------------------------------------------------------------------------- /docs/static/card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jxnblk/mdx-docs/HEAD/docs/static/card.png -------------------------------------------------------------------------------- /docs/pages/getting-started.md: -------------------------------------------------------------------------------- 1 | 2 | # Getting Started 3 | 4 | ```sh 5 | npm init docs 6 | ``` 7 | -------------------------------------------------------------------------------- /packages/mdx-style/.npmignore: -------------------------------------------------------------------------------- 1 | src 2 | test 3 | coverage 4 | docs 5 | site 6 | babel.config.js 7 | -------------------------------------------------------------------------------- /docs/static/mdx-docs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jxnblk/mdx-docs/HEAD/docs/static/mdx-docs.gif -------------------------------------------------------------------------------- /packages/mdx-docs/README.md: -------------------------------------------------------------------------------- 1 | 2 | # mdx-docs 3 | 4 | Documentation sites with MDX and Next.js 5 | 6 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | "packages/*" 4 | ], 5 | "version": "2.0.0-alpha.2" 6 | } 7 | -------------------------------------------------------------------------------- /packages/mdx-style/test/__fixtures__/hello.mdx: -------------------------------------------------------------------------------- 1 | 2 | # Hello 3 | 4 | ## Heading 2 5 | 6 | Paragraph 7 | -------------------------------------------------------------------------------- /templates/next/pages/getting-started.md: -------------------------------------------------------------------------------- 1 | 2 | # Getting Started 3 | 4 | ```sh 5 | npm init docs 6 | ``` 7 | -------------------------------------------------------------------------------- /packages/create-docs/README.md: -------------------------------------------------------------------------------- 1 | 2 | # create-docs 3 | 4 | **Beta** 5 | 6 | ```sh 7 | npm init docs 8 | ``` 9 | -------------------------------------------------------------------------------- /templates/next/pages/components/Button.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Button 4 | 5 | ```.jsx 6 | 7 | ``` 8 | -------------------------------------------------------------------------------- /packages/mdx-docs/src/withComponents.js: -------------------------------------------------------------------------------- 1 | export { withMDXComponents as default } from '@mdx-js/tag/dist/mdx-provider' 2 | -------------------------------------------------------------------------------- /packages/mdx-style/src/themes/index.js: -------------------------------------------------------------------------------- 1 | export { default as base } from './base' 2 | export { default as term } from './term' 3 | -------------------------------------------------------------------------------- /now.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MDX Docs", 3 | "alias": [ 4 | "mdx-docs.now.sh" 5 | ], 6 | "public": true, 7 | "type": "static" 8 | } 9 | -------------------------------------------------------------------------------- /docs/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | 'next/babel' 4 | ], 5 | plugins: [ 6 | '@babel/proposal-export-namespace-from', 7 | 'babel-plugin-styled-components', 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@babel/env', 4 | '@babel/react', 5 | ], 6 | plugins: [ 7 | '@babel/proposal-class-properties', 8 | '@babel/proposal-export-namespace-from', 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:10-alpine 2 | 3 | WORKDIR /usr/src 4 | 5 | COPY . . 6 | 7 | RUN npm i 8 | RUN npm run prepare 9 | RUN npm t 10 | 11 | RUN cd docs && npm i && npm run build && mv out /public 12 | 13 | COPY docs/static/* /public/ 14 | -------------------------------------------------------------------------------- /templates/next/pages/index.md: -------------------------------------------------------------------------------- 1 | 2 | # npm init docs 3 | 4 | This site was generated with [MDX Docs][]: Next.js-based documentation site. 5 | 6 | [mdx docs]: https://github.com/jxnblk/mdx-docs 7 | 8 | ```sh 9 | npm init docs 10 | ``` 11 | 12 | ```.jsx 13 |

LiveEditor

14 | ``` 15 | 16 | 17 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 10 4 | before_deploy: 5 | - cd docs 6 | - npm install 7 | - npm run build 8 | - touch out/.nojekyll 9 | deploy: 10 | provider: pages 11 | skip_cleanup: true 12 | github_token: $GH_TOKEN 13 | local_dir: docs/out 14 | on: 15 | branch: master 16 | -------------------------------------------------------------------------------- /packages/mdx-docs/src/components.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { withMDXLive } from 'mdx-live' 3 | 4 | export const a = ({ as: Tag = 'a', ...props }) => 5 | 6 | 7 | export const pre = withMDXLive('pre') 8 | 9 | export const components = { 10 | a, 11 | pre, 12 | } 13 | 14 | export default components 15 | -------------------------------------------------------------------------------- /packages/mdx-docs/src/context.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export const DocsContext = React.createContext() 4 | 5 | export const withDocs = Component => React.forwardRef((props, ref) => ( 6 | ( 8 | 13 | )} 14 | /> 15 | )) 16 | -------------------------------------------------------------------------------- /packages/mdx-docs/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as components } from './components' 2 | export { withDocs } from './context' 3 | export { 4 | Layout, 5 | Sidebar, 6 | Main, 7 | MenuIcon, 8 | MenuButton, 9 | MenuToggle, 10 | Navbar, 11 | } from './Layout' 12 | export { 13 | NavLinks, 14 | NavLink, 15 | // backwards-compat 16 | NavLinks as SideNav 17 | } from './NavLinks' 18 | export { Pagination } from './Pagination' 19 | -------------------------------------------------------------------------------- /packages/mdx-live/docs/index.mdx: -------------------------------------------------------------------------------- 1 | import { MDXLiveProvider } from '../src' 2 | 3 | export const Root = props => 4 | 5 |
13 | 14 | 15 | # MDX Live 16 | 17 | ```jsx 18 | 19 | ``` 20 | 21 | ```.jsx 22 |

Live Code

23 | ``` 24 | -------------------------------------------------------------------------------- /packages/mdx-style/test/__snapshots__/index.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`MDXStyle renders with css 1`] = ` 4 | Array [ 5 |