chore(template): sync .w4c/fields.json

This commit is contained in:
SemianiakaVY 2026-10-08 15:46:08 +00:00
parent a33a1766e1
commit 941f8fd30a

231
.w4c/fields.json Normal file
View file

@ -0,0 +1,231 @@
{
"$comment": "Field schema for this template (read by w4c-webapi TemplateCatalogService from `.w4c/fields.json`, or the path named by the manifest's `fieldsSchema`). `fields` are extra template-level survey questions merged with the manifest's inline `fields`; `pages.<page-id>` adds the questions one module/page asks for, asked in the dialog only while that page is selected. Field shape matches the manifest: { key, label, type: text|textarea|number|select|boolean, required?, options?, default?, placeholder? }. Existing inline definitions win, a key is only asked once.",
"schema": 1,
"name": "Interactive Resume survey",
"fields": [
{
"key": "fullName",
"label": "Full name",
"type": "text",
"required": true,
"placeholder": "Ada Lovelace"
},
{
"key": "headline",
"label": "Headline",
"type": "text",
"required": true,
"placeholder": "Senior Product Engineer"
},
{
"key": "targetRole",
"label": "Target role",
"type": "text",
"placeholder": "Staff engineer / tech lead"
},
{
"key": "location",
"label": "Location",
"type": "text",
"placeholder": "Berlin, Germany · remote"
},
{
"key": "email",
"label": "Contact email",
"type": "text",
"required": true,
"placeholder": "ada@example.com"
},
{
"key": "phone",
"label": "Phone (optional)",
"type": "text"
},
{
"key": "stack",
"label": "Tech stack",
"type": "select",
"required": true,
"default": "Astro",
"options": [
"Astro",
"Vue 3 + Quasar",
"Nuxt 3",
"Next.js",
"React + Vite",
"SvelteKit",
"SolidStart"
]
},
{
"key": "theme",
"label": "Theme",
"type": "select",
"default": "Midnight",
"options": ["Midnight", "Paper", "Sunset", "Mono"]
},
{
"key": "accentColor",
"label": "Accent colour (hex)",
"type": "text",
"default": "#6366f1",
"placeholder": "#6366f1"
},
{
"key": "languages",
"label": "Languages",
"type": "text",
"placeholder": "English (fluent), German (B2)"
},
{
"key": "links",
"label": "Links to display on the site (one per line)",
"type": "textarea",
"placeholder": "github.com/ada\nlinkedin.com/in/ada\nada.dev",
"default": "github.com/ada\nlinkedin.com/in/ada"
},
{
"key": "profileLinks",
"label": "Profile links to import automatically (one URL per line)",
"type": "textarea",
"placeholder": "https://www.linkedin.com/in/ada\nhttps://github.com/ada\nhttps://ada.dev/about"
},
{
"key": "notes",
"label": "Additional notes",
"type": "textarea"
}
],
"pages": {
"hero-intro": [
{
"key": "tagline",
"label": "Tagline",
"type": "text",
"placeholder": "Product engineer who ships"
},
{
"key": "animationStyle",
"label": "Intro animation",
"type": "select",
"default": "subtle",
"options": ["subtle", "bold", "none"]
}
],
"timeline-experience": [
{
"key": "timelineStyle",
"label": "Timeline layout",
"type": "select",
"default": "vertical",
"options": ["vertical", "horizontal", "minimal"]
},
{
"key": "showEducation",
"label": "Include education",
"type": "boolean",
"default": "true"
},
{
"key": "experienceSource",
"label": "Experience entries (one per line)",
"type": "textarea",
"placeholder": "2022–now · Acme · Staff Engineer · led payments\n2019–2022 · Globex · Senior Engineer",
"default": "2022–now · Acme · Staff Engineer · led the payments platform\n2019–2022 · Globex · Senior Engineer · shipping the core product\n2017–2019 · Initech · Software Engineer"
}
],
"skills-matrix": [
{
"key": "skillDisplay",
"label": "Skills view",
"type": "select",
"default": "bars",
"options": ["bars", "radar", "cloud"]
},
{
"key": "showProficiency",
"label": "Show proficiency",
"type": "boolean",
"default": "true"
},
{
"key": "skillCategories",
"label": "Skill categories (one per line)",
"type": "textarea",
"placeholder": "Languages\nFrontend\nBackend\nCloud & DevOps",
"default": "Languages\nFrontend\nBackend\nData\nCloud & DevOps"
}
],
"project-showcase": [
{
"key": "caseStudyStyle",
"label": "Case-study layout",
"type": "select",
"default": "cards",
"options": ["cards", "list", "alternating"]
},
{
"key": "showTechTags",
"label": "Show tech tags",
"type": "boolean",
"default": "true"
},
{
"key": "projectCount",
"label": "Case studies",
"type": "number",
"default": "4"
}
],
"recommendations": [
{
"key": "recommendationCount",
"label": "Recommendations",
"type": "number",
"default": "3"
},
{
"key": "showAvatars",
"label": "Show author avatars",
"type": "boolean",
"default": "true"
}
],
"resume-download": [
{
"key": "paperFormat",
"label": "Paper format",
"type": "select",
"default": "A4",
"options": ["A4", "Letter"]
},
{
"key": "includePhoto",
"label": "Include photo on the CV",
"type": "boolean",
"default": "false"
},
{
"key": "downloadFormats",
"label": "Download formats",
"type": "select",
"default": "PDF",
"options": ["PDF", "DOCX", "PDF + DOCX"]
}
],
"contact-cta": [
{
"key": "showAvailability",
"label": "Show availability badge",
"type": "boolean",
"default": "true"
},
{
"key": "calendarLink",
"label": "Scheduling link (optional)",
"type": "text",
"placeholder": "cal.com/ada/30min"
}
]
}
}