turbo-eth
turbo-slides
JavaScript

๐Ÿ“– Slide Decks with Web3 Capabilities

Last updated May 18, 2026
41
Stars
7
Forks
0
Issues
0
Stars/day
Attention Score
21
Language breakdown
No language data available.
โ–ธ Files click to expand
README

turbo-slides-banner

๐Ÿ“– Turbo Slides

Create presentation decks using MDX, React, and Next.js with Web3 capabilities

Features

  • ๐Ÿ“ฝ React-based Slideshow
  • โœ๏ธ Write using Markdown, React components, even HTML!
  • ๐ŸŽจ Themeable with Tailwind or Styled Components
  • โ™ป๏ธ Sync slides between browser tabs
  • ๐Ÿ‘จโ€๐Ÿ’ป Presentation Mode
  • ๐Ÿ“ Speaker Notes

Getting Started

  • Clone the project: git clone https://github.com/turbo-eth/turbo-slides
  • Install dependencies: npm i or yarn
  • Run the dev server: npm run dev or yarn dev
  • Edit the first slide in /pages/index.mdx and save to see changes!
When you're done, run npm run build && npm run export or yarn build && yarn export will create a static app you can deploy anywhere (or use locally). See below for more details.

Deploying

This project is easy to build locally or using a host with build services (like Netlify or Now).

  • โš™๏ธ Run the build process: yarn export
  • ๐Ÿš€ Upload the static contents of out folder to host/CDN (or run the out/index.html locally)

How to Use

๐Ÿ’ฌ Changing the Title/Date/etc

The default theme includes a title, date, author (and link to the author's website) in of the

component. You can edit this data inside the site.config.js file.

โœ๏ธ Writing JSX

You can use JSX in a few ways in your MDX files:

  • You can use the syntax with HTML (
  • You can import React component from other files (import Button from "../components/Button"). Then you can use that component anywhere in that MDX file. The path to the component is relative to the MDX file.
  • You can use any React component imported into the (inside /components/MDXProvider.js). This allows you to use the component without importing it inside each MDX file.
  • You can define React components inside MDX files and then use them. MDX supports the use of JS inside files, like exporting variables, or in this case โ€” defining new functions. const Button = () =>
Check out the MDX docs for more information on the syntax.

๐Ÿ“ƒ Creating Slide Pages

You can create new slide pages by making new .mdx files inside the /pages/ directory. Each slide is separated by a markdown divider (---).

> You have to wrap the contents of each .mdx file with a component. This is what breaks up each slide page into individual slides using the markdown dividers.

๐Ÿ—บ Navigation

Slide pages represent real pages - so page-2.mdx == your-site.com/page-2. By using the next prop on the component you can control the next page you navigate to (after you go through all the slides).

<pre><code class="lang-js">// Navigates to your-site.com/your-custom-page after all slides complete &lt;SlidePage next=&quot;your-custom-page&quot;&gt;</code></pre>

๐ŸŽจ Theming the Slideshow

Theming is accomplished with CSS custom properties and/or Styled Components.

Design tokens are stored as CSS custom properties inside the SlidePage layout (/layouts/SlidePage.jsx), which are injected into the app using Styled Component's global styling utility. There you can change the color of text, background colors, fonts, etc.

The actual CSS styles of the Slideshow are also stored in the SlidePage layout. There you can change the padding of slides, alignment of quotes, etc.

When the Markdown is parsed into HTML, you can replace HTML with React components. These "swaps" are handled by the component. You can import custom components and swap elements (like a

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท turbo-eth/turbo-slides ยท Updated daily from GitHub