markdown-slides-cli 1.0.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/README.md +440 -0
- package/index.js +504 -0
- package/package.json +35 -0
- package/slides/NOTES.md +76 -0
- package/slides/ai-agents.md +79 -0
- package/slides/icEngines.md +162 -0
- package/slides/numbers.md +333 -0
package/README.md
ADDED
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
# 📊 Markdown Slides
|
|
2
|
+
|
|
3
|
+
> A powerful, interactive markdown slide presentation tool with live editing, minimap view, and fullscreen support. Create beautiful presentations from simple markdown files!
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
## ✨ Features
|
|
9
|
+
|
|
10
|
+
- 📝 **Markdown-Based** - Write slides in simple markdown syntax
|
|
11
|
+
- 🗺️ **Minimap View** - Navigate slides with thumbnail overview
|
|
12
|
+
- ✏️ **Live Editor** - Built-in Monaco editor (VS Code's editor)
|
|
13
|
+
- 🎨 **Beautiful Rendering** - Full markdown support with syntax highlighting
|
|
14
|
+
- 📱 **Responsive Design** - Works on desktop, tablet, and mobile
|
|
15
|
+
- 🎬 **Fullscreen Mode** - Present without distractions
|
|
16
|
+
- ⌨️ **Keyboard Navigation** - Navigate with arrow keys and shortcuts
|
|
17
|
+
- 💾 **Export Edited Slides** - Download your modified presentations
|
|
18
|
+
- 🌙 **Dark Theme** - Easy on the eyes during presentations
|
|
19
|
+
- 🚀 **Zero Config** - Works out of the box
|
|
20
|
+
|
|
21
|
+
## 📦 Installation
|
|
22
|
+
|
|
23
|
+
### Global Installation
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm install -g markdown-slides-cli
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
After global installation, you can use it anywhere:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
markdown-slides -f presentation.md
|
|
33
|
+
# or the shorter alias
|
|
34
|
+
md-slides -f presentation.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 🚀 Quick Start
|
|
38
|
+
|
|
39
|
+
### 1. Create Your Markdown File
|
|
40
|
+
|
|
41
|
+
Create a file called `slides.md`:
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
# Welcome to My Presentation
|
|
45
|
+
This is the first slide
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
# Second Slide
|
|
50
|
+
- Point 1
|
|
51
|
+
- Point 2
|
|
52
|
+
- Point 3
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
# Code Example
|
|
57
|
+
```javascript
|
|
58
|
+
function hello() {
|
|
59
|
+
console.log('Hello World!');
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 2. Run the Presentation
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
node markdown-slides.js -f slides.md
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Or with global installation:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
markdown-slides -f slides.md
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Your browser will automatically open with your presentation!
|
|
77
|
+
|
|
78
|
+
## 🎮 CLI Options
|
|
79
|
+
|
|
80
|
+
| Option | Alias | Description | Default |
|
|
81
|
+
|--------|-------|-------------|---------|
|
|
82
|
+
| `--file` | `-f` | Markdown file path (required) | - |
|
|
83
|
+
| `--port` | `-p` | Server port | `3457` |
|
|
84
|
+
| `--title` | `-t` | Presentation title | `Markdown Slides` |
|
|
85
|
+
| `--theme` | - | Slide theme (dark/light/blue) | `dark` |
|
|
86
|
+
| `--help` | `-h` | Display help | - |
|
|
87
|
+
|
|
88
|
+
### Examples
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Basic usage
|
|
92
|
+
markdown-slides -f presentation.md
|
|
93
|
+
|
|
94
|
+
# Custom port and title
|
|
95
|
+
markdown-slides -f slides.md -p 8080 -t "My Presentation"
|
|
96
|
+
|
|
97
|
+
# Different theme
|
|
98
|
+
markdown-slides -f deck.md --theme blue
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## ⌨️ Keyboard Shortcuts
|
|
102
|
+
|
|
103
|
+
| Key | Action |
|
|
104
|
+
|-----|--------|
|
|
105
|
+
| `→` or `Space` | Next slide |
|
|
106
|
+
| `←` | Previous slide |
|
|
107
|
+
| `Home` | Go to first slide |
|
|
108
|
+
| `End` | Go to last slide |
|
|
109
|
+
| `F` or `F11` | Toggle fullscreen |
|
|
110
|
+
| `E` | Open editor |
|
|
111
|
+
| `M` | Toggle minimap |
|
|
112
|
+
| `Esc` | Close editor / Exit fullscreen |
|
|
113
|
+
|
|
114
|
+
## 📝 Markdown Syntax
|
|
115
|
+
|
|
116
|
+
### Slide Separators
|
|
117
|
+
|
|
118
|
+
Slides are separated by horizontal rules or top-level headers:
|
|
119
|
+
|
|
120
|
+
**Method 1: Horizontal Rules**
|
|
121
|
+
```markdown
|
|
122
|
+
# Slide 1
|
|
123
|
+
Content here
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
# Slide 2
|
|
128
|
+
More content
|
|
129
|
+
|
|
130
|
+
***
|
|
131
|
+
|
|
132
|
+
# Slide 3
|
|
133
|
+
Even more content
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Method 2: Top-Level Headers**
|
|
137
|
+
```markdown
|
|
138
|
+
# Slide 1
|
|
139
|
+
Content
|
|
140
|
+
|
|
141
|
+
# Slide 2
|
|
142
|
+
Content
|
|
143
|
+
|
|
144
|
+
# Slide 3
|
|
145
|
+
Content
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Supported Markdown Features
|
|
149
|
+
|
|
150
|
+
- **Headers**: `# H1` through `###### H6`
|
|
151
|
+
- **Bold**: `**bold**` or `__bold__`
|
|
152
|
+
- **Italic**: `*italic*` or `_italic_`
|
|
153
|
+
- **Lists**: Ordered and unordered
|
|
154
|
+
- **Code Blocks**: With syntax highlighting
|
|
155
|
+
- **Inline Code**: `` `code` ``
|
|
156
|
+
- **Links**: `[text](url)`
|
|
157
|
+
- **Images**: ``
|
|
158
|
+
- **Blockquotes**: `> quote`
|
|
159
|
+
- **Tables**: Standard markdown tables
|
|
160
|
+
- **Horizontal Rules**: `---` or `***`
|
|
161
|
+
|
|
162
|
+
### Example Slide
|
|
163
|
+
|
|
164
|
+
```markdown
|
|
165
|
+
# My Awesome Slide 🚀
|
|
166
|
+
|
|
167
|
+
## Key Points
|
|
168
|
+
|
|
169
|
+
- **Important**: This is bold
|
|
170
|
+
- *Emphasis*: This is italic
|
|
171
|
+
- `code`: Inline code example
|
|
172
|
+
|
|
173
|
+
## Code Example
|
|
174
|
+
|
|
175
|
+
```javascript
|
|
176
|
+
const greeting = "Hello World!";
|
|
177
|
+
console.log(greeting);
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
> "This is a blockquote"
|
|
181
|
+
|
|
182
|
+
| Feature | Status |
|
|
183
|
+
|---------|--------|
|
|
184
|
+
| Edit | ✅ |
|
|
185
|
+
| View | ✅ |
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## 🎨 Using the Editor
|
|
189
|
+
|
|
190
|
+
### Opening the Editor
|
|
191
|
+
|
|
192
|
+
1. Click the **"Edit"** button in the header
|
|
193
|
+
2. Or press `E` on your keyboard
|
|
194
|
+
|
|
195
|
+
### Editing Your Slides
|
|
196
|
+
|
|
197
|
+
- The Monaco editor provides full VS Code-like experience
|
|
198
|
+
- Syntax highlighting for markdown
|
|
199
|
+
- Built-in minimap for long documents
|
|
200
|
+
- Auto-completion and formatting
|
|
201
|
+
|
|
202
|
+
### Applying Changes
|
|
203
|
+
|
|
204
|
+
1. Make your edits in the Monaco editor
|
|
205
|
+
2. Click **"Apply"** to update the presentation
|
|
206
|
+
3. Or click **"Close"** to discard changes
|
|
207
|
+
|
|
208
|
+
### Downloading Edited Slides
|
|
209
|
+
|
|
210
|
+
Click the **"Download"** button in the editor to save your modified markdown file.
|
|
211
|
+
|
|
212
|
+
## 🗺️ Minimap Navigation
|
|
213
|
+
|
|
214
|
+
### Opening the Minimap
|
|
215
|
+
|
|
216
|
+
1. Click the **"Minimap"** button in the header
|
|
217
|
+
2. Or press `M` on your keyboard
|
|
218
|
+
|
|
219
|
+
### Using the Minimap
|
|
220
|
+
|
|
221
|
+
- View thumbnails of all slides
|
|
222
|
+
- Current slide is highlighted
|
|
223
|
+
- Click any thumbnail to jump to that slide
|
|
224
|
+
- Minimap shows slide content preview
|
|
225
|
+
|
|
226
|
+
## 🎬 Fullscreen Presentation
|
|
227
|
+
|
|
228
|
+
### Entering Fullscreen
|
|
229
|
+
|
|
230
|
+
1. Click the **"Fullscreen"** button
|
|
231
|
+
2. Or press `F` or `F11`
|
|
232
|
+
|
|
233
|
+
### Fullscreen Features
|
|
234
|
+
|
|
235
|
+
- Header automatically hides
|
|
236
|
+
- Navigation controls fade to semi-transparent
|
|
237
|
+
- Full immersive presentation experience
|
|
238
|
+
- Press `Esc` or `F11` to exit
|
|
239
|
+
|
|
240
|
+
## 📖 Example Presentations
|
|
241
|
+
|
|
242
|
+
### Simple Presentation
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
# Introduction
|
|
246
|
+
Welcome to my talk!
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
# Problem Statement
|
|
251
|
+
What are we solving?
|
|
252
|
+
- Issue 1
|
|
253
|
+
- Issue 2
|
|
254
|
+
- Issue 3
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
# Solution
|
|
259
|
+
Here's how we fix it:
|
|
260
|
+
1. Step one
|
|
261
|
+
2. Step two
|
|
262
|
+
3. Step three
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
# Conclusion
|
|
267
|
+
Thank you! 🎉
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Technical Presentation
|
|
271
|
+
|
|
272
|
+
```markdown
|
|
273
|
+
# API Documentation
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
# REST Endpoints
|
|
278
|
+
|
|
279
|
+
## GET /users
|
|
280
|
+
Retrieve all users
|
|
281
|
+
|
|
282
|
+
```json
|
|
283
|
+
{
|
|
284
|
+
"users": [
|
|
285
|
+
{"id": 1, "name": "Alice"}
|
|
286
|
+
]
|
|
287
|
+
}
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
# Authentication
|
|
293
|
+
|
|
294
|
+
Use Bearer tokens:
|
|
295
|
+
```bash
|
|
296
|
+
curl -H "Authorization: Bearer TOKEN" /api/users
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
#
|
|
302
|
+
|
|
303
|
+
### Technologies Used
|
|
304
|
+
|
|
305
|
+
- **Node.js** - Runtime environment
|
|
306
|
+
- **Commander** - CLI argument parsing
|
|
307
|
+
- **Marked** - Markdown parsing
|
|
308
|
+
- **Monaco Editor** - Code editor (VS Code)
|
|
309
|
+
- **Tailwind CSS** - Styling
|
|
310
|
+
|
|
311
|
+
## 🤝 Use Cases
|
|
312
|
+
|
|
313
|
+
- 📚 **Educational Content** - Teaching materials, tutorials
|
|
314
|
+
- 💼 **Business Presentations** - Pitch decks, reports
|
|
315
|
+
- 🎤 **Conference Talks** - Technical presentations
|
|
316
|
+
- 📖 **Documentation** - Product demos, guides
|
|
317
|
+
- 👨🏫 **Training Materials** - Workshops, courses
|
|
318
|
+
- 📊 **Data Presentations** - Reports with code examples
|
|
319
|
+
|
|
320
|
+
## 💡 Tips & Tricks
|
|
321
|
+
|
|
322
|
+
### Creating Effective Slides
|
|
323
|
+
|
|
324
|
+
1. **Keep It Simple** - One main idea per slide
|
|
325
|
+
2. **Use Visual Hierarchy** - Headers, lists, emphasis
|
|
326
|
+
3. **Add Code Examples** - With syntax highlighting
|
|
327
|
+
4. **Include Emojis** - Make slides more engaging 🎉
|
|
328
|
+
5. **Use Tables** - For structured data
|
|
329
|
+
6. **Add Images** - Break up text-heavy slides
|
|
330
|
+
|
|
331
|
+
### Presentation Tips
|
|
332
|
+
|
|
333
|
+
1. **Test Before Presenting** - Preview all slides
|
|
334
|
+
2. **Use Fullscreen** - Minimize distractions
|
|
335
|
+
3. **Practice Navigation** - Learn keyboard shortcuts
|
|
336
|
+
4. **Prepare Backup** - Download PDF version
|
|
337
|
+
5. **Have Notes Ready** - Use separate notes file
|
|
338
|
+
|
|
339
|
+
### Advanced Usage
|
|
340
|
+
|
|
341
|
+
**Custom Styling**: Edit the embedded CSS in `markdown-slides.js`
|
|
342
|
+
|
|
343
|
+
**Custom Themes**: Modify the color scheme in the `<style>` section
|
|
344
|
+
|
|
345
|
+
**Hosting**: Deploy with any static file server or Node.js hosting
|
|
346
|
+
|
|
347
|
+
## 🐛 Troubleshooting
|
|
348
|
+
|
|
349
|
+
### Port Already in Use
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
# Use a different port
|
|
353
|
+
markdown-slides -f slides.md -p 8080
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Browser Doesn't Open
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
# Manually open the URL shown in console
|
|
360
|
+
# Usually: http://localhost:3457
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### Editor Not Loading
|
|
364
|
+
|
|
365
|
+
- Check internet connection (Monaco loads from CDN)
|
|
366
|
+
- Try refreshing the page
|
|
367
|
+
- Clear browser cache
|
|
368
|
+
|
|
369
|
+
### Slides Not Rendering
|
|
370
|
+
|
|
371
|
+
- Ensure markdown syntax is correct
|
|
372
|
+
- Check for proper slide separators (`---`)
|
|
373
|
+
- Verify file encoding is UTF-8
|
|
374
|
+
|
|
375
|
+
## 📋 Requirements
|
|
376
|
+
|
|
377
|
+
- Node.js >= 14.0.0
|
|
378
|
+
- Modern web browser (Chrome, Firefox, Safari, Edge)
|
|
379
|
+
- Internet connection (for CDN resources)
|
|
380
|
+
|
|
381
|
+
## 📦 Dependencies
|
|
382
|
+
|
|
383
|
+
- `commander` - CLI argument parsing
|
|
384
|
+
|
|
385
|
+
All other features (Marked, Monaco Editor, Tailwind CSS) load from CDNs.
|
|
386
|
+
|
|
387
|
+
## 🚀 Future Enhancements
|
|
388
|
+
|
|
389
|
+
- [ ] Speaker notes support
|
|
390
|
+
- [ ] Timer and progress indicator
|
|
391
|
+
- [ ] Export to PDF
|
|
392
|
+
- [ ] Custom themes/templates
|
|
393
|
+
- [ ] Slide transitions and animations
|
|
394
|
+
- [ ] Remote control via mobile
|
|
395
|
+
- [ ] Collaborative editing
|
|
396
|
+
- [ ] Drawing/annotation tools
|
|
397
|
+
- [ ] Video embed support
|
|
398
|
+
- [ ] Auto-save functionality
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
## 📝 License
|
|
403
|
+
|
|
404
|
+
MIT License (c) Mohan Chinnappan
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## 📚 Quick Reference Card
|
|
411
|
+
|
|
412
|
+
```
|
|
413
|
+
┌─────────────────────────────────────────┐
|
|
414
|
+
│ MARKDOWN SLIDES QUICK REFERENCE │
|
|
415
|
+
├─────────────────────────────────────────┤
|
|
416
|
+
│ Start Server: │
|
|
417
|
+
│ markdown-slides -f slides.md │
|
|
418
|
+
│ │
|
|
419
|
+
│ Keyboard Shortcuts: │
|
|
420
|
+
│ → / Space Next slide │
|
|
421
|
+
│ ← Previous slide │
|
|
422
|
+
│ Home First slide │
|
|
423
|
+
│ End Last slide │
|
|
424
|
+
│ F / F11 Fullscreen │
|
|
425
|
+
│ E Open editor │
|
|
426
|
+
│ M Toggle minimap │
|
|
427
|
+
│ Esc Close / Exit │
|
|
428
|
+
│ │
|
|
429
|
+
│ Slide Separator: │
|
|
430
|
+
│ --- (3 dashes) │
|
|
431
|
+
│ *** (3 asterisks) │
|
|
432
|
+
│ # Header (top level) │
|
|
433
|
+
└─────────────────────────────────────────┘
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
**Made with ❤️ for presenters, educators, and developers**
|
|
439
|
+
|
|
440
|
+
**Happy Presenting! 🎤✨**
|