Navigation
Navigation documentation for Honeydeck.
Navigation
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
→ / d | Next step (crosses slide boundary) |
← / a | Previous step (crosses slide boundary) |
↓ / s | Next slide |
↑ / w | Previous slide |
o | Toggle overview mode; in presenter mode, toggle the presenter overview |
p | Open presenter mode (same tab); while in presenter mode, p exits presenter mode |
f | Toggle fullscreen |
Escape | Exit overview; in presenter mode, first Escape closes the overview and a second Escape exits presenter mode; also exits fullscreen |
Honeydeck only handles unmodified key presses. Browser and operating-system shortcuts with Alt, Control, Meta/Command, or Shift stay native, so shortcuts like ⌘O still open the browser action instead of toggling overview.
Navigation Model
- Horizontal (→/←) = detailed progression through steps. Crosses slide boundaries when no more steps remain.
- Vertical (↓/↑) = slide-level jumps, skipping remaining steps.
Boundary behavior:
- Right at last step → next slide at step 0.
- Left at step 0 → previous slide at its final step.
Navigation UI
- Hidden by default for clean presentation.
- Appears on cursor hover near bottom edge.
- Positioned bottom-left.
- Contains: current slide number, navigation arrows, overview button, presenter button on
mdand wider screens, fullscreen button, color mode switch (system / dark / light). - Built-in controls use
lucide-reacticons, imported from the suffixed...Iconexports (for exampleChevronLeftIcon), not inline SVG paths or unsuffixed aliases.
When showSlideNumbers: true, the current slide number is also shown as a single viewer overlay aligned to the bottom-right corner of the slide canvas. It is not part of individual slide content, so it does not animate during slide transitions. It renders as themed foreground text without a background container.
┌──────────────────────────────────────┐
│ │
│ SLIDE CONTENT │
│ │
│ │
│ ┌──────────────────────────┐ │
│ │ prev 3 next docs more │ │
│ └──────────────────────────┘ 3 │
└──────────────────────────────────────┘Mobile / Touch
Mobile uses touch-specific controls. See the full Mobile and Touch guide for expectations and desktop differences.
- Navigation bar is always visible in portrait.
- Navigation bar is hidden by default in landscape; tap the center zone to show or hide it.
- Tap zones navigate previous/next step, previous/next slide, or toggle controls from the center zone.
- Swipe gestures:
- Swipe left → next step
- Swipe right → previous step
- Swipe up → next slide
- Swipe down → previous slide
- Pinch zoom enlarges slide content up to
5x; dragging pans while zoomed. - Slide text selection is off by default on touch devices; the navigation bar includes a toggle to enable selection when needed.
- Presenter mode is not supported on mobile. Direct presenter URLs show a full-page hint with a button back to the same slide and step in audience view.
Overview Mode
A responsive grid of rendered slide thumbnails. Activated via o or the overview button.
- Current slide is highlighted.
- Click a thumbnail to jump to that slide. Clicking the current slide exits the overview and returns to the current slide and step.
- Future reveal steps are shown at reduced opacity in thumbnails.
- Arrow keys move selection using the rendered grid columns, including after resizes.
- Up on the topmost row and Down on the bottommost row keep the current selection and show a short boundary nudge.
- Enter jumps to selected slide. Pressing Enter on the current slide does nothing.
- Escape exits overview.
- In presenter mode, the overview opens inside the current-slide cell at
/#/presenter/overview/<slide>/<step>and shares the same keyboard behavior.
URL State
Honeydeck uses static-host friendly hash-based URLs:
/#/1/0 → slide 1, step 0
/#/1/1 → slide 1, step 1
/#/2/0 → slide 2, step 0
/#/presenter/1/0 → presenter mode
/#/presenter/overview/1/0 → presenter overview at slide 1
/#/theme → theme tokens tab
/#/layouts → layouts tab
/#/components → components reference tab- Slides are 1-based (user-friendly).
- Steps are 0-based (step 0 is the initial state).
- Reloading or sharing the URL restores both slide and step.
Hash routing means no server-side routing config needed — works on any static host.