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)