Slides belong in
your Hono app.
Compile MDX to Hono JSX, then add viewer, presentation, presenter, and print routes to an existing Hono application.
Compile the deck and mount its router.
Node is used only at compile time. Mount the generated router with app.route(decks.mountPath, decks.router()). The Vite or Wrangler dev command can also watch deck changes.
npm install hono-decks
npx hono-decks init
npx hono-decks compileGenerated routes
The standard router creates every surface except external embed. Disable unused routes in configuration and add authentication in the Hono application.
| 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 |