package sitebuilder import ( "context" "lmika.dev/lmika/hugo-cms/models" ) func (s *Service) Publish(site models.Site) models.Job { return models.Job{ Do: func(ctx context.Context) error { return s.publish(ctx, site) }, } } func (s *Service) publish(ctx context.Context, site models.Site) error { targets, err := s.db.GetPublishTargets(ctx, site.ID) if err != nil { return err } for _, target := range targets { if err := s.publishTarget(ctx, site, target); err != nil { return err } } return nil } func (s *Service) publishTarget(ctx context.Context, site models.Site, target models.PublishTarget) error { outDir, cleanFn, err := s.hugo.PublishSite(ctx, site, target) //defer func() { // if cleanFn != nil { // cleanFn() // } //}() _ = cleanFn if err != nil { return err } return s.netlify.Publish(ctx, target, outDir) }