diff --git a/commands/hugo.go b/commands/hugo.go index 935328b73..83b3334a7 100644 --- a/commands/hugo.go +++ b/commands/hugo.go @@ -100,6 +100,11 @@ func build(watches ...bool) { } func copyStatic() error { + staticDir := Config.GetAbsPath(Config.StaticDir + "/") + if _, err := os.Stat(staticDir); os.IsNotExist(err) { + return nil + } + // Copy Static to Destination return fsync.Sync(Config.GetAbsPath(Config.PublishDir+"/"), Config.GetAbsPath(Config.StaticDir+"/")) } diff --git a/hugolib/site.go b/hugolib/site.go index eda44fb1c..05561f85c 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -132,11 +132,13 @@ func (s *Site) addTemplate(name, data string) error { } func (s *Site) Process() (err error) { - s.initialize() + if err = s.initialize(); err != nil { + return + } s.prepTemplates() s.timerStep("initialize & template prep") if err = s.CreatePages(); err != nil { - return err + return } s.setupPrevNext() s.timerStep("import pages") @@ -248,9 +250,11 @@ func (s *Site) absPublishDir() string { } func (s *Site) checkDirectories() (err error) { - if b, _ := dirExists(s.absLayoutDir()); !b { - return fmt.Errorf("No layout directory found, expecting to find it at " + s.absLayoutDir()) - } + /* + if b, _ := dirExists(s.absLayoutDir()); !b { + return fmt.Errorf("No layout directory found, expecting to find it at " + s.absLayoutDir()) + } + */ if b, _ := dirExists(s.absContentDir()); !b { return fmt.Errorf("No source directory found, expecting to find it at " + s.absContentDir()) } @@ -266,10 +270,10 @@ func (s *Site) ProcessShortcodes() { func (s *Site) CreatePages() (err error) { if s.Source == nil { - return fmt.Errorf("No source files found in", s.absContentDir()) + panic(fmt.Sprintf("s.Source not set %s", s.absContentDir())) } if len(s.Source.Files()) < 1 { - return fmt.Errorf("No source files found in", s.absContentDir()) + return fmt.Errorf("No source files found in %s", s.absContentDir()) } for _, file := range s.Source.Files() { page, err := ReadFrom(file.Contents, file.LogicalName)