@sp-days-framework/create-sp-days 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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +318 -0
  3. package/bin/index.js +86 -0
  4. package/lib/index.d.ts +20 -0
  5. package/lib/index.js +454 -0
  6. package/package.json +41 -0
  7. package/sp-days-framework-create-sp-days-1.0.0.tgz +0 -0
  8. package/templates/addon-resources/resources/frontpage-collection/components/Columns.mdx +191 -0
  9. package/templates/addon-resources/resources/frontpage-collection/components/ContentBlock.mdx +126 -0
  10. package/templates/addon-resources/resources/frontpage-collection/components/CourseFeature.mdx +147 -0
  11. package/templates/addon-resources/resources/frontpage-collection/components/FancyHeader.mdx +76 -0
  12. package/templates/addon-resources/resources/frontpage-collection/components/GetStarted.mdx +222 -0
  13. package/templates/addon-resources/resources/frontpage-collection/components/HeroBanner.mdx +205 -0
  14. package/templates/addon-resources/resources/frontpage-collection/components/IconContainer.mdx +249 -0
  15. package/templates/addon-resources/resources/frontpage-collection/components/Iconify.mdx +228 -0
  16. package/templates/addon-resources/resources/frontpage-collection/components/_category_.yml +2 -0
  17. package/templates/addon-resources/resources/frontpage-collection/index.mdx +85 -0
  18. package/templates/addon-resources/resources/frontpage-collection/setup/index.mdx +185 -0
  19. package/templates/addon-resources/resources/index.mdx +35 -0
  20. package/templates/addon-resources/resources/interactive-tasks/creating-tasks.mdx +292 -0
  21. package/templates/addon-resources/resources/interactive-tasks/examples/_category_.yml +3 -0
  22. package/templates/addon-resources/resources/interactive-tasks/examples/advanced-usage.mdx +304 -0
  23. package/templates/addon-resources/resources/interactive-tasks/examples/basic-usage.mdx +128 -0
  24. package/templates/addon-resources/resources/interactive-tasks/index.mdx +93 -0
  25. package/templates/addon-resources/resources/interactive-tasks/setup/advanced-configuration.mdx +150 -0
  26. package/templates/addon-resources/resources/interactive-tasks/setup/index.mdx +174 -0
  27. package/templates/addon-resources/resources/interactive-tasks/task-progression.mdx +140 -0
  28. package/templates/addon-resources/resources/slidev-integration/index.mdx +106 -0
  29. package/templates/addon-resources/resources/slidev-integration/setup/advanced-configuration.mdx +144 -0
  30. package/templates/addon-resources/resources/slidev-integration/setup/index.mdx +200 -0
  31. package/templates/addon-resources/resources/sykehuspartner-theme/index.mdx +105 -0
  32. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/_category_.yml +2 -0
  33. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/content/_category_.yml +2 -0
  34. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/content/center.mdx +33 -0
  35. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/content/default.mdx +59 -0
  36. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/content/full.mdx +49 -0
  37. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/image/_category_.yml +2 -0
  38. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/image/image-left.mdx +37 -0
  39. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/image/image-right.mdx +37 -0
  40. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/image/image.mdx +56 -0
  41. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/_category_.yml +2 -0
  42. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/three-cols-header.mdx +49 -0
  43. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/three-cols.mdx +47 -0
  44. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/two-cols-header.mdx +43 -0
  45. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/two-cols.mdx +38 -0
  46. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/_category_.yml +2 -0
  47. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/cover.mdx +43 -0
  48. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/end.mdx +33 -0
  49. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/intro.mdx +49 -0
  50. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/section.mdx +41 -0
  51. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/_category_.yml +2 -0
  52. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/about-me.mdx +92 -0
  53. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/fact.mdx +47 -0
  54. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/quote.mdx +27 -0
  55. package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/statement.mdx +28 -0
  56. package/templates/addon-resources/resources/sykehuspartner-theme/setup/advanced-configuration.mdx +79 -0
  57. package/templates/addon-resources/resources/sykehuspartner-theme/setup/index.mdx +104 -0
  58. package/templates/addon-resources/resources/sykehuspartner-theme/syntax-and-icons.mdx +89 -0
  59. package/templates/addon-slidev/package.json +54 -0
  60. package/templates/addon-slidev/slidev/creating-your-first-slidev.md +301 -0
  61. package/templates/addon-slidev/slidev/slidev-theme-sykehuspartner.md +403 -0
  62. package/templates/page-course/README.md +152 -0
  63. package/templates/page-course/course/index.mdx +7 -0
  64. package/templates/page-course/course/placeholder-advanced-usage.mdx +304 -0
  65. package/templates/page-course/course/placeholder-basic-usage.mdx +128 -0
  66. package/templates/page-course/docusaurus.config.ts +171 -0
  67. package/templates/page-course/example-github-pages.yml +66 -0
  68. package/templates/page-course/gitignore +20 -0
  69. package/templates/page-course/package.json +51 -0
  70. package/templates/page-course/src/css/sp-days-theme.scss +297 -0
  71. package/templates/page-course/src/pages/index.mdx +165 -0
  72. package/templates/page-course/static/.nojekyll +0 -0
  73. package/templates/page-course/static/img/favicon-navbar/github.svg +3 -0
  74. package/templates/page-course/static/img/favicon-navbar/sorost-logo-dark.svg +24 -0
  75. package/templates/page-course/static/img/favicon-navbar/sorost-logo-light.svg +24 -0
  76. package/templates/page-course/static/img/footer/sykehuspartner-dark.svg +37 -0
  77. package/templates/page-course/static/img/footer/sykehuspartner-light.svg +37 -0
  78. package/templates/page-course/static/img/sidebar/docusaurus.svg +17 -0
  79. package/templates/page-course/static/img/sidebar/slidev.svg +22 -0
  80. package/templates/page-course/static/img/sp-days-logo-color-dark.svg +70 -0
  81. package/templates/page-course/static/img/sp-days-logo-color-light.svg +70 -0
  82. package/templates/page-course/static/img/sp-days-logo-filled-invert.svg +11 -0
  83. package/templates/page-course/static/img/sp-days-logo-filled.svg +11 -0
  84. package/templates/page-course/static/img/sp-days-logo-outline.svg +19 -0
  85. package/templates/page-course/static/img/sp-days-plugin-color-dark.svg +57 -0
  86. package/templates/page-course/static/img/sp-days-plugin-color-light.svg +53 -0
  87. package/templates/page-course/tsconfig.json +8 -0
@@ -0,0 +1,403 @@
1
+ ---
2
+ theme: "@sp-days-framework/slidev-theme-sykehuspartner"
3
+ title: Sykehuspartner Slidev Theme
4
+ description: A professional Slidev theme for creating presentations with consistent Sykehuspartner branding
5
+ layout: intro
6
+ ---
7
+
8
+ # Sykehuspartner Slidev Theme
9
+
10
+ ## Professional Presentations Made Simple
11
+
12
+ ---
13
+
14
+ # What is Slidev?
15
+
16
+ Slidev is a presentation framework for developers built on web technologies:
17
+
18
+ - **Markdown-based** - Write slides in Markdown with frontmatter
19
+ - **Developer-friendly** - Syntax highlighting, live coding, and diagrams
20
+ - **Themeable** - Customizable layouts and styling
21
+ - **Interactive** - Vue components, animations, and transitions
22
+ - **Exportable** - PDF, PNG, or hostable SPA
23
+
24
+ Perfect for technical presentations, workshops, and training sessions.
25
+
26
+ ---
27
+
28
+ # Sykehuspartner Theme
29
+
30
+ This theme provides a complete presentation solution with:
31
+
32
+ - **18 Professional Layouts** - From cover slides to multi-column content
33
+ - **Consistent Branding** - Sykehuspartner colors, logos, and styling
34
+ - **Syntax Highlighting** - Support for 30+ programming languages
35
+ - **Dark Mode Support** - Automatic light/dark theme switching
36
+ - **VSCode Icons** - Built-in icon support for technical content
37
+ - **Responsive Design** - Looks great on any screen size
38
+
39
+ ---
40
+
41
+ # Getting Started
42
+
43
+ Create your presentation file:
44
+
45
+ ```markdown [./slidev/your-slides.md]
46
+ ---
47
+ theme: "@sp-days-framework/slidev-theme-sykehuspartner"
48
+ layout: cover
49
+ ---
50
+
51
+ # Your Presentation Title
52
+ ## Subtitle Goes Here
53
+ ```
54
+
55
+ Start the development server:
56
+
57
+ ```bash
58
+ npm run slidev ./slidev/your-slides.md
59
+ ```
60
+
61
+ ---
62
+
63
+ # Frontmatter Configuration
64
+
65
+ Configure your entire presentation in the opening frontmatter:
66
+
67
+ ```markdown [./slidev/your-slides.md]
68
+ ---
69
+ theme: "@sp-days-framework/slidev-theme-sykehuspartner"
70
+ title: My Presentation
71
+ description: A great presentation
72
+ layout: cover
73
+ ---
74
+
75
+ # First Slide
76
+
77
+ ...
78
+
79
+ ```
80
+
81
+ ---
82
+ layout: two-cols-header
83
+ ---
84
+
85
+ # Frontmatter Options
86
+
87
+
88
+ ::left::
89
+
90
+ ```markdown [./slidev/your-slides.md]
91
+ ...
92
+
93
+ # First Slide
94
+
95
+ ---
96
+ layout: two-cols
97
+ logo: false
98
+ ---
99
+
100
+ # Subsequent Slide
101
+
102
+ ```
103
+
104
+ ::right::
105
+
106
+ Common frontmatter options:
107
+ - `layout` - Choose the slide layout
108
+ - `logo` - Show/hide the logo (varies by layout)
109
+ - `image`, `imageSrc` - Add images to layouts
110
+
111
+ ---
112
+ zoom: 0.8
113
+ layout: two-cols-header
114
+ ---
115
+
116
+ # Available Layouts - Content
117
+
118
+ ::left::
119
+
120
+ | **Layout** | **Description** |
121
+ | --- | --- |
122
+ | `default` | Standard content with header extraction |
123
+ | `center` | Vertically centered content |
124
+ | `full` | Full-screen with no padding |
125
+ | `cover` | Title slide with banner |
126
+ | `intro` | Introduction with optional side image |
127
+ | `two-cols` | Two equal columns |
128
+ | `two-cols-header` | Two columns with header |
129
+ | `three-cols` | Three equal columns |
130
+ | `three-cols-header` | Three columns with header |
131
+
132
+ ::right::
133
+
134
+ | **Layout** | **Description** |
135
+ | --- | --- |
136
+ | `section` | Section divider with optional image |
137
+ | `end` | Closing slide with centered banner |
138
+ | `image` | Background or foreground image |
139
+ | `image-left` | Content with left-aligned image |
140
+ | `image-right` | Content with right-aligned image |
141
+ | `fact` | Emphasize key facts |
142
+ | `statement` | Bold statement slide |
143
+ | `quote` | Quote with attribution |
144
+ | `about-me` | Profile introduction |
145
+
146
+ ---
147
+ layout: cover
148
+ ---
149
+
150
+ # Layout Examples
151
+ ## Showcasing All Available Layouts
152
+
153
+ ---
154
+ layout: intro
155
+ imageSrc: https://sli.dev/logo-title.png
156
+ imagePosition: right
157
+ imageRatio: 40%
158
+ imageSize: 80%
159
+ ---
160
+
161
+ # Intro Layout
162
+
163
+ ## Introduce new topics
164
+
165
+ This layout is perfect for introductions with optional side images
166
+
167
+ ---
168
+ layout: default
169
+
170
+ ---
171
+
172
+ # Default Layout
173
+
174
+ ## Features
175
+
176
+ - Clean and simple design
177
+ - Logo in top right corner
178
+ - Perfect for general content
179
+ - Supports all markdown features
180
+
181
+ ```javascript
182
+ // Code blocks work great
183
+ const hello = "world";
184
+ ```
185
+
186
+ ---
187
+ layout: center
188
+ ---
189
+
190
+ # Center Layout
191
+
192
+ Perfect for emphasizing important points
193
+
194
+ ---
195
+ layout: full
196
+ ---
197
+
198
+ <div class="flex items-center justify-center h-full flex-col">
199
+ <h1 class="text-4xl font-bold mb-4">Full Layout</h1>
200
+ <p class="text-2xl">No padding, no logo - complete creative freedom</p>
201
+ <div class="bg-blue-500 text-white p-6 rounded-lg mt-8">
202
+ Perfect for custom content
203
+ </div>
204
+ </div>
205
+
206
+ ---
207
+ layout: section
208
+ ---
209
+
210
+ # Section Layout
211
+
212
+ ## Introduce New Sections
213
+
214
+ Use this to divide your presentation into logical parts
215
+
216
+ ---
217
+ layout: fact
218
+ ---
219
+
220
+ # Fact Layout
221
+
222
+ ## Perfect for bringing the title and content together
223
+
224
+ ---
225
+ layout: statement
226
+ ---
227
+
228
+ # Statement Layout
229
+
230
+ ## Code is the Future of Operations
231
+
232
+ Bold statements centered for maximum impact
233
+
234
+ ---
235
+ layout: quote
236
+ ---
237
+
238
+ # "The best way to predict the future is to create it."
239
+
240
+ ## Alan Kay
241
+
242
+ ### Quote Layout
243
+
244
+ ---
245
+ layout: two-cols
246
+ ---
247
+
248
+ # Left Column
249
+
250
+ Content for the left side:
251
+
252
+ - Point 1
253
+ - Point 2
254
+ - Point 3
255
+
256
+ ::right::
257
+
258
+ # Right Column
259
+
260
+ Content for the right side:
261
+
262
+ - Feature A
263
+ - Feature B
264
+ - Feature C
265
+
266
+ ---
267
+ layout: two-cols-header
268
+ ---
269
+
270
+ # Header Spanning Both Columns
271
+
272
+ ::left::
273
+
274
+ ## Left Side
275
+ - Comparison A
276
+ - Before state
277
+ - Old approach
278
+
279
+ ::right::
280
+
281
+ ## Right Side
282
+ - Comparison B
283
+ - After state
284
+ - New approach
285
+
286
+ ---
287
+ layout: three-cols
288
+ ---
289
+
290
+ # Column 1
291
+
292
+ First third of content
293
+
294
+ ::middle::
295
+
296
+ # Column 2
297
+
298
+ Second third of content
299
+
300
+ ::right::
301
+
302
+ # Column 3
303
+
304
+ Final third of content
305
+
306
+ ---
307
+ layout: three-cols-header
308
+ ---
309
+
310
+ # Organizing Information Across Three Sections
311
+
312
+ ::left::
313
+
314
+ ## Development
315
+ - Local setup
316
+ - Testing
317
+ - Version control
318
+
319
+ ::middle::
320
+
321
+ ## Staging
322
+ - Integration tests
323
+ - UAT
324
+ - Performance
325
+
326
+ ::right::
327
+
328
+ ## Production
329
+ - Deployment
330
+ - Monitoring
331
+ - Scaling
332
+
333
+ ---
334
+ layout: image
335
+ imageSrc: https://sli.dev/demo-cover.png
336
+ imageScale: 100%
337
+ imageBackgroundMode: true
338
+ ---
339
+
340
+ # Image Layout (Background)
341
+
342
+ Text overlays on background images
343
+
344
+ ---
345
+ layout: image
346
+ imageSrc: https://sli.dev/logo.png
347
+ imageBackgroundMode: false
348
+ imageScale: 70%
349
+ imageAlign: center
350
+ ---
351
+
352
+ # Image Layout (Foreground)
353
+
354
+ Content at the top, image displayed below
355
+
356
+ Perfect for explaining diagrams
357
+
358
+ ---
359
+ layout: image-left
360
+ imageSrc: https://sli.dev/demo-cover.png
361
+ imageRatio: 40%
362
+ ---
363
+
364
+ # Image Left Layout
365
+
366
+ Image on the left, content on the right
367
+
368
+ - Adjustable image ratio
369
+ - Customizable alignment
370
+ - Automatic scaling
371
+
372
+ ---
373
+ layout: image-right
374
+ imageSrc: https://sli.dev/demo-cover.png
375
+ imageRatio: 40%
376
+ ---
377
+
378
+ # Image Right Layout
379
+
380
+ Content on the left, image on the right
381
+
382
+ - Perfect for screenshots
383
+ - Code examples with visuals
384
+ - Architecture diagrams
385
+
386
+ ---
387
+ layout: about-me
388
+ name: John Doe
389
+ jobTitle: "Senior DevOps Engineer"
390
+ department: "Cloud Platform Team"
391
+ description: "Specialist in container technologies and cloud-native solutions"
392
+ email: "john.doe@example.com"
393
+ linkedin: "johndoe"
394
+ imageSrc: https://sli.dev/logo.png
395
+ imageShape: "circle"
396
+ imagePosition: "left"
397
+ ---
398
+
399
+ ---
400
+ layout: end
401
+ ---
402
+
403
+ # Ending Layout
@@ -0,0 +1,152 @@
1
+ # <%= title %>
2
+
3
+ <%= tagline %>
4
+
5
+ This course website was created with [@sp-days-framework/create-sp-days](https://github.com/helse-sorost/sp-days-framework).
6
+
7
+ ## Getting Started
8
+
9
+ ### Development
10
+
11
+ Start the development server:
12
+
13
+ ```bash
14
+ npm start
15
+ ```
16
+
17
+ This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
18
+
19
+ ### Build
20
+
21
+ Build the website for production:
22
+
23
+ ```bash
24
+ npm run build
25
+ ```
26
+
27
+ This command generates static content into the `build` directory and can be served using any static hosting service.
28
+
29
+ ### Serve
30
+
31
+ Test the production build locally:
32
+
33
+ ```bash
34
+ npm run serve
35
+ ```
36
+
37
+ Serves the production build from the `build` directory.
38
+
39
+ <% if (addonSlidev) { %>
40
+
41
+ ### Slidev Presentations
42
+
43
+ Launch the Slidev presentation server:
44
+
45
+ ```bash
46
+ npm run slidev ./slidev/filename.md
47
+ ```
48
+
49
+ This opens the Slidev presentation interface where you can view and edit your slides.
50
+
51
+ <% } %>
52
+
53
+ ## Project Structure
54
+
55
+ ```
56
+ <%= directoryName %>/
57
+ ├── course/ # Course content (MDX files)
58
+ │ ├── index.mdx # Course overview
59
+ │ └── ... # Add your course modules here
60
+ ├── src/
61
+ │ ├── css/
62
+ │ │ └── sp-days-theme.scss # Custom styling
63
+ │ └── pages/
64
+ │ └── index.mdx # Landing page
65
+ ├── static/
66
+ │ └── img/ # Static assets (logos, images)
67
+ <% if (addonSlidev) { %>├── slidev/ # Slidev presentations
68
+ │ ├── creating-your-first-slidev.md
69
+ │ └── ... # Add your presentations here
70
+ <% } %><% if (addonResources) { %>├── resources/ # Additional documentation
71
+ │ └── ... # Reference materials
72
+ <% } %>├── docusaurus.config.ts # Site configuration
73
+ ├── package.json # Dependencies and scripts
74
+ └── tsconfig.json # TypeScript configuration
75
+ ```
76
+
77
+ ## Adding Course Content
78
+
79
+ ### Creating Course Modules
80
+
81
+ 1. Create MDX files in the `/course` directory
82
+ 2. Use frontmatter to configure each page:
83
+
84
+ ```markdown
85
+ ---
86
+ sidebar_position: 1
87
+ title: Module 1
88
+ ---
89
+
90
+ # Module 1: Getting Started
91
+
92
+ Your content here...
93
+ ```
94
+
95
+ ### Using Interactive Tasks
96
+
97
+ The course includes the interactive tasks plugin. Create tasks like this:
98
+
99
+ ````markdown
100
+ :::task{title="Your Task Title"}
101
+
102
+ ::text
103
+
104
+ Your task description and requirements here.
105
+
106
+ ::
107
+
108
+ ::hint
109
+
110
+ Helpful hints for learners.
111
+
112
+ ::
113
+
114
+ ::solution
115
+
116
+ The complete solution with explanations.
117
+
118
+ ::
119
+
120
+ :::
121
+ ````
122
+
123
+ See the [Interactive Tasks documentation](https://helse-sorost.github.io/sp-days-framework/resources/interactive-tasks) for more details.
124
+
125
+ <% if (addonSlidev) { %>
126
+
127
+ ## Creating Presentations
128
+
129
+ Slidev presentations are Markdown files in the `/slidev` directory:
130
+
131
+ 1. Create a new `.md` file in `/slidev`
132
+ 2. Use Slidev syntax for slides:
133
+
134
+ ```markdown
135
+ ---
136
+ theme: sykehuspartner
137
+ ---
138
+
139
+ # Slide Title
140
+
141
+ Content for your slide
142
+
143
+ ---
144
+
145
+ # Another Slide
146
+
147
+ More content
148
+ ```
149
+
150
+ See the [Slidev documentation](https://sli.dev/) for the full syntax.
151
+
152
+ <% } %>
@@ -0,0 +1,7 @@
1
+ ---
2
+ sidebar_position: 0
3
+ ---
4
+
5
+ # Course Overview
6
+
7
+ <TaskProgressionOverview />