Add photo, company logos, and short/long CV toggle

Features:
- Profile photo display (right side, inline with header)
- Company logos for all major employers (8 logos downloaded)
- Short/Long CV toggle for condensed/detailed view
- Short descriptions (1-2 lines) for quick overview
- Experience separators with border lines

Photo Implementation:
- Circular photo (120px) on right side of header
- Placeholder SVG if photo not uploaded
- Instructions in ADDING-YOUR-PHOTO.md
- Photo stored in static/images/profile/

Company Logos:
- Olympic Broadcasting Services, AENA, SAP, Gigya
- Accenture, Everis, Indra, Megabanner
- 40px logos displayed inline with experience
- Auto-hide if logo missing
- Mobile: logos hidden for cleaner layout

Short/Long Toggle:
- Toggle buttons in action bar (Corto/Largo)
- Short mode: shows shortDescription only
- Long mode: shows full responsibilities + technologies
- CSS-based show/hide (no page reload)
- Defaults to short view

Layout Updates:
- Header: text left, photo right, inline alignment
- Experience items: separated by border lines
- Responsive: photo centers on mobile
- Print-optimized: smaller photo in PDF

Data Updates:
- Added shortDescription field to Experience struct
- 13 short descriptions for all positions (EN/ES)
- Added companyLogo field with filename mapping
- JSON updated with all new fields

Tech:
- Pure CSS toggle (no HTMX needed)
- Vanilla JavaScript for button states
- Maintains bilingual support (ES/EN)
This commit is contained in:
juanatsap
2025-10-27 22:32:32 +00:00
parent dab68f34f2
commit cd5d5cff02
17 changed files with 397 additions and 43 deletions
+34 -13
View File
@@ -35,7 +35,9 @@
"React",
"Node.js",
"API Integration"
]
],
"companyLogo": "olympic-broadcasting.png",
"shortDescription": "SAP CDC solutions for international broadcasting events. Custom implementations and technical guidance."
},
{
"position": "Senior Technical Consultant",
@@ -64,7 +66,9 @@
"highlights": [
"Successfully deployed authentication system for all AENA airports in Spain",
"Managed identity flows for millions of users across web and mobile platforms"
]
],
"companyLogo": "aena.png",
"shortDescription": "Lead Technical Consultant for AENA Airports Authentication System serving millions of passengers across all Spanish airports."
},
{
"position": "Senior Technical Consultant",
@@ -87,7 +91,9 @@
"JavaScript",
"Cloud Platforms",
"Technical Documentation"
]
],
"companyLogo": "sap.png",
"shortDescription": "SAP Customer Data Cloud technical consulting, troubleshooting, and stakeholder education on GDPR compliance."
},
{
"position": "Junior Technical Consultant",
@@ -109,7 +115,9 @@
"JavaScript",
"Customer Support",
"System Monitoring"
]
],
"companyLogo": "gigya.png",
"shortDescription": "Technical support and problem-solving for Gigya platform. System monitoring and training program development."
},
{
"position": "Fullstack Developer",
@@ -130,7 +138,9 @@
"Video Processing",
"Database Design",
"PostgreSQL"
]
],
"companyLogo": "megabanner.png",
"shortDescription": "Full-stack development with video system integration for advertisement inclusion in gas station networks."
},
{
"position": "Fullstack Developer",
@@ -152,7 +162,9 @@
"API Design",
"CI/CD",
"DevOps"
]
],
"companyLogo": "everis.png",
"shortDescription": "API design and automated deployment pipelines. Software testing and scalability implementation."
},
{
"position": "FullStack Developer",
@@ -170,7 +182,9 @@
"JavaScript",
"Redux",
"Webpack"
]
],
"companyLogo": "everis.png",
"shortDescription": "React application development for multiple clients."
},
{
"position": "Fullstack Developer",
@@ -187,7 +201,9 @@
"Java",
"JavaScript",
"Web Development"
]
],
"companyLogo": "indra.png",
"shortDescription": "Project management and customer feedback collection across development stages."
},
{
"position": "Technical Director / Programmer",
@@ -212,7 +228,8 @@
"highlights": [
"Reduced production times by 75% through optimized pipelines",
"Successfully managed technical team and product development"
]
],
"shortDescription": "Technical Director leading development of backend and 5 websites. Reduced production times by 75%."
},
{
"position": "Programmer Analyst (Freelance)",
@@ -230,7 +247,8 @@
"PHP",
"MySQL",
"JavaScript"
]
],
"shortDescription": "WordPress and PHP website development as freelance programmer."
},
{
"position": "Analyst Programmer / Expert Technician",
@@ -248,7 +266,8 @@
"Java",
"System Configuration",
"Technical Support"
]
],
"shortDescription": "Software and hardware configuration, technical problem-solving, and team mentoring."
},
{
"position": "Senior Programmer",
@@ -266,7 +285,8 @@
"Java",
"Search Engine Technology",
"European R&D Projects"
]
],
"shortDescription": "European R&D project for revolutionary search engine development."
},
{
"position": "Junior Programmer",
@@ -285,7 +305,8 @@
"Java Applets",
"Data Visualization",
"Chart Generation"
]
],
"shortDescription": "JAVA development specialized in data chart generation and applet development."
}
],
"education": [