shithub: hugo

Download patch

ref: cece27fa2e5b4c273bb763cefa749ff9b6c46636
parent: e31d4609098f8f9c86551c3d1b11cb887b42bfcb
author: Joel Scoble <[email protected]>
date: Mon Aug 18 15:52:43 EDT 2014

fix issue 411, /path/to/site/archetypes : is a directory error

--- a/create/content.go
+++ b/create/content.go
@@ -30,11 +30,11 @@
 )
 
 func NewContent(kind, name string) (err error) {
-	jww.INFO.Println("attempting to create", name, "of", kind)
+	jww.INFO.Println("attempting to create ", name, "of", kind)
 
 	location := FindArchetype(kind)
 
-	var by []byte
+ 	var by []byte
 
 	if location != "" {
 		by, err = ioutil.ReadFile(location)
@@ -118,11 +118,21 @@
 	}
 
 	for _, x := range search {
-		pathsToCheck := []string{kind + ".md", kind, "default.md", "default"}
+		// If the new content isn't in a subdirectory, kind == "".
+		// Therefore it should be excluded otherwise `is a directory` 
+		// error will occur. github.com/spf13/hugo/issues/411
+		var pathsToCheck []string
+
+		if kind == "" {
+			pathsToCheck = []string{"default.md", "default"}
+		} else {
+			pathsToCheck = []string{kind + ".md", kind, "default.md", "default"}
+		}
 		for _, p := range pathsToCheck {
 			curpath := path.Join(x, p)
 			jww.DEBUG.Println("checking", curpath, "for archetypes")
 			if exists, _ := helpers.Exists(curpath); exists {
+				jww.INFO.Println("curpath: " + curpath)
 				return curpath
 			}
 		}