Configured the site a little

This commit is contained in:
Leon Mika 2025-03-30 10:39:02 +11:00
parent 2411e64a53
commit b465899f85
10 changed files with 121 additions and 20 deletions

View file

@ -3,6 +3,7 @@ package sitebuilder
import (
"context"
"errors"
"io/fs"
"lmika.dev/lmika/hugo-cms/models"
"lmika.dev/lmika/hugo-cms/providers/bus"
"lmika.dev/lmika/hugo-cms/providers/db"
@ -168,15 +169,37 @@ func (s *Service) createSite(ctx context.Context, site models.Site) error {
// Setup the theme
log.Printf(" .. theme")
if err := s.git.Clone(ctx, themeMeta.URL, s.hugo.SiteStagingDir(site, hugo.ThemeSiteDir)); err != nil {
stagingDir := s.hugo.SiteStagingDir(site, hugo.ThemeSiteDir)
if err := s.git.Clone(ctx, themeMeta.URL, stagingDir); err != nil {
return err
}
if err := s.hugo.ReconfigureSite(ctx, false, "hugo", site); err != nil {
if overlayFS := themeMeta.OverlayFS; overlayFS != nil && len(themeMeta.Overlays) > 0 {
for src, target := range themeMeta.Overlays {
srcFile, err := fs.ReadFile(overlayFS, src)
if err != nil {
return err
}
targetPath := filepath.Join(s.hugo.SiteStagingDir(site, hugo.BaseSiteDir), target)
targetDir := filepath.Dir(targetPath)
if err := os.MkdirAll(targetDir, 0755); err != nil {
return err
}
if err := os.WriteFile(targetPath, srcFile, 0644); err != nil {
return err
}
log.Printf(" .. overlay %v", targetPath)
}
}
if err := s.hugo.ReconfigureSite(ctx, false, "hugo", site, themeMeta); err != nil {
return err
}
if err := s.hugo.ReconfigureSite(ctx, true, "hugoPreview", site); err != nil {
if err := s.hugo.ReconfigureSite(ctx, true, "hugoPreview", site, themeMeta); err != nil {
return err
}