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.
- package/CHANGELOG.md +44 -0
- package/README.md +15 -4
- package/assets/base.css +6 -1
- package/docs/reference/authoring.md +111 -9
- package/docs/site/assets/site.css +2 -0
- package/docs/site/content/appearance.md +1 -1
- package/docs/site/content/audience.md +36 -8
- package/docs/site/content/commands.md +6 -3
- package/docs/site/content/drawing.md +5 -5
- package/docs/site/content/getting-started.md +2 -32
- package/docs/site/content/install.md +49 -0
- package/docs/site/content/media.md +20 -1
- package/docs/site/content/presenting.md +67 -9
- package/docs/site/content/sharing.md +1 -0
- package/docs/site/content/welcome.md +21 -1
- package/docs/site/content/writing.md +27 -0
- 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.de.results.json +57 -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 +14 -2
- package/src/build/check.js +34 -7
- package/src/build/components.js +5 -3
- package/src/build/config.js +2 -0
- package/src/build/homePlugin.js +64 -14
- package/src/build/include.js +249 -0
- package/src/build/inkPlugin.js +12 -2
- package/src/build/relayAccess.js +3 -1
- package/src/build/renderCheck.js +23 -3
- package/src/build/slidesPlugin.js +70 -22
- package/src/build/svgCheck.js +65 -0
- package/src/build/timingPlugin.js +96 -0
- package/src/cli/args.js +6 -5
- package/src/cli/index.js +77 -21
- package/src/components/Bibliography.jsx +7 -2
- package/src/components/Poll.jsx +2 -2
- package/src/components/QrCodeTag.jsx +2 -2
- package/src/components/VideoPlayer.jsx +6 -1
- package/src/components/WordCloud.jsx +7 -6
- package/src/components/activity.jsx +11 -8
- package/src/components/poll.css +2 -0
- package/src/core/editDeck.js +44 -7
- package/src/core/icons.js +9 -1
- package/src/core/labels.js +78 -0
- package/src/core/parseSlides.js +16 -6
- package/src/core/reactions.js +27 -0
- package/src/core/resultsReport.js +153 -0
- package/src/core/source.js +8 -1
- package/src/core/timing.js +83 -0
- package/src/core/validateDeck.js +11 -2
- package/src/editor/components/DeckSettings.jsx +1 -0
- package/src/editor/components/MetaFields.jsx +1 -0
- package/src/home/Home.jsx +39 -93
- package/src/home/home.css +5 -17
- package/src/layouts/layoutApi.jsx +51 -8
- package/src/layouts/renderSlide.jsx +13 -1
- package/src/live/answer/answer.css +9 -0
- package/src/live/answer/answer.js +32 -4
- package/src/live/client.js +23 -4
- package/src/live/rooms.js +18 -6
- package/src/runtime/KeyHelp.jsx +115 -0
- package/src/runtime/PresenterChrome.jsx +168 -0
- package/src/runtime/Reactions.jsx +56 -0
- package/src/runtime/RehearsalSummary.jsx +129 -0
- package/src/runtime/component.js +27 -0
- package/src/runtime/deck-stage.js +371 -37
- package/src/runtime/helpKeys.js +75 -0
- package/src/runtime/ink/bus.js +13 -5
- package/src/runtime/ink/outbox.js +27 -0
- package/src/runtime/ink/room.js +37 -12
- package/src/runtime/ink/segments.js +21 -0
- package/src/runtime/main.jsx +508 -286
- package/src/runtime/shared.js +77 -0
- package/src/runtime/slideControls.js +60 -0
- package/src/runtime/steps.js +36 -0
- package/src/runtime/useTalkTimer.js +67 -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: "جولة في 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
|
+
}
|