make-slide 2.1.0 → 2.1.1
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.
|
@@ -74,11 +74,13 @@ Follow these steps in order:
|
|
|
74
74
|
- 30-min talk → 30–40 slides
|
|
75
75
|
- Identify the target audience and tone (technical, business, casual, academic)
|
|
76
76
|
- Detect the user's language from the conversation — generate content in that language
|
|
77
|
-
-
|
|
78
|
-
|
|
79
|
-
- **
|
|
80
|
-
-
|
|
81
|
-
|
|
77
|
+
- Ask the user about the desired output format (always ask, do not skip):
|
|
78
|
+
> **Which output format would you like?**
|
|
79
|
+
> - **HTML** — Interactive single-file presentation you can open in a browser (navigation, animations, speaker notes built-in)
|
|
80
|
+
> - **PPTX** — PowerPoint file for Office, Google Slides, or Keynote
|
|
81
|
+
|
|
82
|
+
- If the user already mentioned "PowerPoint", "pptx", "PPT", ".pptx", "Google Slides", or "Keynote" in their request → skip the question and use PPTX mode
|
|
83
|
+
- Otherwise, always ask explicitly before proceeding
|
|
82
84
|
|
|
83
85
|
### Step 2: Choose a Theme
|
|
84
86
|
Present the user with the theme gallery link for browsing:
|
|
@@ -110,11 +112,14 @@ Ask the user which image approach they prefer:
|
|
|
110
112
|
- **Option A** → Use CSS placeholders matching the theme (emoji, SVG icons, CSS shapes)
|
|
111
113
|
- **Option B** → Mark image positions in the outline, ask user for URLs, use `<img src>` with `loading="lazy"` and descriptive `alt` text
|
|
112
114
|
- **Option C** → For each slide that would benefit from an image:
|
|
113
|
-
1. Determine a relevant search
|
|
114
|
-
2.
|
|
115
|
-
|
|
115
|
+
1. Determine a relevant English search keyword based on the slide content
|
|
116
|
+
2. Use Unsplash source URLs which are guaranteed to resolve: `https://source.unsplash.com/featured/1200x800/?{keyword}`
|
|
117
|
+
- Example: `https://source.unsplash.com/featured/1200x800/?technology,ai`
|
|
118
|
+
- Example: `https://source.unsplash.com/featured/1200x800/?teamwork,office`
|
|
119
|
+
3. Alternatively, search the web for images on Unsplash or Pexels and use the direct image URL (verify the URL returns 200 before inserting)
|
|
116
120
|
4. Insert as `<img src="URL" alt="description" loading="lazy">`
|
|
117
|
-
5.
|
|
121
|
+
5. NEVER use AI-generated or guessed URLs — only use URLs from actual search results or the Unsplash source pattern above
|
|
122
|
+
6. Inform the user that auto-searched images are royalty-free from Unsplash (Unsplash License)
|
|
118
123
|
|
|
119
124
|
### Step 4: Generate Outline
|
|
120
125
|
Create a slide-by-slide outline with:
|
|
@@ -156,6 +161,8 @@ Add speaker notes as `data-notes` attributes on each slide's `<div>`:
|
|
|
156
161
|
- Expand on the slide text — don't just repeat it
|
|
157
162
|
- Include transitions between slides (e.g., "Now let's move on to...")
|
|
158
163
|
|
|
164
|
+
**Speaker Notes Panel must be a separate popup window** using `window.open()`. Do NOT render notes inline at the bottom of the slide — this breaks the slide layout. The `S` key should toggle a popup window that shows the current slide's notes and auto-updates on slide change. See `references/html-spec.md` for the implementation pattern.
|
|
165
|
+
|
|
159
166
|
### Step 8: Generate Script (Mode A and B only)
|
|
160
167
|
For Mode A and B, also generate a separate `script.md` file containing:
|
|
161
168
|
- Full speaking script organized by slide
|
|
@@ -168,13 +175,8 @@ For Mode C, the user already has a script — skip this step.
|
|
|
168
175
|
### Step 9: Save and Deliver
|
|
169
176
|
- Save the presentation as `index.html` (or user-specified filename)
|
|
170
177
|
- Save the script as `script.md` (if generated)
|
|
171
|
-
-
|
|
172
|
-
|
|
173
|
-
# Python
|
|
174
|
-
python -m http.server 8000
|
|
175
|
-
# Node.js
|
|
176
|
-
npx serve .
|
|
177
|
-
```
|
|
178
|
+
- Tell the user they can open `index.html` directly in their browser to view the presentation — no server needed
|
|
179
|
+
- The file is fully self-contained (all CSS/JS inlined), so it works by simply double-clicking the file or dragging it into a browser
|
|
178
180
|
|
|
179
181
|
---
|
|
180
182
|
|