Beautiful Minimalist React & MDX Presentations
TypeScript
395
85 commits
updated Aug 29, 2026
Create beautiful minimalist presentations with React & MDX.
npm init remdx
curl -fsSL https://vite.plus | bash
vp install
vp dev
See the Example Deck to get started with adding ReMDX to your project:
vp add @nkzw/remdx @nkzw/vite-plugin-remdx
vite.config.ts:
import { defineConfig } from 'vite-plus';
import remdx from '@nkzw/vite-plugin-remdx';
import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [remdx(), react()],
});
index.html:
<div id="app"></div>
<script type="module">
import '@nkzw/remdx/style.css';
import { render } from '@nkzw/remdx';
render(document.getElementById('app'), import('./slides.re.mdx'));
</script>
Then create your slides.re.mdx and start the dev server via vp dev.
---.--. The theme can be set via theme: <name>, and background images can be set via image: <url>, referring to images in the public/ folder.export { Components } from './Components'. The Components.tsx file should export an object with component names mapping to their implementation as default export.shiki and support syntax highlighting via CSS variables.) can be styled by passing CSS properties to the query string.ReMDX was inspired by:
The core of ReMDX is a lean fork of Spectacle. create-remdx is based on Slidev. I'd like to thank the authors of the above tools for their awesome work.
All three of the above solutions fall short in some way. Some are a bit outdated, and some have too much cruft or are slow. Slidev is modern but only works with Vue instead of React. I wanted to build a fast MDX-based slide deck tool on top of Vite+ that uses React and only supports a minimal set of features.
That's not a question. Fork it, build it, and submit a PR.
TypeScript
83.9%
CSS
14.6%
HTML
1.2%
Beautiful Minimalist React & MDX Presentations
TypeScript
395
85 commits
updated Aug 29, 2026
Create beautiful minimalist presentations with React & MDX.
npm init remdx
curl -fsSL https://vite.plus | bash
vp install
vp dev
See the Example Deck to get started with adding ReMDX to your project:
vp add @nkzw/remdx @nkzw/vite-plugin-remdx
vite.config.ts:
import { defineConfig } from 'vite-plus';
import remdx from '@nkzw/vite-plugin-remdx';
import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [remdx(), react()],
});
index.html:
<div id="app"></div>
<script type="module">
import '@nkzw/remdx/style.css';
import { render } from '@nkzw/remdx';
render(document.getElementById('app'), import('./slides.re.mdx'));
</script>
Then create your slides.re.mdx and start the dev server via vp dev.
---.--. The theme can be set via theme: <name>, and background images can be set via image: <url>, referring to images in the public/ folder.export { Components } from './Components'. The Components.tsx file should export an object with component names mapping to their implementation as default export.shiki and support syntax highlighting via CSS variables.) can be styled by passing CSS properties to the query string.ReMDX was inspired by:
The core of ReMDX is a lean fork of Spectacle. create-remdx is based on Slidev. I'd like to thank the authors of the above tools for their awesome work.
All three of the above solutions fall short in some way. Some are a bit outdated, and some have too much cruft or are slow. Slidev is modern but only works with Vue instead of React. I wanted to build a fast MDX-based slide deck tool on top of Vite+ that uses React and only supports a minimal set of features.
That's not a question. Fork it, build it, and submit a PR.
TypeScript
83.9%
CSS
14.6%
HTML
1.2%