@sp-days-framework/create-sp-days 1.1.0-beta2 → 1.1.0-beta3

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.
@@ -0,0 +1,769 @@
1
+ ---
2
+ theme: "@sp-days-framework/slidev-theme-sykehuspartner"
3
+ title: Slidev Best Practices Guide
4
+ description: Learn how to create professional presentations with the Sykehuspartner theme
5
+ layout: cover
6
+ ---
7
+
8
+ # Slidev Best Practices Guide
9
+
10
+ ## Professional Presentations Made Simple
11
+
12
+ ---
13
+ layout: intro
14
+ imageSrc: https://sli.dev/logo.png
15
+ imagePosition: right
16
+ imageRatio: 35%
17
+ ---
18
+
19
+ # What This Guide Covers
20
+
21
+ - **Presentation Structure** - Opening, sections, and closing slides
22
+ - **Content Density** - How much content per slide
23
+ - **Code Blocks** - Best practices for technical content
24
+ - **Multi-Column Layouts** - Organizing information effectively
25
+ - **Image Layouts** - When and how to use images
26
+ - **Technical Details** - Frontmatter, separators, and parameters
27
+
28
+ ---
29
+ layout: section
30
+ ---
31
+
32
+ # Presentation Structure
33
+
34
+ ## Opening, Sections, and Closing
35
+
36
+ ---
37
+ layout: two-cols-header
38
+ ---
39
+
40
+ # Cover vs Intro Layouts
41
+
42
+ Both serve as introduction slides with different scope:
43
+
44
+ ::left::
45
+
46
+ ## Cover Layout
47
+
48
+ **Use for main introductions:**
49
+
50
+ - Multi-speaker presentations
51
+ - Collection-style slide decks
52
+ - Primary opening slide
53
+
54
+ ```markdown
55
+ ---
56
+ layout: cover
57
+ ---
58
+
59
+ # Workshop Title
60
+
61
+ ## Multiple Topics Inside
62
+ ```
63
+
64
+ ::right::
65
+
66
+ ## Intro Layout
67
+
68
+ **Use for secondary introductions:**
69
+
70
+ - Individual modules or sections
71
+ - Single-topic presentations
72
+ - Different author segments
73
+
74
+ ```markdown
75
+ ---
76
+ layout: intro
77
+ imageSrc: /image.png
78
+ ---
79
+
80
+ # Module Introduction
81
+ ```
82
+
83
+ ---
84
+ layout: two-cols-header
85
+ ---
86
+
87
+ # Section & End Layouts
88
+
89
+ Dividers and closings for clear structure:
90
+
91
+ ::left::
92
+
93
+ ## Section Layout
94
+
95
+ **Mark transitions between topics:**
96
+
97
+ ```markdown
98
+ ---
99
+ layout: section
100
+ ---
101
+
102
+ # Module 2
103
+
104
+ ## Advanced Topics
105
+ ```
106
+
107
+ Creates visual break and helps audience follow along.
108
+
109
+ ::right::
110
+
111
+ ## End Layout
112
+
113
+ **Always close with this layout:**
114
+
115
+ ```markdown
116
+ ---
117
+ layout: end
118
+ ---
119
+
120
+ # Thank You!
121
+
122
+ ## Questions?
123
+ ```
124
+
125
+ Professional closing with centered content.
126
+
127
+ ---
128
+ layout: section
129
+ ---
130
+
131
+ # Content Density
132
+
133
+ ## How Much Content Per Slide
134
+
135
+ ---
136
+
137
+ # Default Layout Limits
138
+
139
+ ## Keep Content Focused
140
+
141
+ Follow these limits for readable slides:
142
+
143
+ - **Bullet points:** 5-7 items maximum
144
+ - **Characters:** 500 recommended, 800 absolute maximum
145
+ - **Headings:** H1 for title, H2 for subtitle, H3 for sub-points
146
+
147
+ ```markdown
148
+ ---
149
+ layout: default
150
+ ---
151
+
152
+ # Container Benefits
153
+
154
+ ## Key Advantages
155
+
156
+ - Consistency across environments
157
+ - Fast deployment and scaling
158
+ - Resource efficiency
159
+ ```
160
+
161
+ ---
162
+ layout: two-cols-header
163
+ ---
164
+
165
+ # Good vs Bad Content
166
+
167
+ ::left::
168
+
169
+ ## ✅ Good Example
170
+
171
+ ### Docker Benefits
172
+
173
+ - Consistent environments
174
+ - Fast deployment
175
+ - Resource efficiency
176
+ - Easy scaling
177
+ - Simple rollbacks
178
+
179
+ *5 clear, concise points*
180
+
181
+ ::right::
182
+
183
+ ## ❌ Bad Example
184
+
185
+ Too much content causes overflow:
186
+
187
+ - Point 1 with lengthy explanation
188
+ - Point 2 with even more detail
189
+ - Points 3, 4, 5, 6, 7, 8, 9, 10...
190
+ - Multiple paragraphs of text
191
+ - Way more than 800 characters
192
+ - Audience can't read it all
193
+ - Information overload
194
+ - Hi Mom!
195
+
196
+ *Overloaded and unreadable*
197
+
198
+ ---
199
+ layout: three-cols-header
200
+ ---
201
+
202
+ # Short-Form Layouts
203
+
204
+ Use these for emphasis and impact:
205
+
206
+ ::left::
207
+
208
+ ## Center
209
+
210
+ Short, important messages:
211
+
212
+ - 1-3 sentences max
213
+ - ~300 characters
214
+ - Key takeaways
215
+
216
+ ```markdown
217
+ ---
218
+ layout: center
219
+ ---
220
+
221
+ # Key Point
222
+
223
+ One impacthat message
224
+ ```
225
+
226
+ ::middle::
227
+
228
+ ## Fact
229
+
230
+ Statistics and metrics:
231
+
232
+ - Single number focus
233
+ - Supporting context
234
+ - Visual emphasis
235
+
236
+ ```markdown
237
+ ---
238
+ layout: fact
239
+ ---
240
+
241
+ # 95%
242
+
243
+ ## use containers
244
+ ```
245
+
246
+ ::right::
247
+
248
+ ## Statement / Quote
249
+
250
+ Bold statements:
251
+
252
+ - Mission statements
253
+ - Quotations
254
+ - Core principles
255
+
256
+ ```markdown
257
+ ---
258
+ layout: statement
259
+ ---
260
+
261
+ # "IaC is the Future"
262
+ ```
263
+
264
+ ---
265
+ layout: center
266
+ ---
267
+
268
+ # Infrastructure as Code
269
+
270
+ Enables consistency, automation, and version control
271
+
272
+ *This slide demonstrates the center layout - short and impactful*
273
+
274
+ ---
275
+ layout: section
276
+ ---
277
+
278
+ # Code Blocks
279
+
280
+ ## Technical Content Best Practices
281
+
282
+ ---
283
+ layout: two-cols-header
284
+ ---
285
+
286
+ # Code Block Rules
287
+
288
+ ::left::
289
+
290
+ ## Guidelines
291
+
292
+ - **Maximum 15 lines** per code block
293
+ - **Always specify language** for highlighting
294
+ - Split longer code across multiple slides
295
+ - Use meaningful, focused examples
296
+
297
+ Supported: Python, JavaScript, TypeScript, C#, Docker, Terraform, YAML, Bash, and 30+ more
298
+
299
+ ::right::
300
+
301
+ ## Proper Example
302
+
303
+ ```python
304
+ def calculate_total(items):
305
+ """Calculate total price."""
306
+ total = 0
307
+ for item in items:
308
+ total += item.price
309
+ return total
310
+ ```
311
+
312
+ Language specified, under 15 lines, focused purpose.
313
+
314
+ ---
315
+ layout: two-cols-header
316
+ ---
317
+
318
+ # Two-Column Code Limits
319
+
320
+ **Critical: Maximum 56 characters per line in two-column layouts**
321
+
322
+ ::left::
323
+
324
+ ### ✅ Correct
325
+
326
+ ```python
327
+ # Lines under 56 chars
328
+ def old_way():
329
+ result = process()
330
+ return result
331
+ ```
332
+
333
+ Short, readable lines that fit the column width.
334
+
335
+ ::right::
336
+
337
+ ### ❌ Wrong
338
+
339
+ ```python
340
+ # This line is way too long!
341
+ def function_with_very_very_very_very_very_very_long_name():
342
+ pass
343
+ ```
344
+
345
+ Long lines overflow and break the layout.
346
+
347
+ ---
348
+ layout: two-cols-header
349
+ ---
350
+
351
+ # Code Mistakes to Avoid
352
+
353
+ ::left::
354
+
355
+ ## Missing Language
356
+
357
+ ```markdown
358
+ ❌ Bad - no highlighting:
359
+ \```
360
+ def hello():
361
+ return "World"
362
+ \```
363
+
364
+ ✅ Good - proper highlighting:
365
+ \```python
366
+ def hello():
367
+ return "World"
368
+ \```
369
+ ```
370
+
371
+ ::right::
372
+
373
+ ## Too Many Lines
374
+
375
+ - More than 15 lines = hard to read
376
+ - Split into multiple slides
377
+ - Focus on the relevant portion
378
+ - Add context in bullet points
379
+
380
+ **Three-column code:** Even shorter lines required (~35-40 characters max)
381
+
382
+ ---
383
+ layout: section
384
+ ---
385
+
386
+ # Multi-Column Layouts
387
+
388
+ ## Organizing Information Effectively
389
+
390
+ ---
391
+ layout: two-cols-header
392
+ ---
393
+
394
+ # Two-Column Layouts
395
+
396
+ This slide demonstrates `two-cols-header` - the recommended variant:
397
+
398
+ ::left::
399
+
400
+ ## When to Use
401
+
402
+ - Comparisons (before/after)
403
+ - Related but separate concepts
404
+ - Pros and cons lists
405
+ - Code with explanation
406
+
407
+ **Prefer `two-cols-header`** over `two-cols` for better organization.
408
+
409
+ ::right::
410
+
411
+ ## Content Limits
412
+
413
+ - ~400 characters per column
414
+ - 5-7 bullet points per column
415
+ - Code: 56 chars per line max
416
+ - Keep columns balanced
417
+
418
+ ```markdown
419
+ ---
420
+ layout: two-cols-header
421
+ ---
422
+
423
+ # Title Spans Both
424
+ ```
425
+
426
+ ---
427
+ layout: three-cols-header
428
+ ---
429
+
430
+ # Three-Column Layouts
431
+
432
+ Use `three-cols-header` for organizing related information:
433
+
434
+ ::left::
435
+
436
+ ## Development
437
+
438
+ - Local setup
439
+ - Unit testing
440
+ - Code review
441
+ - Version control
442
+
443
+ *~250 chars max*
444
+
445
+ ::middle::
446
+
447
+ ## Staging
448
+
449
+ - Integration tests
450
+ - UAT environment
451
+ - Performance tests
452
+ - Security scans
453
+
454
+ *3-5 bullets max*
455
+
456
+ ::right::
457
+
458
+ ## Production
459
+
460
+ - Deployment
461
+ - Monitoring
462
+ - Scaling
463
+ - Incident response
464
+
465
+ *Code: ~35 chars/line*
466
+
467
+ ---
468
+ layout: section
469
+ ---
470
+
471
+ # Image Layouts
472
+
473
+ ## When and How to Use Images
474
+
475
+ ---
476
+ layout: image-right
477
+ imageSrc: https://sli.dev/demo-cover.png
478
+ imageRatio: 40%
479
+ ---
480
+
481
+ # Image-Left/Right Layouts
482
+
483
+ **Use when:**
484
+
485
+ - Displaying photos or screenshots
486
+ - Adding visual interest
487
+ - Showing diagrams with text
488
+
489
+ **Parameters:**
490
+
491
+ - `imageSrc` - Path to image
492
+ - `imageRatio` - Width (30-50%)
493
+ - `imageScale` - Scale within container
494
+ - `imageAlign` - Vertical alignment
495
+
496
+ *This slide uses `image-right`*
497
+
498
+ ---
499
+ layout: two-cols-header
500
+ ---
501
+
502
+ # Image Layout Modes
503
+
504
+ The `image` layout has two modes:
505
+
506
+ ::left::
507
+
508
+ ## Background Mode
509
+
510
+ Text overlays on the image:
511
+
512
+ ```markdown
513
+ ---
514
+ layout: image
515
+ imageSrc: /background.jpg
516
+ imageBackgroundMode: true
517
+ ---
518
+
519
+ # Title Over Image
520
+ ```
521
+
522
+ Best for atmospheric backgrounds.
523
+
524
+ ::right::
525
+
526
+ ## Foreground Mode
527
+
528
+ Image displayed below content:
529
+
530
+ ```markdown
531
+ ---
532
+ layout: image
533
+ imageSrc: /diagram.png
534
+ imageBackgroundMode: false
535
+ imageScale: 80%
536
+ ---
537
+
538
+ # Diagram Title
539
+ ```
540
+
541
+ Best for technical diagrams.
542
+
543
+ ---
544
+ layout: section
545
+ ---
546
+
547
+ # Technical Details
548
+
549
+ ## Frontmatter, Separators, and Parameters
550
+
551
+ ---
552
+ layout: two-cols-header
553
+ ---
554
+
555
+ # Frontmatter & Separators
556
+
557
+ ::left::
558
+
559
+ ## Opening Frontmatter
560
+
561
+ Required fields for first slide:
562
+
563
+ ```yaml
564
+ ---
565
+ theme: "@sp-days-framework/
566
+ slidev-theme-sykehuspartner"
567
+ title: Presentation Title
568
+ description: Brief description
569
+ layout: cover
570
+ ---
571
+
572
+ # First Slide
573
+ ```
574
+
575
+ ::right::
576
+
577
+ ## Slide Separators
578
+
579
+ Always use proper formatting:
580
+
581
+ ```markdown
582
+ ---
583
+ # First Slide
584
+
585
+ Content here
586
+
587
+ ---
588
+ layout: center
589
+ ---
590
+
591
+ # Second Slide
592
+ ```
593
+
594
+ - Use `---` with blank lines around
595
+ - Frontmatter after `---`
596
+ - Blank line before content
597
+
598
+ ---
599
+ layout: two-cols-header
600
+ ---
601
+
602
+ # Headings & Parameters
603
+
604
+ ::left::
605
+
606
+ ## Heading Hierarchy
607
+
608
+ Consistent structure matters:
609
+
610
+ - **H1 (`#`)** - Main slide title
611
+ - **H2 (`##`)** - Subtitles, sections
612
+ - **H3 (`###`)** - Sub-points
613
+
614
+ ```markdown
615
+ # Main Title
616
+
617
+ ## Subtitle
618
+
619
+ ### Sub-point
620
+
621
+ - Bullet details
622
+ ```
623
+
624
+ ::right::
625
+
626
+ ## Common Parameters
627
+
628
+ Per-slide frontmatter options:
629
+
630
+ | Parameter | Purpose |
631
+ |-----------|---------|
632
+ | `layout` | Slide layout type |
633
+ | `logo` | Show/hide logo |
634
+ | `textAlignment` | top, center, bottom |
635
+ | `zoom` | Scale content |
636
+ | `transition` | Slide transition |
637
+
638
+ ---
639
+ layout: two-cols-header
640
+ ---
641
+
642
+ # Speaker Notes
643
+
644
+ Add notes visible only in presenter mode:
645
+
646
+ ::left::
647
+
648
+ ## Adding Notes
649
+
650
+ ```markdown
651
+ ---
652
+ # Slide Title
653
+
654
+ Visible content for audience
655
+
656
+ <!--
657
+ Speaker notes here:
658
+ - Key point to emphasize
659
+ - Questions to ask
660
+ - Time: 2 minutes
661
+ -->
662
+ ```
663
+
664
+ ::right::
665
+
666
+ ## Using Presenter Mode
667
+
668
+ - Press "Presenter Mode" button
669
+ - Opens second window with:
670
+ - Current slide
671
+ - Next slide preview
672
+ - Speaker notes
673
+ - Timer
674
+
675
+ Perfect for rehearsing and presenting.
676
+
677
+ <!--
678
+ This is a speaker note example!
679
+ Press 'o' to see presenter mode.
680
+ -->
681
+
682
+ ---
683
+ layout: two-cols-header
684
+ transition: slide-left
685
+ ---
686
+
687
+ # Transitions
688
+
689
+ Add smooth animations between slides:
690
+
691
+ ::left::
692
+
693
+ ## Available Transitions
694
+
695
+ - `slide-left` / `slide-right`
696
+ - `slide-up` / `slide-down`
697
+ - `fade` / `fade-out`
698
+ - `zoom`
699
+ - `none`
700
+
701
+ *This slide uses `slide-left`*
702
+
703
+ ::right::
704
+
705
+ ## Usage
706
+
707
+ **Per-slide:**
708
+ ```yaml
709
+ ---
710
+ transition: slide-left
711
+ ---
712
+ ```
713
+
714
+ **Global (first slide):**
715
+ ```yaml
716
+ ---
717
+ theme: "..."
718
+ transition: fade
719
+ ---
720
+ ```
721
+
722
+ ---
723
+ layout: two-cols-header
724
+ ---
725
+
726
+ # VSCode Icons
727
+
728
+ The theme includes icons from Iconify VSCode Icons:
729
+
730
+ ::left::
731
+
732
+ ## Syntax
733
+
734
+ Use in code block titles:
735
+
736
+ ````markdown
737
+ /```docker [Dockerfile ~i-vscode-icons:file-type-docker~]
738
+ FROM python:3.13
739
+ /```
740
+
741
+ /```python [app.py ~i-vscode-icons:file-type-python~]
742
+ print("Hello!")
743
+ /```
744
+ ````
745
+
746
+ ::right::
747
+
748
+ ## Examples
749
+
750
+ ```docker [Dockerfile ~i-vscode-icons:file-type-docker~]
751
+ FROM python:3.13
752
+ ```
753
+
754
+ ```python [app.py ~i-vscode-icons:file-type-python~]
755
+ print("Hello, World!")
756
+ ```
757
+
758
+ ```yaml [playbook.yml ~i-vscode-icons:file-type-ansible~]
759
+ - name: Deploy app
760
+ hosts: servers
761
+ ```
762
+
763
+ ---
764
+ layout: end
765
+ ---
766
+
767
+ # Happy Presenting!
768
+
769
+ ## Questions?