Added site previewing
This will generate a local version of the Hugo site and serve it via the server
This commit is contained in:
parent
3cf4294e87
commit
68aa9c0e13
9 changed files with 61 additions and 33 deletions
|
|
@ -55,7 +55,7 @@ func (s *Service) DeletePage(site models.Site, page models.Page) models.Job {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
themeMeta, ok := s.themes.Lookup(site.Theme)
|
||||
if !ok {
|
||||
return fmt.Errorf("theme %s not found in themes", site.Theme)
|
||||
|
|
@ -130,10 +130,9 @@ func (s *Service) writePage(bi pageBuildInfo, page models.Page) error {
|
|||
frontMatter := map[string]any{
|
||||
"date": page.PublishDate.Format(time.RFC3339),
|
||||
}
|
||||
|
||||
if page.Title != "" {
|
||||
frontMatter["title"] = page.Title
|
||||
} else if bi.themeMeta.PreferTitle {
|
||||
frontMatter["title"] = page.PublishDate.Format(time.ANSIC)
|
||||
}
|
||||
|
||||
return s.writeMarkdownFile(postFilename, frontMatter, page.Body)
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ func (s *Service) pageFilename(bi pageBuildInfo, page models.Page) string {
|
|||
isLeafBundle := true
|
||||
|
||||
thisBundleInfo := bi.bundleInfo[bi.bundle.ID]
|
||||
if thisBundleInfo.PageCount > 1 {
|
||||
if thisBundleInfo.PageCount > 1 || bi.bundle.Name == models.RootBundleName {
|
||||
isLeafBundle = false
|
||||
isIndex = thisBundleInfo.IndexPageID == page.ID
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -10,13 +10,17 @@ func (s *Service) Publish(site models.Site) models.Job {
|
|||
Do: func(ctx context.Context) error {
|
||||
s.signalSiteBuildingStarted(ctx, site)
|
||||
defer s.signalSiteBuildingFinished(ctx, site)
|
||||
|
||||
|
||||
return s.publish(ctx, site)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Service) publish(ctx context.Context, site models.Site) error {
|
||||
if _, err := s.hugo.PreviewSite(ctx, site); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
targets, err := s.db.GetPublishTargets(ctx, site.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -31,14 +35,7 @@ func (s *Service) publish(ctx context.Context, site models.Site) error {
|
|||
}
|
||||
|
||||
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
|
||||
|
||||
outDir, err := s.hugo.PublishSite(ctx, site, target)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,9 +172,14 @@ func (s *Service) createSite(ctx context.Context, site models.Site) error {
|
|||
return err
|
||||
}
|
||||
|
||||
if err := s.hugo.ReconfigureSite(ctx, site); err != nil {
|
||||
if err := s.hugo.ReconfigureSite(ctx, "hugo", site); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := s.hugo.ReconfigureSite(ctx, "hugoPreview", site); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue