juanatsap
f3fc6a2632
feat: add gh-dashboard project, language switch partial, header alignment fix
...
- Add gh-dashboard (debba/gh-dashboard) as collaboration project in EN/ES CV data
- Add head-language-switch.html template partial with test
- Change CV header text-align-last from justify to left
- Update .gitignore to exclude prompt symlinks and cv-site binary
2026-05-07 22:52:46 +01:00
juanatsap
41dbd77c2f
feat: responsive HTML email templates with DreamHost SMTP
...
- Add professional HTML email template matching CV aesthetic
- Implement multipart emails (HTML + plain text fallback)
- Configure DreamHost SMTP with SSL (port 465)
- Add "light only" color scheme for Gmail iOS compatibility
- Include Reply-To header for easy sender response
- Add email validation and integration tests
- Update .env.example with DreamHost/Gmail SMTP examples
- Add .env to .gitignore to protect credentials
- Document email template customization and dark mode approach
2025-12-02 13:42:36 +00:00
juanatsap
fbcc5f8f5b
perf: Always use bundled CSS (28+ files → 1 file)
...
- Update head-styles.html to always load bundle.min.css
- Remove development/production conditional CSS loading
- Add CSS auto-rebuild to pre-commit hook
- Track bundle.min.css in git (unignore it)
- Reduces initial CSS requests from 28+ to 1
2025-12-02 09:23:32 +00:00
juanatsap
95de841e14
feat: Add CSS bundling with Lightning CSS for production optimization
...
- Add Lightning CSS integration for CSS bundling and minification
- Create Makefile targets: css-dev, css-prod, css-watch, css-clean
- Implement conditional CSS loading based on GO_ENV (dev=modular, prod=bundled)
- Add IsProduction template variable for environment-aware rendering
- Keep print.css separate with media="print" for PDF export
- Add static/dist/ to .gitignore (generated bundles)
- Fix Go template syntax in _cv-header.css
- Remove redundant font @import in _typography.css
Performance gains:
- 27 HTTP requests → 1 (96% reduction)
- 188KB → 86KB CSS (54% reduction)
- ~15KB gzip network transfer
Documentation:
- Update 12-CSS-ARCHITECTURE.md with bundling section
- Add Phase 9 to 2-MODERN-WEB-TECHNIQUES.md
- Add css-bundling.test.mjs Playwright test (8/8 pass)
2025-11-30 12:32:46 +00:00
juanatsap
7b60fdcf9c
refactor: Separate CV domain and UI presentation models into distinct packages
...
**Main Changes:**
1. **Package Restructuring** - Separated mixed concerns into focused packages:
- Created `internal/models/cv/` for CV domain logic (CV, Personal, Experience, etc.)
- Created `internal/models/ui/` for UI presentation logic (InfoModal, ShortcutsModal, etc.)
- Removed monolithic `internal/models/cv.go` (300+ lines → organized packages)
2. **Testing** - Added comprehensive unit tests:
- `internal/models/cv/loader_test.go` - CV data loading and validation
- `internal/models/ui/loader_test.go` - UI translations loading
- All tests passing ✅
3. **Documentation** - Added Go learning knowledge base:
- `_go-learning/architecture/server-design.md` - Goroutines, graceful shutdown explained
- `_go-learning/refactorings/001-cv-model-separation.md` - This refactoring documented
- Public documentation showcasing Go expertise (README.md kept private)
4. **Handler Updates** - Updated imports to use new package structure:
- `internal/handlers/cv.go` - Uses `cvmodel` and `uimodel` aliases
**Benefits:**
- ✅ Clear separation of concerns (domain vs presentation)
- ✅ Better testability (isolated package testing)
- ✅ Improved maintainability (smaller, focused files)
- ✅ Scalability (each domain can evolve independently)
- ✅ Follows Go best practices (small, cohesive packages)
**Other Updates:**
- Updated middleware security checks
- Template improvements
- Organized completed prompts
**Testing:**
- All Go unit tests pass (cv, ui, handlers)
- Server verified with curl tests (English, Spanish, Health endpoints)
- Frontend functionality unchanged (refactoring is transparent to UI)
2025-11-20 16:17:56 +00:00
juanatsap
f7cda5dba3
refactor: Modularize CSS and fix theme-aware text colors
...
CSS Restructuring:
- Reorganize monolithic main.css into modular architecture
- Create foundation/ (reset, variables, typography, themes)
- Create layout/ (container, page, grid, paper)
- Create components/ (8 component files)
- Create interactive/ (toggles, remaining for future split)
- Create effects/ (skeleton loading)
- Create contexts/ (print styles)
Theme Support Fixes:
- Replace all hardcoded text colors with CSS variables
- Fix .section-title: rgb(51,51,51) → var(--text-primary)
- Fix .cv-name, .intro-text: hardcoded → theme-aware
- Fix .experience-period, .duration-text: #555/#aaa → variables
- Fix course/project/experience text colors
- Support proper light/dark theme text contrast
Icon & Layout Fixes:
- Standardize all icon sizes to 80×80px
- Change all icon backgrounds to transparent
- Fix award section layout (missing flexbox)
- Update HTML templates (experience.html, awards.html) to width='80'
- Fix default icon sizing conflicts
View Switcher Fix:
- Fix toggleTheme() to target .cv-container instead of body
- Ensures clean/default theme toggle works correctly
Files: 40+ CSS files modularized, 3 templates updated, 7 tests added
2025-11-19 14:31:17 +00:00
juanatsap
e932716132
chore: clean up temporary implementation artifacts
...
- Added gitignore patterns for implementation summaries, test scripts, and coverage reports
- Removed obsolete cache implementation documentation files
2025-11-12 09:14:46 +00:00
juanatsap
1f5aeb1c4c
feat: exclude PSD files from version control
2025-11-11 13:53:14 +00:00
juanatsap
0e52d625a1
refactor: remove API documentation files and add binary to gitignore
...
- Removed redundant API documentation (API.md and API-QUICK-REFERENCE.md)
- Added cv-app binary to gitignore to prevent committing build artifacts
2025-11-09 20:48:24 +00:00
juanatsap
dab68f34f2
Initial commit: Go + HTMX CV Site
...
- Minimal, professional CV design with paper-on-gray layout
- Bilingual support (Spanish/English) with HTMX language switching
- JSON-based content management (cv-en.json, cv-es.json)
- Print-optimized CSS for PDF export
- Responsive design for all devices
- Go backend with stdlib net/http
- Clean, maintainable codebase
Features:
- 18+ years professional experience
- SAP CDC expertise
- Complete project history
- Education, certifications, awards
- Multi-language support
Tech stack: Go, HTMX, vanilla CSS
2025-10-20 08:54:21 +01:00