mdeck 3.10.1 → 3.11.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/CHANGELOG.md +23 -0
- package/README.md +13 -2
- package/assets/base.css +4 -1
- package/docs/reference/authoring.md +65 -4
- package/docs/site/assets/site.css +2 -0
- package/docs/site/content/commands.md +3 -1
- package/docs/site/content/drawing.md +1 -1
- package/docs/site/content/install.md +47 -0
- package/docs/site/content/media.md +20 -1
- package/docs/site/content/presenting.md +39 -2
- package/docs/site/content/sharing.md +1 -0
- package/docs/site/content/welcome.md +21 -1
- package/docs/site/images/features/hotspots.webp +0 -0
- package/docs/site/images/features/languages.webp +0 -0
- package/docs/site/pages.js +1 -0
- package/examples/custom-layouts/slides.md +21 -9
- package/examples/showcase/refs.bib +21 -0
- package/examples/showcase/slides.ar.drawings.json +11 -0
- package/examples/showcase/slides.ar.md +567 -0
- package/examples/showcase/slides.de.drawings.json +11 -0
- package/examples/showcase/slides.de.md +567 -0
- package/examples/showcase/slides.en.drawings.json +11 -0
- package/examples/showcase/{slides.md → slides.en.md} +112 -5
- package/package.json +1 -1
- package/skills/write-slides/SKILL.md +10 -1
- package/src/build/check.js +7 -1
- package/src/build/config.js +2 -0
- package/src/build/slidesPlugin.js +6 -6
- package/src/build/svgCheck.js +65 -0
- package/src/build/timingPlugin.js +80 -0
- package/src/cli/args.js +4 -3
- package/src/cli/index.js +34 -11
- package/src/components/VideoPlayer.jsx +6 -1
- package/src/core/editDeck.js +44 -7
- package/src/core/icons.js +3 -0
- package/src/core/labels.js +75 -0
- package/src/core/parseSlides.js +3 -3
- package/src/core/timing.js +83 -0
- package/src/core/validateDeck.js +5 -0
- package/src/editor/components/DeckSettings.jsx +1 -0
- package/src/editor/components/MetaFields.jsx +1 -0
- package/src/home/Home.jsx +1 -0
- package/src/layouts/layoutApi.jsx +51 -8
- package/src/runtime/RehearsalSummary.jsx +129 -0
- package/src/runtime/component.js +27 -0
- package/src/runtime/deck-stage.js +49 -20
- package/src/runtime/ink/bus.js +13 -5
- package/src/runtime/ink/outbox.js +27 -0
- package/src/runtime/ink/room.js +31 -6
- package/src/runtime/ink/segments.js +21 -0
- package/src/runtime/main.jsx +157 -28
- package/src/runtime/shared.js +77 -0
- package/src/runtime/steps.js +36 -0
- package/src/runtime/useTalkTimer.js +65 -0
- package/examples/citations/refs.bib +0 -30
- package/examples/citations/refs.yml +0 -21
- package/examples/citations/slides.md +0 -43
- package/examples/citations/slides.pdf +0 -0
- package/examples/poll/slides.md +0 -127
- package/examples/showcase/slides.drawings.json +0 -11
|
@@ -0,0 +1,567 @@
|
|
|
1
|
+
---
|
|
2
|
+
theme: neue
|
|
3
|
+
meta:
|
|
4
|
+
title: "Eine Tour durch mdeck"
|
|
5
|
+
author: "Tilman Schieber"
|
|
6
|
+
organization: "FHNW"
|
|
7
|
+
date: "2026-10-06"
|
|
8
|
+
bibliography: refs.bib
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
:::meta
|
|
13
|
+
layout: title
|
|
14
|
+
image: ./img/mdeck.svg
|
|
15
|
+
fit: contain
|
|
16
|
+
alt: "Eine Markdown-Datei wird zu einem Stapel Folien"
|
|
17
|
+
id: a-talk-in-a-text-file
|
|
18
|
+
time: 1m
|
|
19
|
+
:::
|
|
20
|
+
# Ein Vortrag in einer Textdatei.
|
|
21
|
+
## Eine Tour durch mdeck: Jede Folie zeigt, *was geschrieben steht* und was daraus wird.
|
|
22
|
+
|
|
23
|
+
:::notes
|
|
24
|
+
Dieses Deck erklärt mdeck an Beispielen. Die meisten Folien zeigen das Markdown neben dem, was daraus wird. Öffne `slides.de.md` daneben: Jede Folie hier ist genau so geschrieben, wie sie gezeigt wird.
|
|
25
|
+
|
|
26
|
+
Blättere mit den Pfeiltasten oder der Leertaste. Diese Notizen sind nur für dich; öffne die Referentenansicht über die Startseite, um sie neben der Folie zu sehen.
|
|
27
|
+
|
|
28
|
+
Die Tour gibt es auch auf Englisch (`slides.en.md`) und Arabisch (`slides.ar.md`). Starte sie mit `mdeck run slides.en.md`; **L** in der Referentenansicht schaltet alle Fenster auf die nächste Sprache.
|
|
29
|
+
:::
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
:::meta
|
|
33
|
+
layout: chapter
|
|
34
|
+
number: 1
|
|
35
|
+
part: Schreiben
|
|
36
|
+
description: Einfaches Markdown, das Format, das KI-Assistenten ohnehin schreiben. Du kannst jedes Wort lesen und ändern.
|
|
37
|
+
time: 15s
|
|
38
|
+
:::
|
|
39
|
+
# Schreiben.
|
|
40
|
+
|
|
41
|
+
:::notes
|
|
42
|
+
In der Praxis schreibt meist ein KI-Assistent diese Datei aus deinem eigenen Material: alten Folien, einem Dokument, deinen Notizen. Der Skill `write-slides` bringt ihm mdeck bei. Die nächsten Folien zeigen, was er schreibt, damit du es lesen und anpassen kannst.
|
|
43
|
+
:::
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
:::meta
|
|
47
|
+
layout: split
|
|
48
|
+
time: 1m
|
|
49
|
+
:::
|
|
50
|
+
# Aus Worten werden Folien
|
|
51
|
+
:::slot left
|
|
52
|
+
```markdown
|
|
53
|
+
# Unser nächstes Abenteuer
|
|
54
|
+
|
|
55
|
+
Ein Absatz ganz normaler Text.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
# Die nächste Idee
|
|
60
|
+
```
|
|
61
|
+
:::
|
|
62
|
+
:::slot right
|
|
63
|
+
## Unser nächstes Abenteuer
|
|
64
|
+
|
|
65
|
+
Ein Absatz ganz normaler Text.
|
|
66
|
+
|
|
67
|
+
Drei Striche auf einer eigenen Zeile beginnen die nächste Folie.
|
|
68
|
+
:::
|
|
69
|
+
|
|
70
|
+
:::notes
|
|
71
|
+
`#` ist die Überschrift der Folie. Eine Leerzeile trennt Absätze.
|
|
72
|
+
|
|
73
|
+
Probier es aus: Ändere eine Überschrift in `slides.de.md` und speichere. Die Folie aktualisiert sich, während sie offen ist.
|
|
74
|
+
:::
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
:::meta
|
|
78
|
+
layout: split
|
|
79
|
+
time: 45s
|
|
80
|
+
:::
|
|
81
|
+
# Listen und Hervorhebung
|
|
82
|
+
:::slot left
|
|
83
|
+
```markdown
|
|
84
|
+
- Bring ein Notizbuch mit.
|
|
85
|
+
- Stell **eine gute Frage**.
|
|
86
|
+
- Teile, was *du* lernst.
|
|
87
|
+
|
|
88
|
+
1. Zuhören
|
|
89
|
+
2. Zusammenfassen
|
|
90
|
+
```
|
|
91
|
+
:::
|
|
92
|
+
:::slot right
|
|
93
|
+
- Bring ein Notizbuch mit.
|
|
94
|
+
- Stell **eine gute Frage**.
|
|
95
|
+
- Teile, was *du* lernst.
|
|
96
|
+
|
|
97
|
+
1. Zuhören
|
|
98
|
+
2. Zusammenfassen
|
|
99
|
+
:::
|
|
100
|
+
|
|
101
|
+
:::notes
|
|
102
|
+
`**fett**` und `*hervorgehoben*`; wie Hervorhebung aussieht, entscheidet das Theme. Hier bekommt sie die Akzentfarbe.
|
|
103
|
+
:::
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
:::meta
|
|
107
|
+
time: 1m
|
|
108
|
+
:::
|
|
109
|
+
# Punkte einzeln aufdecken
|
|
110
|
+
|
|
111
|
+
:::columns
|
|
112
|
+
```markdown
|
|
113
|
+
:::steps
|
|
114
|
+
- Zuerst eine Frage.
|
|
115
|
+
- Dann eine Pause.
|
|
116
|
+
- Dann die Antwort.
|
|
117
|
+
:::
|
|
118
|
+
```
|
|
119
|
+
+++
|
|
120
|
+
:::steps
|
|
121
|
+
- Zuerst eine Frage.
|
|
122
|
+
- Dann eine Pause.
|
|
123
|
+
- Dann die Antwort.
|
|
124
|
+
:::
|
|
125
|
+
:::
|
|
126
|
+
|
|
127
|
+
:::notes
|
|
128
|
+
Drück die Weiter-Taste: Jeder Druck deckt einen Punkt auf, danach geht es weiter. Gedruckte Folien und das PDF zeigen alle Punkte.
|
|
129
|
+
|
|
130
|
+
Diese Folie hat kein Layout: `:::columns` stellt Quelltext und Ergebnis nebeneinander, `+++` beginnt die zweite Spalte.
|
|
131
|
+
:::
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
:::meta
|
|
135
|
+
layout: chapter
|
|
136
|
+
number: 2
|
|
137
|
+
part: Layouts und Inhalte
|
|
138
|
+
description: Layouts, Bilder, Code, Tabellen und Hinweiskästen. Wähle pro Folie ein Layout; den Rest erledigt das Theme.
|
|
139
|
+
time: 15s
|
|
140
|
+
:::
|
|
141
|
+
# Gestalten.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
:::meta
|
|
145
|
+
layout: split
|
|
146
|
+
props:
|
|
147
|
+
ratio: [3, 2]
|
|
148
|
+
time: 1m
|
|
149
|
+
:::
|
|
150
|
+
# Ein Layout wählen
|
|
151
|
+
:::slot left
|
|
152
|
+
```markdown
|
|
153
|
+
:::meta
|
|
154
|
+
layout: focus
|
|
155
|
+
attribution: "Eine Lehrerin"
|
|
156
|
+
:::
|
|
157
|
+
# Gute Fragen führen
|
|
158
|
+
# zu besseren Gesprächen.
|
|
159
|
+
```
|
|
160
|
+
:::
|
|
161
|
+
:::slot right
|
|
162
|
+
Ein `:::meta`-Block oben auf der Folie enthält ihre Einstellungen.
|
|
163
|
+
|
|
164
|
+
`layout: focus` macht eine grosse Aussage. Die nächste Folie ist genau diese.
|
|
165
|
+
:::
|
|
166
|
+
|
|
167
|
+
:::notes
|
|
168
|
+
Ohne Layout ist eine Folie eine gewöhnliche Überschrift mit Inhalt. Diese Folie ist `layout: split`, die beiden Seiten stehen in `:::slot left` und `:::slot right`; `ratio: [3, 2]` gibt dem Code mehr Platz.
|
|
169
|
+
|
|
170
|
+
Die eingebauten Layouts sind `title`, `chapter`, `focus`, `split`, `image-text` und `full-bleed-image`.
|
|
171
|
+
:::
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
:::meta
|
|
175
|
+
layout: focus
|
|
176
|
+
attribution: "Eine Lehrerin"
|
|
177
|
+
time: 30s
|
|
178
|
+
:::
|
|
179
|
+
# Gute Fragen führen zu besseren Gesprächen.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
:::meta
|
|
183
|
+
layout: image-text
|
|
184
|
+
image: ./img/image.jpg
|
|
185
|
+
alt: "Höhenlinien wie auf einer Landkarte"
|
|
186
|
+
time: 45s
|
|
187
|
+
:::
|
|
188
|
+
# Ein Bild neben deinen Worten
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
:::meta
|
|
192
|
+
layout: image-text
|
|
193
|
+
image: ./img/image.jpg
|
|
194
|
+
alt: "Höhenlinien"
|
|
195
|
+
:::
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
`alt` beschreibt das Bild für Menschen, die es nicht sehen können.
|
|
199
|
+
|
|
200
|
+
:::notes
|
|
201
|
+
Bilder liegen am besten in einem Ordner neben den Folien, hier `img/`. Die nächste Folie zeigt dasselbe Bild mit `layout: full-bleed-image`.
|
|
202
|
+
:::
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
:::meta
|
|
206
|
+
layout: full-bleed-image
|
|
207
|
+
image: ./img/image.jpg
|
|
208
|
+
alt: "Höhenlinien wie auf einer Landkarte"
|
|
209
|
+
overlay: true
|
|
210
|
+
time: 30s
|
|
211
|
+
:::
|
|
212
|
+
# Oder das Bild füllt die ganze Folie.
|
|
213
|
+
|
|
214
|
+
:::notes
|
|
215
|
+
Diese Folie ist so geschrieben:
|
|
216
|
+
|
|
217
|
+
```markdown
|
|
218
|
+
:::meta
|
|
219
|
+
layout: full-bleed-image
|
|
220
|
+
image: ./img/image.jpg
|
|
221
|
+
overlay: true
|
|
222
|
+
:::
|
|
223
|
+
# Oder das Bild füllt die ganze Folie.
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
`overlay: true` dunkelt das Bild ab, damit die Überschrift lesbar bleibt.
|
|
227
|
+
:::
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
:::meta
|
|
231
|
+
layout: split
|
|
232
|
+
time: 1m30s
|
|
233
|
+
:::
|
|
234
|
+
# Code, der läuft
|
|
235
|
+
:::slot left
|
|
236
|
+
````markdown
|
|
237
|
+
```python live editable
|
|
238
|
+
squares = [x**2 for x in range(1, 6)]
|
|
239
|
+
print(squares)
|
|
240
|
+
```
|
|
241
|
+
````
|
|
242
|
+
:::
|
|
243
|
+
:::slot right
|
|
244
|
+
```python live editable
|
|
245
|
+
squares = [x**2 for x in range(1, 6)]
|
|
246
|
+
print(squares)
|
|
247
|
+
```
|
|
248
|
+
:::
|
|
249
|
+
|
|
250
|
+
:::notes
|
|
251
|
+
Drück auf Run. `live` fügt den Knopf hinzu, mit `editable` lässt sich der Code während des Vortrags ändern, `copy` fügt einen Kopierknopf hinzu. JavaScript funktioniert genauso.
|
|
252
|
+
|
|
253
|
+
Live-Python lädt seine Laufzeitumgebung beim ersten Mal herunter und braucht dafür eine Internetverbindung.
|
|
254
|
+
:::
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
:::meta
|
|
258
|
+
layout: split
|
|
259
|
+
time: 45s
|
|
260
|
+
:::
|
|
261
|
+
# Tabellen und Formeln
|
|
262
|
+
:::slot left
|
|
263
|
+
```markdown
|
|
264
|
+
| Ebene | Wem sie gehört |
|
|
265
|
+
|---|---|
|
|
266
|
+
| Worte | Dir |
|
|
267
|
+
| Aussehen | Dem Theme |
|
|
268
|
+
|
|
269
|
+
$$
|
|
270
|
+
A = \pi r^2
|
|
271
|
+
$$
|
|
272
|
+
```
|
|
273
|
+
:::
|
|
274
|
+
:::slot right
|
|
275
|
+
| Ebene | Wem sie gehört |
|
|
276
|
+
|---|---|
|
|
277
|
+
| Worte | Dir |
|
|
278
|
+
| Aussehen | Dem Theme |
|
|
279
|
+
|
|
280
|
+
$$
|
|
281
|
+
A = \pi r^2
|
|
282
|
+
$$
|
|
283
|
+
:::
|
|
284
|
+
|
|
285
|
+
:::notes
|
|
286
|
+
Formeln werden in LaTeX geschrieben. Einfache Dollarzeichen setzen eine Formel in einen Satz; doppelte Dollarzeichen darüber und darunter stellen sie auf eine eigene Zeile.
|
|
287
|
+
:::
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
:::meta
|
|
291
|
+
layout: split
|
|
292
|
+
time: 45s
|
|
293
|
+
:::
|
|
294
|
+
# Tipps und Warnungen
|
|
295
|
+
:::slot left
|
|
296
|
+
```markdown
|
|
297
|
+
:::tip
|
|
298
|
+
Ein Tipp pro Folie reicht.
|
|
299
|
+
:::
|
|
300
|
+
|
|
301
|
+
:::warning
|
|
302
|
+
Prüf den Beamer im Raum.
|
|
303
|
+
:::
|
|
304
|
+
```
|
|
305
|
+
:::
|
|
306
|
+
:::slot right
|
|
307
|
+
:::tip
|
|
308
|
+
Ein Tipp pro Folie reicht.
|
|
309
|
+
:::
|
|
310
|
+
|
|
311
|
+
:::warning
|
|
312
|
+
Prüf den Beamer im Raum.
|
|
313
|
+
:::
|
|
314
|
+
:::
|
|
315
|
+
|
|
316
|
+
:::notes
|
|
317
|
+
Die übrigen Hinweiskästen sind `note`, `important` und `caution`. Eine eigene Beschriftung kommt hinter den Typ, zum Beispiel `:::tip Vor dem Vortrag`.
|
|
318
|
+
:::
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
:::meta
|
|
322
|
+
layout: split
|
|
323
|
+
time: 1m
|
|
324
|
+
:::
|
|
325
|
+
# Quellen zitieren
|
|
326
|
+
:::slot left
|
|
327
|
+
```markdown
|
|
328
|
+
---
|
|
329
|
+
bibliography: refs.bib
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
Abrufen schlägt Wiederlesen
|
|
333
|
+
[@roediger2006].
|
|
334
|
+
```
|
|
335
|
+
:::
|
|
336
|
+
:::slot right
|
|
337
|
+
Abrufen schlägt Wiederlesen [@roediger2006].
|
|
338
|
+
|
|
339
|
+
Vorlesungen mit aktivem Lernen senken die Durchfallquote um ein Drittel [@freeman2014].
|
|
340
|
+
:::
|
|
341
|
+
|
|
342
|
+
:::notes
|
|
343
|
+
`refs.bib` ist eine BibTeX-Datei, wie Zotero sie exportiert; CSL-JSON und Hayagriva gehen auch. Jede Folie führt ihre eigenen Quellen über der Fusszeile auf, und `<bibliography />` auf einer Folie listet alle auf. `csl: vancouver` stellt auf Nummern um.
|
|
344
|
+
:::
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
:::meta
|
|
348
|
+
layout: chapter
|
|
349
|
+
number: 3
|
|
350
|
+
part: Präsentieren
|
|
351
|
+
description: Notizen für dich, Zeichnen auf den Folien und Fragen an den Raum.
|
|
352
|
+
id: give-the-talk
|
|
353
|
+
time: 15s
|
|
354
|
+
:::
|
|
355
|
+
# Vortragen.
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
:::meta
|
|
359
|
+
layout: split
|
|
360
|
+
time: 1m
|
|
361
|
+
:::
|
|
362
|
+
# Notizen nur für dich
|
|
363
|
+
:::slot left
|
|
364
|
+
```markdown
|
|
365
|
+
:::notes
|
|
366
|
+
Hier Pause. Fragen, wer das
|
|
367
|
+
schon ausprobiert hat.
|
|
368
|
+
:::
|
|
369
|
+
```
|
|
370
|
+
:::
|
|
371
|
+
:::slot right
|
|
372
|
+
Notizen stehen unter dem Inhalt der Folie. Sie erscheinen in der **Referentenansicht**, nie auf dem Beamer.
|
|
373
|
+
|
|
374
|
+
Öffne sie über die Startseite und zieh das **Publikumsfenster** auf den Beamer. Die beiden folgen einander.
|
|
375
|
+
:::
|
|
376
|
+
|
|
377
|
+
:::notes
|
|
378
|
+
Hier Pause. Fragen, wer das schon ausprobiert hat.
|
|
379
|
+
|
|
380
|
+
So zeigt die Referentenansicht diese Folie. Ihre Kopfzeile zeigt auch, was verbunden ist: weitere Referentenansichten, Publikumsfenster und Handys.
|
|
381
|
+
:::
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
:::meta
|
|
385
|
+
id: draw-on-any-slide
|
|
386
|
+
time: 1m
|
|
387
|
+
:::
|
|
388
|
+
# Auf jeder Folie zeichnen
|
|
389
|
+
|
|
390
|
+
Drück jetzt **D** oder den Stift-Knopf. Zeichne mit Stift, Textmarker oder einem Marker, der nach einem Moment verblasst. **Escape** beendet das Zeichnen.
|
|
391
|
+
|
|
392
|
+
Zeichnungen landen in einer `.drawings.json`-Datei neben den Folien und erscheinen im PDF.
|
|
393
|
+
|
|
394
|
+
:::notes
|
|
395
|
+
Unterstreichung und Kreis auf dieser Folie wurden mit dem Stift gezeichnet und gespeichert; sie erscheinen in jeder Ansicht und im PDF.
|
|
396
|
+
|
|
397
|
+
Ein iPad koppelst du über die Startseite: Dort zeichnest und steuerst du, während der Laptop den Beamer bedient.
|
|
398
|
+
:::
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
:::meta
|
|
402
|
+
layout: split
|
|
403
|
+
hotspots: auto
|
|
404
|
+
id: zoom-in-on-a-part
|
|
405
|
+
time: 1m30s
|
|
406
|
+
:::
|
|
407
|
+
# In einen Teil hineinzoomen
|
|
408
|
+
:::slot left
|
|
409
|
+
```markdown
|
|
410
|
+
:::meta
|
|
411
|
+
hotspots: auto
|
|
412
|
+
:::
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
Drück in der Referentenansicht eine **Zahl**, um in diesen Teil zu zoomen. Dieselbe Zahl, **0** oder **Escape** führt zurück.
|
|
416
|
+
:::
|
|
417
|
+
:::slot right
|
|
418
|
+
| Ebene | Wem sie gehört |
|
|
419
|
+
|---|---|
|
|
420
|
+
| Worte | Dir |
|
|
421
|
+
| Aussehen | Dem Theme |
|
|
422
|
+
|
|
423
|
+
$$
|
|
424
|
+
A = \pi r^2
|
|
425
|
+
$$
|
|
426
|
+
:::
|
|
427
|
+
|
|
428
|
+
:::notes
|
|
429
|
+
Die Zifferntasten erscheinen auf dieser Folie nur hier in der Referentenansicht, nie auf dem Beamer. Drück 2 für die Tabelle, 3 für die Formel; das Publikumsfenster fliegt mit. Die Pfeiltasten verlassen den Zoom und blättern mit einem Druck weiter.
|
|
430
|
+
|
|
431
|
+
`hotspots: auto` findet Bilder, Code, Tabellen, Formeln und Hinweiskästen. In den Deck-Einstellungen ganz oben gibt es Tasten auf jeder Folie; `marked` vergibt Tasten nur an Teile mit `data-hotspot`. H schaltet die Tasten während des Vortrags aus und ein.
|
|
432
|
+
:::
|
|
433
|
+
|
|
434
|
+
---
|
|
435
|
+
:::meta
|
|
436
|
+
layout: split
|
|
437
|
+
time: 1m
|
|
438
|
+
:::
|
|
439
|
+
# Den Vortrag timen
|
|
440
|
+
:::slot left
|
|
441
|
+
```markdown
|
|
442
|
+
:::meta
|
|
443
|
+
time: 1m
|
|
444
|
+
:::
|
|
445
|
+
```
|
|
446
|
+
:::
|
|
447
|
+
:::slot right
|
|
448
|
+
Gib jeder Folie eine **Zeit**. Die Referentenansicht zählt sie herunter und zeigt, ob du vor oder hinter dem Plan liegst.
|
|
449
|
+
|
|
450
|
+
Mit `mdeck rehearse slides.md` misst du die Folien beim Üben und speicherst die Zeiten in der Datei.
|
|
451
|
+
:::
|
|
452
|
+
|
|
453
|
+
:::notes
|
|
454
|
+
Jede Folie dieser Tour hat eine Zeit, insgesamt 21 Minuten. Drück T in der Referentenansicht, um den Timer zu starten: Darunter siehst du, wie viel von dieser Folie übrig ist und wo der Vortrag steht.
|
|
455
|
+
|
|
456
|
+
Eine Probe misst die Zeiten für dich. Am Ende bietet sie sie auf 15 Sekunden gerundet an; ändere beliebige davon, bevor du speicherst.
|
|
457
|
+
:::
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
:::meta
|
|
461
|
+
time: 1m30s
|
|
462
|
+
:::
|
|
463
|
+
# Was probierst du zuerst aus?
|
|
464
|
+
|
|
465
|
+
<poll room="tour" options="Schreiben|Layouts|Zeichnen|Umfragen" />
|
|
466
|
+
|
|
467
|
+
:::notes
|
|
468
|
+
Eine Zeile ergibt eine Umfrage; die Überschrift ist die Frage:
|
|
469
|
+
|
|
470
|
+
`<poll room="tour" options="Schreiben|Layouts|Zeichnen|Umfragen" />`
|
|
471
|
+
|
|
472
|
+
Handys kommen über den QR-Code dazu. Sie erreichen diesen Computer, wenn du `mdeck run slides.md --network` startest.
|
|
473
|
+
:::
|
|
474
|
+
|
|
475
|
+
---
|
|
476
|
+
:::meta
|
|
477
|
+
layout: split
|
|
478
|
+
time: 1m
|
|
479
|
+
:::
|
|
480
|
+
# Ein Wort von allen
|
|
481
|
+
:::slot left
|
|
482
|
+
```markdown
|
|
483
|
+
<wordcloud room="mood"
|
|
484
|
+
qr="false" />
|
|
485
|
+
|
|
486
|
+
<scale room="pace" min="1" max="5"
|
|
487
|
+
low="Zu langsam" high="Zu schnell" />
|
|
488
|
+
|
|
489
|
+
<question room="ask" />
|
|
490
|
+
```
|
|
491
|
+
:::
|
|
492
|
+
:::slot right
|
|
493
|
+
<wordcloud room="mood" placeholder="Ein Wort" qr="false" />
|
|
494
|
+
:::
|
|
495
|
+
|
|
496
|
+
:::notes
|
|
497
|
+
Handys, die mit dem Code der Umfrage beigetreten sind, bleiben dabei: `qr="false"` lässt den Code hier weg. Antworten erscheinen, sobald sie eintreffen.
|
|
498
|
+
|
|
499
|
+
Neben Umfragen und Wortwolken gibt es Bewertungen (`<scale>`), Zahlen mit richtiger Antwort (`<numeric>`) und offene Fragen (`<question>`). Bei mehreren davon zeigt `<qrcode join />` auf einer frühen Folie den Code einmal. `mdeck run` speichert die Antworten in `slides.results.json` neben dem Deck.
|
|
500
|
+
:::
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
:::meta
|
|
504
|
+
layout: chapter
|
|
505
|
+
number: 4
|
|
506
|
+
part: Teilen
|
|
507
|
+
description: Eine Datei zum Verschicken, ein PDF oder ein Ordner für eine Website.
|
|
508
|
+
time: 15s
|
|
509
|
+
:::
|
|
510
|
+
# Teilen.
|
|
511
|
+
|
|
512
|
+
---
|
|
513
|
+
:::meta
|
|
514
|
+
layout: split
|
|
515
|
+
time: 45s
|
|
516
|
+
:::
|
|
517
|
+
# Das ganze Aussehen ändern
|
|
518
|
+
:::slot left
|
|
519
|
+
```markdown
|
|
520
|
+
---
|
|
521
|
+
theme: work
|
|
522
|
+
palette: lagoon
|
|
523
|
+
---
|
|
524
|
+
```
|
|
525
|
+
:::
|
|
526
|
+
:::slot right
|
|
527
|
+
Zwei Zeilen am Anfang der Datei wählen Theme und Farben für alle Folien auf einmal.
|
|
528
|
+
|
|
529
|
+
Zum Ausprobieren, ohne die Datei zu ändern: die **Leseansicht** öffnen und **Look** wählen.
|
|
530
|
+
:::
|
|
531
|
+
|
|
532
|
+
:::notes
|
|
533
|
+
mdeck hat vier eingebaute Themes und fünf Paletten, jeweils hell oder dunkel. `mdeck list` zeigt sie alle, auch solche in einem Ordner `extensions` neben dem Deck. `mdeck themes search` findet weitere im Theme-Repository.
|
|
534
|
+
:::
|
|
535
|
+
|
|
536
|
+
---
|
|
537
|
+
:::meta
|
|
538
|
+
layout: split
|
|
539
|
+
time: 45s
|
|
540
|
+
:::
|
|
541
|
+
# Verschicken, drucken, hosten
|
|
542
|
+
:::slot left
|
|
543
|
+
```sh
|
|
544
|
+
mdeck send slides.md
|
|
545
|
+
mdeck pdf slides.md
|
|
546
|
+
mdeck build slides.md
|
|
547
|
+
```
|
|
548
|
+
:::
|
|
549
|
+
:::slot right
|
|
550
|
+
`send` erzeugt eine HTML-Datei ohne deine Notizen, mit einem PDF darin. Man öffnet sie im Browser.
|
|
551
|
+
|
|
552
|
+
`pdf` erzeugt eine Seite pro Folie. `build` erzeugt einen Ordner für einen Webserver.
|
|
553
|
+
:::
|
|
554
|
+
|
|
555
|
+
---
|
|
556
|
+
:::meta
|
|
557
|
+
layout: title
|
|
558
|
+
time: 1m
|
|
559
|
+
:::
|
|
560
|
+
# Jetzt bist du dran.
|
|
561
|
+
## Gib deine Folien, Dokumente oder Notizen einem *KI-Assistenten*.
|
|
562
|
+
|
|
563
|
+
:::notes
|
|
564
|
+
`mdeck skill --install claude` (oder codex, cursor, copilot, gemini) installiert den Skill `write-slides`, der dem Assistenten mdeck beibringt. Dann verweist du ihn auf dein Material: „Bau lecture-03.pptx als 20-minütigen Vortrag neu.“
|
|
565
|
+
|
|
566
|
+
Ohne Assistent stellt `mdeck new` ein paar Fragen und legt ein Deck an.
|
|
567
|
+
:::
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"width": 1920,
|
|
4
|
+
"height": 1080,
|
|
5
|
+
"slides": {
|
|
6
|
+
"draw-on-any-slide": [
|
|
7
|
+
{"id":"tour:underline","tool":"pen","color":"#e11d48","size":7,"points":[[136,464,0.45],[151,466,0.48],[166,468,0.52],[181,469,0.55],[196,470,0.58],[211,471,0.61],[226,471,0.64],[241,470,0.66],[256,469,0.68],[271,467,0.7],[286,466,0.72],[301,464,0.73],[316,462,0.74],[331,461,0.75],[346,460,0.75],[361,460,0.75],[376,461,0.74],[391,462,0.73],[406,463,0.72],[421,465,0.71],[436,467,0.69],[451,469,0.67],[466,471,0.64],[481,472,0.62],[496,473,0.59],[511,474,0.56],[526,474,0.53],[541,473,0.49],[556,472,0.46],[571,470,0.43],[586,469,0.39],[601,467,0.36],[616,466,0.33],[631,464,0.3],[646,464,0.27],[661,463,0.25],[676,464,0.22],[691,464,0.2],[706,466,0.19],[721,468,0.17],[736,470,0.16]]},
|
|
8
|
+
{"id":"tour:circle","tool":"pen","color":"#e11d48","size":6,"points":[[252,495,0.5],[256,495,0.54],[261,495,0.57],[265,496,0.6],[269,498,0.64],[273,501,0.66],[276,504,0.69],[278,508,0.71],[280,512,0.73],[281,516,0.74],[282,520,0.75],[281,524,0.75],[280,528,0.75],[278,532,0.74],[276,536,0.73],[273,538,0.71],[270,541,0.69],[266,543,0.66],[263,545,0.63],[259,546,0.6],[255,547,0.57],[251,547,0.54],[247,547,0.5],[243,547,0.46],[239,545,0.43],[235,544,0.4],[232,542,0.36],[229,539,0.34],[226,535,0.31],[224,532,0.29],[222,527,0.27],[222,523,0.26],[222,519,0.25],[223,514,0.25],[225,510,0.25],[227,507,0.26],[230,504,0.27],[233,501,0.29],[237,499,0.31],[241,498,0.34],[245,497,0.37],[249,497,0.4],[253,497,0.43],[257,497,0.47],[261,499,0.5],[265,500,0.54]]}
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
}
|