@honeydeck/honeydeck 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/AGENTS.md +4 -4
  2. package/DEVELOPMENT.md +2 -3
  3. package/Readme.md +15 -15
  4. package/SPEC.md +2 -1
  5. package/docs/{components-browser-frame.md → browser-frame.md} +4 -0
  6. package/docs/components.md +12 -12
  7. package/docs/configuration.md +2 -0
  8. package/docs/customization.md +2 -0
  9. package/docs/deeper-dive.md +2 -0
  10. package/docs/getting-started.md +2 -0
  11. package/docs/index.json +258 -0
  12. package/docs/{components-keyboard.md → keyboard.md} +4 -0
  13. package/docs/{components-list-style.md → list-style.md} +4 -0
  14. package/docs/local-development.md +3 -1
  15. package/docs/mermaid.md +2 -0
  16. package/docs/mobile.md +3 -1
  17. package/docs/navigation.md +2 -0
  18. package/docs/{components-notes.md → notes.md} +4 -0
  19. package/docs/pdf-export.md +2 -0
  20. package/docs/presenter-mode.md +14 -6
  21. package/docs/{components-reveal-group.md → reveal-group.md} +2 -0
  22. package/docs/{components-reveal-with.md → reveal-with.md} +2 -0
  23. package/docs/{components-reveal.md → reveal.md} +5 -3
  24. package/docs/skills.md +3 -1
  25. package/docs/slides.md +2 -0
  26. package/docs/slidev-migration.md +2 -0
  27. package/docs/steps-and-reveals.md +2 -0
  28. package/docs/{components-timeline-steps.md → timeline-steps.md} +2 -0
  29. package/package.json +3 -2
  30. package/skills/SPEC.md +4 -4
  31. package/skills/honeydeck/SKILL.md +7 -7
  32. package/skills/slidev-migration/SKILL.md +6 -6
  33. package/src/runtime/Deck.tsx +18 -1
  34. package/src/runtime/components/SPEC.md +3 -3
  35. package/src/runtime/presentationApi.ts +112 -6
  36. package/src/runtime/sync.ts +130 -12
  37. package/src/runtime/views/PresenterCastButton.tsx +17 -9
  38. package/src/runtime/views/PresenterView.tsx +247 -30
  39. package/src/runtime/views/SPEC.md +28 -5
  40. package/src/runtime/views/presenterTime.ts +15 -0
package/AGENTS.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # Honeydeck package guide
2
2
 
3
- This package publishes the scoped public `@honeydeck/honeydeck` npm package. It owns the CLI, runtime, Vite plugin, layouts, themes, bundled skills, canonical package docs, and runtime reference pages.
3
+ This package publishes the scoped public `@honeydeck/honeydeck` npm package. It owns the CLI, runtime, Vite plugin, layouts, themes, bundled skills, and runtime reference pages.
4
4
 
5
5
  ## Rules
6
6
 
7
7
  - Keep public import paths as `@honeydeck/honeydeck/...`.
8
- - `Readme.md` is the compact package README. `docs/getting-started.md` is the canonical first-run guide. Other canonical prose docs live in `docs/*.md`; keep links in MDX form unless referring to user/Slidev source files.
9
- - Built-in runtime reference pages cover project-specific theme tokens, active layouts, and built-in component docs. They do not render package Markdown docs in-deck.
10
- - Package docs, specs, `DEVELOPMENT.md`, and skills must remain included in npm package contents.
8
+ - `Readme.md` is the compact package README and links to the public docs site. Reader-facing docs live in `packages/docs/content/docs`.
9
+ - Built-in runtime reference pages cover project-specific theme tokens, active layouts, and built-in component docs. They do not render public docs in-deck.
10
+ - Specs, `DEVELOPMENT.md`, and skills must remain included in npm package contents.
11
11
  - Use suffixed `lucide-react` icon exports.
12
12
 
13
13
  ## Commands
package/DEVELOPMENT.md CHANGED
@@ -166,12 +166,12 @@ Important implications:
166
166
  - CLI bin points at `./src/cli/index.ts`.
167
167
  - Vite resolves Honeydeck runtime/layout/theme/component exports from source.
168
168
  - Local development and tests use `tsx` to execute TypeScript directly.
169
- - `package.json#files` must include all runtime, docs, spec, development, and skill files needed by installed users and AI agents.
169
+ - `package.json#files` must include all runtime, spec, development, and skill files needed by installed users and AI agents.
170
170
 
171
171
  Published package contents must include:
172
172
 
173
173
  - `src/` for CLI, runtime, layouts, themes, Vite plugin, and assets
174
- - `Readme.md` as the compact package README, `docs/getting-started.md` as the first-run guide, and `docs/*.md` for package docs and marketing-site sync
174
+ - `Readme.md` as the compact package README with links to the public docs site
175
175
  - Root `SPEC.md` plus colocated `SPEC.md` files so AI agents and maintainers can inspect expected behavior from an installed package
176
176
  - `DEVELOPMENT.md` so maintainers can inspect development workflow, internal architecture, testing, and release expectations from an installed package
177
177
  - `skills/` so `honeydeck skill`, `npx skills add <honeydeck-repo-url> --copy`, and explicit `npx skills add <honeydeck-repo-url> --copy --skill <skill-name>` can install Honeydeck agent skills
@@ -498,7 +498,6 @@ honeydeck/
498
498
  theme/ Base, clean, and bee CSS theme layers and colocated theme tests
499
499
  defaults.ts Shared defaults such as default deck entry
500
500
  assets.d.ts Static asset type declarations
501
- docs/ Canonical Markdown docs synced into the marketing docs site
502
501
  skills/ Bundled installable agent skills
503
502
  Readme.md Compact package README and documentation index
504
503
  SPEC.md Overview and navigation map for behavior specs
package/Readme.md CHANGED
@@ -14,24 +14,24 @@ npm run dev
14
14
 
15
15
  Open the local URL printed by the dev server, edit `deck.mdx`, and your slides update instantly.
16
16
 
17
- Decks are plain MDX files separated into slides with `---`; see the first deck example in [Getting started](docs/getting-started.md).
17
+ Decks are plain MDX files separated into slides with `---`; see the first deck example in [Getting started](https://honeydeck.dev/docs/getting-started).
18
18
 
19
19
  ## Documentation
20
20
 
21
- - [Getting started](docs/getting-started.md) - first deck, first commands, and the shortest path to presenting
22
- - [Deeper dive](docs/deeper-dive.md) - CLI options, authoring patterns, imports, themes, architecture, and agent skills
23
- - [Slides](docs/slides.md) - separators, multiple files, layouts, and assets
24
- - [Configuration](docs/configuration.md) - deck-level and slide-level frontmatter
25
- - [Steps and reveals](docs/steps-and-reveals.md) - timeline, reveal groups, code steps, Magic Code, and PDF behavior
26
- - [Components](docs/components.md) - core Honeydeck components such as `Reveal`, `RevealWith`, `BrowserFrame`, and `Keyboard`
27
- - [Customization](docs/customization.md) - themes, layout sets, Tailwind tokens, custom layouts, and layout demos
28
- - [Navigation](docs/navigation.md) - keyboard, touch, overview mode, and URL state
29
- - [Mobile and touch](docs/mobile.md) - mobile controls, touch gestures, and pinch zoom
30
- - [Presenter mode](docs/presenter-mode.md) - notes, presenter window, sync, and mobile behavior
31
- - [PDF export](docs/pdf-export.md) - options, color modes, and step handling
32
- - [Local development](docs/local-development.md) - running Honeydeck from this repository
33
- - [Skills](docs/skills.md) - optional agent skills for authoring, writing, and migration help
34
- - [Slidev migration](docs/slidev-migration.md) - moving from Slidev with the bundled agent skill
21
+ - [Getting started](https://honeydeck.dev/docs/getting-started) - first deck, first commands, and the shortest path to presenting
22
+ - [Deeper dive](https://honeydeck.dev/docs/deeper-dive) - CLI options, authoring patterns, imports, themes, architecture, and agent skills
23
+ - [Slides](https://honeydeck.dev/docs/slides) - separators, multiple files, layouts, and assets
24
+ - [Configuration](https://honeydeck.dev/docs/configuration) - deck-level and slide-level frontmatter
25
+ - [Steps and reveals](https://honeydeck.dev/docs/steps-and-reveals) - timeline, reveal groups, code steps, Magic Code, and PDF behavior
26
+ - [Components](https://honeydeck.dev/docs/components) - core Honeydeck components such as `Reveal`, `RevealWith`, `BrowserFrame`, and `Keyboard`
27
+ - [Customization](https://honeydeck.dev/docs/customization) - themes, layout sets, Tailwind tokens, custom layouts, and layout demos
28
+ - [Navigation](https://honeydeck.dev/docs/navigation) - keyboard, touch, overview mode, and URL state
29
+ - [Mobile and touch](https://honeydeck.dev/docs/mobile) - mobile controls, touch gestures, and pinch zoom
30
+ - [Presenter mode](https://honeydeck.dev/docs/presenter-mode) - notes, presenter window, sync, and mobile behavior
31
+ - [PDF export](https://honeydeck.dev/docs/pdf-export) - options, color modes, and step handling
32
+ - [Local development](https://honeydeck.dev/docs/local-development) - running Honeydeck from this repository
33
+ - [Skills](https://honeydeck.dev/docs/skills) - optional agent skills for authoring, writing, and migration help
34
+ - [Slidev migration](https://honeydeck.dev/docs/slidev-migration) - moving from Slidev with the bundled agent skill
35
35
 
36
36
  ## Common commands
37
37
 
package/SPEC.md CHANGED
@@ -31,7 +31,7 @@ The Honeydeck specification is distributed:
31
31
  | Runtime | Node.js CLI binary from the scoped `@honeydeck/honeydeck` package | [`src/cli/SPEC.md`](src/cli/SPEC.md) |
32
32
  | Build setup | Honeydeck-managed dev/build setup; no user `vite.config.ts` required | [`src/runtime/SPEC.md`](src/runtime/SPEC.md), [`src/vite-plugin/SPEC.md`](src/vite-plugin/SPEC.md) |
33
33
  | Styling | Explicit CSS imports, Tailwind-compatible utilities, and CSS custom properties | [`src/theme/SPEC.md`](src/theme/SPEC.md) |
34
- | Markdown | MDX with GitHub-flavored Markdown tables; canonical docs use `docs/*.md` | [`src/vite-plugin/SPEC.md`](src/vite-plugin/SPEC.md), [`src/remark/SPEC.md`](src/remark/SPEC.md) |
34
+ | Markdown | MDX with GitHub-flavored Markdown tables; reader-facing docs are authored in `packages/docs/content/docs` and exported into package-local `docs/*.md` files during npm packaging | [`src/vite-plugin/SPEC.md`](src/vite-plugin/SPEC.md), [`src/remark/SPEC.md`](src/remark/SPEC.md) |
35
35
  | PDF | Rasterized slide pages matching browser rendering | [`src/cli/SPEC.md`](src/cli/SPEC.md) |
36
36
  | Syntax highlighting | Built-in code highlighting, runtime step dimming, and Magic Code transitions | [`src/remark/SPEC.md`](src/remark/SPEC.md) |
37
37
  | Icons | `lucide-react` suffixed `...Icon` component imports | [`src/SPEC.md`](src/SPEC.md) |
@@ -43,6 +43,7 @@ The Honeydeck specification is distributed:
43
43
  - Honeydeck wires the Tailwind Vite plugin internally, but Tailwind/theme CSS is only loaded when user-authored CSS imports it; generated projects install `tailwindcss` and import `./styles.css` from `deck.mdx`.
44
44
  - Generated projects use compatible semver ranges for React, Tailwind, TypeScript, and types.
45
45
  - Custom themes, layouts, and components are plain CSS/TypeScript modules; installed-package usage is handled by standard package metadata rather than by a Honeydeck-specific mechanism.
46
+ - Published packages include generated package-local docs under `docs/*.md` plus `docs/index.json` so bundled agent skills can read version-aligned documentation from `node_modules/@honeydeck/honeydeck/docs`.
46
47
  - Icons come from `lucide-react` and must use suffixed `...Icon` component exports (for example `ChevronLeftIcon`), not inline SVG path helpers, emoji glyphs, or unsuffixed aliases.
47
48
 
48
49
  ---
@@ -1,7 +1,11 @@
1
+ <!-- Generated from packages/docs/content/docs/(components)/browser-frame.mdx. Do not edit by hand. -->
2
+
1
3
  # BrowserFrame
2
4
 
3
5
  Use `<BrowserFrame>` to show a live iframe inside a macOS-style browser window.
4
6
 
7
+ <BrowserFramePlayground />
8
+
5
9
  ```mdx
6
10
  import { BrowserFrame } from '@honeydeck/honeydeck'
7
11
 
@@ -1,22 +1,22 @@
1
+ <!-- Generated from packages/docs/content/docs/(components)/components.mdx. Do not edit by hand. -->
2
+
1
3
  # Components
2
4
 
3
- Honeydeck core components are explicit imports from `@honeydeck/honeydeck`. They are also exported from `@honeydeck/honeydeck/components`.
5
+ Honeydeck components are explicit MDX imports from `@honeydeck/honeydeck`. Use them when plain Markdown is not enough for timeline control, speaker notes, rich previews, or inline UI.
4
6
 
5
7
  ```mdx
6
8
  import { Reveal, RevealWith, RevealGroup, TimelineSteps, ListStyle, Keyboard, BrowserFrame, Notes } from '@honeydeck/honeydeck'
7
9
  ```
8
10
 
9
- Use these pages as the component reference:
10
-
11
11
  | Component | Use it for |
12
12
  | --- | --- |
13
- | [`Reveal`](components-reveal.md) | Show content at a specific slide timeline step. |
14
- | [`RevealWith`](components-reveal-with.md) | Show content with an existing reveal or numeric slide step without adding another step. |
15
- | [`RevealGroup`](components-reveal-group.md) | Reveal each direct child or list item one after another, with optional nested-list reveals. |
16
- | [`TimelineSteps`](components-timeline-steps.md) | Reserve timeline steps for an imported custom React component. |
17
- | [`ListStyle`](components-list-style.md) | Style Markdown, HTML, or JSX lists with no markers or custom markers. |
18
- | [`Keyboard`](components-keyboard.md) | Render semantic inline keyboard keys and shortcuts. |
19
- | [`BrowserFrame`](components-browser-frame.md) | Show a live iframe or fallback screenshot inside browser chrome. |
20
- | [`Notes`](components-notes.md) | Add formatted speaker notes for presenter mode. |
13
+ | [`Reveal`](reveal.md) | Show content at a specific slide timeline step. |
14
+ | [`RevealWith`](reveal-with.md) | Show content with an existing reveal or numeric slide step without adding another step. |
15
+ | [`RevealGroup`](reveal-group.md) | Reveal each direct child or list item one after another, with optional nested-list reveals. |
16
+ | [`TimelineSteps`](timeline-steps.md) | Reserve timeline steps for an imported custom React component. |
17
+ | [`ListStyle`](list-style.md) | Style Markdown, HTML, or JSX lists with no markers or custom markers. |
18
+ | [`Keyboard`](keyboard.md) | Render semantic inline keyboard keys and shortcuts. |
19
+ | [`BrowserFrame`](browser-frame.md) | Show a live iframe or fallback screenshot inside browser chrome. |
20
+ | [`Notes`](notes.md) | Add formatted speaker notes for presenter mode. |
21
21
 
22
- For broader timing concepts, see [Steps and reveals](steps-and-reveals.md). For custom components and layouts, see [Customization](customization.md).
22
+ For timeline behavior in context, also see [Steps and reveals](steps-and-reveals.md).
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(core)/configuration.mdx. Do not edit by hand. -->
2
+
1
3
  # Configuration
2
4
 
3
5
  All settings live in YAML frontmatter — no separate config file.
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(core)/customization.mdx. Do not edit by hand. -->
2
+
1
3
  # Customization
2
4
 
3
5
  Honeydeck starts with built-in layouts and a small base theme. Customize only what you need: CSS tokens, React components, or a layout map.
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(start)/deeper-dive.mdx. Do not edit by hand. -->
2
+
1
3
  # Diving deeper
2
4
 
3
5
  Use this guide after the quick start when you want to understand the main Honeydeck workflows without jumping straight into every reference page.
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(start)/getting-started.mdx. Do not edit by hand. -->
2
+
1
3
  # Getting started
2
4
 
3
5
  Honeydeck helps you create polished, interactive presentations using MDX. Write slides in Markdown, use different Layout, add React components when you need them, present using presenter mode, and export to PDF for easy sharing.
@@ -0,0 +1,258 @@
1
+ {
2
+ "generatedFrom": "packages/docs/content/docs",
3
+ "pages": [
4
+ {
5
+ "slug": "getting-started",
6
+ "title": "Getting started",
7
+ "description": "Getting started documentation for Honeydeck.",
8
+ "breadcrumbs": [
9
+ "Start",
10
+ "Getting started"
11
+ ],
12
+ "file": "getting-started.md",
13
+ "sourcePath": "packages/docs/content/docs/(start)/getting-started.mdx"
14
+ },
15
+ {
16
+ "slug": "deeper-dive",
17
+ "title": "Deeper dive",
18
+ "description": "Deeper dive documentation for Honeydeck.",
19
+ "breadcrumbs": [
20
+ "Start",
21
+ "Deeper dive"
22
+ ],
23
+ "file": "deeper-dive.md",
24
+ "sourcePath": "packages/docs/content/docs/(start)/deeper-dive.mdx"
25
+ },
26
+ {
27
+ "slug": "slides",
28
+ "title": "Slides",
29
+ "description": "Slides documentation for Honeydeck.",
30
+ "breadcrumbs": [
31
+ "Core",
32
+ "Slides"
33
+ ],
34
+ "file": "slides.md",
35
+ "sourcePath": "packages/docs/content/docs/(core)/slides.mdx"
36
+ },
37
+ {
38
+ "slug": "configuration",
39
+ "title": "Configuration",
40
+ "description": "Configuration documentation for Honeydeck.",
41
+ "breadcrumbs": [
42
+ "Core",
43
+ "Configuration"
44
+ ],
45
+ "file": "configuration.md",
46
+ "sourcePath": "packages/docs/content/docs/(core)/configuration.mdx"
47
+ },
48
+ {
49
+ "slug": "steps-and-reveals",
50
+ "title": "Steps and reveals",
51
+ "description": "Steps and reveals documentation for Honeydeck.",
52
+ "breadcrumbs": [
53
+ "Core",
54
+ "Steps and reveals"
55
+ ],
56
+ "file": "steps-and-reveals.md",
57
+ "sourcePath": "packages/docs/content/docs/(core)/steps-and-reveals.mdx"
58
+ },
59
+ {
60
+ "slug": "customization",
61
+ "title": "Customization",
62
+ "description": "Customization documentation for Honeydeck.",
63
+ "breadcrumbs": [
64
+ "Core",
65
+ "Customization"
66
+ ],
67
+ "file": "customization.md",
68
+ "sourcePath": "packages/docs/content/docs/(core)/customization.mdx"
69
+ },
70
+ {
71
+ "slug": "navigation",
72
+ "title": "Navigation",
73
+ "description": "Navigation documentation for Honeydeck.",
74
+ "breadcrumbs": [
75
+ "Core",
76
+ "Navigation"
77
+ ],
78
+ "file": "navigation.md",
79
+ "sourcePath": "packages/docs/content/docs/(core)/navigation.mdx"
80
+ },
81
+ {
82
+ "slug": "mobile",
83
+ "title": "Mobile and touch",
84
+ "description": "Mobile and touch documentation for Honeydeck.",
85
+ "breadcrumbs": [
86
+ "Core",
87
+ "Mobile and touch"
88
+ ],
89
+ "file": "mobile.md",
90
+ "sourcePath": "packages/docs/content/docs/(core)/mobile.mdx"
91
+ },
92
+ {
93
+ "slug": "presenter-mode",
94
+ "title": "Presenter mode",
95
+ "description": "Presenter mode documentation for Honeydeck.",
96
+ "breadcrumbs": [
97
+ "Core",
98
+ "Presenter mode"
99
+ ],
100
+ "file": "presenter-mode.md",
101
+ "sourcePath": "packages/docs/content/docs/(core)/presenter-mode.mdx"
102
+ },
103
+ {
104
+ "slug": "pdf-export",
105
+ "title": "PDF export",
106
+ "description": "PDF export documentation for Honeydeck.",
107
+ "breadcrumbs": [
108
+ "Core",
109
+ "PDF export"
110
+ ],
111
+ "file": "pdf-export.md",
112
+ "sourcePath": "packages/docs/content/docs/(core)/pdf-export.mdx"
113
+ },
114
+ {
115
+ "slug": "components",
116
+ "title": "Components",
117
+ "description": "Core Honeydeck components for timelines, presenter notes, browser frames, keyboard shortcuts, and styled lists.",
118
+ "breadcrumbs": [
119
+ "Components",
120
+ "Components"
121
+ ],
122
+ "file": "components.md",
123
+ "sourcePath": "packages/docs/content/docs/(components)/components.mdx"
124
+ },
125
+ {
126
+ "slug": "reveal",
127
+ "title": "Reveal",
128
+ "description": "Reveal documentation for Honeydeck.",
129
+ "breadcrumbs": [
130
+ "Components",
131
+ "Reveal"
132
+ ],
133
+ "file": "reveal.md",
134
+ "sourcePath": "packages/docs/content/docs/(components)/reveal.mdx"
135
+ },
136
+ {
137
+ "slug": "reveal-with",
138
+ "title": "RevealWith",
139
+ "description": "RevealWith documentation for Honeydeck.",
140
+ "breadcrumbs": [
141
+ "Components",
142
+ "RevealWith"
143
+ ],
144
+ "file": "reveal-with.md",
145
+ "sourcePath": "packages/docs/content/docs/(components)/reveal-with.mdx"
146
+ },
147
+ {
148
+ "slug": "reveal-group",
149
+ "title": "RevealGroup",
150
+ "description": "RevealGroup documentation for Honeydeck.",
151
+ "breadcrumbs": [
152
+ "Components",
153
+ "RevealGroup"
154
+ ],
155
+ "file": "reveal-group.md",
156
+ "sourcePath": "packages/docs/content/docs/(components)/reveal-group.mdx"
157
+ },
158
+ {
159
+ "slug": "timeline-steps",
160
+ "title": "TimelineSteps",
161
+ "description": "TimelineSteps documentation for Honeydeck.",
162
+ "breadcrumbs": [
163
+ "Components",
164
+ "TimelineSteps"
165
+ ],
166
+ "file": "timeline-steps.md",
167
+ "sourcePath": "packages/docs/content/docs/(components)/timeline-steps.mdx"
168
+ },
169
+ {
170
+ "slug": "list-style",
171
+ "title": "ListStyle",
172
+ "description": "ListStyle documentation for Honeydeck.",
173
+ "breadcrumbs": [
174
+ "Components",
175
+ "ListStyle"
176
+ ],
177
+ "file": "list-style.md",
178
+ "sourcePath": "packages/docs/content/docs/(components)/list-style.mdx"
179
+ },
180
+ {
181
+ "slug": "keyboard",
182
+ "title": "Keyboard",
183
+ "description": "Keyboard documentation for Honeydeck.",
184
+ "breadcrumbs": [
185
+ "Components",
186
+ "Keyboard"
187
+ ],
188
+ "file": "keyboard.md",
189
+ "sourcePath": "packages/docs/content/docs/(components)/keyboard.mdx"
190
+ },
191
+ {
192
+ "slug": "browser-frame",
193
+ "title": "BrowserFrame",
194
+ "description": "BrowserFrame documentation for Honeydeck.",
195
+ "breadcrumbs": [
196
+ "Components",
197
+ "BrowserFrame"
198
+ ],
199
+ "file": "browser-frame.md",
200
+ "sourcePath": "packages/docs/content/docs/(components)/browser-frame.mdx"
201
+ },
202
+ {
203
+ "slug": "notes",
204
+ "title": "Notes",
205
+ "description": "Notes documentation for Honeydeck.",
206
+ "breadcrumbs": [
207
+ "Components",
208
+ "Notes"
209
+ ],
210
+ "file": "notes.md",
211
+ "sourcePath": "packages/docs/content/docs/(components)/notes.mdx"
212
+ },
213
+ {
214
+ "slug": "local-development",
215
+ "title": "Local development",
216
+ "description": "Local development documentation for Honeydeck.",
217
+ "breadcrumbs": [
218
+ "Develop",
219
+ "Local development"
220
+ ],
221
+ "file": "local-development.md",
222
+ "sourcePath": "packages/docs/content/docs/(develop)/local-development.mdx"
223
+ },
224
+ {
225
+ "slug": "skills",
226
+ "title": "Skills",
227
+ "description": "Skills documentation for Honeydeck.",
228
+ "breadcrumbs": [
229
+ "Advanced",
230
+ "Skills"
231
+ ],
232
+ "file": "skills.md",
233
+ "sourcePath": "packages/docs/content/docs/(advanced)/skills.mdx"
234
+ },
235
+ {
236
+ "slug": "slidev-migration",
237
+ "title": "Slidev migration",
238
+ "description": "Slidev migration documentation for Honeydeck.",
239
+ "breadcrumbs": [
240
+ "Advanced",
241
+ "Slidev migration"
242
+ ],
243
+ "file": "slidev-migration.md",
244
+ "sourcePath": "packages/docs/content/docs/(advanced)/slidev-migration.mdx"
245
+ },
246
+ {
247
+ "slug": "mermaid",
248
+ "title": "Mermaid",
249
+ "description": "Mermaid documentation for Honeydeck.",
250
+ "breadcrumbs": [
251
+ "Advanced",
252
+ "Mermaid"
253
+ ],
254
+ "file": "mermaid.md",
255
+ "sourcePath": "packages/docs/content/docs/(advanced)/mermaid.mdx"
256
+ }
257
+ ]
258
+ }
@@ -1,7 +1,11 @@
1
+ <!-- Generated from packages/docs/content/docs/(components)/keyboard.mdx. Do not edit by hand. -->
2
+
1
3
  # Keyboard
2
4
 
3
5
  Use `<Keyboard>` to show one key or a shortcut in slide prose.
4
6
 
7
+ <KeyboardPlayground />
8
+
5
9
  ```mdx
6
10
  import { Keyboard } from '@honeydeck/honeydeck'
7
11
 
@@ -1,7 +1,11 @@
1
+ <!-- Generated from packages/docs/content/docs/(components)/list-style.mdx. Do not edit by hand. -->
2
+
1
3
  # ListStyle
2
4
 
3
5
  Use `<ListStyle>` to style Markdown, HTML, or JSX lists inside a wrapper.
4
6
 
7
+ <ListStylePlayground />
8
+
5
9
  By default it removes native markers:
6
10
 
7
11
  ```mdx
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(develop)/local-development.mdx. Do not edit by hand. -->
2
+
1
3
  # Local development
2
4
 
3
5
  This guide explains how to test Honeydeck locally before it is published to npm.
@@ -19,7 +21,7 @@ npm install
19
21
  npm run dev
20
22
  ```
21
23
 
22
- Root `npm run dev` starts the private showcase deck package and the marketing/docs site together.
24
+ Root `npm run dev` starts the private showcase deck package and the docs site together.
23
25
 
24
26
  To run only the showcase deck:
25
27
 
package/docs/mermaid.md CHANGED
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(advanced)/mermaid.mdx. Do not edit by hand. -->
2
+
1
3
  # Mermaid
2
4
 
3
5
  Mermaid is not part of Honeydeck core. Use it as a normal project dependency and render diagrams through a local React component that you import from your deck.
package/docs/mobile.md CHANGED
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(core)/mobile.mdx. Do not edit by hand. -->
2
+
1
3
  # Mobile and Touch
2
4
 
3
5
  Honeydeck works on phones and tablets, but mobile presentation mode behaves differently from desktop so touch gestures stay reliable.
@@ -11,7 +13,7 @@ Honeydeck works on phones and tablets, but mobile presentation mode behaves diff
11
13
  | Text selection | Slide text can be selected normally | Slide text selection is off by default; use the nav bar toggle when you need it |
12
14
  | Zoom | Browser/page zoom or normal browser controls | Honeydeck-controlled slide zoom with pinch, up to `5x` |
13
15
  | Overview | Keyboard selection and mouse clicks | Responsive fixed two-column grid |
14
- | Presenter mode | Current slide, next preview, notes, clock | Current slide, notes, navigation buttons; no next preview |
16
+ | Presenter mode | Current slide, next preview, notes, clock, timer, actions; no navigation buttons | Current slide, notes, navigation buttons; no next preview |
15
17
 
16
18
  ## Tap zones
17
19
 
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(core)/navigation.mdx. Do not edit by hand. -->
2
+
1
3
  # Navigation
2
4
 
3
5
  ## Keyboard Shortcuts
@@ -1,7 +1,11 @@
1
+ <!-- Generated from packages/docs/content/docs/(components)/notes.mdx. Do not edit by hand. -->
2
+
1
3
  # Notes
2
4
 
3
5
  Use `<Notes>` to add presenter-only speaker notes to a slide.
4
6
 
7
+ <NotesPlayground />
8
+
5
9
  ```mdx
6
10
  import { Notes } from '@honeydeck/honeydeck'
7
11
 
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(core)/pdf-export.mdx. Do not edit by hand. -->
2
+
1
3
  # PDF Export
2
4
 
3
5
  ## How It Works
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(core)/presenter-mode.mdx. Do not edit by hand. -->
2
+
1
3
  # Presenter Mode
2
4
 
3
5
  ## Overview
@@ -18,7 +20,7 @@ Presenter mode shows the presenter everything they need while the audience sees
18
20
  │ - Remember to demo the sparkle button │
19
21
  │ - Mention PDF export │
20
22
  │ │
21
- │ Slide 3/12 · Step 2/4 12:34 [Open]
23
+ │ Slide 3/12 · Step 2/4 12:34 Timer 1:23 [Open]
22
24
  └──────────────────────────────────────────┘
23
25
  ```
24
26
 
@@ -27,10 +29,12 @@ Includes:
27
29
  - Next timeline-state preview (smaller): the next step on the current slide when one exists, otherwise the next slide at step 0
28
30
  - Speaker notes for current slide
29
31
  - Slide number / step counter
30
- - Wall clock
32
+ - Wall clock and an elapsed presentation timer with start, pause, continue, restart, and close/reset controls
31
33
  - Button to open audience view in a new tab/window
32
- - Button to cast the audience view to a secondary display when supported; the same control becomes a stop button while casting and is disabled with a hint when unsupported
33
- - Navigation buttons that move through the timeline while staying in presenter mode
34
+ - Color mode toggle that also updates audience views and cast receivers
35
+ - Blank screen toggle (`b`) that makes audience and cast views black while presenter mode shows a `Screen blanked (b)` indicator
36
+ - Button to cast the audience view to a secondary display when supported; the same control becomes a stop button while casting. Unsupported browsers show a visibly disabled-looking button with hover/accessible text explaining why casting is unavailable.
37
+ - Navigation buttons that move through the timeline while staying in presenter mode on mobile. Desktop presenter mode uses keyboard shortcuts instead.
34
38
 
35
39
  ## Speaker Notes
36
40
 
@@ -63,7 +67,7 @@ Content here.
63
67
  - Navigation controls button in normal presentation.
64
68
  - Direct URL: `/#/presenter/1/0`
65
69
 
66
- Pressing `p` opens presenter mode in the **current tab**.
70
+ Pressing `p` opens presenter mode in the **current tab**. In presenter mode, press `p` or `Escape` to return to the audience slide view at the same slide and step.
67
71
 
68
72
  ## Navigation
69
73
 
@@ -84,12 +88,16 @@ Reveal content from later timeline steps is also shown in the `Next` preview at
84
88
 
85
89
  When no next timeline state exists, the `Next` preview shows an end-of-deck placeholder instead of trying to render a missing slide.
86
90
 
91
+ ## Blank Screen
92
+
93
+ Press `b` or use the blank screen button to make the audience and cast views black. Press `b` again or use the same button to restore the slide. Audience tabs unblank automatically when presenter mode disconnects.
94
+
87
95
  ## Presenter/Audience Sync
88
96
 
89
97
  Presenter mode and audience view synchronize navigation via `BroadcastChannel` and, when supported, the Presentation API.
90
98
 
91
99
  - Presenter mode acts as the controller.
92
- - Audience view (opened from presenter mode) listens for navigation updates.
100
+ - Audience view (opened from presenter mode) listens for navigation, color mode, and blank-screen updates.
93
101
  - The cast audience sends a `sync-request` as soon as the receiver connection appears; the presenter replies with the current slide/step in a `sync-response` so late connections resync immediately.
94
102
  - The cast audience follows presenter navigation through Presentation API receiver messages.
95
103
  - No server, internet, WebSocket, or device pairing required.
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(components)/reveal-group.mdx. Do not edit by hand. -->
2
+
1
3
  # RevealGroup
2
4
 
3
5
  Use `<RevealGroup>` when a short sequence should appear one item at a time.
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(components)/reveal-with.mdx. Do not edit by hand. -->
2
+
1
3
  # RevealWith
2
4
 
3
5
  Use `<RevealWith>` when content should appear at the same timeline step as a named `<Reveal>` or any existing numeric slide step. It never adds a new step.
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(components)/reveal.mdx. Do not edit by hand. -->
2
+
1
3
  # Reveal
2
4
 
3
5
  Use `<Reveal>` when content should appear at the next timeline step.
@@ -17,9 +19,9 @@ Reveals are cumulative: once visible, they stay visible while you advance throug
17
19
  | Prop | Type | Default | Description |
18
20
  | --- | --- | --- | --- |
19
21
  | `children` | `ReactNode` | — | Content to reveal. |
20
- | `name` | `string` | — | Optional slide-local target for [`RevealWith target="..."`](components-reveal-with.md). Must be a literal non-empty string. |
22
+ | `name` | `string` | — | Optional slide-local target for [`RevealWith target="..."`](reveal-with.md). Must be a literal non-empty string. |
21
23
  | `className` | `string` | — | Custom class for styling or transitions. |
22
- | `at` | `number` | injected | Timeline step. Honeydeck injects this during compilation; author-authored values are build errors. Use [`RevealWith`](components-reveal-with.md) to sync with an existing step. |
24
+ | `at` | `number` | injected | Timeline step. Honeydeck injects this during compilation; author-authored values are build errors. Use [`RevealWith`](reveal-with.md) to sync with an existing step. |
23
25
  | `as` | `"div" \| "span"` | injected | Wrapper element. Honeydeck injects this to keep valid MDX/HTML around block or inline content. |
24
26
 
25
27
  ## Behavior
@@ -28,6 +30,6 @@ Reveals are cumulative: once visible, they stay visible while you advance throug
28
30
  - Hidden content uses `visibility: hidden` plus `opacity: 0`, not `display: none`.
29
31
  - Nested reveals are supported.
30
32
  - Inline reveals inside paragraphs render inline wrappers.
31
- - Optional `name="..."` creates a slide-local target for [`RevealWith`](components-reveal-with.md).
33
+ - Optional `name="..."` creates a slide-local target for [`RevealWith`](reveal-with.md).
32
34
 
33
35
  See [Steps and reveals](steps-and-reveals.md) for timeline ordering examples.
package/docs/skills.md CHANGED
@@ -1,3 +1,5 @@
1
+ <!-- Generated from packages/docs/content/docs/(advanced)/skills.mdx. Do not edit by hand. -->
2
+
1
3
  # Skills
2
4
 
3
5
  Honeydeck ships optional agent skills that help AI coding agents work with presentations more reliably. They are plain skill files bundled with the `@honeydeck/honeydeck` package, so you can install them into a deck project or into your global agent setup.
@@ -31,7 +33,7 @@ npx skills add <honeydeck-repo-url> --copy --skill slidev-migration
31
33
 
32
34
  | Skill | Use it for |
33
35
  | --- | --- |
34
- | `honeydeck` | Honeydeck-specific guidance for MDX decks, layouts, CSS imports, presenter notes, reveals, code steps, Magic Code, PDF export, and package docs. |
36
+ | `honeydeck` | Honeydeck-specific guidance for MDX decks, layouts, CSS imports, presenter notes, reveals, code steps, Magic Code, PDF export, public docs, and package specs. |
35
37
  | `presentation-writing` | Framework-agnostic help with audience, storyline, slide headlines, speaker notes, timing, and review heuristics. |
36
38
  | `slidev-migration` | Migrating Slidev decks to Honeydeck, including rewriting Slidev `md magic-move` blocks to Honeydeck `md magic-code`, while preserving source files until you approve cleanup. |
37
39