@sp-days-framework/slidev-theme-sykehuspartner 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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Helse Sør-Øst
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,622 @@
1
+ # Slidev Theme Sykehuspartner
2
+
3
+ A professional Slidev theme for creating presentations with a consistent Sykehuspartner brand identity.
4
+
5
+ ## Features
6
+
7
+ - 18 customizable layouts for various presentation needs
8
+ - Built-in syntax highlighting for 30+ programming languages
9
+ - VSCode icon support with automatic scanning
10
+ - Dark mode support across all layouts
11
+ - Responsive design with configurable alignment and spacing
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @sp-days-framework/slidev-theme-sykehuspartner
17
+ ```
18
+
19
+ ## Quick Start
20
+
21
+ ```md
22
+ ---
23
+ theme: "@sp-days-framework/slidev-theme-sykehuspartner"
24
+ layout: cover
25
+ ---
26
+ # Your Presentation Title
27
+
28
+ ## Subtitle
29
+ ```
30
+
31
+ - Add the theme to your slide deck's frontmatter
32
+ - Choose from 18 available layouts
33
+ - Customize with layout-specific parameters
34
+
35
+ ## Usage
36
+
37
+ ### Global Features
38
+
39
+ **Syntax Highlighting**: The theme includes syntax highlighting for 30+ programming languages including C#, Python, JavaScript, TypeScript, Docker, Terraform, SQL, and more.
40
+
41
+ **Icon Support**: Use VSCode icons in your slides with the `~i-vscode-icons:icon-name~` syntax. The theme automatically scans your markdown files and includes the icons you use.
42
+
43
+ **Dark Mode**: All layouts support automatic dark/light mode switching.
44
+
45
+ ### Available Layouts
46
+
47
+ The theme provides 18 specialized layouts for different presentation needs:
48
+
49
+ - **[about-me](#about-me)** - Profile introduction slide with optional image
50
+ - **[center](#center)** - Centered content with logo
51
+ - **[cover](#cover)** - Title slide with banner
52
+ - **[default](#default)** - Standard content slide with header extraction
53
+ - **[end](#end)** - Closing slide with centered banner
54
+ - **[fact](#fact)** - Emphasis slide for key facts
55
+ - **[full](#full)** - Full-screen content without padding
56
+ - **[image](#image)** - Background or foreground image slide
57
+ - **[image-left](#image-left)** - Content with left-aligned image
58
+ - **[image-right](#image-right)** - Content with right-aligned image
59
+ - **[intro](#intro)** - Introduction slide with optional side image
60
+ - **[quote](#quote)** - Quote display with attribution
61
+ - **[section](#section)** - Section divider with optional image
62
+ - **[statement](#statement)** - Bold statement slide
63
+ - **[three-cols](#three-cols)** - Three-column layout
64
+ - **[three-cols-header](#three-cols-header)** - Three columns with header
65
+ - **[two-cols](#two-cols)** - Two-column layout
66
+ - **[two-cols-header](#two-cols-header)** - Two columns with header
67
+
68
+ ### Layout Parameters
69
+
70
+ Each layout supports specific configuration options through frontmatter parameters. Common parameters include:
71
+
72
+ - `logo` - Controls logo visibility (varies by layout)
73
+ - `textAlignment` - Content alignment: `'top'`, `'center'`, or `'bottom'`
74
+ - `imageSrc` - Path to image files
75
+ - `imageScale` - Image size adjustments
76
+ - `imagePosition` - Image positioning options
77
+
78
+ See individual layout documentation below for detailed parameter options.
79
+
80
+ ---
81
+
82
+ ## Layout Reference
83
+
84
+ ## about-me
85
+
86
+ Profile introduction slide with image, contact information, and optional logo.
87
+
88
+ **When to use**: Introduce a speaker or team member with professional details and contact information.
89
+
90
+ ### Parameters
91
+
92
+ | Parameter | Type | Default | Description |
93
+ | --------------- | --------- | ------------- | ---------------------------------------- |
94
+ | `imageSrc` | `string` | - | Path to profile image |
95
+ | `imageShape` | `string` | `'rectangle'` | Image shape: `'rectangle'` or `'circle'` |
96
+ | `imageSize` | `string` | `'100%'` | Image size as percentage or decimal |
97
+ | `imagePosition` | `string` | `'left'` | Image position: `'left'` or `'right'` |
98
+ | `name` | `string` | - | Person's name |
99
+ | `jobTitle` | `string` | - | Job title |
100
+ | `department` | `string` | - | Department name |
101
+ | `description` | `string` | - | Brief description or bio |
102
+ | `email` | `string` | - | Email address |
103
+ | `linkedin` | `string` | - | LinkedIn profile URL or handle |
104
+ | `logo` | `boolean` | `true` | Show logo banner |
105
+
106
+ ### Example
107
+
108
+ ```md
109
+ ---
110
+ layout: about-me
111
+ imageSrc: ./profile.jpg
112
+ imageShape: circle
113
+ imagePosition: left
114
+ name: John Doe
115
+ jobTitle: Senior Developer
116
+ department: IT Department
117
+ email: john.doe@example.com
118
+ linkedin: johndoe
119
+ ---
120
+ ```
121
+
122
+ ---
123
+
124
+ ## center
125
+
126
+ Centered content with optional logo.
127
+
128
+ **When to use**: Display content that benefits from centered alignment, such as key messages or simple statements.
129
+
130
+ ### Parameters
131
+
132
+ | Parameter | Type | Default | Description |
133
+ | --------- | --------- | ------- | ----------------------------- |
134
+ | `logo` | `boolean` | `true` | Show logo in top-right corner |
135
+
136
+ ### Example
137
+
138
+ ```md
139
+ ---
140
+ layout: center
141
+ ---
142
+ # Centered Title
143
+
144
+ Centered content goes here.
145
+ ```
146
+
147
+ ---
148
+
149
+ ## cover
150
+
151
+ Title slide with centered content and bottom banner.
152
+
153
+ **When to use**: Opening slide for your presentation with main title and subtitle.
154
+
155
+ ### Parameters
156
+
157
+ | Parameter | Type | Default | Description |
158
+ | --------- | --------- | ------- | --------------------- |
159
+ | `logo` | `boolean` | `true` | Show banner at bottom |
160
+
161
+ ### Example
162
+
163
+ ```md
164
+ ---
165
+ layout: cover
166
+ ---
167
+ # Presentation Title
168
+
169
+ ## Subtitle
170
+ ```
171
+
172
+ ---
173
+
174
+ ## default
175
+
176
+ Standard content layout that automatically extracts the first heading to a header area.
177
+
178
+ **When to use**: General-purpose content slides with a title and body content.
179
+
180
+ ### Parameters
181
+
182
+ | Parameter | Type | Default | Description |
183
+ | --------------- | --------- | ---------- | ----------------------------------------------------- |
184
+ | `logo` | `boolean` | `true` | Show logo in top-right corner |
185
+ | `textAlignment` | `string` | `'center'` | Content alignment: `'top'`, `'center'`, or `'bottom'` |
186
+
187
+ ### Example
188
+
189
+ ```md
190
+ ---
191
+ layout: default
192
+ textAlignment: top
193
+ ---
194
+ # Slide Title
195
+
196
+ Content will appear below the title.
197
+ ```
198
+
199
+ ---
200
+
201
+ ## end
202
+
203
+ Closing slide with centered banner and content.
204
+
205
+ **When to use**: Final slide of your presentation with closing message or call-to-action.
206
+
207
+ ### Parameters
208
+
209
+ | Parameter | Type | Default | Description |
210
+ | --------- | --------- | ------- | ---------------------------- |
211
+ | `logo` | `boolean` | `true` | Show banner at bottom center |
212
+
213
+ ### Example
214
+
215
+ ```md
216
+ ---
217
+ layout: end
218
+ ---
219
+ # Thank You
220
+
221
+ Questions?
222
+ ```
223
+
224
+ ---
225
+
226
+ ## fact
227
+
228
+ Vertically centered content for emphasizing key facts.
229
+
230
+ **When to use**: Highlight important statistics, metrics, or key takeaways.
231
+
232
+ ### Parameters
233
+
234
+ | Parameter | Type | Default | Description |
235
+ | --------- | --------- | ------- | ----------------------------- |
236
+ | `logo` | `boolean` | `true` | Show logo in top-right corner |
237
+
238
+ ### Example
239
+
240
+ ```md
241
+ ---
242
+ layout: fact
243
+ ---
244
+ # 95%
245
+
246
+ User satisfaction rating
247
+ ```
248
+
249
+ ---
250
+
251
+ ## full
252
+
253
+ Full-screen layout with no padding, logo optional.
254
+
255
+ **When to use**: Custom full-screen content like diagrams, videos, or interactive elements.
256
+
257
+ ### Parameters
258
+
259
+ | Parameter | Type | Default | Description |
260
+ | --------- | --------- | ------- | ----------------------------- |
261
+ | `logo` | `boolean` | `false` | Show logo in top-right corner |
262
+
263
+ ### Example
264
+
265
+ ```md
266
+ ---
267
+ layout: full
268
+ ---
269
+
270
+ <div style="height: 100%; background: gradient">
271
+ Custom full-screen content
272
+ </div>
273
+ ```
274
+
275
+ ---
276
+
277
+ ## image
278
+
279
+ Display an image as background or foreground with optional content overlay.
280
+
281
+ **When to use**: Showcase images with or without overlaid text content.
282
+
283
+ ### Parameters
284
+
285
+ | Parameter | Type | Default | Description |
286
+ | --------------------- | --------- | ---------- | --------------------------------------------------------------------- |
287
+ | `imageSrc` | `string` | - | Path to image |
288
+ | `imageScale` | `string` | `'70%'` | Image scale (foreground mode) |
289
+ | `imageAlign` | `string` | `'center'` | Image alignment: `'center'`, `'top'`, `'bottom'`, `'left'`, `'right'` |
290
+ | `imageBackgroundMode` | `boolean` | `true` | If `true`, image is background; if `false`, image is foreground |
291
+ | `logo` | `boolean` | `false` | Show logo in top-right corner |
292
+
293
+ ### Example
294
+
295
+ ```md
296
+ ---
297
+ layout: image
298
+ imageSrc: ./background.jpg
299
+ imageBackgroundMode: true
300
+ ---
301
+ # Title on Image
302
+ ```
303
+
304
+ ---
305
+
306
+ ## image-left
307
+
308
+ Split layout with image on the left, content on the right.
309
+
310
+ **When to use**: Present visual content alongside explanatory text, with emphasis on the image.
311
+
312
+ ### Parameters
313
+
314
+ | Parameter | Type | Default | Description |
315
+ | --------------- | --------- | ---------- | --------------------------------------------------------- |
316
+ | `imageSrc` | `string` | - | Path to image |
317
+ | `imageScale` | `string` | `'100%'` | Image scale percentage |
318
+ | `imageAlign` | `string` | `'center'` | Image vertical alignment: `'top'`, `'center'`, `'bottom'` |
319
+ | `imageRatio` | `string` | `'50%'` | Width ratio for image (remaining goes to content) |
320
+ | `logo` | `boolean` | `true` | Show logo in top-right corner |
321
+ | `textAlignment` | `string` | `'center'` | Content alignment: `'top'`, `'center'`, or `'bottom'` |
322
+
323
+ ### Example
324
+
325
+ ```md
326
+ ---
327
+ layout: image-left
328
+ imageSrc: ./diagram.png
329
+ imageRatio: 40%
330
+ textAlignment: center
331
+ ---
332
+ # Title
333
+
334
+ Content appears on the right side.
335
+ ```
336
+
337
+ ---
338
+
339
+ ## image-right
340
+
341
+ Split layout with content on the left, image on the right.
342
+
343
+ **When to use**: Present visual content alongside explanatory text, with emphasis on the text.
344
+
345
+ ### Parameters
346
+
347
+ | Parameter | Type | Default | Description |
348
+ | --------------- | --------- | ---------- | --------------------------------------------------------- |
349
+ | `imageSrc` | `string` | - | Path to image |
350
+ | `imageScale` | `string` | `'100%'` | Image scale percentage |
351
+ | `imageAlign` | `string` | `'center'` | Image vertical alignment: `'top'`, `'center'`, `'bottom'` |
352
+ | `imageRatio` | `string` | `'50%'` | Width ratio for image (remaining goes to content) |
353
+ | `logo` | `boolean` | `false` | Show logo in bottom-left corner |
354
+ | `textAlignment` | `string` | `'center'` | Content alignment: `'top'`, `'center'`, or `'bottom'` |
355
+
356
+ ### Example
357
+
358
+ ```md
359
+ ---
360
+ layout: image-right
361
+ imageSrc: ./chart.png
362
+ imageRatio: 45%
363
+ ---
364
+ # Analysis
365
+
366
+ Content appears on the left side.
367
+ ```
368
+
369
+ ---
370
+
371
+ ## intro
372
+
373
+ Introduction slide with optional side image and banner.
374
+
375
+ **When to use**: Start a new section or introduce a topic with supporting imagery.
376
+
377
+ ### Parameters
378
+
379
+ | Parameter | Type | Default | Description |
380
+ | --------------- | --------- | --------- | --------------------------------------- |
381
+ | `bannerEnabled` | `boolean` | `true` | Show banner logo |
382
+ | `imageSrc` | `string` | - | Path to side image |
383
+ | `imageSize` | `string` | `'100%'` | Image size as percentage |
384
+ | `imagePosition` | `string` | `'right'` | Image position: `'left'` or `'right'` |
385
+ | `imageRatio` | `string` | `'33%'` | Width ratio for image |
386
+ | `enableLogo` | `boolean` | `true` | Show banner (alias for `bannerEnabled`) |
387
+
388
+ ### Example
389
+
390
+ ```md
391
+ ---
392
+ layout: intro
393
+ imageSrc: ./intro-graphic.png
394
+ imagePosition: right
395
+ imageRatio: 40%
396
+ ---
397
+ # Welcome
398
+
399
+ Introduction to the presentation.
400
+ ```
401
+
402
+ ---
403
+
404
+ ## quote
405
+
406
+ Display a quote with attribution.
407
+
408
+ **When to use**: Feature an impactful quote or testimonial.
409
+
410
+ ### Parameters
411
+
412
+ | Parameter | Type | Default | Description |
413
+ | --------- | --------- | ------- | ----------------------------- |
414
+ | `logo` | `boolean` | `false` | Show logo in top-right corner |
415
+
416
+ ### Example
417
+
418
+ ```md
419
+ ---
420
+ layout: quote
421
+ ---
422
+ # "The best way to predict the future is to create it."
423
+
424
+ ## Alan Kay
425
+ ### Computer Scientist
426
+ ```
427
+
428
+ ---
429
+
430
+ ## section
431
+
432
+ Section divider with centered text and optional side image.
433
+
434
+ **When to use**: Mark transitions between major sections of your presentation.
435
+
436
+ ### Parameters
437
+
438
+ | Parameter | Type | Default | Description |
439
+ | ----------- | --------- | ------- | ------------------------------------ |
440
+ | `logo` | `boolean` | `true` | Show logo in top-right corner |
441
+ | `image` | `string` | - | Path to side image (via frontmatter) |
442
+ | `titleLine` | `boolean` | `true` | Show decorative line under title |
443
+
444
+ ### Example
445
+
446
+ ```md
447
+ ---
448
+ layout: section
449
+ image: ./section-image.png
450
+ titleLine: true
451
+ ---
452
+ # Section Title
453
+
454
+ ## Section subtitle
455
+ ```
456
+
457
+ ---
458
+
459
+ ## statement
460
+
461
+ Bold, centered statement for emphasis.
462
+
463
+ **When to use**: Emphasize a key message, mission statement, or core principle.
464
+
465
+ ### Parameters
466
+
467
+ | Parameter | Type | Default | Description |
468
+ | --------- | --------- | ------- | ----------------------------- |
469
+ | `logo` | `boolean` | `true` | Show logo in top-right corner |
470
+
471
+ ### Example
472
+
473
+ ```md
474
+ ---
475
+ layout: statement
476
+ ---
477
+ # Our Mission
478
+
479
+ Delivering excellence in healthcare technology.
480
+ ```
481
+
482
+ ---
483
+
484
+ ## three-cols
485
+
486
+ Three-column layout with optional logo.
487
+
488
+ **When to use**: Compare three items or present information in three parallel streams.
489
+
490
+ ### Parameters
491
+
492
+ | Parameter | Type | Default | Description |
493
+ | --------- | --------- | ------- | ----------------------------- |
494
+ | `logo` | `boolean` | `false` | Show logo in top-right corner |
495
+
496
+ ### Example
497
+
498
+ ```md
499
+ ---
500
+ layout: three-cols
501
+ ---
502
+
503
+ # Left Column
504
+
505
+ Content for left
506
+
507
+ ::middle::
508
+
509
+ # Middle Column
510
+
511
+ Content for middle
512
+
513
+ ::right::
514
+
515
+ # Right Column
516
+
517
+ Content for right
518
+ ```
519
+
520
+ ---
521
+
522
+ ## three-cols-header
523
+
524
+ Three-column layout with dedicated header section.
525
+
526
+ **When to use**: Present three-way comparisons or parallel concepts with a shared title.
527
+
528
+ ### Parameters
529
+
530
+ | Parameter | Type | Default | Description |
531
+ | --------------- | --------- | ---------- | ------------------------------------------------------------ |
532
+ | `logo` | `boolean` | `true` | Show logo in top-right corner |
533
+ | `textAlignment` | `string` | `'center'` | Column content alignment: `'top'`, `'center'`, or `'bottom'` |
534
+
535
+ ### Example
536
+
537
+ ```md
538
+ ---
539
+ layout: three-cols-header
540
+ textAlignment: top
541
+ ---
542
+
543
+ # Header Title
544
+
545
+ ::left::
546
+
547
+ Left content
548
+
549
+ ::middle::
550
+
551
+ Middle content
552
+
553
+ ::right::
554
+
555
+ Right content
556
+ ```
557
+
558
+ ---
559
+
560
+ ## two-cols
561
+
562
+ Two-column layout with optional logo.
563
+
564
+ **When to use**: Compare two items or present complementary information side-by-side.
565
+
566
+ ### Parameters
567
+
568
+ | Parameter | Type | Default | Description |
569
+ | --------- | --------- | ------- | ----------------------------- |
570
+ | `logo` | `boolean` | `false` | Show logo in top-right corner |
571
+
572
+ ### Example
573
+
574
+ ```md
575
+ ---
576
+ layout: two-cols
577
+ ---
578
+
579
+ # Left Column
580
+
581
+ Content for left side
582
+
583
+ ::right::
584
+
585
+ # Right Column
586
+
587
+ Content for right side
588
+ ```
589
+
590
+ ---
591
+
592
+ ## two-cols-header
593
+
594
+ Two-column layout with dedicated header section.
595
+
596
+ **When to use**: Present two-way comparisons or parallel concepts with a shared title.
597
+
598
+ ### Parameters
599
+
600
+ | Parameter | Type | Default | Description |
601
+ | --------------- | --------- | ---------- | ------------------------------------------------------------ |
602
+ | `logo` | `boolean` | `true` | Show logo in top-right corner |
603
+ | `textAlignment` | `string` | `'center'` | Column content alignment: `'top'`, `'center'`, or `'bottom'` |
604
+
605
+ ### Example
606
+
607
+ ```md
608
+ ---
609
+ layout: two-cols-header
610
+ textAlignment: center
611
+ ---
612
+
613
+ # Header Title
614
+
615
+ ::left::
616
+
617
+ Left column content
618
+
619
+ ::right::
620
+
621
+ Right column content
622
+ ```