• Stars
    star
    11,260
  • Rank 2,839 (Top 0.06 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

♠️ React MDX-based presentation decks

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 ---.

# Hello

---

## This is my deck

---

## The End

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

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

Start the development server:

npm start

Use the left and right arrow keys to navigate through the presentation.

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 'theme-ui'

<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.

Components

MDX Deck includes built-in components to help with creating presentations, a Notes component for adding speaker notes, a Head component for the document head, Header and Footer components for persistent header and footer content, and a Steps component for adding multiple intermediate steps in a single slide.

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: '100vh',
      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 custom layout styles or style child elements with CSS-in-JS.

Presenter Mode

Press Option + P to toggle Presenter Mode, which will show a preview of the next slide, a timer, and speaker notes.

presenter mode screenshot

The presentation can be opened in two separate windows at the same time, and it will stay in sync with the other window.

Keyboard Shortcuts

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

CLI Options

-p --port     Dev server port
-h --host     Host the dev server listens to
--no-open     Prevent from opening in default browser

Videos & Articles

Examples

See how others have used MDX Deck for their presentations.

Usage Examples

The following examples will open in CodeSandbox.


Related

MIT License

More Repositories

1

loading

This could take a while
CSS
3,531
star
2

colorable

Color combination contrast tester
HTML
1,958
star
3

reflexbox

Moved to https://rebassjs.org
JavaScript
1,360
star
4

fitter-happier-text

Performant, fully fluid headings
HTML
1,291
star
5

repng

React component to PNG converter
JavaScript
893
star
6

geomicons-open

Open Source Icons for the Web
HTML
832
star
7

palx

🌈 Automatic UI Color Palette Generator
JavaScript
831
star
8

ok-mdx

Browser-based MDX editor
JavaScript
758
star
9

ram

⚛️ React Application Manager: create and run React (and other) applications – no command line or build setup required
JavaScript
585
star
10

react-x-ray

React CSS Layout Debugger
JavaScript
573
star
11

macro-components

Create flexible layout and composite UI components without the need to define arbitrary custom props
JavaScript
485
star
12

plangular

Create custom SoundCloud players with HTML & CSS
HTML
485
star
13

shade

Gradient explorer
HTML
460
star
14

mdx-docs

📝 Document and develop React components with MDX and Next.js
JavaScript
452
star
15

paths

Build and edit SVGs in the browser
JavaScript
418
star
16

tachyons-components

React UI components powered by Tachyons with a styled-components like API
JavaScript
413
star
17

mdx-go

⚡ Lightning fast MDX-based dev server for progressive documentation
JavaScript
363
star
18

microicon

SVG icon microservice
JavaScript
360
star
19

static-react

Zero-configuration CLI React static renderer
JavaScript
350
star
20

reline

React SVG line icon components
JavaScript
248
star
21

react-css-grid

React layout component based on CSS Grid Layout and built with styled-components
JavaScript
245
star
22

refunk

🎧 Simple React functional setState
JavaScript
239
star
23

hello-color

JavaScript
233
star
24

gravitons

JavaScript
218
star
25

layouts

Grab-and-go layouts for React
JavaScript
215
star
26

axs

Stupid simple style components for React
JavaScript
209
star
27

contrast-swatch

🅰️ Image microservice for color contrast information
JavaScript
209
star
28

rgx

React grid system based on minimum and maximum widths
JavaScript
202
star
29

nano-component

Fast & simple React component styles in under 1kb
JavaScript
196
star
30

mdx-blocks

JavaScript
191
star
31

vhs

Post-Future CSS Animations
HTML
184
star
32

papercraft

Hand-coded SVG lettering
CSS
153
star
33

blog

Personal blog on design & development
HTML
146
star
34

figma-theme

Generate development-ready theme JSON files from Figma Styles
JavaScript
135
star
35

react-icons

Building SVG Icons with React
HTML
134
star
36

system-components

https://github.com/jxnblk/styled-system/tree/master/system-components
JavaScript
131
star
37

rmdi

React Material Design Icons – built with Pixo, Styled Components, and Styled System
JavaScript
129
star
38

Heather

A HyperMinimal Jekyll Theme
CSS
129
star
39

geomicons-wired

Geometric Icons
CSS
125
star
40

react-static-site-boilerplate

Demo boilerplate for generating a static site with React
HTML
115
star
41

rebranch

React context-based, conditional rendering components for A/B experiments
JavaScript
107
star
42

Ashley

A Readable & Responsive Theme for Tumblr
CSS
106
star
43

ejsx

Pure JSX templates for rendering static HTML
JavaScript
105
star
44

superbox

DEPRECATED: See https://rebassjs.org/reflexbox instead
JavaScript
102
star
45

live-doc

💫 Convert markdown to live React demos
JavaScript
99
star
46

gatsby-themes

JavaScript
98
star
47

Twipster

CSS
95
star
48

css-to-object

JavaScript
92
star
49

dropbar

JavaScript
89
star
50

react-geomicons

React icon component for Geomicons Open
JavaScript
88
star
51

nano-style

React functional CSS-in-JS
JavaScript
85
star
52

rebass-recomposed

JavaScript
78
star
53

SoundRad

A Radically Simpler & Faster SoundCloud Player
JavaScript
77
star
54

horror

😱 React HTML elements with CSS-in-JS
JavaScript
77
star
55

Spectral

Click the Rainbow
JavaScript
74
star
56

vim-mdx-js

Vim Script
74
star
57

skullcat

a avatar fur mrmrs
JavaScript
73
star
58

_gx

DEPRECATED Minimal responsive React grid system based on the Fab Four Technique.
HTML
73
star
59

stepkit

JavaScript
72
star
60

bumpkit

JavaScript
70
star
61

rrx

⚛️ Minimal React router using higher order components
JavaScript
69
star
62

f0

JavaScript
66
star
63

type-system

HTML
66
star
64

understyle

Functional style utilities for authoring JavaScript style objects
JavaScript
60
star
65

gatsby-theme-mdx-blog

JavaScript
58
star
66

microbeats

Beats Created in Under an Hour
JavaScript
56
star
67

hypercolors

Generative hyperterm color theme
JavaScript
55
star
68

react-cxs

ϟ Alternative React.createElement function which allows style objects to be passed to the className prop to generate CSS
JavaScript
55
star
69

reaxe

🍬 Syntactic sugar for React.createElement and JSX alternative
JavaScript
51
star
70

formula

CSS calculator for bulletproof form and button styles that always line up
JavaScript
50
star
71

diet-cola

A lightweight styled-components clone for creating React UI component primitives.
JavaScript
49
star
72

tempo

Responsive Grid System
CSS
48
star
73

hyperterminator

Hyperterm theme for cybernetic organisms
JavaScript
47
star
74

react-fitter-happier-text

React component for fully fluid headings
JavaScript
46
star
75

css-scss

Convert CSS syntax to SCSS with calc, variables, and custom media queries
JavaScript
44
star
76

react-owl

🦉 React layout component based on the lobotomized owl selector and built with styled-components
JavaScript
43
star
77

robox

Higher-order React component for adding style helper props based on understyle
JavaScript
41
star
78

monochrome

JavaScript
40
star
79

hyp

ϟ Functional UI component microlibrary with ES6 tagged template literals
JavaScript
39
star
80

superstyle

CSSOM-JS utility library
JavaScript
39
star
81

universal-components

JavaScript
38
star
82

scrs

JavaScript
38
star
83

hidden-styled

JavaScript
37
star
84

grays

HTML
35
star
85

colorable-app

Color constrast checker
JavaScript
34
star
86

principles

My principles of web design
HTML
33
star
87

object-style

JavaScript
33
star
88

redeck

DEPRECATED: see https://github.com/jxnblk/mdx-deck
JavaScript
32
star
89

react-component-permutations

Uses propTypes to create an array of React component props to display various permutations.
HTML
32
star
90

tag-hoc

React HOC to set an element's tag and remove props
JavaScript
31
star
91

cxs-components

Styled UI component primitives for React - built with cxs
JavaScript
31
star
92

kenburns

Sass mixin for Ken Burns effect background images
CSS
30
star
93

json-react

JavaScript
30
star
94

react-media-context

React higher-order component (HOC) to provide context for the currently matched media query.
JavaScript
30
star
95

watch

In case you forget what time it is
JavaScript
30
star
96

react-simple-icons

JavaScript
29
star
97

path-ast

SVG path element command parser/stringifier
JavaScript
29
star
98

typography-system

JavaScript
29
star
99

simple-modular-scale

Modular scale generator based on an array of ratios
JavaScript
29
star
100

mdx-themes

JavaScript
26
star