@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,205 @@
|
|
|
1
|
+
---
|
|
2
|
+
# hide_table_of_contents: true
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
import Tabs from "@theme/Tabs";
|
|
6
|
+
import TabItem from "@theme/TabItem";
|
|
7
|
+
import { HeroBanner } from "@sp-days-framework/docusaurus-frontpage-collection";
|
|
8
|
+
import remarkGfm from 'remark-gfm'
|
|
9
|
+
|
|
10
|
+
# Hero Banner
|
|
11
|
+
|
|
12
|
+
A full-width banner that displays at the top of your page. Perfect for course introductions and landing pages.
|
|
13
|
+
|
|
14
|
+
<div className="preview">
|
|
15
|
+
<div className="container" style={{ width: '-webkit-fill-available', paddingBottom: '1.5rem'}}>
|
|
16
|
+
<HeroBanner
|
|
17
|
+
bannerText="This is a live example"
|
|
18
|
+
bannerFullWidth={false}
|
|
19
|
+
iconify="mdi:docker"
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
## Features
|
|
25
|
+
|
|
26
|
+
- Full-width design that breaks out of container constraints
|
|
27
|
+
- Automatic title and tagline from Docusaurus config
|
|
28
|
+
- Support for Iconify icons or custom images
|
|
29
|
+
- Customizable icon colors for light/dark themes
|
|
30
|
+
- Interactive dot cross grid background effect
|
|
31
|
+
|
|
32
|
+
## Import
|
|
33
|
+
|
|
34
|
+
<Tabs>
|
|
35
|
+
<TabItem value="individual" label="Individual import" default>
|
|
36
|
+
```mdx
|
|
37
|
+
import { HeroBanner } from "@sp-days-framework/docusaurus-frontpage-collection";
|
|
38
|
+
```
|
|
39
|
+
</TabItem>
|
|
40
|
+
<TabItem value="default" label="Default import">
|
|
41
|
+
```mdx
|
|
42
|
+
import HeroBanner from "@sp-days-framework/docusaurus-frontpage-collection/lib/components/HeroBanner";
|
|
43
|
+
```
|
|
44
|
+
</TabItem>
|
|
45
|
+
</Tabs>
|
|
46
|
+
|
|
47
|
+
## Basic Usage
|
|
48
|
+
|
|
49
|
+
```mdx
|
|
50
|
+
<HeroBanner
|
|
51
|
+
bannerText="Learn Docker with our hands-on operations course"
|
|
52
|
+
iconify="mdi:docker"
|
|
53
|
+
/>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Props
|
|
57
|
+
|
|
58
|
+
| Prop | Type | Default | Description |
|
|
59
|
+
| ---------------------- | ---------------------- | ----------- | -------------------------------------------- |
|
|
60
|
+
| `bannerText` | `string` | `''` | Description text displayed in the banner |
|
|
61
|
+
| `bannerFullWidth` | `boolean` | `true` | Full viewport width or contained within doc content |
|
|
62
|
+
| `iconify` | `IconifyConfig\|string`| `undefined` | Iconify icon name or configuration object |
|
|
63
|
+
| `customSvg` | `CustomSvgConfig` | `undefined` | Custom SVG files for light/dark themes (supports color override) |
|
|
64
|
+
| `customImage` | `CustomImageConfig` | `undefined` | Custom image files (PNG/JPEG) for light/dark themes |
|
|
65
|
+
| `iconColors` | `IconColorConfig` | `undefined` | Optional color overrides for Iconify icons |
|
|
66
|
+
| `enableDotCrossEffect` | `boolean` | `true` | Enable interactive dot cross grid background |
|
|
67
|
+
| `dotCrossColor` | `string` | `#ffffff` | Color of the dot cross grid |
|
|
68
|
+
|
|
69
|
+
> **Note**: The banner automatically uses the site `title` and `tagline` from your `docusaurus.config.js`.
|
|
70
|
+
|
|
71
|
+
## Examples
|
|
72
|
+
|
|
73
|
+
### With Iconify Icon
|
|
74
|
+
|
|
75
|
+
```mdx
|
|
76
|
+
<HeroBanner
|
|
77
|
+
bannerText="Master Kubernetes deployment and orchestration"
|
|
78
|
+
iconify="mdi:kubernetes"
|
|
79
|
+
/>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### With Custom Icon Colors
|
|
83
|
+
|
|
84
|
+
```mdx
|
|
85
|
+
<HeroBanner
|
|
86
|
+
bannerText="Advanced Kubernetes Training"
|
|
87
|
+
iconify="mdi:kubernetes"
|
|
88
|
+
iconColors={{
|
|
89
|
+
light: "#326CE5",
|
|
90
|
+
dark: "#7CB9FF"
|
|
91
|
+
}}
|
|
92
|
+
/>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### With Custom SVG Images
|
|
96
|
+
|
|
97
|
+
```mdx
|
|
98
|
+
<HeroBanner
|
|
99
|
+
bannerText="Welcome to our comprehensive Docker course"
|
|
100
|
+
customSvg={{
|
|
101
|
+
light: "img/docker-logo-light.svg",
|
|
102
|
+
dark: "img/docker-logo-dark.svg",
|
|
103
|
+
}}
|
|
104
|
+
/>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
### With Custom PNG/JPEG Images
|
|
109
|
+
|
|
110
|
+
```mdx
|
|
111
|
+
<HeroBanner
|
|
112
|
+
bannerText="Welcome to our comprehensive Docker course"
|
|
113
|
+
customImage={{
|
|
114
|
+
light: "img/docker-logo-light.png",
|
|
115
|
+
dark: "img/docker-logo-dark.png",
|
|
116
|
+
}}
|
|
117
|
+
/>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### With Advanced Iconify Configuration
|
|
121
|
+
|
|
122
|
+
```mdx
|
|
123
|
+
<HeroBanner
|
|
124
|
+
bannerText="Build modern cloud-native applications"
|
|
125
|
+
iconify={{
|
|
126
|
+
icon: "mdi:cloud",
|
|
127
|
+
width: "100%",
|
|
128
|
+
height: "100%",
|
|
129
|
+
colors: {
|
|
130
|
+
light: "#4285F4",
|
|
131
|
+
dark: "#8AB4F8"
|
|
132
|
+
}
|
|
133
|
+
}}
|
|
134
|
+
/>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Minimal (No Icon)
|
|
138
|
+
|
|
139
|
+
```mdx
|
|
140
|
+
<HeroBanner bannerText="Simple text-only banner" />
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Disable Dot Cross Grid Effect
|
|
144
|
+
|
|
145
|
+
You can deactivate the effect by setting `enableDotCrossEffect` to `false`.
|
|
146
|
+
|
|
147
|
+
```mdx
|
|
148
|
+
<HeroBanner
|
|
149
|
+
bannerText="Interactive learning experience"
|
|
150
|
+
enableDotCrossEffect={false}
|
|
151
|
+
/>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Contained Mode (Within Document Flow)
|
|
155
|
+
|
|
156
|
+
Use `bannerFullWidth={false}` to keep the banner within the document content area instead of full viewport width. This is useful when you have a sidebar or table of contents.
|
|
157
|
+
|
|
158
|
+
```mdx
|
|
159
|
+
<HeroBanner
|
|
160
|
+
bannerText="Course overview and learning objectives"
|
|
161
|
+
iconify="mdi:school"
|
|
162
|
+
bannerFullWidth={false}
|
|
163
|
+
/>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Dot Cross Grid Animation
|
|
167
|
+
|
|
168
|
+
The dot cross grid creates an interactive background effect inspired by the HF Cross design. Move your mouse over the banner to see crosses appear around the cursor. The effect also includes idle animations along the edges when not interacting.
|
|
169
|
+
|
|
170
|
+
### Advanced Configuration
|
|
171
|
+
|
|
172
|
+
The following props allow fine-tuning of the dot cross grid animation. These are optional and typically don't need to be changed from their defaults.
|
|
173
|
+
|
|
174
|
+
| Prop | Type | Default | Description |
|
|
175
|
+
| ------------------------ | --------- | --------- | ----------------------------------------------------- |
|
|
176
|
+
| `dotCrossSize` | `number` | `2` | Size of each dot in pixels |
|
|
177
|
+
| `dotCrossGap` | `number` | `30` | Gap between dots in pixels |
|
|
178
|
+
| `pointerRadius` | `number` | `100` | Radius of pointer interaction area in pixels |
|
|
179
|
+
| `pointerInnerIntensity` | `number` | `1.0` | Opacity intensity for dots near pointer center |
|
|
180
|
+
| `pointerOuterIntensity` | `number` | `0.3` | Opacity intensity for dots at edge of pointer radius |
|
|
181
|
+
| `maxOpacity` | `number` | `1.0` | Maximum opacity for dots |
|
|
182
|
+
| `minOpacity` | `number` | `0.0` | Minimum opacity for dots |
|
|
183
|
+
| `randomOpacity` | `boolean` | `false` | Add random opacity variation to dots |
|
|
184
|
+
| `idleEnabled` | `boolean` | `true` | Enable idle edge animations |
|
|
185
|
+
| `idleAreaWidth` | `number` | `200` | Width of idle animation area from edges in pixels |
|
|
186
|
+
| `idleInterval` | `number` | `3000` | Time between idle animations in milliseconds |
|
|
187
|
+
| `idleIntensity` | `number` | `0.5` | Opacity intensity for idle animations |
|
|
188
|
+
|
|
189
|
+
### Example with Custom Animation Settings
|
|
190
|
+
|
|
191
|
+
```mdx
|
|
192
|
+
<HeroBanner
|
|
193
|
+
bannerText="Custom animated banner"
|
|
194
|
+
iconify="mdi:rocket"
|
|
195
|
+
enableDotCrossEffect={true}
|
|
196
|
+
dotCrossColor="#00ff00"
|
|
197
|
+
dotCrossSize={3}
|
|
198
|
+
dotCrossGap={40}
|
|
199
|
+
pointerRadius={150}
|
|
200
|
+
pointerInnerIntensity={1.0}
|
|
201
|
+
pointerOuterIntensity={0.2}
|
|
202
|
+
idleEnabled={true}
|
|
203
|
+
idleInterval={2000}
|
|
204
|
+
/>
|
|
205
|
+
```
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import Tabs from "@theme/Tabs";
|
|
2
|
+
import TabItem from "@theme/TabItem";
|
|
3
|
+
import {
|
|
4
|
+
IconContainersSection,
|
|
5
|
+
IconContainerBlock,
|
|
6
|
+
} from "@sp-days-framework/docusaurus-frontpage-collection";
|
|
7
|
+
|
|
8
|
+
# Icon Containers Block
|
|
9
|
+
|
|
10
|
+
Display icon containers in a responsive grid with icons and links.
|
|
11
|
+
|
|
12
|
+
<div className="preview">
|
|
13
|
+
<div className="container">
|
|
14
|
+
<IconContainersSection>
|
|
15
|
+
<IconContainerBlock
|
|
16
|
+
title="Git Knowledge"
|
|
17
|
+
iconify="mdi:git"
|
|
18
|
+
link="/resources"
|
|
19
|
+
/>
|
|
20
|
+
<IconContainerBlock
|
|
21
|
+
title="Terminal Skills"
|
|
22
|
+
iconify="mdi:console"
|
|
23
|
+
link="/resources"
|
|
24
|
+
/>
|
|
25
|
+
</IconContainersSection>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
## Features
|
|
30
|
+
|
|
31
|
+
- Responsive grid layout
|
|
32
|
+
- Icon support (Iconify or custom images)
|
|
33
|
+
- Clickable cards with hover animations
|
|
34
|
+
- Customizable icon and title colors
|
|
35
|
+
- Optional animation disable
|
|
36
|
+
|
|
37
|
+
## Import
|
|
38
|
+
|
|
39
|
+
<Tabs>
|
|
40
|
+
<TabItem value="individual" label="Individual import" default>
|
|
41
|
+
```mdx
|
|
42
|
+
import {
|
|
43
|
+
IconContainersSection,
|
|
44
|
+
IconContainerBlock,
|
|
45
|
+
} from "@sp-days-framework/docusaurus-frontpage-collection";
|
|
46
|
+
```
|
|
47
|
+
</TabItem>
|
|
48
|
+
<TabItem value="default" label="Default import">
|
|
49
|
+
```mdx
|
|
50
|
+
import IconContainersSection, { IconContainerBlock } from "@sp-days-framework/docusaurus-frontpage-collection/lib/components/IconContainer";
|
|
51
|
+
```
|
|
52
|
+
</TabItem>
|
|
53
|
+
</Tabs>
|
|
54
|
+
|
|
55
|
+
## Basic Usage
|
|
56
|
+
|
|
57
|
+
```mdx
|
|
58
|
+
<IconContainersSection>
|
|
59
|
+
<IconContainerBlock
|
|
60
|
+
title="Programming Basics"
|
|
61
|
+
iconify="mdi:code-braces"
|
|
62
|
+
link="/docs/programming"
|
|
63
|
+
/>
|
|
64
|
+
<IconContainerBlock
|
|
65
|
+
title="Development Tools"
|
|
66
|
+
iconify="mdi:tools"
|
|
67
|
+
link="/docs/tools"
|
|
68
|
+
/>
|
|
69
|
+
</IconContainersSection>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Props
|
|
73
|
+
|
|
74
|
+
### IconContainersSection
|
|
75
|
+
|
|
76
|
+
| Prop | Type | Default | Description |
|
|
77
|
+
| ---------------- | ----------- | --------- | ----------------------------- |
|
|
78
|
+
| `children` | `ReactNode` | required | IconContainerBlock components |
|
|
79
|
+
| `minWidth` | `string` | `'200px'` | Minimum width for each block |
|
|
80
|
+
| `maxItemsPerRow` | `string` | `'auto'` | Max items per row |
|
|
81
|
+
|
|
82
|
+
### IconContainerBlock
|
|
83
|
+
|
|
84
|
+
| Prop | Type | Description |
|
|
85
|
+
| ----------------- | ---------------------- | ---------------------------------------------- |
|
|
86
|
+
| `id` | `string` | Optional unique identifier for the item |
|
|
87
|
+
| `title` | `string` | Title of the item |
|
|
88
|
+
| `iconify` | `IconifyConfig\|string`| Iconify icon name or configuration |
|
|
89
|
+
| `customSvg` | `CustomSvgConfig` | Custom SVG files for light/dark themes (supports color override) |
|
|
90
|
+
| `customImage` | `CustomImageConfig` | Custom image files (PNG/JPEG) for light/dark themes |
|
|
91
|
+
| `iconColors` | `IconColorConfig` | Icon color overrides (light/dark/hover) |
|
|
92
|
+
| `titleColors` | `TitleColorConfig` | Title color overrides (light/dark/hover) |
|
|
93
|
+
| `disableAnimation`| `boolean` | Disable hover animation (default: false) |
|
|
94
|
+
| `link` | `string` | Link URL when clicked |
|
|
95
|
+
|
|
96
|
+
## Examples
|
|
97
|
+
|
|
98
|
+
### With Iconify Icons
|
|
99
|
+
|
|
100
|
+
```mdx
|
|
101
|
+
<IconContainersSection>
|
|
102
|
+
<IconContainerBlock
|
|
103
|
+
title="Linux Knowledge"
|
|
104
|
+
iconify="mdi:linux"
|
|
105
|
+
link="/docs/linux"
|
|
106
|
+
/>
|
|
107
|
+
<IconContainerBlock
|
|
108
|
+
title="Git Basics"
|
|
109
|
+
iconify="mdi:git"
|
|
110
|
+
link="/docs/git"
|
|
111
|
+
/>
|
|
112
|
+
<IconContainerBlock
|
|
113
|
+
title="Docker Basics"
|
|
114
|
+
iconify="mdi:docker"
|
|
115
|
+
link="/docs/docker"
|
|
116
|
+
/>
|
|
117
|
+
</IconContainersSection>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### With Custom Colors
|
|
121
|
+
|
|
122
|
+
```mdx
|
|
123
|
+
<IconContainersSection>
|
|
124
|
+
<IconContainerBlock
|
|
125
|
+
title="Linux Knowledge"
|
|
126
|
+
iconify="mdi:linux"
|
|
127
|
+
iconColors={{
|
|
128
|
+
light: "#FCC624",
|
|
129
|
+
lightHover: "#DB9D0C",
|
|
130
|
+
dark: "#FFD65A",
|
|
131
|
+
darkHover: "#FFE89E"
|
|
132
|
+
}}
|
|
133
|
+
titleColors={{
|
|
134
|
+
light: "#333333",
|
|
135
|
+
lightHover: "#FCC624"
|
|
136
|
+
}}
|
|
137
|
+
link="/docs/linux"
|
|
138
|
+
/>
|
|
139
|
+
</IconContainersSection>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### With Custom SVG Images
|
|
143
|
+
|
|
144
|
+
```mdx
|
|
145
|
+
<IconContainersSection>
|
|
146
|
+
<IconContainerBlock
|
|
147
|
+
title="VS Code"
|
|
148
|
+
customSvg={{
|
|
149
|
+
light: "img/vscode-light.svg",
|
|
150
|
+
dark: "img/vscode-dark.svg",
|
|
151
|
+
}}
|
|
152
|
+
link="/docs/vscode"
|
|
153
|
+
/>
|
|
154
|
+
</IconContainersSection>
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### With Custom PNG/JPEG Images
|
|
158
|
+
|
|
159
|
+
```mdx
|
|
160
|
+
<IconContainersSection>
|
|
161
|
+
<IconContainerBlock
|
|
162
|
+
title="VS Code"
|
|
163
|
+
customImage={{
|
|
164
|
+
light: "img/vscode-light.png",
|
|
165
|
+
dark: "img/vscode-dark.png",
|
|
166
|
+
}}
|
|
167
|
+
link="/docs/vscode"
|
|
168
|
+
/>
|
|
169
|
+
</IconContainersSection>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Disable Animations
|
|
173
|
+
|
|
174
|
+
```mdx
|
|
175
|
+
<IconContainersSection>
|
|
176
|
+
<IconContainerBlock
|
|
177
|
+
title="Static Item"
|
|
178
|
+
iconify="mdi:information"
|
|
179
|
+
disableAnimation={true}
|
|
180
|
+
link="/docs/info"
|
|
181
|
+
/>
|
|
182
|
+
</IconContainersSection>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Custom Layout
|
|
186
|
+
|
|
187
|
+
```mdx
|
|
188
|
+
<IconContainersSection minWidth="250px" maxItemsPerRow="2">
|
|
189
|
+
<IconContainerBlock
|
|
190
|
+
title="Requirement 1"
|
|
191
|
+
iconify="mdi:check"
|
|
192
|
+
link="/docs/req1"
|
|
193
|
+
/>
|
|
194
|
+
<IconContainerBlock
|
|
195
|
+
title="Requirement 2"
|
|
196
|
+
iconify="mdi:check"
|
|
197
|
+
link="/docs/req2"
|
|
198
|
+
/>
|
|
199
|
+
<IconContainerBlock
|
|
200
|
+
title="Requirement 3"
|
|
201
|
+
iconify="mdi:check"
|
|
202
|
+
link="/docs/req3"
|
|
203
|
+
/>
|
|
204
|
+
<IconContainerBlock
|
|
205
|
+
title="Requirement 4"
|
|
206
|
+
iconify="mdi:check"
|
|
207
|
+
link="/docs/req4"
|
|
208
|
+
/>
|
|
209
|
+
</IconContainersSection>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Complete Example
|
|
213
|
+
|
|
214
|
+
```mdx
|
|
215
|
+
---
|
|
216
|
+
title: Course Icon Containers
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
import {
|
|
220
|
+
FancyHeader,
|
|
221
|
+
IconContainersSection,
|
|
222
|
+
IconContainerBlock,
|
|
223
|
+
} from "@sp-days-framework/docusaurus-frontpage-collection";
|
|
224
|
+
|
|
225
|
+
<FancyHeader>Icon Containers</FancyHeader>
|
|
226
|
+
|
|
227
|
+
Before starting this course, make sure you have:
|
|
228
|
+
|
|
229
|
+
<IconContainersSection>
|
|
230
|
+
<IconContainerBlock
|
|
231
|
+
id="programming"
|
|
232
|
+
title="Programming Basics"
|
|
233
|
+
iconify="mdi:code-braces"
|
|
234
|
+
link="/docs/programming-basics"
|
|
235
|
+
/>
|
|
236
|
+
<IconContainerBlock
|
|
237
|
+
id="terminal"
|
|
238
|
+
title="Terminal Usage"
|
|
239
|
+
iconify="mdi:console"
|
|
240
|
+
link="/docs/terminal"
|
|
241
|
+
/>
|
|
242
|
+
<IconContainerBlock
|
|
243
|
+
id="editor"
|
|
244
|
+
title="Code Editor"
|
|
245
|
+
iconify="mdi:file-code"
|
|
246
|
+
link="/docs/editor-setup"
|
|
247
|
+
/>
|
|
248
|
+
</IconContainersSection>
|
|
249
|
+
```
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import Tabs from "@theme/Tabs";
|
|
2
|
+
import TabItem from "@theme/TabItem";
|
|
3
|
+
import { Iconify } from "@sp-days-framework/docusaurus-frontpage-collection";
|
|
4
|
+
|
|
5
|
+
# Iconify
|
|
6
|
+
|
|
7
|
+
A simple component for adding Iconify icons to your MDX pages and documentation with theme-aware colors and flexible sizing.
|
|
8
|
+
|
|
9
|
+
<div className="preview">
|
|
10
|
+
<div className="container">
|
|
11
|
+
<Iconify icon="mdi:tools" />
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- **Theme-Aware Colors** - Automatic light/dark mode support
|
|
18
|
+
- **Flexible Sizing** - Control width, or let it default to 200px
|
|
19
|
+
- **Alignment Control** - Left, center, or right alignment on the page
|
|
20
|
+
- **Aspect Ratio** - Always maintains proper icon proportions
|
|
21
|
+
|
|
22
|
+
## Import
|
|
23
|
+
|
|
24
|
+
<Tabs>
|
|
25
|
+
<TabItem value="individual" label="Individual import" default>
|
|
26
|
+
```mdx
|
|
27
|
+
import { Iconify } from "@sp-days-framework/docusaurus-frontpage-collection";
|
|
28
|
+
```
|
|
29
|
+
</TabItem>
|
|
30
|
+
<TabItem value="default" label="Default import">
|
|
31
|
+
```mdx
|
|
32
|
+
import Iconify from "@sp-days-framework/docusaurus-frontpage-collection/lib/components/Iconify";
|
|
33
|
+
```
|
|
34
|
+
</TabItem>
|
|
35
|
+
</Tabs>
|
|
36
|
+
|
|
37
|
+
## Basic Usage
|
|
38
|
+
|
|
39
|
+
```mdx
|
|
40
|
+
<Iconify icon="mdi:tools" />
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Props
|
|
44
|
+
|
|
45
|
+
| Prop | Type | Default | Description |
|
|
46
|
+
| ------------ | ----------------------------- | ---------- | ---------------------------------------------- |
|
|
47
|
+
| `icon` | `string` | required | Iconify icon name (e.g., "mdi:tools") |
|
|
48
|
+
| `width` | `string` | `"200px"` | Icon width (e.g., "300px", "10rem") |
|
|
49
|
+
| `alignment` | `'left' \| 'center' \| 'right'` | `'center'` | Alignment of icon on the page |
|
|
50
|
+
| `iconColors` | `IconifyImageColorConfig` | primary | Color configuration for light/dark themes |
|
|
51
|
+
| `className` | `string` | - | Additional CSS class |
|
|
52
|
+
| `style` | `CSSProperties` | - | Additional inline styles |
|
|
53
|
+
|
|
54
|
+
### IconifyImageColorConfig
|
|
55
|
+
|
|
56
|
+
| Property | Type | Description |
|
|
57
|
+
| -------- | -------- | ----------------------------------------------------- |
|
|
58
|
+
| `light` | `string` | Icon color in light mode (default: --ifm-color-primary) |
|
|
59
|
+
| `dark` | `string` | Icon color in dark mode (default: --ifm-color-primary) |
|
|
60
|
+
|
|
61
|
+
:::tip
|
|
62
|
+
If only `light` is specified, `dark` will default to `--ifm-color-primary`. If only `dark` is specified, `light` will default to `--ifm-color-primary`.
|
|
63
|
+
:::
|
|
64
|
+
|
|
65
|
+
## Examples
|
|
66
|
+
|
|
67
|
+
### Default Settings
|
|
68
|
+
|
|
69
|
+
Default size (200px x 200px) and center alignment:
|
|
70
|
+
|
|
71
|
+
```mdx
|
|
72
|
+
<Iconify icon="mdi:docker" />
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
<Iconify icon="mdi:docker" />
|
|
76
|
+
|
|
77
|
+
### Custom Size
|
|
78
|
+
|
|
79
|
+
Control the size with `width`. The icon maintains aspect ratio:
|
|
80
|
+
|
|
81
|
+
```mdx
|
|
82
|
+
<Iconify icon="mdi:kubernetes" width="300px" />
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
<Iconify icon="mdi:kubernetes" width="300px" />
|
|
86
|
+
|
|
87
|
+
### Custom Alignment
|
|
88
|
+
|
|
89
|
+
Control where the icon appears on the page:
|
|
90
|
+
|
|
91
|
+
```mdx
|
|
92
|
+
<Iconify icon="mdi:git" alignment="left" width="150px" />
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
<Iconify icon="mdi:git" alignment="left" width="150px" />
|
|
96
|
+
|
|
97
|
+
```mdx
|
|
98
|
+
<Iconify icon="mdi:github" alignment="right" width="150px" />
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
<Iconify icon="mdi:github" alignment="right" width="150px" />
|
|
102
|
+
|
|
103
|
+
### Custom Colors
|
|
104
|
+
|
|
105
|
+
Specify different colors for light and dark themes:
|
|
106
|
+
|
|
107
|
+
```mdx
|
|
108
|
+
<Iconify
|
|
109
|
+
icon="mdi:docker"
|
|
110
|
+
iconColors={{
|
|
111
|
+
light: "#2496ED",
|
|
112
|
+
dark: "#2496ED"
|
|
113
|
+
}}
|
|
114
|
+
width="250px"
|
|
115
|
+
/>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
<Iconify
|
|
119
|
+
icon="mdi:docker"
|
|
120
|
+
iconColors={{
|
|
121
|
+
light: "#2496ED",
|
|
122
|
+
dark: "#2496ED"
|
|
123
|
+
}}
|
|
124
|
+
width="250px"
|
|
125
|
+
/>
|
|
126
|
+
|
|
127
|
+
```mdx
|
|
128
|
+
<Iconify
|
|
129
|
+
icon="mdi:kubernetes"
|
|
130
|
+
iconColors={{
|
|
131
|
+
light: "#326CE5",
|
|
132
|
+
dark: "#76A9FA"
|
|
133
|
+
}}
|
|
134
|
+
width="250px"
|
|
135
|
+
/>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
<Iconify
|
|
139
|
+
icon="mdi:kubernetes"
|
|
140
|
+
iconColors={{
|
|
141
|
+
light: "#326CE5",
|
|
142
|
+
dark: "#76A9FA"
|
|
143
|
+
}}
|
|
144
|
+
width="250px"
|
|
145
|
+
/>
|
|
146
|
+
|
|
147
|
+
### Only Specify One Color
|
|
148
|
+
|
|
149
|
+
If you only specify `light`, the dark mode defaults to primary color:
|
|
150
|
+
|
|
151
|
+
```mdx
|
|
152
|
+
<Iconify
|
|
153
|
+
icon="mdi:react"
|
|
154
|
+
iconColors={{
|
|
155
|
+
light: "#61DAFB"
|
|
156
|
+
}}
|
|
157
|
+
width="200px"
|
|
158
|
+
/>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
<Iconify
|
|
162
|
+
icon="mdi:react"
|
|
163
|
+
iconColors={{
|
|
164
|
+
light: "#61DAFB"
|
|
165
|
+
}}
|
|
166
|
+
width="200px"
|
|
167
|
+
/>
|
|
168
|
+
|
|
169
|
+
## Finding Icons
|
|
170
|
+
|
|
171
|
+
Browse the full Iconify icon collection at [Iconify Icon Sets](https://icon-sets.iconify.design/).
|
|
172
|
+
|
|
173
|
+
Popular icon sets include:
|
|
174
|
+
- **Material Design Icons** - `mdi:icon-name`
|
|
175
|
+
- **Font Awesome** - `fa:icon-name` or `fa-brands:icon-name`
|
|
176
|
+
- **Simple Icons** - `simple-icons:brand-name`
|
|
177
|
+
- **Heroicons** - `heroicons:icon-name`
|
|
178
|
+
- **Lucide** - `lucide:icon-name`
|
|
179
|
+
|
|
180
|
+
## Use Cases
|
|
181
|
+
|
|
182
|
+
### In Documentation
|
|
183
|
+
|
|
184
|
+
Add visual elements to your documentation:
|
|
185
|
+
|
|
186
|
+
```mdx
|
|
187
|
+
## Prerequisites
|
|
188
|
+
|
|
189
|
+
Before starting, you'll need:
|
|
190
|
+
|
|
191
|
+
<Iconify icon="mdi:docker" width="100px" />
|
|
192
|
+
|
|
193
|
+
Docker installed on your system.
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### In Landing Pages
|
|
197
|
+
|
|
198
|
+
Create visual interest on landing pages:
|
|
199
|
+
|
|
200
|
+
```mdx
|
|
201
|
+
---
|
|
202
|
+
title: Course Overview
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
# Welcome to Our Course
|
|
206
|
+
|
|
207
|
+
<Iconify icon="mdi:school" width="300px" />
|
|
208
|
+
|
|
209
|
+
Learn the fundamentals with hands-on examples.
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Multiple Icons in a Row
|
|
213
|
+
|
|
214
|
+
Place multiple icons side-by-side using markdown or HTML:
|
|
215
|
+
|
|
216
|
+
```mdx
|
|
217
|
+
<div style={{ display: 'flex', justifyContent: 'center', gap: '2rem' }}>
|
|
218
|
+
<Iconify icon="mdi:docker" width="150px" alignment="center" />
|
|
219
|
+
<Iconify icon="mdi:kubernetes" width="150px" alignment="center" />
|
|
220
|
+
<Iconify icon="mdi:git" width="150px" alignment="center" />
|
|
221
|
+
</div>
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
<div style={{ display: 'flex', justifyContent: 'center', gap: '2rem' }}>
|
|
225
|
+
<Iconify icon="mdi:docker" width="150px" alignment="center" />
|
|
226
|
+
<Iconify icon="mdi:kubernetes" width="150px" alignment="center" />
|
|
227
|
+
<Iconify icon="mdi:git" width="150px" alignment="center" />
|
|
228
|
+
</div>
|