portfolify 2.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/dist/commands/generate.d.ts +7 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +129 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/portfolio.d.ts +12 -0
- package/dist/commands/portfolio.d.ts.map +1 -0
- package/dist/commands/portfolio.js +292 -0
- package/dist/commands/portfolio.js.map +1 -0
- package/dist/generator/index.d.ts +3 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +572 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/portfolio-generator.d.ts +4 -0
- package/dist/generator/portfolio-generator.d.ts.map +1 -0
- package/dist/generator/portfolio-generator.js +1577 -0
- package/dist/generator/portfolio-generator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/index.d.ts +81 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +330 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/portfolio-prompts.d.ts +60 -0
- package/dist/prompts/portfolio-prompts.d.ts.map +1 -0
- package/dist/prompts/portfolio-prompts.js +635 -0
- package/dist/prompts/portfolio-prompts.js.map +1 -0
- package/dist/themes/index.d.ts +15 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +64 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/utils/file.d.ts +5 -0
- package/dist/utils/file.d.ts.map +1 -0
- package/dist/utils/file.js +33 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +22 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/validator.d.ts +27 -0
- package/dist/utils/validator.d.ts.map +1 -0
- package/dist/utils/validator.js +322 -0
- package/dist/utils/validator.js.map +1 -0
- package/package.json +66 -0
- package/templates/index.html +16 -0
- package/templates/package.json +37 -0
- package/templates/postcss.config.js +6 -0
- package/templates/src/App.tsx +56 -0
- package/templates/src/components/Blog.tsx +119 -0
- package/templates/src/components/Footer.tsx +206 -0
- package/templates/src/components/Hero.tsx +182 -0
- package/templates/src/components/Projects.tsx +130 -0
- package/templates/src/components/SEO.tsx +38 -0
- package/templates/src/components/Skills.tsx +107 -0
- package/templates/src/components/ThemeToggle.tsx +39 -0
- package/templates/src/config/portfolio.json +61 -0
- package/templates/src/content/blog/welcome.mdx +29 -0
- package/templates/src/lib/blog.ts +63 -0
- package/templates/src/lib/utils.ts +6 -0
- package/templates/src/main.tsx +13 -0
- package/templates/src/styles/globals.css +123 -0
- package/templates/tailwind.config.js +65 -0
- package/templates/tsconfig.json +37 -0
- package/templates/tsconfig.node.json +12 -0
- package/templates/vite.config.ts +24 -0
|
@@ -0,0 +1,635 @@
|
|
|
1
|
+
import inquirer from 'inquirer';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
// 10+ Portfolio Types
|
|
4
|
+
export const portfolioTypes = [
|
|
5
|
+
// Professional Category
|
|
6
|
+
{
|
|
7
|
+
name: 'Programmer / Developer',
|
|
8
|
+
value: 'developer',
|
|
9
|
+
category: 'Professional',
|
|
10
|
+
emoji: '💻',
|
|
11
|
+
defaultRole: 'Full Stack Developer',
|
|
12
|
+
defaultBio: 'Passionate developer creating innovative solutions with modern technologies.',
|
|
13
|
+
defaultSkills: ['React', 'Node.js', 'TypeScript', 'Python', 'AWS', 'Docker', 'Git'],
|
|
14
|
+
defaultColors: {
|
|
15
|
+
primary: '220 90% 56%',
|
|
16
|
+
secondary: '280 80% 60%',
|
|
17
|
+
accent: '142 76% 36%',
|
|
18
|
+
background: '224 71% 4%',
|
|
19
|
+
foreground: '213 31% 91%',
|
|
20
|
+
muted: '223 47% 11%'
|
|
21
|
+
},
|
|
22
|
+
suggestedFeatures: ['blog', 'gallery']
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: 'Designer / Graphic Designer',
|
|
26
|
+
value: 'designer',
|
|
27
|
+
category: 'Creative',
|
|
28
|
+
emoji: '🎨',
|
|
29
|
+
defaultRole: 'UI/UX Designer',
|
|
30
|
+
defaultBio: 'Creative designer crafting beautiful and intuitive user experiences.',
|
|
31
|
+
defaultSkills: ['Figma', 'Adobe XD', 'Photoshop', 'Illustrator', 'Prototyping', 'Design Systems'],
|
|
32
|
+
defaultColors: {
|
|
33
|
+
primary: '330 80% 60%',
|
|
34
|
+
secondary: '270 70% 60%',
|
|
35
|
+
accent: '45 93% 58%',
|
|
36
|
+
background: '280 30% 5%',
|
|
37
|
+
foreground: '300 20% 95%',
|
|
38
|
+
muted: '280 20% 12%'
|
|
39
|
+
},
|
|
40
|
+
suggestedFeatures: ['gallery', 'testimonials']
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Photographer',
|
|
44
|
+
value: 'photographer',
|
|
45
|
+
category: 'Creative',
|
|
46
|
+
emoji: '📷',
|
|
47
|
+
defaultRole: 'Professional Photographer',
|
|
48
|
+
defaultBio: 'Capturing moments and telling stories through the lens.',
|
|
49
|
+
defaultSkills: ['Portrait', 'Landscape', 'Wedding', 'Product', 'Lightroom', 'Photoshop'],
|
|
50
|
+
defaultColors: {
|
|
51
|
+
primary: '0 0% 20%',
|
|
52
|
+
secondary: '0 0% 40%',
|
|
53
|
+
accent: '45 100% 50%',
|
|
54
|
+
background: '0 0% 3%',
|
|
55
|
+
foreground: '0 0% 98%',
|
|
56
|
+
muted: '0 0% 10%'
|
|
57
|
+
},
|
|
58
|
+
suggestedFeatures: ['gallery', 'contactForm']
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Writer / Author',
|
|
62
|
+
value: 'writer',
|
|
63
|
+
category: 'Professional',
|
|
64
|
+
emoji: '✍️',
|
|
65
|
+
defaultRole: 'Content Writer & Author',
|
|
66
|
+
defaultBio: 'Wordsmith crafting compelling stories and engaging content.',
|
|
67
|
+
defaultSkills: ['Creative Writing', 'Copywriting', 'Content Strategy', 'SEO', 'Editing', 'Research'],
|
|
68
|
+
defaultColors: {
|
|
69
|
+
primary: '30 50% 45%',
|
|
70
|
+
secondary: '25 40% 55%',
|
|
71
|
+
accent: '200 80% 50%',
|
|
72
|
+
background: '40 20% 6%',
|
|
73
|
+
foreground: '40 30% 95%',
|
|
74
|
+
muted: '35 15% 12%'
|
|
75
|
+
},
|
|
76
|
+
suggestedFeatures: ['blog', 'testimonials']
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'Musician / Artist',
|
|
80
|
+
value: 'musician',
|
|
81
|
+
category: 'Creative',
|
|
82
|
+
emoji: '🎵',
|
|
83
|
+
defaultRole: 'Music Producer & Artist',
|
|
84
|
+
defaultBio: 'Creating melodies that move souls and rhythms that inspire.',
|
|
85
|
+
defaultSkills: ['Music Production', 'Mixing', 'Mastering', 'Composition', 'Live Performance', 'Vocals'],
|
|
86
|
+
defaultColors: {
|
|
87
|
+
primary: '280 70% 55%',
|
|
88
|
+
secondary: '320 60% 50%',
|
|
89
|
+
accent: '45 100% 55%',
|
|
90
|
+
background: '260 30% 5%',
|
|
91
|
+
foreground: '280 20% 95%',
|
|
92
|
+
muted: '270 20% 12%'
|
|
93
|
+
},
|
|
94
|
+
suggestedFeatures: ['gallery', 'contactForm']
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'Salon / Spa',
|
|
98
|
+
value: 'salon-spa',
|
|
99
|
+
category: 'Beauty',
|
|
100
|
+
emoji: '💇',
|
|
101
|
+
defaultRole: 'Beauty & Wellness Expert',
|
|
102
|
+
defaultBio: 'Providing premium beauty and wellness services for your complete transformation.',
|
|
103
|
+
defaultSkills: ['Hair Styling', 'Makeup', 'Skincare', 'Nail Art', 'Spa Treatments', 'Bridal'],
|
|
104
|
+
defaultColors: {
|
|
105
|
+
primary: '350 80% 65%',
|
|
106
|
+
secondary: '320 60% 55%',
|
|
107
|
+
accent: '30 80% 60%',
|
|
108
|
+
background: '340 20% 5%',
|
|
109
|
+
foreground: '340 20% 95%',
|
|
110
|
+
muted: '340 15% 12%'
|
|
111
|
+
},
|
|
112
|
+
suggestedFeatures: ['gallery', 'testimonials', 'contactForm']
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'Restaurant / Cafe',
|
|
116
|
+
value: 'restaurant',
|
|
117
|
+
category: 'Food',
|
|
118
|
+
emoji: '🍽️',
|
|
119
|
+
defaultRole: 'Restaurant & Culinary',
|
|
120
|
+
defaultBio: 'Serving delicious cuisines and memorable dining experiences.',
|
|
121
|
+
defaultSkills: ['Fine Dining', 'Casual Cuisine', 'Desserts', 'Beverages', 'Catering', 'Private Events'],
|
|
122
|
+
defaultColors: {
|
|
123
|
+
primary: '25 80% 50%',
|
|
124
|
+
secondary: '15 70% 45%',
|
|
125
|
+
accent: '45 90% 55%',
|
|
126
|
+
background: '20 25% 6%',
|
|
127
|
+
foreground: '30 30% 95%',
|
|
128
|
+
muted: '25 20% 12%'
|
|
129
|
+
},
|
|
130
|
+
suggestedFeatures: ['gallery', 'contactForm', 'testimonials']
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: 'Freelancer / Consultant',
|
|
134
|
+
value: 'freelancer',
|
|
135
|
+
category: 'Professional',
|
|
136
|
+
emoji: '💼',
|
|
137
|
+
defaultRole: 'Freelance Consultant',
|
|
138
|
+
defaultBio: 'Helping businesses grow with strategic insights and expert solutions.',
|
|
139
|
+
defaultSkills: ['Strategy', 'Project Management', 'Business Analysis', 'Marketing', 'Consulting', 'Leadership'],
|
|
140
|
+
defaultColors: {
|
|
141
|
+
primary: '210 80% 50%',
|
|
142
|
+
secondary: '200 70% 45%',
|
|
143
|
+
accent: '45 90% 55%',
|
|
144
|
+
background: '220 30% 6%',
|
|
145
|
+
foreground: '210 30% 95%',
|
|
146
|
+
muted: '215 20% 12%'
|
|
147
|
+
},
|
|
148
|
+
suggestedFeatures: ['testimonials', 'contactForm', 'blog']
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
name: 'Startup / Business',
|
|
152
|
+
value: 'startup',
|
|
153
|
+
category: 'Business',
|
|
154
|
+
emoji: '🚀',
|
|
155
|
+
defaultRole: 'Startup & Business',
|
|
156
|
+
defaultBio: 'Innovative startup transforming ideas into reality.',
|
|
157
|
+
defaultSkills: ['Innovation', 'Technology', 'Growth', 'Product Development', 'Funding', 'Team Building'],
|
|
158
|
+
defaultColors: {
|
|
159
|
+
primary: '250 80% 60%',
|
|
160
|
+
secondary: '220 70% 55%',
|
|
161
|
+
accent: '170 80% 45%',
|
|
162
|
+
background: '230 30% 5%',
|
|
163
|
+
foreground: '240 20% 95%',
|
|
164
|
+
muted: '235 20% 12%'
|
|
165
|
+
},
|
|
166
|
+
suggestedFeatures: ['blog', 'testimonials', 'contactForm']
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: 'Personal / Resume',
|
|
170
|
+
value: 'personal',
|
|
171
|
+
category: 'Personal',
|
|
172
|
+
emoji: '👤',
|
|
173
|
+
defaultRole: 'Professional',
|
|
174
|
+
defaultBio: 'Dedicated professional with a passion for excellence.',
|
|
175
|
+
defaultSkills: ['Communication', 'Leadership', 'Problem Solving', 'Team Collaboration', 'Time Management'],
|
|
176
|
+
defaultColors: {
|
|
177
|
+
primary: '200 60% 50%',
|
|
178
|
+
secondary: '180 50% 45%',
|
|
179
|
+
accent: '45 80% 55%',
|
|
180
|
+
background: '210 25% 6%',
|
|
181
|
+
foreground: '200 25% 95%',
|
|
182
|
+
muted: '205 18% 12%'
|
|
183
|
+
},
|
|
184
|
+
suggestedFeatures: ['contactForm']
|
|
185
|
+
},
|
|
186
|
+
// Additional Types
|
|
187
|
+
{
|
|
188
|
+
name: 'Fitness Trainer',
|
|
189
|
+
value: 'fitness',
|
|
190
|
+
category: 'Personal',
|
|
191
|
+
emoji: '💪',
|
|
192
|
+
defaultRole: 'Fitness & Wellness Coach',
|
|
193
|
+
defaultBio: 'Helping you achieve your fitness goals with personalized training.',
|
|
194
|
+
defaultSkills: ['Personal Training', 'Nutrition', 'Weight Loss', 'Strength Training', 'HIIT', 'Yoga'],
|
|
195
|
+
defaultColors: {
|
|
196
|
+
primary: '142 70% 45%',
|
|
197
|
+
secondary: '160 60% 40%',
|
|
198
|
+
accent: '25 90% 55%',
|
|
199
|
+
background: '150 25% 5%',
|
|
200
|
+
foreground: '145 20% 95%',
|
|
201
|
+
muted: '148 18% 12%'
|
|
202
|
+
},
|
|
203
|
+
suggestedFeatures: ['testimonials', 'gallery', 'contactForm']
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
name: 'Real Estate Agent',
|
|
207
|
+
value: 'realestate',
|
|
208
|
+
category: 'Business',
|
|
209
|
+
emoji: '🏠',
|
|
210
|
+
defaultRole: 'Real Estate Professional',
|
|
211
|
+
defaultBio: 'Helping you find your dream property with expert guidance.',
|
|
212
|
+
defaultSkills: ['Property Sales', 'Rentals', 'Market Analysis', 'Negotiation', 'Property Management', 'Investment'],
|
|
213
|
+
defaultColors: {
|
|
214
|
+
primary: '25 70% 50%',
|
|
215
|
+
secondary: '35 60% 45%',
|
|
216
|
+
accent: '200 80% 50%',
|
|
217
|
+
background: '30 20% 6%',
|
|
218
|
+
foreground: '25 25% 95%',
|
|
219
|
+
muted: '28 15% 12%'
|
|
220
|
+
},
|
|
221
|
+
suggestedFeatures: ['gallery', 'contactForm', 'testimonials']
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
name: 'Healthcare Professional',
|
|
225
|
+
value: 'healthcare',
|
|
226
|
+
category: 'Professional',
|
|
227
|
+
emoji: '🏥',
|
|
228
|
+
defaultRole: 'Healthcare Professional',
|
|
229
|
+
defaultBio: 'Providing compassionate care and medical expertise.',
|
|
230
|
+
defaultSkills: ['Patient Care', 'Diagnosis', 'Treatment', 'Medical Research', 'Health Education', 'Wellness'],
|
|
231
|
+
defaultColors: {
|
|
232
|
+
primary: '200 80% 50%',
|
|
233
|
+
secondary: '180 70% 45%',
|
|
234
|
+
accent: '142 60% 45%',
|
|
235
|
+
background: '195 25% 5%',
|
|
236
|
+
foreground: '200 20% 95%',
|
|
237
|
+
muted: '198 18% 12%'
|
|
238
|
+
},
|
|
239
|
+
suggestedFeatures: ['testimonials', 'contactForm', 'blog']
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
name: 'Educator / Teacher',
|
|
243
|
+
value: 'educator',
|
|
244
|
+
category: 'Professional',
|
|
245
|
+
emoji: '📚',
|
|
246
|
+
defaultRole: 'Educator & Mentor',
|
|
247
|
+
defaultBio: 'Inspiring minds and shaping futures through education.',
|
|
248
|
+
defaultSkills: ['Teaching', 'Curriculum Design', 'Online Education', 'Mentoring', 'Research', 'Public Speaking'],
|
|
249
|
+
defaultColors: {
|
|
250
|
+
primary: '220 70% 50%',
|
|
251
|
+
secondary: '200 60% 45%',
|
|
252
|
+
accent: '45 85% 55%',
|
|
253
|
+
background: '215 25% 5%',
|
|
254
|
+
foreground: '220 20% 95%',
|
|
255
|
+
muted: '218 18% 12%'
|
|
256
|
+
},
|
|
257
|
+
suggestedFeatures: ['blog', 'testimonials', 'contactForm']
|
|
258
|
+
}
|
|
259
|
+
];
|
|
260
|
+
// Predefined color schemes
|
|
261
|
+
export const colorSchemes = [
|
|
262
|
+
{
|
|
263
|
+
name: 'Ocean Blue',
|
|
264
|
+
value: 'ocean-blue',
|
|
265
|
+
colors: {
|
|
266
|
+
primary: '210 90% 55%',
|
|
267
|
+
secondary: '200 80% 50%',
|
|
268
|
+
accent: '180 70% 45%',
|
|
269
|
+
background: '215 30% 5%',
|
|
270
|
+
foreground: '210 25% 95%',
|
|
271
|
+
muted: '212 20% 12%'
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
name: 'Forest Green',
|
|
276
|
+
value: 'forest-green',
|
|
277
|
+
colors: {
|
|
278
|
+
primary: '142 70% 45%',
|
|
279
|
+
secondary: '160 60% 40%',
|
|
280
|
+
accent: '80 60% 45%',
|
|
281
|
+
background: '150 25% 5%',
|
|
282
|
+
foreground: '145 20% 95%',
|
|
283
|
+
muted: '148 18% 12%'
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
name: 'Sunset Orange',
|
|
288
|
+
value: 'sunset-orange',
|
|
289
|
+
colors: {
|
|
290
|
+
primary: '25 90% 55%',
|
|
291
|
+
secondary: '15 80% 50%',
|
|
292
|
+
accent: '45 95% 55%',
|
|
293
|
+
background: '20 25% 5%',
|
|
294
|
+
foreground: '25 20% 95%',
|
|
295
|
+
muted: '22 18% 12%'
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
name: 'Royal Purple',
|
|
300
|
+
value: 'royal-purple',
|
|
301
|
+
colors: {
|
|
302
|
+
primary: '270 70% 55%',
|
|
303
|
+
secondary: '280 60% 50%',
|
|
304
|
+
accent: '330 70% 55%',
|
|
305
|
+
background: '265 25% 5%',
|
|
306
|
+
foreground: '270 20% 95%',
|
|
307
|
+
muted: '268 18% 12%'
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: 'Elegant Rose',
|
|
312
|
+
value: 'elegant-rose',
|
|
313
|
+
colors: {
|
|
314
|
+
primary: '350 70% 60%',
|
|
315
|
+
secondary: '330 60% 55%',
|
|
316
|
+
accent: '45 80% 55%',
|
|
317
|
+
background: '345 20% 5%',
|
|
318
|
+
foreground: '350 18% 95%',
|
|
319
|
+
muted: '348 15% 12%'
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
name: 'Minimal Mono',
|
|
324
|
+
value: 'minimal-mono',
|
|
325
|
+
colors: {
|
|
326
|
+
primary: '0 0% 20%',
|
|
327
|
+
secondary: '0 0% 40%',
|
|
328
|
+
accent: '0 0% 60%',
|
|
329
|
+
background: '0 0% 3%',
|
|
330
|
+
foreground: '0 0% 98%',
|
|
331
|
+
muted: '0 0% 12%'
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
name: 'Tech Cyan',
|
|
336
|
+
value: 'tech-cyan',
|
|
337
|
+
colors: {
|
|
338
|
+
primary: '185 80% 50%',
|
|
339
|
+
secondary: '195 70% 45%',
|
|
340
|
+
accent: '220 80% 55%',
|
|
341
|
+
background: '190 25% 5%',
|
|
342
|
+
foreground: '185 20% 95%',
|
|
343
|
+
muted: '188 18% 12%'
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
];
|
|
347
|
+
export async function collectPortfolioData() {
|
|
348
|
+
console.log(chalk.cyan('\nSelect your portfolio configuration:\n'));
|
|
349
|
+
// Group portfolio types by category
|
|
350
|
+
const groupedTypes = portfolioTypes.reduce((acc, type) => {
|
|
351
|
+
if (!acc[type.category]) {
|
|
352
|
+
acc[type.category] = [];
|
|
353
|
+
}
|
|
354
|
+
acc[type.category].push(type);
|
|
355
|
+
return acc;
|
|
356
|
+
}, {});
|
|
357
|
+
// Create choices with separators
|
|
358
|
+
const typeChoices = [];
|
|
359
|
+
for (const [category, types] of Object.entries(groupedTypes)) {
|
|
360
|
+
typeChoices.push(new inquirer.Separator(chalk.gray(`── ${category} ──`)));
|
|
361
|
+
types.forEach(type => {
|
|
362
|
+
typeChoices.push({
|
|
363
|
+
name: `${type.emoji} ${type.name}`,
|
|
364
|
+
value: type.value
|
|
365
|
+
});
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
const { portfolioType } = await inquirer.prompt([
|
|
369
|
+
{
|
|
370
|
+
type: 'list',
|
|
371
|
+
name: 'portfolioType',
|
|
372
|
+
message: 'Select portfolio type:',
|
|
373
|
+
choices: typeChoices,
|
|
374
|
+
pageSize: 15
|
|
375
|
+
}
|
|
376
|
+
]);
|
|
377
|
+
const selectedType = portfolioTypes.find(t => t.value === portfolioType);
|
|
378
|
+
// Color scheme selection
|
|
379
|
+
const colorChoices = [
|
|
380
|
+
{
|
|
381
|
+
name: `🎨 Use default (${selectedType.name} theme)`,
|
|
382
|
+
value: 'default'
|
|
383
|
+
},
|
|
384
|
+
new inquirer.Separator(chalk.gray('── Predefined Schemes ──')),
|
|
385
|
+
...colorSchemes.map(c => ({
|
|
386
|
+
name: ` ${c.name}`,
|
|
387
|
+
value: c.value
|
|
388
|
+
})),
|
|
389
|
+
new inquirer.Separator(chalk.gray('──────────────────────')),
|
|
390
|
+
{
|
|
391
|
+
name: '🎯 Custom colors (enter HSL values)',
|
|
392
|
+
value: 'custom'
|
|
393
|
+
}
|
|
394
|
+
];
|
|
395
|
+
const { colorScheme: colorChoice } = await inquirer.prompt([
|
|
396
|
+
{
|
|
397
|
+
type: 'list',
|
|
398
|
+
name: 'colorScheme',
|
|
399
|
+
message: 'Choose color scheme:',
|
|
400
|
+
choices: colorChoices
|
|
401
|
+
}
|
|
402
|
+
]);
|
|
403
|
+
let colorScheme;
|
|
404
|
+
if (colorChoice === 'default') {
|
|
405
|
+
colorScheme = {
|
|
406
|
+
name: 'Default',
|
|
407
|
+
value: 'default',
|
|
408
|
+
colors: selectedType.defaultColors
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
else if (colorChoice === 'custom') {
|
|
412
|
+
const customColors = await inquirer.prompt([
|
|
413
|
+
{
|
|
414
|
+
type: 'input',
|
|
415
|
+
name: 'primary',
|
|
416
|
+
message: 'Primary color (HSL, e.g., "220 90% 56%"):',
|
|
417
|
+
default: '220 90% 56%'
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
type: 'input',
|
|
421
|
+
name: 'secondary',
|
|
422
|
+
message: 'Secondary color (HSL):',
|
|
423
|
+
default: '200 80% 50%'
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
type: 'input',
|
|
427
|
+
name: 'accent',
|
|
428
|
+
message: 'Accent color (HSL):',
|
|
429
|
+
default: '45 90% 55%'
|
|
430
|
+
}
|
|
431
|
+
]);
|
|
432
|
+
colorScheme = {
|
|
433
|
+
name: 'Custom',
|
|
434
|
+
value: 'custom',
|
|
435
|
+
colors: {
|
|
436
|
+
...customColors,
|
|
437
|
+
background: '220 30% 5%',
|
|
438
|
+
foreground: '210 25% 95%',
|
|
439
|
+
muted: '215 20% 12%'
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
colorScheme = colorSchemes.find(c => c.value === colorChoice);
|
|
445
|
+
}
|
|
446
|
+
// Layout selection
|
|
447
|
+
const { layout } = await inquirer.prompt([
|
|
448
|
+
{
|
|
449
|
+
type: 'list',
|
|
450
|
+
name: 'layout',
|
|
451
|
+
message: 'Choose layout style:',
|
|
452
|
+
choices: [
|
|
453
|
+
{ name: '📄 Single Page (scrolling sections)', value: 'single-page' },
|
|
454
|
+
{ name: '📚 Multi-Page (separate pages)', value: 'multi-page' }
|
|
455
|
+
]
|
|
456
|
+
}
|
|
457
|
+
]);
|
|
458
|
+
// Framework selection
|
|
459
|
+
const { framework } = await inquirer.prompt([
|
|
460
|
+
{
|
|
461
|
+
type: 'list',
|
|
462
|
+
name: 'framework',
|
|
463
|
+
message: 'Select framework:',
|
|
464
|
+
choices: [
|
|
465
|
+
{ name: '⚡ React + Vite (Fast, lightweight)', value: 'react-vite' },
|
|
466
|
+
{ name: '🔺 Next.js (Full-featured, SSR)', value: 'nextjs' },
|
|
467
|
+
{ name: '🔶 SvelteKit (Modern, performant)', value: 'sveltekit' }
|
|
468
|
+
]
|
|
469
|
+
}
|
|
470
|
+
]);
|
|
471
|
+
// Features selection
|
|
472
|
+
const suggestedFeatures = selectedType.suggestedFeatures;
|
|
473
|
+
const { features } = await inquirer.prompt([
|
|
474
|
+
{
|
|
475
|
+
type: 'checkbox',
|
|
476
|
+
name: 'features',
|
|
477
|
+
message: 'Select features to include:',
|
|
478
|
+
choices: [
|
|
479
|
+
{
|
|
480
|
+
name: '📬 Contact Form',
|
|
481
|
+
value: 'contactForm',
|
|
482
|
+
checked: suggestedFeatures.includes('contactForm')
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
name: '🖼️ Gallery / Portfolio Showcase',
|
|
486
|
+
value: 'gallery',
|
|
487
|
+
checked: suggestedFeatures.includes('gallery')
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
name: '📝 Blog Section',
|
|
491
|
+
value: 'blog',
|
|
492
|
+
checked: suggestedFeatures.includes('blog')
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
name: '⭐ Testimonials',
|
|
496
|
+
value: 'testimonials',
|
|
497
|
+
checked: suggestedFeatures.includes('testimonials')
|
|
498
|
+
}
|
|
499
|
+
]
|
|
500
|
+
}
|
|
501
|
+
]);
|
|
502
|
+
// User information
|
|
503
|
+
console.log(chalk.cyan('\n📝 Enter your information:\n'));
|
|
504
|
+
const userData = await inquirer.prompt([
|
|
505
|
+
{
|
|
506
|
+
type: 'input',
|
|
507
|
+
name: 'name',
|
|
508
|
+
message: 'Your name:',
|
|
509
|
+
default: 'John Doe'
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
type: 'input',
|
|
513
|
+
name: 'role',
|
|
514
|
+
message: 'Your role/title:',
|
|
515
|
+
default: selectedType.defaultRole
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
type: 'input',
|
|
519
|
+
name: 'bio',
|
|
520
|
+
message: 'Short bio:',
|
|
521
|
+
default: selectedType.defaultBio
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
type: 'input',
|
|
525
|
+
name: 'skills',
|
|
526
|
+
message: 'Skills (comma-separated):',
|
|
527
|
+
default: selectedType.defaultSkills.join(', '),
|
|
528
|
+
filter: (input) => input.split(',').map(s => s.trim()).filter(Boolean)
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
type: 'input',
|
|
532
|
+
name: 'email',
|
|
533
|
+
message: 'Email:',
|
|
534
|
+
default: 'hello@example.com'
|
|
535
|
+
}
|
|
536
|
+
]);
|
|
537
|
+
// Social links based on portfolio type
|
|
538
|
+
const socialPrompts = getSocialPrompts(selectedType.category);
|
|
539
|
+
const socialData = await inquirer.prompt(socialPrompts);
|
|
540
|
+
// Validation option
|
|
541
|
+
const { runValidation } = await inquirer.prompt([
|
|
542
|
+
{
|
|
543
|
+
type: 'confirm',
|
|
544
|
+
name: 'runValidation',
|
|
545
|
+
message: 'Run code validation after generation?',
|
|
546
|
+
default: true
|
|
547
|
+
}
|
|
548
|
+
]);
|
|
549
|
+
return {
|
|
550
|
+
type: selectedType,
|
|
551
|
+
colorScheme,
|
|
552
|
+
layout,
|
|
553
|
+
framework,
|
|
554
|
+
features: {
|
|
555
|
+
contactForm: features.includes('contactForm'),
|
|
556
|
+
gallery: features.includes('gallery'),
|
|
557
|
+
blog: features.includes('blog'),
|
|
558
|
+
testimonials: features.includes('testimonials')
|
|
559
|
+
},
|
|
560
|
+
userData: {
|
|
561
|
+
...userData,
|
|
562
|
+
social: socialData
|
|
563
|
+
},
|
|
564
|
+
runValidation
|
|
565
|
+
};
|
|
566
|
+
}
|
|
567
|
+
function getSocialPrompts(category) {
|
|
568
|
+
const basePrompts = [
|
|
569
|
+
{
|
|
570
|
+
type: 'input',
|
|
571
|
+
name: 'linkedin',
|
|
572
|
+
message: 'LinkedIn URL (optional):',
|
|
573
|
+
default: ''
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
type: 'input',
|
|
577
|
+
name: 'twitter',
|
|
578
|
+
message: 'Twitter/X URL (optional):',
|
|
579
|
+
default: ''
|
|
580
|
+
}
|
|
581
|
+
];
|
|
582
|
+
if (category === 'Professional') {
|
|
583
|
+
return [
|
|
584
|
+
{
|
|
585
|
+
type: 'input',
|
|
586
|
+
name: 'github',
|
|
587
|
+
message: 'GitHub URL:',
|
|
588
|
+
default: ''
|
|
589
|
+
},
|
|
590
|
+
...basePrompts
|
|
591
|
+
];
|
|
592
|
+
}
|
|
593
|
+
if (category === 'Creative') {
|
|
594
|
+
return [
|
|
595
|
+
{
|
|
596
|
+
type: 'input',
|
|
597
|
+
name: 'instagram',
|
|
598
|
+
message: 'Instagram URL:',
|
|
599
|
+
default: ''
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
type: 'input',
|
|
603
|
+
name: 'behance',
|
|
604
|
+
message: 'Behance URL (optional):',
|
|
605
|
+
default: ''
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
type: 'input',
|
|
609
|
+
name: 'dribbble',
|
|
610
|
+
message: 'Dribbble URL (optional):',
|
|
611
|
+
default: ''
|
|
612
|
+
},
|
|
613
|
+
...basePrompts
|
|
614
|
+
];
|
|
615
|
+
}
|
|
616
|
+
if (category === 'Beauty' || category === 'Food' || category === 'Business') {
|
|
617
|
+
return [
|
|
618
|
+
{
|
|
619
|
+
type: 'input',
|
|
620
|
+
name: 'instagram',
|
|
621
|
+
message: 'Instagram URL:',
|
|
622
|
+
default: ''
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
type: 'input',
|
|
626
|
+
name: 'youtube',
|
|
627
|
+
message: 'YouTube URL (optional):',
|
|
628
|
+
default: ''
|
|
629
|
+
},
|
|
630
|
+
...basePrompts
|
|
631
|
+
];
|
|
632
|
+
}
|
|
633
|
+
return basePrompts;
|
|
634
|
+
}
|
|
635
|
+
//# sourceMappingURL=portfolio-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio-prompts.js","sourceRoot":"","sources":["../../src/prompts/portfolio-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface Theme {
|
|
2
|
+
name: string;
|
|
3
|
+
colors: {
|
|
4
|
+
primary: string;
|
|
5
|
+
secondary: string;
|
|
6
|
+
accent: string;
|
|
7
|
+
background: string;
|
|
8
|
+
foreground: string;
|
|
9
|
+
muted: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare const themes: Record<string, Theme>;
|
|
13
|
+
export declare function getThemeChoices(): string[];
|
|
14
|
+
export declare function getTheme(key: string): Theme;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAwDxC,CAAC;AAEF,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAE3C"}
|