Slides belong in
your Hono app.
Compile MDX to Hono JSX and add viewer, presentation, presenter, and print screens to your existing Hono app.
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.
npm install hono-decks
npx hono-decks init
npx hono-decks compileGenerated 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 / API | Purpose |
|---|---|
/:slug | Iframe viewer and navigation controls |
/:slug/render | Isolated slide runtime |
/:slug/presentation | Projection surface |
/:slug/presenter | Next preview and speaker notes |
/:slug/print | Browser print / PDF source |