Skip to content
This repository has been archived by the owner on May 2, 2024. It is now read-only.

0phoff/MDXP

Repository files navigation

Logo

NPM Downloads Size License Ko-Fi

Web Slides Made Easy

MDX Presenter allows you to create slides easily with React and MDX.
With this tool, you can:

  • Write your presentations in Markdown.
  • Use React components, or even build your own.
  • Create a consistent look and feel with Theme-UI.
  • Present on any computer with a (modern) browser, by using the onepage build mode.
  • Integrate it in any of your favourite web bundlers, static site generators, ...

Click here to view a demo built with MDXP or
Click here to take a look at the documentation.

Gettting started

The easiest and recommended way to get started with MDXP is to use our Webpack template. Webpack allows to bundle all your source files and combine them into an output, which you can display in the browser. First, you'll want to install it like so:

npm i -g @mdxp/create-webpack

You should then be able to run the commands below to start and run a presentation.

# Initialize presentation project
npm init @mdxp/webpack -g my_presentation
cd my_presentation

# Start dev server
npm run start

# Edit presentation with your favourite editor
vim src/presentation.mdx

# Build presentation
npm run build

How is this different from MDX-Deck

I started using MDX-Deck and immediately loved the concept of writing your presentations with MDX.
However, I found one big flaw with it and that is that it builds your presentation as a gatsby website.

I have two reasons for disliking this:

  1. When presenting at conferences, you are sometimes obliged to present on a given computer and thus it is not feasible to present with a local server on your computer. While you could host your presentation somewhere and just browse to it, that has the downside that you are at the mercy of internet speeds at the conference, which might be a serious issue if you have lots of images and/or videos. The best solution would be to have a single file, like a .ppt, that you can just open on any computer. MDXP allows to build your presentation in onepage mode, which means you end up with one index.html file (+ any videos or huge images), which you can open in any (modern) browser, without the need for a server.
  2. The fact that it uses Gatsby adds a whole layer of complexity. Gatsby is not a small tool and learning to use it takes some time. This also means that the threshold for someone being able to contribute to the project becomes much higher. The core of MDXP is just a react library and thus it is easier to learn and contribute to this repository. If need be, you can still integrate MDXP into a Gatsby project, thus having the best of both worlds.

I would like to expres my gratitude towards the MDX-Deck project and the team behind it!
I took a lot of inspiration and even some code from it, and would not have been able to build MDXP without it.

Contributing

This project is setup as a monorepo with lerna and yarn workspaces.
After installing yarn, you can clone this repository and run the following commands to set everything up and start developing:

yarn install
lerna bootstrap