@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,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>
@@ -0,0 +1,2 @@
1
+ position: 2
2
+ label: 'Components'