1
1
mirror of https://github.com/jxnblk/mdx-deck.git synced 2024-11-25 07:05:52 +03:00
♠️ React MDX-based presentation decks
Go to file
2019-07-16 23:07:24 -04:00
cypress Add basic cypress test 2019-07-16 19:15:01 -04:00
docs Edit Gatsby docs 2019-07-16 23:02:48 -04:00
examples v2.5.1 2019-07-16 22:05:53 -04:00
packages Merge branch 'master' into next-v3 2019-07-16 22:44:18 -04:00
templates/basic Merge branch 'master' into next-v3 2019-07-16 22:44:18 -04:00
.gitignore Edit gitignore 2019-07-16 23:07:24 -04:00
.prettierrc Update husky and lint-staged 2019-07-07 13:00:53 -04:00
.travis.yml Add now config 2019-03-10 21:44:13 -04:00
CHANGELOG.md Edit changelog 2019-07-16 22:08:25 -04:00
CONTRIBUTING.md Update contributing docs 2019-04-13 12:10:30 -04:00
cypress.json Add basic cypress test 2019-07-16 19:15:01 -04:00
lerna.json v2.5.1 2019-07-16 22:05:53 -04:00
LICENSE.md Edit readme 2018-07-29 12:37:09 -04:00
MIGRATION.md Edit docs 2019-07-16 20:53:33 -04:00
netlify.toml Adjust netlify config 2019-07-16 19:16:14 -04:00
package.json Add basic cypress test 2019-07-16 19:15:01 -04:00
README.md Adde symlink for readme 2019-03-16 13:15:19 -04:00
yarn.lock Merge pull request #397 from jxnblk/v3-tests 2019-07-16 21:54:01 -04:00

MDX Deck

Award-winning React MDX-based presentation decks

Build Status Version Downloads

View demo

Getting Started

npm i -D mdx-deck

Create an MDX file and separate each slide with ---.

# This is the title of my deck

---

# About Me

---

```jsx
<CodeSnippet />
```

---

import Demo from './components/Demo'

## <Demo />

# The end

Add a run script to your package.json with the MDX Deck CLI pointing to the .mdx file to start the dev server:

"scripts": {
  "start": "mdx-deck deck.mdx"
}

Start the dev server:

npm start

Using MDX

MDX uses Markdown syntax and can render React components inline with JSX.

Imports

To import components, use ES import syntax separated with empty lines between any markdown or JSX syntax.

import { Box } from 'rebass'

<Box color="tomato">Hello</Box>

Read more about MDX syntax in the MDX Docs.

Theming

MDX Deck uses Theme UI and Emotion for styling, making practically any part of the presentation themeable. It also includes several built-in themes to change the look and feel of the presentation. See the list of available Themes, or read more about theming in the Theming docs.

Components

MDX Deck includes built-in components to help with creating presentations, including a background Image component, an Appear component that allows stepping through parts of a single slide, and a Notes component for adding speaker notes. Read more in the Components docs.

Third-Party Components

These optional libraries are intended for use with MDX Deck.

  • CodeSurfer: React component for scrolling, zooming and highlighting code.
  • mdx-code: Runnable code playgrounds for MDX Deck.
  • mdx-deck-live-code: Live React and JS coding in slides.

Note: please check with version compatibility when using these libraries.

Layouts

Each slide can include a custom layout around its content, which can be used as a template for visually differentiating slides.

// example Layout.js
import React from 'react'

export default ({ children }) => (
  <div
    style={{
      width: '100vw',
      height: '100vw',
      backgroundColor: 'tomato',
    }}>
    {children}
  </div>
)
import Layout from './Layout'

# No Layout

---

<Layout>

# Custom Layout

</Layout>

The layout component will wrap the MDX elements within that slide, which means you can add layout styles, use a nested ThemeProvider, or style elements with CSS-in-JS.

Built-in Layouts

MDX Deck includes a few built-in layouts for inverting theme colors and changing the layout of a slide.

Presenter Mode

Use Presenter Mode when on stage to show a preview of the next slide, a timer, and speaker notes.

presenter mode screenshot

Keyboard Shortcuts

Key Description
Left Arrow, Page Up, Shift + Space Go to previous slide (or step in Appear)
Right Arrow, Page Down, Space Go to next slide (or step in Appear)
Option + P Toggle Presenter Mode
Option + O Toggle Overview Mode
Option + G Toggle Grid Mode

Videos & Articles

Docs

Real-World Examples

See how others have used MDX Deck for their presentations.

Usage Examples

The following examples will open in CodeSandbox.


MIT License