package handlers import ( "time" "github.com/juanatsap/cv-site/internal/pdf" "github.com/juanatsap/cv-site/internal/templates" ) // CVHandler handles CV-related requests // Methods are split across multiple files for better organization: // - cv_pages.go: Page rendering (Home, CVContent, DefaultCVShortcut) // - cv_pdf.go: PDF export (ExportPDF) // - cv_htmx.go: HTMX toggles (ToggleLength, ToggleIcons, SwitchLanguage, ToggleTheme) // - cv_helpers.go: Helper functions (skills, dates, git, templates, cookies) type CVHandler struct { templates *templates.Manager pdfGenerator *pdf.Generator serverAddr string } // NewCVHandler creates a new CV handler func NewCVHandler(tmpl *templates.Manager, serverAddr string) *CVHandler { return &CVHandler{ templates: tmpl, pdfGenerator: pdf.NewGenerator(30 * time.Second), serverAddr: serverAddr, } }