feat: update CV with live project badges and PDF download links

- Changed project status badges from "CURRENT" to "LIVE" with wifi icon for active projects
- Updated CV reference links to direct PDF downloads instead of modal popups
- Marked SAP CDC Demo and Client Projects as currently live/maintained
This commit is contained in:
juanatsap
2025-11-10 17:03:00 +00:00
parent fc0eb8443a
commit 69ca8b77be
7 changed files with 40 additions and 19 deletions
+6 -8
View File
@@ -827,7 +827,7 @@
"projectLogo": "sap.png",
"location": "Online",
"startDate": "2018",
"current": false,
"current": true,
"maintainedBy": "SAP",
"technologies": ["SAP CDC", "JavaScript", "React", "API Integration", "Authentication"],
"shortDescription": "Comprehensive demonstration and starter kit for SAP Customer Data Cloud. Complete implementation showcase created 100% independently as public GitHub resource. Now maintained by SAP.",
@@ -846,7 +846,7 @@
"location": "Various",
"startDate": "2015",
"endDate": "2016",
"current": false,
"current": true,
"technologies": ["JavaScript", "React", "Node.js", "PHP", "WordPress", "Web Development"],
"shortDescription": "Collection of client projects and websites including <strong><a href='https://lidering.com' target='_blank' rel='noopener noreferrer'>Lidering</a></strong>, <strong><a href='https://jorpack.com' target='_blank' rel='noopener noreferrer'>Jorpack</a></strong>, <strong><a href='https://deliverybikesbcn.com/' target='_blank' rel='noopener noreferrer'>Delivery Bikes BCN</a></strong>, and <strong><a href='https://mobbeel.com' target='_blank' rel='noopener noreferrer'>Mobbeel</a></strong> where I contributed to development, implementation, and technical solutions across various industries.",
"responsibilities": [
@@ -901,13 +901,11 @@
"linkText": "Spanish"
},
{
"title": "Curriculum Vitae chronological (7 pages)",
"url": "#",
"title": "Download this curriculum in English",
"url": "/static/pdf/clean/short/cv-jamr-2025-en.pdf",
"type": "cv",
"action": "downloadPDF",
"textBefore": "Curriculum Vitae",
"linkText": "chronological",
"textAfter": "(7 pages)"
"textBefore": "Download this curriculum in",
"linkText": "English"
}
],
"other": {
+6 -8
View File
@@ -832,7 +832,7 @@
"projectLogo": "sap.png",
"location": "Online",
"startDate": "2018",
"current": false,
"current": true,
"maintainedBy": "SAP",
"technologies": ["SAP CDC", "JavaScript", "React", "Integración de APIs", "Autenticación"],
"shortDescription": "Demostración completa y kit de inicio para SAP Customer Data Cloud. Proyecto de implementación completa creado 100% de forma independiente como recurso público en GitHub. Ahora mantenido por SAP.",
@@ -851,7 +851,7 @@
"location": "Varios",
"startDate": "2015",
"endDate": "2016",
"current": false,
"current": true,
"technologies": ["JavaScript", "React", "Node.js", "PHP", "WordPress", "Desarrollo Web"],
"shortDescription": "Colección de proyectos de clientes y sitios web incluyendo <strong><a href='https://lidering.com' target='_blank' rel='noopener noreferrer'>Lidering</a></strong>, <strong><a href='https://jorpack.com' target='_blank' rel='noopener noreferrer'>Jorpack</a></strong>, <strong><a href='https://deliverybikesbcn.com/' target='_blank' rel='noopener noreferrer'>Delivery Bikes BCN</a></strong> y <strong><a href='https://mobbeel.com' target='_blank' rel='noopener noreferrer'>Mobbeel</a></strong> donde contribuí al desarrollo, implementación y soluciones técnicas en diversas industrias.",
"responsibilities": [
@@ -906,13 +906,11 @@
"linkText": "Inglés"
},
{
"title": "Currículum Vitae cronológico (7 páginas)",
"url": "#",
"title": "Descargar este currículum en Español",
"url": "/static/pdf/clean/short/cv-jamr-2025-es.pdf",
"type": "cv",
"action": "downloadPDF",
"textBefore": "Currículum Vitae",
"linkText": "cronológico",
"textAfter": "(7 páginas)"
"textBefore": "Descargar este currículum en",
"linkText": "Español"
}
],
"other": {
+19
View File
@@ -949,6 +949,25 @@ iconify-icon {
letter-spacing: 0.5px;
}
.live-badge {
display: inline-flex;
align-items: center;
gap: 0.3em;
background: #27ae60;
color: white;
font-weight: 700;
font-size: 0.7em;
padding: 0.2em 0.5em;
border-radius: 3px;
margin-left: 0.5em;
vertical-align: middle;
letter-spacing: 0.5px;
}
.live-badge iconify-icon {
font-size: 1.2em;
}
.expired-badge {
display: inline-block;
background: #e74c3c;
+6
View File
@@ -86,12 +86,18 @@
/* Badges - keep visible for print */
.current-badge,
.live-badge,
.expired-badge,
.maintained-badge {
font-size: 7pt !important;
padding: 1px 4px !important;
}
.live-badge iconify-icon {
width: 10px !important;
height: 10px !important;
}
/* ===================================
REMOVE ALL SHADOWS & BORDERS (Nuclear Option)
=================================== */
Binary file not shown.
Binary file not shown.
+3 -3
View File
@@ -222,10 +222,10 @@
{{if .URL}}<a href="{{.URL}}" target="_blank" rel="noopener noreferrer">{{.Title}}</a>{{else}}{{.Title}}{{end}}
{{end}}
</strong>
{{if .Current}}<span class="current-badge">{{if eq $.Lang "es"}}ACTUAL{{else}}CURRENT{{end}}</span>{{end}}
{{if .Current}}<span class="live-badge"><iconify-icon icon="mdi:wifi" width="14" height="14"></iconify-icon>{{if eq $.Lang "es"}}EN VIVO{{else}}LIVE{{end}}</span>{{end}}
{{if .MaintainedBy}}<span class="maintained-badge">{{if eq $.Lang "es"}}MANTENIDO POR{{else}}MAINTAINED BY{{end}} {{.MaintainedBy}}</span>{{end}}
<br>
<small>{{if .StartDate}}{{.StartDate}}{{if .Current}}{{if .DynamicDate}} / {{.DynamicDate}}{{else}} / {{if eq $.Lang "es"}}presente{{else}}now{{end}}{{end}}{{end}}{{end}} - ({{.Location}})</small>
<small>{{if .StartDate}}{{.StartDate}}{{if .Current}}{{if .DynamicDate}} / {{.DynamicDate}}{{else}} / {{if eq $.Lang "es"}}presente{{else}}ahora{{end}}{{end}}{{end}}{{end}} - ({{.Location}})</small>
{{if .ShortDescription}}
<p class="project-desc short-desc">{{.ShortDescription | safeHTML}}</p>
@@ -330,7 +330,7 @@
</summary>
{{range .CV.References}}
<div class="reference-item">
{{if .TextBefore}}{{.TextBefore}} {{end}}{{if eq .Action "downloadPDF"}}<a href="{{.URL}}" onclick="event.preventDefault(); openPdfModal(); return false;"><strong>{{if .LinkText}}{{.LinkText}}{{else}}{{.Title}}{{end}}</strong></a>{{else}}<a href="{{.URL}}" target="_blank" rel="noopener noreferrer"><strong>{{if .LinkText}}{{.LinkText}}{{else}}{{.Title}}{{end}}</strong></a>{{end}}{{if .TextAfter}} {{.TextAfter}}{{end}}
{{if .TextBefore}}{{.TextBefore}} {{end}}{{if eq .Action "downloadPDF"}}<a href="{{.URL}}" onclick="event.preventDefault(); openPdfModal(); return false;"><strong>{{if .LinkText}}{{.LinkText}}{{else}}{{.Title}}{{end}}</strong></a>{{else}}<a href="{{.URL}}" {{if and (eq .Type "cv") (ne .URL "/?lang=en") (ne .URL "/?lang=es")}}download{{else}}target="_blank" rel="noopener noreferrer"{{end}}><strong>{{if .LinkText}}{{.LinkText}}{{else}}{{.Title}}{{end}}</strong></a>{{end}}{{if .TextAfter}} {{.TextAfter}}{{end}}
</div>
{{end}}
</details>