@sp-days-framework/slidev-theme-sykehuspartner 1.0.4 → 1.1.0-beta2

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,81 @@
1
+ ---
2
+ sidebar_position: 1.2
3
+ sidebar_custom_props:
4
+ section: "Setup"
5
+ section_position: 1
6
+ ---
7
+
8
+ import Tabs from "@theme/Tabs";
9
+ import TabItem from "@theme/TabItem";
10
+
11
+ # Advanced Configuration
12
+
13
+ ## Common Layout Parameters
14
+
15
+ Most layouts support these common parameters:
16
+
17
+ | Parameter | Type | Default | Description |
18
+ |-----------|------|---------|-------------|
19
+ | `logo` | boolean | varies | Show/hide the logo |
20
+ | `textAlignment` | string | `'center'` | Vertical alignment: `'top'`, `'center'`, `'bottom'` |
21
+
22
+ ## Image Configuration Parameters
23
+
24
+ Layouts with images support:
25
+
26
+ | Parameter | Type | Default | Description |
27
+ |-----------|------|---------|-------------|
28
+ | `imageSrc` | string | - | Image URL or path |
29
+ | `imageRatio` | string | `'50%'` | Image width percentage |
30
+ | `imageScale` | string | `'100%'` | Image size within container |
31
+ | `imageAlign` | string | `'center'` | Image alignment |
32
+ | `imagePosition` | string | varies | Position: `'left'` or `'right'` |
33
+ | `imageBackgroundMode` | boolean | varies | Background vs foreground mode |
34
+
35
+ ## Global Theme Configuration
36
+
37
+ Configure theme-wide settings in your presentation frontmatter:
38
+
39
+ ```markdown title="slidev/presentation.md"
40
+ ---
41
+ theme: "@sp-days-framework/slidev-theme-sykehuspartner"
42
+ title: My Presentation
43
+ highlighter: shiki
44
+ lineNumbers: true
45
+ drawings:
46
+ persist: false
47
+ transition: slide-left
48
+ ---
49
+ ```
50
+
51
+ ### Available Global Options
52
+
53
+ | Option | Type | Default | Description |
54
+ |--------|------|---------|-------------|
55
+ | `highlighter` | string | `'shiki'` | Code highlighter: `'shiki'` or `'prism'` |
56
+ | `lineNumbers` | boolean | `false` | Show line numbers in code blocks |
57
+ | `drawings` | object | - | Drawing/annotation settings |
58
+ | `transition` | string | `'fade'` | Slide transition effect |
59
+ | `colorSchema` | string | `'auto'` | Color scheme: `'auto'`, `'dark'`, `'light'` |
60
+
61
+ See [Slidev configuration](https://sli.dev/custom/#frontmatter-configures) for all options.
62
+
63
+ ## Custom Styling
64
+
65
+ Override theme styles with custom CSS:
66
+
67
+ ```markdown title="slidev/presentation.md"
68
+ ---
69
+ theme: "@sp-days-framework/slidev-theme-sykehuspartner"
70
+ ---
71
+
72
+ <style>
73
+ .slidev-layout.cover {
74
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
75
+ }
76
+
77
+ h1 {
78
+ font-size: 3rem !important;
79
+ }
80
+ </style>
81
+ ```
@@ -0,0 +1,63 @@
1
+ ---
2
+ sidebar_position: 4
3
+ sidebar_label: "Change Logs"
4
+ toc_max_heading_level: 2
5
+ sidebar_custom_props:
6
+ section: "Releases"
7
+ section_position: 4
8
+ ---
9
+
10
+ # Changelog
11
+
12
+ ## `@sp-days-framework/slidev-theme-sykehuspartner`
13
+
14
+ [![npm version](https://img.shields.io/npm/v/@sp-days-framework/slidev-theme-sykehuspartner?logo=nodedotjs)](https://www.npmjs.com/package/@sp-days-framework/slidev-theme-sykehuspartner)
15
+
16
+ :::note
17
+ All packages within `@sp-days-framework` use the same version number. In some cases, a package might just be "bumped" to match the rest without any functional changes.
18
+ :::
19
+
20
+ ---
21
+
22
+ ## Version 1.1.0-beta2 ![Sync](https://img.shields.io/badge/sync-version--bump-lightgrey)
23
+
24
+ Version bump to match other packages in the framework with minor documentation improvements
25
+
26
+ ---
27
+
28
+ ## Version 1.1.0-beta1 ![Sync](https://img.shields.io/badge/sync-version--bump-lightgrey)
29
+
30
+ Version bump to match other packages in the framework. Documentation is now bundled with the npm package for easier reference during development.
31
+
32
+ ---
33
+
34
+ ## Version 1.0.4 ![Sync](https://img.shields.io/badge/sync-version--bump-lightgrey)
35
+
36
+ Version bump to match other packages in the framework
37
+
38
+ ---
39
+
40
+ ## Version 1.0.3 ![Sync](https://img.shields.io/badge/sync-version--bump-lightgrey)
41
+
42
+ Version bump to match other packages in the framework
43
+
44
+ ---
45
+
46
+ ## Version 1.0.2 ![Sync](https://img.shields.io/badge/sync-version--bump-lightgrey)
47
+
48
+ Version bump to match other packages in the framework
49
+
50
+ ---
51
+
52
+ ## Version 1.0.0 ![Release](https://img.shields.io/badge/release-production-blue)
53
+
54
+ Initial release of the Slidev Theme Sykehuspartner
55
+
56
+ <details>
57
+ <summary><strong>Details</strong> (2025 November 24)</summary>
58
+
59
+ ### New Features
60
+
61
+ - Initial release with Sykehuspartner theme for Slidev
62
+
63
+ </details>
@@ -0,0 +1,93 @@
1
+ ---
2
+ title: "Code Block Icons"
3
+ sidebar_position: 2.1
4
+ sidebar_custom_props:
5
+ section: "Features"
6
+ section_position: 2
7
+ ---
8
+
9
+ # Code Block Icons
10
+
11
+ Add visual context to your code blocks with file-type icons from the VSCode Icons collection.
12
+
13
+ ## Overview
14
+
15
+ The theme includes automatic icon support for code blocks using UnoCSS and Iconify. Icons are scanned from your markdown files and automatically included in the build.
16
+
17
+ ## Basic Usage
18
+
19
+ Add icons to code blocks using the tilde syntax in the code block label:
20
+
21
+ ````markdown
22
+ ```docker [dockerfile ~i-vscode-icons:file-type-docker~]
23
+ FROM python:3.13
24
+ ```
25
+
26
+ ```python [hello.py ~i-vscode-icons:file-type-python~]
27
+ print('Hello, world!')
28
+ ```
29
+
30
+ ```yaml [play.yml ~i-vscode-icons:file-type-ansible~]
31
+ - name: Update web servers
32
+ hosts: webservers
33
+ remote_user: root
34
+ ```
35
+ ````
36
+
37
+ ## Common VSCode Icons
38
+
39
+ | Icon Syntax | Description |
40
+ |-------------|-------------|
41
+ | `~i-vscode-icons:file-type-docker~` | Docker |
42
+ | `~i-vscode-icons:file-type-python~` | Python |
43
+ | `~i-vscode-icons:file-type-typescript-official~` | TypeScript |
44
+ | `~i-vscode-icons:file-type-javascript-official~` | JavaScript |
45
+ | `~i-vscode-icons:file-type-vue~` | Vue.js |
46
+ | `~i-vscode-icons:file-type-react~` | React |
47
+ | `~i-vscode-icons:file-type-kubernetes~` | Kubernetes |
48
+ | `~i-vscode-icons:file-type-terraform~` | Terraform |
49
+ | `~i-vscode-icons:file-type-yaml~` | YAML |
50
+ | `~i-vscode-icons:file-type-json~` | JSON |
51
+ | `~i-vscode-icons:file-type-markdown~` | Markdown |
52
+ | `~i-vscode-icons:file-type-git~` | Git |
53
+
54
+ ## Finding More Icons
55
+
56
+ Browse the full VSCode Icons collection at [icon-sets.iconify.design/vscode-icons](https://icon-sets.iconify.design/vscode-icons/).
57
+
58
+ All icons follow the pattern: `~i-vscode-icons:file-type-{name}~`
59
+
60
+ ## How It Works
61
+
62
+ The theme uses UnoCSS to automatically scan your markdown files for icon patterns and includes them in the build:
63
+
64
+ 1. During build, `uno.config.ts` scans all `.md` files in your project
65
+ 2. It extracts icon references matching the pattern `~i-vscode-icons:*~`
66
+ 3. Only the icons you use are included in the final bundle
67
+ 4. Icons are rendered inline with your code block labels
68
+
69
+ This automatic scanning means you can use any VSCode icon without manual configuration!
70
+
71
+ ## Technical Details
72
+
73
+ The icon scanning is configured in `uno.config.ts`:
74
+
75
+ ```typescript
76
+ function scanFilesForIcons() {
77
+ const slideFiles = globSync('**/*.md', { absolute: true })
78
+ const iconPattern = /~(i-[a-zA-Z0-9-]+:[a-zA-Z0-9-]+)~/g
79
+ const icons = new Set()
80
+
81
+ slideFiles.forEach((file: string) => {
82
+ const content = fs.readFileSync(file, 'utf-8')
83
+ let match
84
+ while ((match = iconPattern.exec(content)) !== null) {
85
+ icons.add(match[1])
86
+ }
87
+ })
88
+
89
+ return Array.from(icons)
90
+ }
91
+ ```
92
+
93
+ This ensures optimal bundle size by including only the icons you actually use in your presentation.
@@ -0,0 +1,88 @@
1
+ ---
2
+ title: "Code Highlighting"
3
+ sidebar_position: 2.0
4
+ sidebar_custom_props:
5
+ section: "Features"
6
+ section_position: 2
7
+ ---
8
+
9
+ # Code Highlighting
10
+
11
+ The theme includes built-in syntax highlighting for 30+ programming languages powered by Shiki.
12
+
13
+ ## Supported Languages
14
+
15
+ The theme supports syntax highlighting for the following languages:
16
+
17
+ - **Web**: HTML, CSS, JavaScript, TypeScript, JSX, TSX, Vue, MDX
18
+ - **Backend**: Python, Java, C#, Go, Rust, Ruby, PHP
19
+ - **DevOps**: Docker, Terraform, YAML, TOML, Shell Script, PowerShell
20
+ - **Data**: SQL, JSON, JSONC, CSV, GraphQL
21
+ - **Documentation**: Markdown, LaTeX, XML
22
+ - **Configuration**: NGINX, INI, .env, Git commit/rebase, CODEOWNERS
23
+ - **Other**: Lua, HCL, SCSS, Sass
24
+
25
+ ## Basic Usage
26
+
27
+ Use standard fenced code blocks with language identifiers:
28
+
29
+ ````markdown
30
+ ```python
31
+ def hello_world():
32
+ print("Hello, Slidev!")
33
+ ```
34
+
35
+ ```javascript
36
+ const greeting = "Hello, World!";
37
+ console.log(greeting);
38
+ ```
39
+
40
+ ```bash
41
+ docker run -d -p 8080:80 nginx
42
+ ```
43
+ ````
44
+
45
+ ## Line Highlighting
46
+
47
+ Highlight specific lines to draw attention to important code:
48
+
49
+ ````markdown
50
+ ```javascript {2,4-6}
51
+ const a = 1
52
+ const b = 2 // highlighted
53
+ const c = 3
54
+ const d = 4 // highlighted
55
+ const e = 5 // highlighted
56
+ const f = 6 // highlighted
57
+ ```
58
+ ````
59
+
60
+ ## Theme Configuration
61
+
62
+ The syntax highlighting uses different themes for light and dark modes:
63
+
64
+ - **Dark mode**: One Dark Pro
65
+ - **Light mode**: One Light
66
+
67
+ These themes are configured in `setup/shiki.ts` and automatically switch based on the presentation mode.
68
+
69
+ ## Adding Custom Languages
70
+
71
+ To add support for additional languages, modify `setup/shiki.ts`:
72
+
73
+ ```typescript
74
+ export default defineShikiSetup((): ShikiSetupReturn => {
75
+ return {
76
+ themes: {
77
+ dark: "one-dark-pro",
78
+ light: "one-light",
79
+ },
80
+ langs: [
81
+ // Add your language here
82
+ "kotlin",
83
+ "swift",
84
+ // ... existing languages
85
+ ],
86
+ };
87
+ });
88
+ ```
@@ -0,0 +1,5 @@
1
+ position: 3.1
2
+ label: "Content"
3
+ customProps:
4
+ section: "Layouts"
5
+ section_position: 3
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: Center
3
+ description: Vertically and horizontally centered content layout
4
+ ---
5
+
6
+ # Center Layout
7
+
8
+ The `center` layout centers all content both vertically and horizontally on the slide. Perfect for emphasizing short, important messages.
9
+
10
+ ## When to Use
11
+
12
+ - Emphasizing key points
13
+ - Short important messages
14
+ - Transition slides
15
+ - Single concept slides
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Default | Description |
20
+ |-----------|------|---------|-------------|
21
+ | `logo` | boolean | `true` | Show/hide the logo in top right |
22
+
23
+ ## Basic Example
24
+
25
+ ```markdown
26
+ ---
27
+ layout: center
28
+ ---
29
+
30
+ # Main Message
31
+
32
+ Supporting text that reinforces the point
33
+ ```
@@ -0,0 +1,59 @@
1
+ ---
2
+ title: Default
3
+ description: Standard content layout with automatic header extraction
4
+ ---
5
+
6
+ # Default Layout
7
+
8
+ The `default` layout is the most commonly used layout for regular content slides. It automatically extracts the first H1 as a header and includes a logo in the top right.
9
+
10
+ ## When to Use
11
+
12
+ - Regular content slides
13
+ - Bullet point lists
14
+ - General information
15
+ - Most standard slides
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Default | Description |
20
+ |-----------|------|---------|-------------|
21
+ | `logo` | boolean | `true` | Show/hide the logo |
22
+ | `textAlignment` | string | `'center'` | Vertical alignment: `'top'`, `'center'`, `'bottom'` |
23
+
24
+ ## Basic Example
25
+
26
+ ```markdown
27
+ ---
28
+ layout: default
29
+ ---
30
+
31
+ # Introduction to Docker
32
+
33
+ Docker is a platform for developing and running applications in containers.
34
+
35
+ ## Key Benefits
36
+
37
+ - Consistency across environments
38
+ - Fast deployment
39
+ - Resource efficiency
40
+ - Isolation
41
+ ```
42
+
43
+ ## With Top Alignment
44
+
45
+ ```markdown
46
+ ---
47
+ layout: default
48
+ textAlignment: top
49
+ ---
50
+
51
+ # Lots of Content
52
+
53
+ When you have extensive content, align to top for better readability.
54
+
55
+ - Point 1
56
+ - Point 2
57
+ - Point 3
58
+ - (many more points)
59
+ ```
@@ -0,0 +1,49 @@
1
+ ---
2
+ title: Full
3
+ description: Full-screen layout with no padding or logo
4
+ ---
5
+
6
+ # Full Layout
7
+
8
+ The `full` layout provides a completely blank canvas with no padding, margin, or logo. Perfect for custom content that needs maximum space.
9
+
10
+ ## When to Use
11
+
12
+ - Custom HTML/CSS layouts
13
+ - Full-screen graphics or visualizations
14
+ - Interactive demos
15
+ - Maximum creative control needed
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Default | Description |
20
+ |-----------|------|---------|-------------|
21
+ | `logo` | boolean | `false` | Show/hide logo (default is hidden) |
22
+
23
+ ## Basic Example
24
+
25
+ ```markdown
26
+ ---
27
+ layout: full
28
+ ---
29
+
30
+ <div class="flex items-center justify-center h-full flex-col">
31
+ <h1 class="text-4xl font-bold mb-4">Full Screen</h1>
32
+ <p class="text-2xl">Complete creative freedom</p>
33
+ </div>
34
+ ```
35
+
36
+ ## With Custom Styling
37
+
38
+ ```markdown
39
+ ---
40
+ layout: full
41
+ ---
42
+
43
+ <div class="h-full bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center">
44
+ <div class="text-white text-center">
45
+ <h1 class="text-6xl font-bold">Amazing</h1>
46
+ <p class="text-3xl mt-4">Custom Design</p>
47
+ </div>
48
+ </div>
49
+ ```
@@ -0,0 +1,5 @@
1
+ position: 3.4
2
+ label: "Image"
3
+ customProps:
4
+ section: "Layouts"
5
+ section_position: 3
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: Image Left
3
+ description: Image on left with content on right
4
+ ---
5
+
6
+ # Image Left Layout
7
+
8
+ Display an image on the left side with content on the right.
9
+
10
+ ## Parameters
11
+
12
+ | Parameter | Type | Default | Description |
13
+ |-----------|------|---------|-------------|
14
+ | `imageSrc` | string | - | Image URL or path |
15
+ | `imageRatio` | string | `'50%'` | Image width percentage |
16
+ | `imageScale` | string | `'100%'` | Image size within container |
17
+ | `imageAlign` | string | `'center'` | Image alignment |
18
+ | `logo` | boolean | `true` | Show/hide logo |
19
+ | `textAlignment` | string | `'center'` | Content vertical alignment |
20
+
21
+ ## Basic Example
22
+
23
+ ```markdown
24
+ ---
25
+ layout: image-left
26
+ imageSrc: /screenshot.png
27
+ imageRatio: 40%
28
+ ---
29
+
30
+ # Feature Overview
31
+
32
+ The image shows our new dashboard with:
33
+
34
+ - Real-time metrics
35
+ - Custom alerts
36
+ - Team collaboration
37
+ ```
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: Image Right
3
+ description: Content on left with image on right
4
+ ---
5
+
6
+ # Image Right Layout
7
+
8
+ Display content on the left with an image on the right.
9
+
10
+ ## Parameters
11
+
12
+ | Parameter | Type | Default | Description |
13
+ |-----------|------|---------|-------------|
14
+ | `imageSrc` | string | - | Image URL or path |
15
+ | `imageRatio` | string | `'50%'` | Image width percentage |
16
+ | `imageScale` | string | `'100%'` | Image size within container |
17
+ | `imageAlign` | string | `'center'` | Image alignment |
18
+ | `logo` | boolean | `false` | Show/hide logo |
19
+ | `textAlignment` | string | `'center'` | Content vertical alignment |
20
+
21
+ ## Basic Example
22
+
23
+ ```markdown
24
+ ---
25
+ layout: image-right
26
+ imageSrc: /code-example.png
27
+ imageRatio: 45%
28
+ ---
29
+
30
+ # Code Explanation
31
+
32
+ This example demonstrates:
33
+
34
+ - Dependency injection
35
+ - Error handling
36
+ - Async/await pattern
37
+ ```
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: Image
3
+ description: Full background or foreground image layout
4
+ ---
5
+
6
+ # Image Layout
7
+
8
+ The `image` layout displays images either as full-screen backgrounds or as foreground elements with content above.
9
+
10
+ ## When to Use
11
+
12
+ - Full-screen visual slides
13
+ - Explaining diagrams or screenshots
14
+ - Visual breaks in presentation
15
+ - Architectural overviews
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Default | Description |
20
+ |-----------|------|---------|-------------|
21
+ | `imageSrc` | string | - | Image URL or path |
22
+ | `imageScale` | string | `'70%'` | Image size (foreground mode) |
23
+ | `imageAlign` | string | `'center'` | Image alignment |
24
+ | `imageBackgroundMode` | boolean | `true` | Background (true) or foreground (false) |
25
+ | `logo` | boolean | `false` | Show/hide logo |
26
+
27
+ ## Background Mode
28
+
29
+ ```markdown
30
+ ---
31
+ layout: image
32
+ imageSrc: https://example.com/hero.jpg
33
+ imageBackgroundMode: true
34
+ imageScale: 100%
35
+ ---
36
+
37
+ # Text Over Image
38
+
39
+ Content overlays the background
40
+ ```
41
+
42
+ ## Foreground Mode
43
+
44
+ ```markdown
45
+ ---
46
+ layout: image
47
+ imageSrc: /diagram.png
48
+ imageBackgroundMode: false
49
+ imageScale: 80%
50
+ imageAlign: center
51
+ ---
52
+
53
+ # Architecture Diagram
54
+
55
+ Content above, image below
56
+ ```