Slides belong in
your Hono app.

Compile MDX to Hono JSX and add viewer, presentation, presenter, and print screens to your existing Hono app.

Live deckGET /demo/product/embed

This deck is compiled from MDX and mounted in the same HonoX app as this page. Click either half of the slide or use the arrow keys to navigate.

Open full size

Compile, then mount the router

Node is needed only at compile time. Mount the generated router with app.route(decks.mountPath, decks.router()). With the Vite or Wrangler dev command, deck changes are recompiled automatically.

Setup for npm, pnpm, Yarn, and Bun
Terminal
npm install hono-decks
npx hono-decks init
npx hono-decks compile

Generated routes

By default, the router creates every screen except the external embed. Disable routes you do not use, and add any required authentication in the Hono app.

Route / APIPurpose
/:slugIframe viewer and navigation controls
/:slug/renderIsolated slide runtime
/:slug/presentationProjection surface
/:slug/presenterNext preview and speaker notes
/:slug/printBrowser print / PDF source