feat: add Projects section between Courses and Awards

Added new Projects section with two initial projects:
- Somos Una Ola - Beach cleaning initiative website (Node.js/Express/HTMX)
- Herrumbre Vivo Arte - Artist portfolio for recycled art

Changes:
- Added projects data to cv-en.json and cv-es.json
- Updated Project struct in models/cv.go with all required fields
- Added Projects section CSS matching Awards/Courses styling (80×80px icons)
- Added Projects template with icons, current badges, and Domestika link
- Reordered sections: Courses → Projects → Awards (as requested)

Features:
- Clickable project titles linking to websites
- Current badge for ongoing projects
- Period and location display
- Short descriptions (always visible)
- Responsibilities list (long version only)
- Technologies list (long version only)
- Footer with link to Domestika portfolio
This commit is contained in:
juanatsap
2025-11-08 10:52:06 +00:00
parent 229769f288
commit fa4996709d
5 changed files with 274 additions and 42 deletions
+110
View File
@@ -935,6 +935,116 @@ iconify-icon {
text-align: justify;
}
/* Projects */
.project-item {
display: flex;
gap: 1.2rem;
align-items: flex-start;
margin-bottom: 2.5rem;
padding-bottom: 2rem;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.project-icon {
flex-shrink: 0;
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
}
.default-project-icon {
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px;
border: 1px solid #ddd;
background: #f5f5f5;
color: #999;
padding: 10px;
}
.project-content {
flex: 1;
}
.project-header {
margin-bottom: 0.5rem;
}
.project-title {
font-size: 1em;
font-weight: 600;
margin: 0 0 0.3rem 0;
line-height: 1.4;
color: var(--text-dark);
}
.project-title-text {
display: inline;
}
.project-title-text a {
color: var(--accent-blue);
text-decoration: none;
}
.project-title-text a:hover {
text-decoration: underline;
}
.project-period,
.project-separator,
.project-location {
color: #555;
font-size: 0.9em;
font-weight: 600;
}
.project-separator {
color: #999;
}
.project-desc {
font-size: 0.9rem;
color: var(--text-dark);
margin-top: 0.5rem;
line-height: 1.6;
text-align: justify;
}
.project-technologies {
font-size: 0.85em;
color: var(--text-gray);
margin-top: 0.5rem;
line-height: 1.4;
}
.projects-footer {
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 2px solid #ddd;
text-align: center;
font-size: 0.95em;
color: var(--text-gray);
}
.projects-footer p {
margin: 0;
}
.projects-footer a {
color: var(--accent-blue);
text-decoration: none;
}
.projects-footer a:hover {
text-decoration: underline;
}
/* References */
.reference-item {
margin-bottom: 0.6rem;