@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.
- package/LICENSE +21 -0
- package/README.md +318 -0
- package/bin/index.js +86 -0
- package/lib/index.d.ts +20 -0
- package/lib/index.js +454 -0
- package/package.json +41 -0
- package/sp-days-framework-create-sp-days-1.0.0.tgz +0 -0
- package/templates/addon-resources/resources/frontpage-collection/components/Columns.mdx +191 -0
- package/templates/addon-resources/resources/frontpage-collection/components/ContentBlock.mdx +126 -0
- package/templates/addon-resources/resources/frontpage-collection/components/CourseFeature.mdx +147 -0
- package/templates/addon-resources/resources/frontpage-collection/components/FancyHeader.mdx +76 -0
- package/templates/addon-resources/resources/frontpage-collection/components/GetStarted.mdx +222 -0
- package/templates/addon-resources/resources/frontpage-collection/components/HeroBanner.mdx +205 -0
- package/templates/addon-resources/resources/frontpage-collection/components/IconContainer.mdx +249 -0
- package/templates/addon-resources/resources/frontpage-collection/components/Iconify.mdx +228 -0
- package/templates/addon-resources/resources/frontpage-collection/components/_category_.yml +2 -0
- package/templates/addon-resources/resources/frontpage-collection/index.mdx +85 -0
- package/templates/addon-resources/resources/frontpage-collection/setup/index.mdx +185 -0
- package/templates/addon-resources/resources/index.mdx +35 -0
- package/templates/addon-resources/resources/interactive-tasks/creating-tasks.mdx +292 -0
- package/templates/addon-resources/resources/interactive-tasks/examples/_category_.yml +3 -0
- package/templates/addon-resources/resources/interactive-tasks/examples/advanced-usage.mdx +304 -0
- package/templates/addon-resources/resources/interactive-tasks/examples/basic-usage.mdx +128 -0
- package/templates/addon-resources/resources/interactive-tasks/index.mdx +93 -0
- package/templates/addon-resources/resources/interactive-tasks/setup/advanced-configuration.mdx +150 -0
- package/templates/addon-resources/resources/interactive-tasks/setup/index.mdx +174 -0
- package/templates/addon-resources/resources/interactive-tasks/task-progression.mdx +140 -0
- package/templates/addon-resources/resources/slidev-integration/index.mdx +106 -0
- package/templates/addon-resources/resources/slidev-integration/setup/advanced-configuration.mdx +144 -0
- package/templates/addon-resources/resources/slidev-integration/setup/index.mdx +200 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/index.mdx +105 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/_category_.yml +2 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/content/_category_.yml +2 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/content/center.mdx +33 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/content/default.mdx +59 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/content/full.mdx +49 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/image/_category_.yml +2 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/image/image-left.mdx +37 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/image/image-right.mdx +37 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/image/image.mdx +56 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/_category_.yml +2 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/three-cols-header.mdx +49 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/three-cols.mdx +47 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/two-cols-header.mdx +43 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/multi-column/two-cols.mdx +38 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/_category_.yml +2 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/cover.mdx +43 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/end.mdx +33 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/intro.mdx +49 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/section/section.mdx +41 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/_category_.yml +2 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/about-me.mdx +92 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/fact.mdx +47 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/quote.mdx +27 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/layouts/special/statement.mdx +28 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/setup/advanced-configuration.mdx +79 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/setup/index.mdx +104 -0
- package/templates/addon-resources/resources/sykehuspartner-theme/syntax-and-icons.mdx +89 -0
- package/templates/addon-slidev/package.json +54 -0
- package/templates/addon-slidev/slidev/creating-your-first-slidev.md +301 -0
- package/templates/addon-slidev/slidev/slidev-theme-sykehuspartner.md +403 -0
- package/templates/page-course/README.md +152 -0
- package/templates/page-course/course/index.mdx +7 -0
- package/templates/page-course/course/placeholder-advanced-usage.mdx +304 -0
- package/templates/page-course/course/placeholder-basic-usage.mdx +128 -0
- package/templates/page-course/docusaurus.config.ts +171 -0
- package/templates/page-course/example-github-pages.yml +66 -0
- package/templates/page-course/gitignore +20 -0
- package/templates/page-course/package.json +51 -0
- package/templates/page-course/src/css/sp-days-theme.scss +297 -0
- package/templates/page-course/src/pages/index.mdx +165 -0
- package/templates/page-course/static/.nojekyll +0 -0
- package/templates/page-course/static/img/favicon-navbar/github.svg +3 -0
- package/templates/page-course/static/img/favicon-navbar/sorost-logo-dark.svg +24 -0
- package/templates/page-course/static/img/favicon-navbar/sorost-logo-light.svg +24 -0
- package/templates/page-course/static/img/footer/sykehuspartner-dark.svg +37 -0
- package/templates/page-course/static/img/footer/sykehuspartner-light.svg +37 -0
- package/templates/page-course/static/img/sidebar/docusaurus.svg +17 -0
- package/templates/page-course/static/img/sidebar/slidev.svg +22 -0
- package/templates/page-course/static/img/sp-days-logo-color-dark.svg +70 -0
- package/templates/page-course/static/img/sp-days-logo-color-light.svg +70 -0
- package/templates/page-course/static/img/sp-days-logo-filled-invert.svg +11 -0
- package/templates/page-course/static/img/sp-days-logo-filled.svg +11 -0
- package/templates/page-course/static/img/sp-days-logo-outline.svg +19 -0
- package/templates/page-course/static/img/sp-days-plugin-color-dark.svg +57 -0
- package/templates/page-course/static/img/sp-days-plugin-color-light.svg +53 -0
- package/templates/page-course/tsconfig.json +8 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
import Tabs from "@theme/Tabs";
|
|
6
|
+
import TabItem from "@theme/TabItem";
|
|
7
|
+
|
|
8
|
+
# Setup
|
|
9
|
+
|
|
10
|
+
:::tip[Already Included]
|
|
11
|
+
If you're using `@sp-days-framework/create-sp-days`, the Interactive Tasks plugin is already installed and configured. You can start creating tasks right away!
|
|
12
|
+
:::
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
Install the plugin using your preferred package manager:
|
|
17
|
+
|
|
18
|
+
<Tabs>
|
|
19
|
+
<TabItem value="npm" label="npm" default>
|
|
20
|
+
```bash
|
|
21
|
+
npm install @sp-days-framework/docusaurus-plugin-interactive-tasks
|
|
22
|
+
```
|
|
23
|
+
</TabItem>
|
|
24
|
+
<TabItem value="yarn" label="Yarn">
|
|
25
|
+
```bash
|
|
26
|
+
yarn add @sp-days-framework/docusaurus-plugin-interactive-tasks
|
|
27
|
+
```
|
|
28
|
+
</TabItem>
|
|
29
|
+
</Tabs>
|
|
30
|
+
|
|
31
|
+
Add the plugin to your plugins array and the remark plugin to your docs configuration:
|
|
32
|
+
|
|
33
|
+
```js title="docusaurus.config.js" {2,9-11}
|
|
34
|
+
module.exports = {
|
|
35
|
+
plugins: ["@sp-days-framework/docusaurus-plugin-interactive-tasks"],
|
|
36
|
+
|
|
37
|
+
presets: [
|
|
38
|
+
[
|
|
39
|
+
"classic",
|
|
40
|
+
{
|
|
41
|
+
docs: {
|
|
42
|
+
remarkPlugins: [
|
|
43
|
+
require("@sp-days-framework/docusaurus-plugin-interactive-tasks")
|
|
44
|
+
.remarkTaskDirective,
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The plugin requires two integrations:
|
|
54
|
+
|
|
55
|
+
1. **Plugin** - Auto-discovers all docs instances, generates task registry, and provides theme components
|
|
56
|
+
2. **Remark Plugin** - Transforms task directives in markdown to React components (must be added to each docs instance)
|
|
57
|
+
|
|
58
|
+
## Configuration
|
|
59
|
+
|
|
60
|
+
### Basic Plugin Setup
|
|
61
|
+
|
|
62
|
+
The plugin automatically discovers all Docusaurus docs instances:
|
|
63
|
+
|
|
64
|
+
```js title="docusaurus.config.js"
|
|
65
|
+
module.exports = {
|
|
66
|
+
plugins: [
|
|
67
|
+
"@sp-days-framework/docusaurus-plugin-interactive-tasks",
|
|
68
|
+
],
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Remark Plugin Configuration
|
|
73
|
+
|
|
74
|
+
Add the `remarkTaskDirective` to each docs instance's `remarkPlugins` array:
|
|
75
|
+
|
|
76
|
+
```js title="docusaurus.config.js" {8-10,22-24}
|
|
77
|
+
module.exports = {
|
|
78
|
+
presets: [
|
|
79
|
+
[
|
|
80
|
+
'@docusaurus/preset-classic',
|
|
81
|
+
{
|
|
82
|
+
docs: {
|
|
83
|
+
// Default instance
|
|
84
|
+
remarkPlugins: [
|
|
85
|
+
require('@sp-days-framework/docusaurus-plugin-interactive-tasks').remarkTaskDirective,
|
|
86
|
+
],
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
],
|
|
91
|
+
plugins: [
|
|
92
|
+
'@sp-days-framework/docusaurus-plugin-interactive-tasks',
|
|
93
|
+
[
|
|
94
|
+
'@docusaurus/plugin-content-docs',
|
|
95
|
+
{
|
|
96
|
+
id: 'community',
|
|
97
|
+
path: 'community',
|
|
98
|
+
remarkPlugins: [
|
|
99
|
+
require('@sp-days-framework/docusaurus-plugin-interactive-tasks').remarkTaskDirective,
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
],
|
|
104
|
+
};
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Frontmatter Options
|
|
108
|
+
|
|
109
|
+
Customize task badge appearance for individual pages:
|
|
110
|
+
|
|
111
|
+
```mdx title="docs/my-module.mdx"
|
|
112
|
+
---
|
|
113
|
+
title: My Module
|
|
114
|
+
sidebar_task_hide_progress: false
|
|
115
|
+
sidebar_task_disable_icon: false
|
|
116
|
+
sidebar_task_badge_colors:
|
|
117
|
+
completed:
|
|
118
|
+
lightmode: "#4caf50"
|
|
119
|
+
darkmode: "#66bb6a"
|
|
120
|
+
incomplete:
|
|
121
|
+
lightmode: "#2196f3"
|
|
122
|
+
darkmode: "#42a5f5"
|
|
123
|
+
font:
|
|
124
|
+
lightmode: "#ffffff"
|
|
125
|
+
darkmode: "#000000"
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
# My Module Content
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Category Sidebar Configuration
|
|
132
|
+
|
|
133
|
+
Customize task badges for entire categories using `_category_.yml` or `_category_.json`:
|
|
134
|
+
|
|
135
|
+
<Tabs>
|
|
136
|
+
<TabItem value="yaml" label="YAML" default>
|
|
137
|
+
```yaml title="docs/module-01/_category_.yml"
|
|
138
|
+
label: "Module 1"
|
|
139
|
+
position: 1
|
|
140
|
+
customProps:
|
|
141
|
+
sidebar_task_badge_colors:
|
|
142
|
+
completed:
|
|
143
|
+
lightmode: "#4caf50"
|
|
144
|
+
darkmode: "#66bb6a"
|
|
145
|
+
incomplete:
|
|
146
|
+
lightmode: "#2196f3"
|
|
147
|
+
darkmode: "#42a5f5"
|
|
148
|
+
sidebar_task_disable_icon: false
|
|
149
|
+
```
|
|
150
|
+
</TabItem>
|
|
151
|
+
<TabItem value="json" label="JSON">
|
|
152
|
+
```json title="docs/module-02/_category_.json"
|
|
153
|
+
{
|
|
154
|
+
"label": "Module 2",
|
|
155
|
+
"position": 2,
|
|
156
|
+
"customProps": {
|
|
157
|
+
"sidebar_task_hide_progress": false,
|
|
158
|
+
"sidebar_task_badge_colors": {
|
|
159
|
+
"completed": {
|
|
160
|
+
"lightmode": "#4caf50",
|
|
161
|
+
"darkmode": "#66bb6a"
|
|
162
|
+
},
|
|
163
|
+
"incomplete": {
|
|
164
|
+
"lightmode": "#2196f3",
|
|
165
|
+
"darkmode": "#42a5f5"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
</TabItem>
|
|
172
|
+
</Tabs>
|
|
173
|
+
|
|
174
|
+
See [Advanced Configuration](./advanced-configuration.mdx) for all available options.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
import Tabs from "@theme/Tabs";
|
|
6
|
+
import TabItem from "@theme/TabItem";
|
|
7
|
+
|
|
8
|
+
# Progress Components
|
|
9
|
+
|
|
10
|
+
Display task completion progress using the `TaskProgression` and `TaskProgressionOverview` components.
|
|
11
|
+
|
|
12
|
+
## Basic Usage
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
<Tabs>
|
|
16
|
+
<TabItem value="single" label="Single Page" default>
|
|
17
|
+
Display progress for a specific document with a visual progress indicator.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
```mdx
|
|
21
|
+
<TaskProgression path="./examples/basic-usage.mdx" />
|
|
22
|
+
```
|
|
23
|
+
<div className="preview">
|
|
24
|
+
<div className="container" style={{ width: '-webkit-fill-available'}}>
|
|
25
|
+
<TaskProgression path="./examples/basic-usage.mdx" />
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</TabItem>
|
|
29
|
+
<TabItem value="current" label="Current Page">
|
|
30
|
+
Reference the current page using `.` as the path:
|
|
31
|
+
|
|
32
|
+
```mdx
|
|
33
|
+
<TaskProgression path="." />
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
<div className="preview">
|
|
37
|
+
<div className="container" style={{ width: '-webkit-fill-available'}}>
|
|
38
|
+
<TaskProgression path="." />
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<br/>
|
|
42
|
+
|
|
43
|
+
:::note
|
|
44
|
+
If no tasks is found on the page the Task Progression will show a error.
|
|
45
|
+
:::
|
|
46
|
+
</TabItem>
|
|
47
|
+
<TabItem value="result" label="Overview">
|
|
48
|
+
Display progress across all documents in the docs plugin instance.
|
|
49
|
+
|
|
50
|
+
```mdx
|
|
51
|
+
<TaskProgressionOverview />
|
|
52
|
+
```
|
|
53
|
+
<div className="preview">
|
|
54
|
+
<div className="container" style={{ width: '-webkit-fill-available', paddingBottom: '1.5rem'}}>
|
|
55
|
+
<TaskProgressionOverview />
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</TabItem>
|
|
59
|
+
</Tabs>
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Path Formats
|
|
64
|
+
|
|
65
|
+
The component supports multiple path formats:
|
|
66
|
+
|
|
67
|
+
```mdx
|
|
68
|
+
<!-- Current page -->
|
|
69
|
+
<TaskProgression path="." />
|
|
70
|
+
|
|
71
|
+
<!-- Absolute path -->
|
|
72
|
+
<TaskProgression path="/docs/tasks/creating-tasks" />
|
|
73
|
+
|
|
74
|
+
<!-- Relative to current page -->
|
|
75
|
+
<TaskProgression path="./sibling-page" />
|
|
76
|
+
<TaskProgression path="../parent-page" />
|
|
77
|
+
|
|
78
|
+
<!-- With file extension -->
|
|
79
|
+
<TaskProgression path="/docs/tasks/tasks-showcase.mdx" />
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Examples
|
|
85
|
+
|
|
86
|
+
### Learning Module Overview
|
|
87
|
+
|
|
88
|
+
Create an overview page showing progress across all modules:
|
|
89
|
+
|
|
90
|
+
```mdx
|
|
91
|
+
---
|
|
92
|
+
title: Course Overview
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
# Welcome to the Course
|
|
96
|
+
|
|
97
|
+
Track your progress across all modules:
|
|
98
|
+
|
|
99
|
+
<TaskProgressionOverview />
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Module Navigation
|
|
103
|
+
|
|
104
|
+
Link between related modules with progress indicators:
|
|
105
|
+
|
|
106
|
+
```mdx
|
|
107
|
+
## Prerequisites
|
|
108
|
+
|
|
109
|
+
Make sure you've completed the previous module:
|
|
110
|
+
|
|
111
|
+
<TaskProgression path="../module-01/index" />
|
|
112
|
+
|
|
113
|
+
## Current Module
|
|
114
|
+
|
|
115
|
+
Your progress in this module:
|
|
116
|
+
|
|
117
|
+
<TaskProgression path="." />
|
|
118
|
+
|
|
119
|
+
## Next Steps
|
|
120
|
+
|
|
121
|
+
Continue to the next module:
|
|
122
|
+
|
|
123
|
+
<TaskProgression path="../module-03/index" />
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Section Summary
|
|
127
|
+
|
|
128
|
+
Show progress for the current page at the top:
|
|
129
|
+
|
|
130
|
+
```mdx
|
|
131
|
+
# Introduction to React
|
|
132
|
+
|
|
133
|
+
<TaskProgression path="." />
|
|
134
|
+
|
|
135
|
+
Complete the tasks below to learn React fundamentals.
|
|
136
|
+
|
|
137
|
+
::::task[Setup React Project]
|
|
138
|
+
...
|
|
139
|
+
::::
|
|
140
|
+
```
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Slidev Integration
|
|
3
|
+
hide_title: true
|
|
4
|
+
sidebar_class_name: sidebar-logo-docusaurus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
import { Iconify } from "@sp-days-framework/docusaurus-frontpage-collection";
|
|
8
|
+
|
|
9
|
+
<div align="center">
|
|
10
|
+
<div className="resourceLandingPage">
|
|
11
|
+
<Iconify icon="logos:docusaurus" width="105px"/>
|
|
12
|
+
<Iconify icon="mdi:plus-thick" width="50px" iconColors={{ light: "#000000", dark: "#ffffff" }} />
|
|
13
|
+
<Iconify icon="logos:slidev" width="95px"/>
|
|
14
|
+
</div>
|
|
15
|
+
<div align="center">
|
|
16
|
+
# Docusaurus Slidev Integration
|
|
17
|
+
</div>
|
|
18
|
+
<div align="center">
|
|
19
|
+
<p>
|
|
20
|
+
*Seamlessly integrate Slidev presentations into your Docusaurus site!*
|
|
21
|
+
</p>
|
|
22
|
+
<h4>
|
|
23
|
+
[Setup](./setup/index.mdx)
|
|
24
|
+
·
|
|
25
|
+
[NPM Package](https://www.npmjs.com/package/@sp-days-framework/docusaurus-plugin-slidev)
|
|
26
|
+
·
|
|
27
|
+
[Source Code](https://github.com/helse-sorost/sp-days-framework)
|
|
28
|
+
</h4>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Features
|
|
35
|
+
|
|
36
|
+
- **Automatic Discovery** - Scans directories for Slidev markdown files and builds them automatically
|
|
37
|
+
- **Interactive Overview Page** - Auto-generated gallery with presentation previews, metadata, and sorting
|
|
38
|
+
- **Zero-Config Setup** - Works out of the box with sensible defaults
|
|
39
|
+
- **Theme Support** - Global or per-presentation theme configuration with automatic validation
|
|
40
|
+
- **Development & Production Modes** - Fast development workflow with separate slide preview
|
|
41
|
+
|
|
42
|
+
## Getting Started
|
|
43
|
+
|
|
44
|
+
### 1. Create Your Presentation
|
|
45
|
+
|
|
46
|
+
Create a presentation in the `/slidev/` directory:
|
|
47
|
+
|
|
48
|
+
```markdown title="slidev/introduction.md"
|
|
49
|
+
---
|
|
50
|
+
theme: "@sp-days-framework/slidev-theme-sykehuspartner"
|
|
51
|
+
title: Introduction to Docker
|
|
52
|
+
description: Learn containerization fundamentals
|
|
53
|
+
author: Your Name
|
|
54
|
+
layout: cover
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# Introduction to Docker
|
|
58
|
+
## Containerization Made Simple
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
# What is Docker?
|
|
63
|
+
|
|
64
|
+
Docker is a platform for developing, shipping, and running applications in containers.
|
|
65
|
+
```
|
|
66
|
+
### 2. Live Preview During Development
|
|
67
|
+
|
|
68
|
+
Run Slidev directly to work on your presentation with hot-reload:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npm run slidev ./slidev/my-presentation.md
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This opens your presentation in the browser with live updates as you edit.
|
|
75
|
+
|
|
76
|
+
### 3. View in Docusaurus
|
|
77
|
+
|
|
78
|
+
Build your Docusaurus site to see presentations integrated:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm run build
|
|
82
|
+
npm run serve
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Open the page and select "Slides" in the navbar to see the overview gallery.
|
|
86
|
+
|
|
87
|
+
:::note[Development Mode Limitation]
|
|
88
|
+
|
|
89
|
+
Presentations are **not built** during `npm run start`, [read more about it here.](./setup/index.mdx#development-vs-production-modes)
|
|
90
|
+
|
|
91
|
+
:::
|
|
92
|
+
|
|
93
|
+
See [Setup](./setup/index.mdx) for installation and configuration.
|
|
94
|
+
|
|
95
|
+
## How It Works
|
|
96
|
+
|
|
97
|
+
1. **Scan Phase** - Plugin scans the `/slidev/` directory for `.md` files during build
|
|
98
|
+
2. **Extract Metadata** - Frontmatter is parsed from each file (title, description, theme, author)
|
|
99
|
+
3. **Build Phase** - In production, Slidev builds each presentation to `static/slides/`
|
|
100
|
+
4. **Generate Overview** - Creates an interactive overview page (default: `/slidev`) with previews
|
|
101
|
+
5. **Serve** - Built presentations are accessible via unique URLs
|
|
102
|
+
|
|
103
|
+
## Documentation
|
|
104
|
+
|
|
105
|
+
- **[Advanced Configuration](./setup/advanced-configuration.mdx)** - Detailed plugin options
|
|
106
|
+
- **[Sykehuspartner Theme](../sykehuspartner-theme/index.mdx)** - Theme documentation and layouts
|
package/templates/addon-resources/resources/slidev-integration/setup/advanced-configuration.mdx
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Advanced
|
|
3
|
+
sidebar_position: 2
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import Tabs from "@theme/Tabs";
|
|
7
|
+
import TabItem from "@theme/TabItem";
|
|
8
|
+
|
|
9
|
+
# Advanced Configuration
|
|
10
|
+
|
|
11
|
+
## All Plugin Options
|
|
12
|
+
|
|
13
|
+
| Option | Type | Default | Description |
|
|
14
|
+
| ----------------- | --------- | ------------------------------------- | ------------------------------------------------------------------ |
|
|
15
|
+
| `sourceDir` | `string` | `'./slidev'` | Directory to scan for Slidev markdown files |
|
|
16
|
+
| `outputDir` | `string` | `'slides'` | Output directory inside `static/` for built presentations |
|
|
17
|
+
| `theme` | `string` | `undefined` | Global theme override for all presentations |
|
|
18
|
+
| `download` | `boolean` | `false` | Enable PDF download functionality |
|
|
19
|
+
| `overviewPath` | `string` | `'/slidev'` | URL path for the auto-generated overview page |
|
|
20
|
+
| `overviewTitle` | `string` | `'Slidev Presentations'` | Custom title for the overview page |
|
|
21
|
+
| `overviewTagline` | `string` | `'Interactive presentation overview'` | Custom tagline/description for the overview page |
|
|
22
|
+
| `id` | `string` | `'default'` | Plugin ID for multiple instances |
|
|
23
|
+
| `buildTimeout` | `number` | `60` | Timeout in seconds for building each presentation (10-600) |
|
|
24
|
+
| `verbose` | `boolean` | `false` | Enable verbose logging for Slidev build output |
|
|
25
|
+
|
|
26
|
+
## All Frontmatter Options
|
|
27
|
+
|
|
28
|
+
Configure individual presentations using frontmatter:
|
|
29
|
+
|
|
30
|
+
| Option | Type | Description |
|
|
31
|
+
| ------------- | -------- | ---------------------------------------------- |
|
|
32
|
+
| `theme` | `string` | Theme to use (overrides plugin global theme) |
|
|
33
|
+
| `title` | `string` | Presentation title |
|
|
34
|
+
| `description` | `string` | Brief description for overview page |
|
|
35
|
+
| `author` | `string` | Author name(s) |
|
|
36
|
+
| `layout` | `string` | Layout for the slide (e.g., `cover`, `intro`) |
|
|
37
|
+
|
|
38
|
+
See [Slidev documentation](https://sli.dev/guide/syntax.html#frontmatter) for all available frontmatter options.
|
|
39
|
+
|
|
40
|
+
## Multiple Plugin Instances
|
|
41
|
+
|
|
42
|
+
Run multiple instances with different configurations:
|
|
43
|
+
|
|
44
|
+
```js title="docusaurus.config.js"
|
|
45
|
+
module.exports = {
|
|
46
|
+
staticDirectories: ["static"],
|
|
47
|
+
|
|
48
|
+
plugins: [
|
|
49
|
+
[
|
|
50
|
+
"@sp-days-framework/docusaurus-plugin-slidev",
|
|
51
|
+
{
|
|
52
|
+
id: "workshops",
|
|
53
|
+
sourceDir: "./slidev/workshops",
|
|
54
|
+
overviewPath: "/workshops/slides",
|
|
55
|
+
overviewTitle: "Workshop Presentations",
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
[
|
|
59
|
+
"@sp-days-framework/docusaurus-plugin-slidev",
|
|
60
|
+
{
|
|
61
|
+
id: "training",
|
|
62
|
+
sourceDir: "./slidev/training",
|
|
63
|
+
overviewPath: "/training/slides",
|
|
64
|
+
overviewTitle: "Training Materials",
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
This allows you to organize different types of presentations separately.
|
|
72
|
+
|
|
73
|
+
## Global Theme Configuration
|
|
74
|
+
|
|
75
|
+
Set a default theme for all presentations:
|
|
76
|
+
|
|
77
|
+
```js title="docusaurus.config.js"
|
|
78
|
+
module.exports = {
|
|
79
|
+
plugins: [
|
|
80
|
+
[
|
|
81
|
+
"@sp-days-framework/docusaurus-plugin-slidev",
|
|
82
|
+
{
|
|
83
|
+
theme: "@sp-days-framework/slidev-theme-sykehuspartner",
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
],
|
|
87
|
+
};
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Individual presentations can override this by specifying a theme in their frontmatter.
|
|
91
|
+
|
|
92
|
+
## Custom Overview Page
|
|
93
|
+
|
|
94
|
+
Customize the presentation overview page appearance:
|
|
95
|
+
|
|
96
|
+
```js title="docusaurus.config.js"
|
|
97
|
+
module.exports = {
|
|
98
|
+
plugins: [
|
|
99
|
+
[
|
|
100
|
+
"@sp-days-framework/docusaurus-plugin-slidev",
|
|
101
|
+
{
|
|
102
|
+
overviewPath: "/presentations",
|
|
103
|
+
overviewTitle: "Our Presentations",
|
|
104
|
+
overviewTagline: "Explore our collection of learning materials",
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
],
|
|
108
|
+
};
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Build Timeout Configuration
|
|
112
|
+
|
|
113
|
+
For large presentations, increase the build timeout:
|
|
114
|
+
|
|
115
|
+
```js title="docusaurus.config.js"
|
|
116
|
+
module.exports = {
|
|
117
|
+
plugins: [
|
|
118
|
+
[
|
|
119
|
+
"@sp-days-framework/docusaurus-plugin-slidev",
|
|
120
|
+
{
|
|
121
|
+
buildTimeout: 120, // 2 minutes per presentation
|
|
122
|
+
verbose: true, // Enable verbose logging
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
],
|
|
126
|
+
};
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## PDF Download Support
|
|
130
|
+
|
|
131
|
+
Enable PDF download functionality for presentations:
|
|
132
|
+
|
|
133
|
+
```js title="docusaurus.config.js"
|
|
134
|
+
module.exports = {
|
|
135
|
+
plugins: [
|
|
136
|
+
[
|
|
137
|
+
"@sp-days-framework/docusaurus-plugin-slidev",
|
|
138
|
+
{
|
|
139
|
+
download: true,
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
],
|
|
143
|
+
};
|
|
144
|
+
```
|