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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user