shithub: hugo

Download patch

ref: 789aa6ad76fe2f6c7b911da6042a7f2a697e94ea
parent: 861472bea5df68d752f21dd8d230df02c6ef7c38
author: Noah Campbell <[email protected]>
date: Thu Oct 31 11:46:55 EDT 2013

Removing check for directory: static, layouts

Removed these checks so a single file in content can generate a site.

For example, given a site with a content directory and an index.html,
running hugo -s dir will generate a project without any more input.

--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -100,6 +100,11 @@
 }
 
 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+"/"))
 }
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -132,11 +132,13 @@
 }
 
 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) 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) 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)