mdeck 3.10.1 → 3.12.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 (91) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +15 -4
  3. package/assets/base.css +6 -1
  4. package/docs/reference/authoring.md +111 -9
  5. package/docs/site/assets/site.css +2 -0
  6. package/docs/site/content/appearance.md +1 -1
  7. package/docs/site/content/audience.md +36 -8
  8. package/docs/site/content/commands.md +6 -3
  9. package/docs/site/content/drawing.md +5 -5
  10. package/docs/site/content/getting-started.md +2 -32
  11. package/docs/site/content/install.md +49 -0
  12. package/docs/site/content/media.md +20 -1
  13. package/docs/site/content/presenting.md +67 -9
  14. package/docs/site/content/sharing.md +1 -0
  15. package/docs/site/content/welcome.md +21 -1
  16. package/docs/site/content/writing.md +27 -0
  17. package/docs/site/images/features/hotspots.webp +0 -0
  18. package/docs/site/images/features/languages.webp +0 -0
  19. package/docs/site/pages.js +1 -0
  20. package/examples/custom-layouts/slides.md +21 -9
  21. package/examples/showcase/refs.bib +21 -0
  22. package/examples/showcase/slides.ar.drawings.json +11 -0
  23. package/examples/showcase/slides.ar.md +567 -0
  24. package/examples/showcase/slides.de.drawings.json +11 -0
  25. package/examples/showcase/slides.de.md +567 -0
  26. package/examples/showcase/slides.de.results.json +57 -0
  27. package/examples/showcase/slides.en.drawings.json +11 -0
  28. package/examples/showcase/{slides.md → slides.en.md} +112 -5
  29. package/package.json +1 -1
  30. package/skills/write-slides/SKILL.md +14 -2
  31. package/src/build/check.js +34 -7
  32. package/src/build/components.js +5 -3
  33. package/src/build/config.js +2 -0
  34. package/src/build/homePlugin.js +64 -14
  35. package/src/build/include.js +249 -0
  36. package/src/build/inkPlugin.js +12 -2
  37. package/src/build/relayAccess.js +3 -1
  38. package/src/build/renderCheck.js +23 -3
  39. package/src/build/slidesPlugin.js +70 -22
  40. package/src/build/svgCheck.js +65 -0
  41. package/src/build/timingPlugin.js +96 -0
  42. package/src/cli/args.js +6 -5
  43. package/src/cli/index.js +77 -21
  44. package/src/components/Bibliography.jsx +7 -2
  45. package/src/components/Poll.jsx +2 -2
  46. package/src/components/QrCodeTag.jsx +2 -2
  47. package/src/components/VideoPlayer.jsx +6 -1
  48. package/src/components/WordCloud.jsx +7 -6
  49. package/src/components/activity.jsx +11 -8
  50. package/src/components/poll.css +2 -0
  51. package/src/core/editDeck.js +44 -7
  52. package/src/core/icons.js +9 -1
  53. package/src/core/labels.js +78 -0
  54. package/src/core/parseSlides.js +16 -6
  55. package/src/core/reactions.js +27 -0
  56. package/src/core/resultsReport.js +153 -0
  57. package/src/core/source.js +8 -1
  58. package/src/core/timing.js +83 -0
  59. package/src/core/validateDeck.js +11 -2
  60. package/src/editor/components/DeckSettings.jsx +1 -0
  61. package/src/editor/components/MetaFields.jsx +1 -0
  62. package/src/home/Home.jsx +39 -93
  63. package/src/home/home.css +5 -17
  64. package/src/layouts/layoutApi.jsx +51 -8
  65. package/src/layouts/renderSlide.jsx +13 -1
  66. package/src/live/answer/answer.css +9 -0
  67. package/src/live/answer/answer.js +32 -4
  68. package/src/live/client.js +23 -4
  69. package/src/live/rooms.js +18 -6
  70. package/src/runtime/KeyHelp.jsx +115 -0
  71. package/src/runtime/PresenterChrome.jsx +168 -0
  72. package/src/runtime/Reactions.jsx +56 -0
  73. package/src/runtime/RehearsalSummary.jsx +129 -0
  74. package/src/runtime/component.js +27 -0
  75. package/src/runtime/deck-stage.js +371 -37
  76. package/src/runtime/helpKeys.js +75 -0
  77. package/src/runtime/ink/bus.js +13 -5
  78. package/src/runtime/ink/outbox.js +27 -0
  79. package/src/runtime/ink/room.js +37 -12
  80. package/src/runtime/ink/segments.js +21 -0
  81. package/src/runtime/main.jsx +508 -286
  82. package/src/runtime/shared.js +77 -0
  83. package/src/runtime/slideControls.js +60 -0
  84. package/src/runtime/steps.js +36 -0
  85. package/src/runtime/useTalkTimer.js +67 -0
  86. package/examples/citations/refs.bib +0 -30
  87. package/examples/citations/refs.yml +0 -21
  88. package/examples/citations/slides.md +0 -43
  89. package/examples/citations/slides.pdf +0 -0
  90. package/examples/poll/slides.md +0 -127
  91. package/examples/showcase/slides.drawings.json +0 -11
@@ -0,0 +1,567 @@
1
+ ---
2
+ theme: neue
3
+ meta:
4
+ title: "جولة في mdeck"
5
+ author: "Tilman Schieber"
6
+ organization: "FHNW"
7
+ date: "2026-10-06"
8
+ bibliography: refs.bib
9
+ reactions: true
10
+ ---
11
+
12
+ ---
13
+ :::meta
14
+ layout: title
15
+ image: ./img/mdeck.svg
16
+ fit: contain
17
+ alt: "ملف Markdown يتحوّل إلى مجموعة من الشرائح"
18
+ id: a-talk-in-a-text-file
19
+ time: 1m
20
+ :::
21
+ # محاضرة في ملف نصي.
22
+ ## جولة في mdeck: كل شريحة تعرض *ما هو مكتوب* وما يصير إليه.
23
+
24
+ :::notes
25
+ يعلّمك هذا العرض mdeck بالأمثلة. معظم الشرائح تعرض نص Markdown بجانب ما يصير إليه. افتح `slides.ar.md` إلى جانبه: كل شريحة هنا مكتوبة تمامًا كما تظهر.
26
+
27
+ تنقّل فيه بمفاتيح الأسهم أو بمفتاح المسافة. هذه الملاحظات لك وحدك؛ افتح عرض المقدِّم من صفحة الإطلاق لتراها بجانب الشريحة.
28
+
29
+ الجولة متوفرة أيضًا بالإنجليزية (`slides.en.md`) وبالألمانية (`slides.de.md`). شغّلها بالأمر `mdeck run slides.ar.md`، والمفتاح **L** في عرض المقدِّم ينقل كل النوافذ إلى اللغة التالية.
30
+ :::
31
+
32
+ ---
33
+ :::meta
34
+ layout: chapter
35
+ number: 1
36
+ part: الكتابة
37
+ description: Markdown عادي، الصيغة التي يكتبها مساعدو الذكاء الاصطناعي أصلًا. يمكنك قراءة كل كلمة وتغييرها.
38
+ time: 15s
39
+ :::
40
+ # اكتبها.
41
+
42
+ :::notes
43
+ في الواقع يكتب مساعد ذكاء اصطناعي هذا الملف عادةً من موادك أنت: شرائح قديمة، أو مستند، أو ملاحظاتك. مهارة `write-slides` تعلّمه mdeck. تعرض الشرائح التالية ما يكتبه، لتتمكن من قراءته وتعديله.
44
+ :::
45
+
46
+ ---
47
+ :::meta
48
+ layout: split
49
+ time: 1m
50
+ :::
51
+ # الكلمات تصير شرائح
52
+ :::slot left
53
+ ```markdown
54
+ # مغامرتنا القادمة
55
+
56
+ فقرة من نص عادي.
57
+
58
+ ---
59
+
60
+ # الفكرة التالية
61
+ ```
62
+ :::
63
+ :::slot right
64
+ ## مغامرتنا القادمة
65
+
66
+ فقرة من نص عادي.
67
+
68
+ ثلاث شرطات في سطر مستقل تبدأ الشريحة التالية.
69
+ :::
70
+
71
+ :::notes
72
+ `#` هو عنوان الشريحة. السطر الفارغ يفصل بين الفقرات.
73
+
74
+ جرّب: غيّر عنوانًا في `slides.ar.md` واحفظ الملف. تتحدّث الشريحة وهي مفتوحة.
75
+ :::
76
+
77
+ ---
78
+ :::meta
79
+ layout: split
80
+ time: 45s
81
+ :::
82
+ # القوائم والتوكيد
83
+ :::slot left
84
+ ```markdown
85
+ - أحضر دفترًا.
86
+ - اطرح **سؤالًا واحدًا جيدًا**.
87
+ - شارك ما تتعلّمه *أنت*.
88
+
89
+ 1. استمع
90
+ 2. لخّص
91
+ ```
92
+ :::
93
+ :::slot right
94
+ - أحضر دفترًا.
95
+ - اطرح **سؤالًا واحدًا جيدًا**.
96
+ - شارك ما تتعلّمه *أنت*.
97
+
98
+ 1. استمع
99
+ 2. لخّص
100
+ :::
101
+
102
+ :::notes
103
+ `**bold**` و`*emphasis*`؛ والقالب يحدّد شكل التوكيد. في هذا القالب يأخذ لون التمييز.
104
+ :::
105
+
106
+ ---
107
+ :::meta
108
+ time: 1m
109
+ :::
110
+ # اكشف النقاط واحدة تلو الأخرى
111
+
112
+ :::columns
113
+ ```markdown
114
+ :::steps
115
+ - أولًا، سؤال.
116
+ - ثم، وقفة.
117
+ - ثم، الجواب.
118
+ :::
119
+ ```
120
+ +++
121
+ :::steps
122
+ - أولًا، سؤال.
123
+ - ثم، وقفة.
124
+ - ثم، الجواب.
125
+ :::
126
+ :::
127
+
128
+ :::notes
129
+ اضغط مفتاح التقدّم: كل ضغطة تكشف نقطة واحدة، ثم تنتقل إلى الشريحة التالية. الشرائح المطبوعة وملف PDF تعرض كل النقاط.
130
+
131
+ ليس لهذه الشريحة تخطيط: `:::columns` يضع المصدر والنتيجة جنبًا إلى جنب، و`+++` يبدأ العمود الثاني.
132
+ :::
133
+
134
+ ---
135
+ :::meta
136
+ layout: chapter
137
+ number: 2
138
+ part: التخطيطات والمحتوى
139
+ description: التخطيطات والصور والشيفرة والجداول والتنبيهات. اختر تخطيطًا لكل شريحة، والقالب يتكفّل بالباقي.
140
+ time: 15s
141
+ :::
142
+ # رتّبها.
143
+
144
+ ---
145
+ :::meta
146
+ layout: split
147
+ props:
148
+ ratio: [3, 2]
149
+ time: 1m
150
+ :::
151
+ # اختر تخطيطًا
152
+ :::slot left
153
+ ```markdown
154
+ :::meta
155
+ layout: focus
156
+ attribution: "معلّم"
157
+ :::
158
+ # الأسئلة الجيدة تصنع
159
+ # حوارات أفضل.
160
+ ```
161
+ :::
162
+ :::slot right
163
+ كتلة `:::meta` في أعلى الشريحة تحمل إعداداتها.
164
+
165
+ `layout: focus` يصنع عبارة واحدة كبيرة. الشريحة التالية هي هذه بالضبط.
166
+ :::
167
+
168
+ :::notes
169
+ من دون تخطيط تكون الشريحة عنوانًا عاديًا مع محتوى. هذه الشريحة `layout: split`، وجانباها مكتوبان كـ`:::slot left` و`:::slot right`؛ و`ratio: [3, 2]` يعطي الشيفرة مساحة أكبر.
170
+
171
+ التخطيطات المدمجة هي `title` و`chapter` و`focus` و`split` و`image-text` و`full-bleed-image`.
172
+ :::
173
+
174
+ ---
175
+ :::meta
176
+ layout: focus
177
+ attribution: "معلّم"
178
+ time: 30s
179
+ :::
180
+ # الأسئلة الجيدة تصنع حوارات أفضل.
181
+
182
+ ---
183
+ :::meta
184
+ layout: image-text
185
+ image: ./img/image.jpg
186
+ alt: "خطوط كنتورية مثل تلك التي على الخرائط"
187
+ time: 45s
188
+ :::
189
+ # صورة بجانب كلماتك
190
+
191
+ ```markdown
192
+ :::meta
193
+ layout: image-text
194
+ image: ./img/image.jpg
195
+ alt: "خطوط كنتورية"
196
+ :::
197
+ ```
198
+
199
+ `alt` يصف الصورة لمن لا يستطيع رؤيتها.
200
+
201
+ :::notes
202
+ احفظ الصور في مجلد بجانب الشرائح، وهو هنا `img/`. الشريحة التالية تستخدم الصورة نفسها مع `layout: full-bleed-image`.
203
+ :::
204
+
205
+ ---
206
+ :::meta
207
+ layout: full-bleed-image
208
+ image: ./img/image.jpg
209
+ alt: "خطوط كنتورية مثل تلك التي على الخرائط"
210
+ overlay: true
211
+ time: 30s
212
+ :::
213
+ # أو دع الصورة تملأ الشريحة.
214
+
215
+ :::notes
216
+ هذه الشريحة مكتوبة هكذا:
217
+
218
+ ```markdown
219
+ :::meta
220
+ layout: full-bleed-image
221
+ image: ./img/image.jpg
222
+ overlay: true
223
+ :::
224
+ # أو دع الصورة تملأ الشريحة.
225
+ ```
226
+
227
+ `overlay: true` يعتّم الصورة كي يبقى العنوان مقروءًا.
228
+ :::
229
+
230
+ ---
231
+ :::meta
232
+ layout: split
233
+ time: 1m30s
234
+ :::
235
+ # شيفرة يمكنك تشغيلها
236
+ :::slot left
237
+ ````markdown
238
+ ```python live editable
239
+ squares = [x**2 for x in range(1, 6)]
240
+ print(squares)
241
+ ```
242
+ ````
243
+ :::
244
+ :::slot right
245
+ ```python live editable
246
+ squares = [x**2 for x in range(1, 6)]
247
+ print(squares)
248
+ ```
249
+ :::
250
+
251
+ :::notes
252
+ اضغط Run. `live` يضيف الزر، و`editable` يتيح لك تغيير الشيفرة أثناء العرض، و`copy` يضيف زر نسخ. وتعمل JavaScript بالطريقة نفسها.
253
+
254
+ تنزّل Python الحيّة بيئة تشغيلها في المرة الأولى، لذا تحتاج إلى اتصال بالإنترنت.
255
+ :::
256
+
257
+ ---
258
+ :::meta
259
+ layout: split
260
+ time: 45s
261
+ :::
262
+ # الجداول والمعادلات
263
+ :::slot left
264
+ ```markdown
265
+ | الطبقة | من يملكها |
266
+ |---|---|
267
+ | الكلمات | أنت |
268
+ | المظهر | القالب |
269
+
270
+ $$
271
+ A = \pi r^2
272
+ $$
273
+ ```
274
+ :::
275
+ :::slot right
276
+ | الطبقة | من يملكها |
277
+ |---|---|
278
+ | الكلمات | أنت |
279
+ | المظهر | القالب |
280
+
281
+ $$
282
+ A = \pi r^2
283
+ $$
284
+ :::
285
+
286
+ :::notes
287
+ تُكتب المعادلات بـLaTeX. علامة دولار واحدة تضع المعادلة داخل الجملة؛ وعلامتا دولار فوقها وتحتها تضعانها في سطر مستقل.
288
+ :::
289
+
290
+ ---
291
+ :::meta
292
+ layout: split
293
+ time: 45s
294
+ :::
295
+ # نصائح وتحذيرات
296
+ :::slot left
297
+ ```markdown
298
+ :::tip
299
+ نصيحة واحدة لكل شريحة تكفي.
300
+ :::
301
+
302
+ :::warning
303
+ افحص جهاز العرض في القاعة.
304
+ :::
305
+ ```
306
+ :::
307
+ :::slot right
308
+ :::tip
309
+ نصيحة واحدة لكل شريحة تكفي.
310
+ :::
311
+
312
+ :::warning
313
+ افحص جهاز العرض في القاعة.
314
+ :::
315
+ :::
316
+
317
+ :::notes
318
+ التنبيهات الأخرى هي `note` و`important` و`caution`. أضف تسميتك الخاصة بعد النوع، مثلًا `:::tip قبل المحاضرة`.
319
+ :::
320
+
321
+ ---
322
+ :::meta
323
+ layout: split
324
+ time: 1m
325
+ :::
326
+ # اذكر مصادرك
327
+ :::slot left
328
+ ```markdown
329
+ ---
330
+ bibliography: refs.bib
331
+ ---
332
+
333
+ الاستذكار يتفوّق على إعادة القراءة
334
+ [@roediger2006].
335
+ ```
336
+ :::
337
+ :::slot right
338
+ الاستذكار يتفوّق على إعادة القراءة [@roediger2006].
339
+
340
+ المحاضرات التي تتضمن تعلّمًا نشطًا تخفض معدلات الرسوب بمقدار الثلث [@freeman2014].
341
+ :::
342
+
343
+ :::notes
344
+ `refs.bib` ملف BibTeX كما يصدّره Zotero؛ وتعمل أيضًا CSL-JSON وHayagriva. تسرد كل شريحة مراجعها فوق التذييل، و`<bibliography />` على شريحة ما يسردها كلها. و`csl: vancouver` يحوّل الإحالات إلى أرقام.
345
+ :::
346
+
347
+ ---
348
+ :::meta
349
+ layout: chapter
350
+ number: 3
351
+ part: التقديم
352
+ description: ملاحظات لك، والرسم على الشرائح، وأسئلة للحضور.
353
+ id: give-the-talk
354
+ time: 15s
355
+ :::
356
+ # ألقِ المحاضرة.
357
+
358
+ ---
359
+ :::meta
360
+ layout: split
361
+ time: 1m
362
+ :::
363
+ # ملاحظات لا يراها سواك
364
+ :::slot left
365
+ ```markdown
366
+ :::notes
367
+ توقّف هنا. اسأل من جرّب
368
+ هذا من قبل.
369
+ :::
370
+ ```
371
+ :::
372
+ :::slot right
373
+ توضع الملاحظات تحت محتوى الشريحة. تظهر في **عرض المقدِّم**، ولا تظهر أبدًا على جهاز العرض.
374
+
375
+ افتحه من صفحة الإطلاق، وانقل **نافذة الحضور** إلى جهاز العرض. وتتبع النافذتان إحداهما الأخرى.
376
+ :::
377
+
378
+ :::notes
379
+ توقّف هنا. اسأل من جرّب هذا من قبل.
380
+
381
+ هذا ما يعرضه عرض المقدِّم لهذه الشريحة. ويعرض رأسه أيضًا ما هو متصل: عروض مقدِّم أخرى، ونوافذ الحضور، والهواتف.
382
+ :::
383
+
384
+ ---
385
+ :::meta
386
+ id: draw-on-any-slide
387
+ time: 1m
388
+ :::
389
+ # ارسم على أي شريحة
390
+
391
+ اضغط **D** الآن، أو زر القلم. ارسم بقلم، أو بقلم تظليل، أو بقلم تأشير يتلاشى بعد لحظة. **Escape** يوقف الرسم.
392
+
393
+ تُحفظ الرسوم في ملف `.drawings.json` بجانب الشرائح، وتظهر في ملف PDF.
394
+
395
+ :::notes
396
+ الخط تحت النص والدائرة على هذه الشريحة رُسما بالقلم وحُفظا؛ ويظهران في كل العروض وفي ملف PDF.
397
+
398
+ على جهاز iPad، اقرنه من صفحة الإطلاق: ترسم وتتحكّم من هناك بينما يشغّل الحاسوب المحمول جهاز العرض.
399
+ :::
400
+
401
+ ---
402
+ :::meta
403
+ layout: split
404
+ hotspots: auto
405
+ id: zoom-in-on-a-part
406
+ time: 1m30s
407
+ :::
408
+ # كبّر جزءًا
409
+ :::slot left
410
+ ```markdown
411
+ :::meta
412
+ hotspots: auto
413
+ :::
414
+ ```
415
+
416
+ في عرض المقدِّم، اضغط **رقمًا** لتكبير ذلك الجزء. الرقم نفسه، أو **0** أو **Escape** يعيدك.
417
+ :::
418
+ :::slot right
419
+ | الطبقة | من يملكها |
420
+ |---|---|
421
+ | الكلمات | أنت |
422
+ | المظهر | القالب |
423
+
424
+ $$
425
+ A = \pi r^2
426
+ $$
427
+ :::
428
+
429
+ :::notes
430
+ تظهر المفاتيح المرقّمة على هذه الشريحة هنا في عرض المقدِّم فقط، ولا تظهر أبدًا على جهاز العرض. اضغط 2 للجدول، و3 للمعادلة؛ ونافذة الحضور تتبعك. ومفاتيح الأسهم تخرج من التكبير وتنتقل إلى ما بعده بضغطة واحدة.
431
+
432
+ `hotspots: auto` يجد الصور والشيفرة والجداول والمعادلات والتنبيهات. ضعه في إعدادات العرض في الأعلى لتظهر المفاتيح على كل شريحة، أو اكتب `marked` لتُعطى المفاتيح فقط للأجزاء الموسومة بـ`data-hotspot`. والمفتاح H يطفئ المفاتيح ويشغّلها أثناء المحاضرة.
433
+ :::
434
+
435
+ ---
436
+ :::meta
437
+ layout: split
438
+ time: 1m
439
+ :::
440
+ # وقّت محاضرتك
441
+ :::slot left
442
+ ```markdown
443
+ :::meta
444
+ time: 1m
445
+ :::
446
+ ```
447
+ :::
448
+ :::slot right
449
+ أعطِ كل شريحة **مدة**. يعدّها عرض المقدِّم تنازليًا، ويخبرك إن كنت متقدّمًا أم متأخرًا.
450
+
451
+ شغّل `mdeck rehearse slides.md` لتوقيت الشرائح أثناء التمرين، ثم احفظ الأوقات في الملف.
452
+ :::
453
+
454
+ :::notes
455
+ لكل شريحة في هذه الجولة مدة، والمجموع 21 دقيقة. اضغط T في عرض المقدِّم لتشغيل المؤقّت: تحته ترى ما تبقّى من هذه الشريحة وأين وصلت المحاضرة.
456
+
457
+ التمرين يقيس الأوقات عنك. في النهاية يقترحها مقرّبة إلى 15 ثانية؛ غيّر أيًّا منها قبل الحفظ.
458
+ :::
459
+
460
+ ---
461
+ :::meta
462
+ time: 1m30s
463
+ :::
464
+ # أي جزء ستجرّبه أولًا؟
465
+
466
+ <poll room="tour" options="الكتابة|التخطيطات|الرسم|الاستطلاعات" />
467
+
468
+ :::notes
469
+ سطر واحد يصنع استطلاعًا؛ والعنوان هو السؤال:
470
+
471
+ `<poll room="tour" options="الكتابة|التخطيطات|الرسم|الاستطلاعات" />`
472
+
473
+ اضغط **J** ليظهر رمز الانضمام فوق الشريحة؛ تمسحه الهواتف وتبقى متصلة لكل الأسئلة التالية. ويمكنها الوصول إلى هذا الحاسوب حين تشغّل `mdeck run slides.md --network`.
474
+ :::
475
+
476
+ ---
477
+ :::meta
478
+ layout: split
479
+ time: 1m
480
+ :::
481
+ # كلمة واحدة من كل شخص
482
+ :::slot left
483
+ ```markdown
484
+ <wordcloud room="mood" />
485
+
486
+ <scale room="pace" min="1" max="5"
487
+ low="بطيء جدًا" high="سريع جدًا" />
488
+
489
+ <question room="ask" />
490
+ ```
491
+ :::
492
+ :::slot right
493
+ <wordcloud room="mood" placeholder="كلمة واحدة" />
494
+ :::
495
+
496
+ :::notes
497
+ الهواتف التي انضمّت عند الاستطلاع تبقى متصلة؛ و**J** يُظهر رمز الانضمام مجددًا للمتأخرين. تظهر الإجابات فور وصولها. تضبط هذه الجولة `reactions: true`، فتظهر على الهواتف أيضًا أزرار 👍 👏 ❤️ 😮 🤔 🐢: تطفو النقرات في عرض المقدِّم لديك، ولا تظهر أبدًا على جهاز العرض.
498
+
499
+ إلى جانب الاستطلاعات وسحب الكلمات هناك التقييمات (`<scale>`)، والأرقام ذات الإجابة الصحيحة (`<numeric>`)، والأسئلة المفتوحة (`<question>`). وإذا كان لديك عدد منها، فإن `<qrcode join />` على شريحة مبكرة يعرض الرمز مرة واحدة. ويحفظ `mdeck run` الإجابات في `slides.results.json` بجانب العرض.
500
+ :::
501
+
502
+ ---
503
+ :::meta
504
+ layout: chapter
505
+ number: 4
506
+ part: المشاركة
507
+ description: ملف واحد للإرسال، أو PDF، أو مجلد لموقع ويب.
508
+ time: 15s
509
+ :::
510
+ # شاركها.
511
+
512
+ ---
513
+ :::meta
514
+ layout: split
515
+ time: 45s
516
+ :::
517
+ # غيّر المظهر كله
518
+ :::slot left
519
+ ```markdown
520
+ ---
521
+ theme: work
522
+ palette: lagoon
523
+ ---
524
+ ```
525
+ :::
526
+ :::slot right
527
+ سطران في أعلى الملف يختاران القالب والألوان لكل الشرائح دفعة واحدة.
528
+
529
+ لتجربتها دون تغيير الملف، افتح **عرض القارئ** واختر **Look**.
530
+ :::
531
+
532
+ :::notes
533
+ في mdeck أربعة قوالب مدمجة وخمس لوحات ألوان، كلٌّ منها فاتح أو داكن. يعرضها `mdeck list` كلها، بما فيها المحفوظة في مجلد `extensions` بجانب العرض. ويجد `mdeck themes search` المزيد في مستودع القوالب.
534
+ :::
535
+
536
+ ---
537
+ :::meta
538
+ layout: split
539
+ time: 45s
540
+ :::
541
+ # أرسلها، اطبعها، انشرها
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` يصنع ملف HTML واحدًا بلا ملاحظاتك، وفي داخله PDF. يفتحه الناس في المتصفح.
551
+
552
+ `pdf` يصنع صفحة لكل شريحة. و`build` يصنع مجلدًا لخادم ويب.
553
+ :::
554
+
555
+ ---
556
+ :::meta
557
+ layout: title
558
+ time: 1m
559
+ :::
560
+ # والآن اصنع عرضك.
561
+ ## سلّم شرائحك أو مستنداتك أو ملاحظاتك إلى *مساعد ذكاء اصطناعي*.
562
+
563
+ :::notes
564
+ `mdeck skill --install claude` (أو codex أو cursor أو copilot أو gemini) يثبّت مهارة `write-slides`، التي تعلّم المساعد mdeck. ثم وجّهه إلى موادك: «أعد بناء lecture-03.pptx كمحاضرة مدتها 20 دقيقة.»
565
+
566
+ من دون مساعد، يطرح `mdeck new` بضعة أسئلة ثم يبدأ عرضًا جديدًا.
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":[[135,464,0.45],[155,466,0.48],[175,468,0.52],[196,469,0.55],[216,470,0.58],[236,471,0.61],[257,471,0.64],[277,470,0.66],[298,469,0.68],[318,467,0.7],[338,466,0.72],[359,464,0.73],[379,462,0.74],[399,461,0.75],[420,460,0.75],[440,460,0.75],[460,461,0.74],[481,462,0.73],[501,463,0.72],[522,465,0.71],[542,467,0.69],[562,469,0.67],[583,471,0.64],[603,472,0.62],[623,473,0.59],[644,474,0.56],[664,474,0.53],[685,473,0.49],[705,472,0.46],[725,470,0.43],[746,469,0.39],[766,467,0.36],[786,466,0.33],[807,464,0.3],[827,464,0.27],[848,463,0.25],[868,464,0.22],[888,464,0.2],[909,466,0.19],[929,468,0.17],[949,470,0.16]]},
8
+ {"id":"tour:circle","tool":"pen","color":"#e11d48","size":6,"points":[[337,495,0.5],[341,495,0.54],[346,495,0.57],[350,496,0.6],[354,498,0.64],[358,501,0.66],[361,504,0.69],[363,508,0.71],[365,512,0.73],[366,516,0.74],[367,520,0.75],[366,524,0.75],[365,528,0.75],[363,532,0.74],[361,536,0.73],[358,538,0.71],[355,541,0.69],[351,543,0.66],[348,545,0.63],[344,546,0.6],[340,547,0.57],[336,547,0.54],[332,547,0.5],[328,547,0.46],[324,545,0.43],[320,544,0.4],[317,542,0.36],[314,539,0.34],[311,535,0.31],[309,532,0.29],[307,527,0.27],[307,523,0.26],[307,519,0.25],[308,514,0.25],[310,510,0.25],[312,507,0.26],[315,504,0.27],[318,501,0.29],[322,499,0.31],[326,498,0.34],[330,497,0.37],[334,497,0.4],[338,497,0.43],[342,497,0.47],[346,499,0.5],[350,500,0.54]]}
9
+ ]
10
+ }
11
+ }