@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.
- package/AGENTS.md +4 -4
- package/DEVELOPMENT.md +2 -3
- package/Readme.md +15 -15
- package/SPEC.md +2 -1
- package/docs/{components-browser-frame.md → browser-frame.md} +4 -0
- package/docs/components.md +12 -12
- package/docs/configuration.md +2 -0
- package/docs/customization.md +2 -0
- package/docs/deeper-dive.md +2 -0
- package/docs/getting-started.md +2 -0
- package/docs/index.json +258 -0
- package/docs/{components-keyboard.md → keyboard.md} +4 -0
- package/docs/{components-list-style.md → list-style.md} +4 -0
- package/docs/local-development.md +3 -1
- package/docs/mermaid.md +2 -0
- package/docs/mobile.md +3 -1
- package/docs/navigation.md +2 -0
- package/docs/{components-notes.md → notes.md} +4 -0
- package/docs/pdf-export.md +2 -0
- package/docs/presenter-mode.md +14 -6
- package/docs/{components-reveal-group.md → reveal-group.md} +2 -0
- package/docs/{components-reveal-with.md → reveal-with.md} +2 -0
- package/docs/{components-reveal.md → reveal.md} +5 -3
- package/docs/skills.md +3 -1
- package/docs/slides.md +2 -0
- package/docs/slidev-migration.md +2 -0
- package/docs/steps-and-reveals.md +2 -0
- package/docs/{components-timeline-steps.md → timeline-steps.md} +2 -0
- package/package.json +3 -2
- package/skills/SPEC.md +4 -4
- package/skills/honeydeck/SKILL.md +7 -7
- package/skills/slidev-migration/SKILL.md +6 -6
- package/src/runtime/Deck.tsx +18 -1
- package/src/runtime/components/SPEC.md +3 -3
- package/src/runtime/presentationApi.ts +112 -6
- package/src/runtime/sync.ts +130 -12
- package/src/runtime/views/PresenterCastButton.tsx +17 -9
- package/src/runtime/views/PresenterView.tsx +247 -30
- package/src/runtime/views/SPEC.md +28 -5
- 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,
|
|
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
|
|
9
|
-
- Built-in runtime reference pages cover project-specific theme tokens, active layouts, and built-in component docs. They do not render
|
|
10
|
-
-
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
22
|
-
- [Deeper dive](docs/deeper-dive
|
|
23
|
-
- [Slides](docs/slides
|
|
24
|
-
- [Configuration](docs/configuration
|
|
25
|
-
- [Steps and reveals](docs/steps-and-reveals
|
|
26
|
-
- [Components](docs/components
|
|
27
|
-
- [Customization](docs/customization
|
|
28
|
-
- [Navigation](docs/navigation
|
|
29
|
-
- [Mobile and touch](docs/mobile
|
|
30
|
-
- [Presenter mode](docs/presenter-mode
|
|
31
|
-
- [PDF export](docs/pdf-export
|
|
32
|
-
- [Local development](docs/local-development
|
|
33
|
-
- [Skills](docs/skills
|
|
34
|
-
- [Slidev migration](docs/slidev-migration
|
|
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;
|
|
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
|
|
package/docs/components.md
CHANGED
|
@@ -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
|
|
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`](
|
|
14
|
-
| [`RevealWith`](
|
|
15
|
-
| [`RevealGroup`](
|
|
16
|
-
| [`TimelineSteps`](
|
|
17
|
-
| [`ListStyle`](
|
|
18
|
-
| [`Keyboard`](
|
|
19
|
-
| [`BrowserFrame`](
|
|
20
|
-
| [`Notes`](
|
|
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
|
|
22
|
+
For timeline behavior in context, also see [Steps and reveals](steps-and-reveals.md).
|
package/docs/configuration.md
CHANGED
package/docs/customization.md
CHANGED
package/docs/deeper-dive.md
CHANGED
package/docs/getting-started.md
CHANGED
|
@@ -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.
|
package/docs/index.json
ADDED
|
@@ -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
|
|
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
|
|
package/docs/navigation.md
CHANGED
|
@@ -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
|
|
package/docs/pdf-export.md
CHANGED
package/docs/presenter-mode.md
CHANGED
|
@@ -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
|
|
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
|
-
-
|
|
33
|
-
-
|
|
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-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="..."`](
|
|
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`](
|
|
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`](
|
|
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
|
|
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
|
|