@prosophia/personal-portfolio 0.0.3 → 0.0.4

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.
@@ -1 +1,457 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/schemas/index.ts
21
+ var schemas_exports = {};
22
+ __export(schemas_exports, {
23
+ experience: () => experience,
24
+ profile: () => profile,
25
+ project: () => project,
26
+ publication: () => publication,
27
+ schemas: () => schemas,
28
+ siteSettings: () => siteSettings,
29
+ update: () => update
30
+ });
31
+ module.exports = __toCommonJS(schemas_exports);
32
+
33
+ // src/schemas/profile.ts
34
+ var profile = {
35
+ name: "profile",
36
+ title: "Profile",
37
+ type: "document",
38
+ fields: [
39
+ {
40
+ name: "name",
41
+ title: "Name",
42
+ type: "string",
43
+ validation: (Rule) => Rule.required()
44
+ },
45
+ {
46
+ name: "title",
47
+ title: "Title",
48
+ type: "string",
49
+ description: 'e.g., "PhD Candidate", "Software Engineer"'
50
+ },
51
+ {
52
+ name: "institution",
53
+ title: "Institution",
54
+ type: "string",
55
+ description: 'e.g., "MIT", "Google"'
56
+ },
57
+ {
58
+ name: "profileImage",
59
+ title: "Profile Image",
60
+ type: "image",
61
+ options: {
62
+ hotspot: true
63
+ }
64
+ },
65
+ {
66
+ name: "headline",
67
+ title: "Headline",
68
+ type: "object",
69
+ fields: [
70
+ { name: "beforeHighlight", title: "Text Before Highlight", type: "string" },
71
+ { name: "highlight", title: "Highlighted Text", type: "string" },
72
+ { name: "afterHighlight", title: "Text After Highlight", type: "string" }
73
+ ]
74
+ },
75
+ {
76
+ name: "bio",
77
+ title: "Bio",
78
+ type: "array",
79
+ of: [{ type: "block" }]
80
+ },
81
+ {
82
+ name: "availabilityBadge",
83
+ title: "Availability Badge",
84
+ type: "string",
85
+ description: 'e.g., "Available for 2024 Roles"'
86
+ }
87
+ ]
88
+ };
89
+
90
+ // src/schemas/siteSettings.ts
91
+ var siteSettings = {
92
+ name: "siteSettings",
93
+ title: "Site Settings",
94
+ type: "document",
95
+ fields: [
96
+ {
97
+ name: "resumeUrl",
98
+ title: "Resume URL",
99
+ type: "url",
100
+ description: "Link to your resume/CV"
101
+ },
102
+ {
103
+ name: "contactEmail",
104
+ title: "Contact Email",
105
+ type: "string"
106
+ },
107
+ {
108
+ name: "footerText",
109
+ title: "Footer Text",
110
+ type: "string",
111
+ description: "Custom footer text"
112
+ },
113
+ {
114
+ name: "socialLinks",
115
+ title: "Social Links",
116
+ type: "object",
117
+ fields: [
118
+ { name: "twitter", title: "Twitter URL", type: "url" },
119
+ { name: "linkedin", title: "LinkedIn URL", type: "url" },
120
+ { name: "github", title: "GitHub URL", type: "url" },
121
+ { name: "googleScholar", title: "Google Scholar URL", type: "url" }
122
+ ]
123
+ },
124
+ {
125
+ name: "themeColor",
126
+ title: "Theme Color",
127
+ type: "object",
128
+ fields: [
129
+ {
130
+ name: "preset",
131
+ title: "Color Preset",
132
+ type: "string",
133
+ options: {
134
+ list: [
135
+ { title: "Violet", value: "violet" },
136
+ { title: "Blue", value: "blue" },
137
+ { title: "Emerald", value: "emerald" },
138
+ { title: "Rose", value: "rose" },
139
+ { title: "Amber", value: "amber" },
140
+ { title: "Cyan", value: "cyan" },
141
+ { title: "Custom", value: "custom" }
142
+ ]
143
+ }
144
+ },
145
+ {
146
+ name: "customColor",
147
+ title: "Custom Color",
148
+ type: "string",
149
+ description: "Hex color code (e.g., #8b5cf6)"
150
+ }
151
+ ]
152
+ },
153
+ {
154
+ name: "fontFamily",
155
+ title: "Font Family",
156
+ type: "object",
157
+ fields: [
158
+ {
159
+ name: "heading",
160
+ title: "Heading Font",
161
+ type: "string",
162
+ options: {
163
+ list: [
164
+ { title: "Inter", value: "inter" },
165
+ { title: "Roboto", value: "roboto" },
166
+ { title: "Poppins", value: "poppins" },
167
+ { title: "Montserrat", value: "montserrat" },
168
+ { title: "Playfair Display", value: "playfair-display" }
169
+ ]
170
+ }
171
+ },
172
+ {
173
+ name: "body",
174
+ title: "Body Font",
175
+ type: "string",
176
+ options: {
177
+ list: [
178
+ { title: "Inter", value: "inter" },
179
+ { title: "Roboto", value: "roboto" },
180
+ { title: "Open Sans", value: "open-sans" },
181
+ { title: "Lato", value: "lato" },
182
+ { title: "Source Sans Pro", value: "source-sans-pro" }
183
+ ]
184
+ }
185
+ }
186
+ ]
187
+ }
188
+ ]
189
+ };
190
+
191
+ // src/schemas/update.ts
192
+ var update = {
193
+ name: "update",
194
+ title: "Update",
195
+ type: "document",
196
+ fields: [
197
+ {
198
+ name: "title",
199
+ title: "Title",
200
+ type: "string",
201
+ validation: (Rule) => Rule.required()
202
+ },
203
+ {
204
+ name: "date",
205
+ title: "Date",
206
+ type: "date",
207
+ validation: (Rule) => Rule.required()
208
+ },
209
+ {
210
+ name: "description",
211
+ title: "Description",
212
+ type: "text"
213
+ }
214
+ ],
215
+ orderings: [
216
+ {
217
+ title: "Date, Newest",
218
+ name: "dateDesc",
219
+ by: [{ field: "date", direction: "desc" }]
220
+ }
221
+ ]
222
+ };
223
+
224
+ // src/schemas/experience.ts
225
+ var experience = {
226
+ name: "experience",
227
+ title: "Experience",
228
+ type: "document",
229
+ fields: [
230
+ {
231
+ name: "title",
232
+ title: "Title/Role",
233
+ type: "string",
234
+ validation: (Rule) => Rule.required()
235
+ },
236
+ {
237
+ name: "organization",
238
+ title: "Organization",
239
+ type: "string",
240
+ validation: (Rule) => Rule.required()
241
+ },
242
+ {
243
+ name: "period",
244
+ title: "Period",
245
+ type: "string",
246
+ description: 'e.g., "2021 - Present" or "Summer 2023"'
247
+ },
248
+ {
249
+ name: "description",
250
+ title: "Description",
251
+ type: "text"
252
+ },
253
+ {
254
+ name: "isCurrent",
255
+ title: "Is Current Position",
256
+ type: "boolean",
257
+ initialValue: false
258
+ },
259
+ {
260
+ name: "type",
261
+ title: "Type",
262
+ type: "string",
263
+ options: {
264
+ list: [
265
+ { title: "Education", value: "education" },
266
+ { title: "Work", value: "work" },
267
+ { title: "Internship", value: "internship" },
268
+ { title: "Research", value: "research" }
269
+ ]
270
+ }
271
+ },
272
+ {
273
+ name: "order",
274
+ title: "Display Order",
275
+ type: "number",
276
+ description: "Lower numbers appear first"
277
+ }
278
+ ],
279
+ orderings: [
280
+ {
281
+ title: "Order",
282
+ name: "orderAsc",
283
+ by: [{ field: "order", direction: "asc" }]
284
+ }
285
+ ]
286
+ };
287
+
288
+ // src/schemas/project.ts
289
+ var project = {
290
+ name: "project",
291
+ title: "Project",
292
+ type: "document",
293
+ fields: [
294
+ {
295
+ name: "title",
296
+ title: "Title",
297
+ type: "string",
298
+ validation: (Rule) => Rule.required()
299
+ },
300
+ {
301
+ name: "slug",
302
+ title: "Slug",
303
+ type: "slug",
304
+ options: {
305
+ source: "title",
306
+ maxLength: 96
307
+ }
308
+ },
309
+ {
310
+ name: "shortDescription",
311
+ title: "Short Description",
312
+ type: "text",
313
+ description: "Brief description shown in project cards"
314
+ },
315
+ {
316
+ name: "description",
317
+ title: "Full Description",
318
+ type: "array",
319
+ of: [{ type: "block" }]
320
+ },
321
+ {
322
+ name: "image",
323
+ title: "Cover Image",
324
+ type: "image",
325
+ options: {
326
+ hotspot: true
327
+ }
328
+ },
329
+ {
330
+ name: "tags",
331
+ title: "Tags",
332
+ type: "array",
333
+ of: [{ type: "string" }],
334
+ options: {
335
+ layout: "tags"
336
+ }
337
+ },
338
+ {
339
+ name: "link",
340
+ title: "Project Link",
341
+ type: "url"
342
+ },
343
+ {
344
+ name: "github",
345
+ title: "GitHub URL",
346
+ type: "url"
347
+ },
348
+ {
349
+ name: "order",
350
+ title: "Display Order",
351
+ type: "number"
352
+ }
353
+ ],
354
+ orderings: [
355
+ {
356
+ title: "Order",
357
+ name: "orderAsc",
358
+ by: [{ field: "order", direction: "asc" }]
359
+ }
360
+ ]
361
+ };
362
+
363
+ // src/schemas/publication.ts
364
+ var publication = {
365
+ name: "publication",
366
+ title: "Publication",
367
+ type: "document",
368
+ fields: [
369
+ {
370
+ name: "title",
371
+ title: "Title",
372
+ type: "string",
373
+ validation: (Rule) => Rule.required()
374
+ },
375
+ {
376
+ name: "authors",
377
+ title: "Authors",
378
+ type: "array",
379
+ of: [
380
+ {
381
+ type: "object",
382
+ fields: [
383
+ { name: "name", title: "Name", type: "string" },
384
+ { name: "isMe", title: "Is Me", type: "boolean", initialValue: false }
385
+ ]
386
+ }
387
+ ]
388
+ },
389
+ {
390
+ name: "venue",
391
+ title: "Venue",
392
+ type: "string",
393
+ description: 'e.g., "CVPR 2024", "NeurIPS 2023"'
394
+ },
395
+ {
396
+ name: "year",
397
+ title: "Year",
398
+ type: "string"
399
+ },
400
+ {
401
+ name: "highlight",
402
+ title: "Highlight",
403
+ type: "string",
404
+ description: 'e.g., "Oral Presentation", "Best Paper Award"'
405
+ },
406
+ {
407
+ name: "pdfUrl",
408
+ title: "PDF URL",
409
+ type: "url"
410
+ },
411
+ {
412
+ name: "pdfFile",
413
+ title: "PDF File",
414
+ type: "file",
415
+ options: {
416
+ accept: ".pdf"
417
+ }
418
+ },
419
+ {
420
+ name: "codeUrl",
421
+ title: "Code URL",
422
+ type: "url"
423
+ },
424
+ {
425
+ name: "order",
426
+ title: "Display Order",
427
+ type: "number"
428
+ }
429
+ ],
430
+ orderings: [
431
+ {
432
+ title: "Year, Newest",
433
+ name: "yearDesc",
434
+ by: [{ field: "year", direction: "desc" }]
435
+ }
436
+ ]
437
+ };
438
+
439
+ // src/schemas/index.ts
440
+ var schemas = [
441
+ profile,
442
+ siteSettings,
443
+ update,
444
+ experience,
445
+ project,
446
+ publication
447
+ ];
448
+ // Annotate the CommonJS export names for ESM import in node:
449
+ 0 && (module.exports = {
450
+ experience,
451
+ profile,
452
+ project,
453
+ publication,
454
+ schemas,
455
+ siteSettings,
456
+ update
457
+ });