Files
cv-site/internal/handlers/cv.go
T

30 lines
871 B
Go
Raw Normal View History

2025-10-20 08:54:21 +01:00
package handlers
import (
"time"
2025-10-20 08:54:21 +01:00
"github.com/juanatsap/cv-site/internal/pdf"
2025-10-20 08:54:21 +01:00
"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)
2025-10-20 08:54:21 +01:00
type CVHandler struct {
templates *templates.Manager
pdfGenerator *pdf.Generator
serverAddr string
2025-10-20 08:54:21 +01:00
}
// NewCVHandler creates a new CV handler
func NewCVHandler(tmpl *templates.Manager, serverAddr string) *CVHandler {
2025-10-20 08:54:21 +01:00
return &CVHandler{
templates: tmpl,
pdfGenerator: pdf.NewGenerator(30 * time.Second),
serverAddr: serverAddr,
2025-10-20 08:54:21 +01:00
}
}