feat: add company names with optional clickable links to experience section

- Add companyURL field to Experience model (optional)
- Update cv-content.html template to display company name with conditional link
- Add company-link CSS styling for clickable company names
- Add companyURL data for major companies (Olympic Broadcasting, AENA, SAP, Gigya, Everis, Indra)
- Companies without URLs display as plain text, maintaining flexibility

This addresses the issue where company names were missing from the experience section
and ensures links are included throughout the CV as per the original React version.
This commit is contained in:
juanatsap
2025-11-04 19:56:40 +00:00
parent b52d0b08b6
commit ed0760fe3f
5 changed files with 35 additions and 1 deletions
+6
View File
@@ -19,6 +19,7 @@
{
"position": "Senior SAP Technical Consultant",
"company": "Olympic Broadcasting Services",
"companyURL": "https://www.obs.tv/",
"location": "Madrid, Spain",
"startDate": "2021-01",
"endDate": "present",
@@ -42,6 +43,7 @@
{
"position": "Senior Technical Consultant",
"company": "AENA (via Accenture Spain)",
"companyURL": "https://www.aena.es/",
"location": "Madrid, Spain",
"startDate": "2021-10",
"endDate": "2023-07",
@@ -73,6 +75,7 @@
{
"position": "Senior Technical Consultant",
"company": "SAP",
"companyURL": "https://www.sap.com/",
"location": "Barcelona, Spain",
"startDate": "2019-10",
"endDate": "2021-10",
@@ -98,6 +101,7 @@
{
"position": "Junior Technical Consultant",
"company": "Gigya",
"companyURL": "https://www.gigya.com/",
"location": "Barcelona, Spain",
"startDate": "2017-10",
"endDate": "2019-10",
@@ -169,6 +173,7 @@
{
"position": "FullStack Developer",
"company": "Everis",
"companyURL": "https://www.everis.com/",
"location": "Barcelona, Spain",
"startDate": "2016-04",
"endDate": "2016-11",
@@ -189,6 +194,7 @@
{
"position": "Fullstack Developer",
"company": "Indra",
"companyURL": "https://www.indracompany.com/",
"location": "Barcelona, Spain",
"startDate": "2015-09",
"endDate": "2016-02",
+6
View File
@@ -19,6 +19,7 @@
{
"position": "Consultor Técnico Senior SAP",
"company": "Olympic Broadcasting Services",
"companyURL": "https://www.obs.tv/",
"location": "Madrid, España",
"startDate": "2021-01",
"endDate": "presente",
@@ -42,6 +43,7 @@
{
"position": "Consultor Técnico Senior",
"company": "AENA (vía Accenture Spain)",
"companyURL": "https://www.aena.es/",
"location": "Madrid, España",
"startDate": "2021-10",
"endDate": "2023-07",
@@ -73,6 +75,7 @@
{
"position": "Consultor Técnico Senior",
"company": "SAP",
"companyURL": "https://www.sap.com/",
"location": "Barcelona, España",
"startDate": "2019-10",
"endDate": "2021-10",
@@ -98,6 +101,7 @@
{
"position": "Consultor Técnico Junior",
"company": "Gigya",
"companyURL": "https://www.gigya.com/",
"location": "Barcelona, España",
"startDate": "2017-10",
"endDate": "2019-10",
@@ -169,6 +173,7 @@
{
"position": "Desarrollador FullStack",
"company": "Everis",
"companyURL": "https://www.everis.com/",
"location": "Barcelona, España",
"startDate": "2016-04",
"endDate": "2016-11",
@@ -189,6 +194,7 @@
{
"position": "Desarrollador Fullstack",
"company": "Indra",
"companyURL": "https://www.indracompany.com/",
"location": "Barcelona, España",
"startDate": "2015-09",
"endDate": "2016-02",
+1
View File
@@ -43,6 +43,7 @@ type Personal struct {
type Experience struct {
Position string `json:"position"`
Company string `json:"company"`
CompanyURL string `json:"companyURL,omitempty"` // Optional URL for company website
CompanyLogo string `json:"companyLogo"`
Location string `json:"location"`
StartDate string `json:"startDate"`
+12
View File
@@ -1026,3 +1026,15 @@ a:focus {
font-size: 1em;
}
}
/* Company link styling */
.company-link {
color: var(--accent-blue);
font-weight: 500;
text-decoration: none;
}
.company-link:hover {
text-decoration: underline;
color: #0052a3;
}
+10 -1
View File
@@ -73,7 +73,16 @@
<div class="experience-item">
<div class="experience-header">
<div class="experience-title-line">
<h4 class="position">{{.Position}} / {{if eq $.Lang "es"}}Analista Programador{{else}}Analyst Programmer{{end}}</h4>
<h4 class="position">
{{.Position}} / {{if eq $.Lang "es"}}Analista Programador{{else}}Analyst Programmer{{end}}
{{if .Company}}
{{if .CompanyURL}}
- <a href="{{.CompanyURL}}" target="_blank" rel="noopener noreferrer" class="company-link">{{.Company}}</a>
{{else}}
- {{.Company}}
{{end}}
{{end}}
</h4>
<span class="experience-period">{{.StartDate}} / {{if .Current}}{{if eq $.Lang "es"}}presente{{else}}now{{end}}{{else}}{{.EndDate}}{{end}} - ({{.Location}})</span>
</div>
</div>