From b2385f062a1b31caa7fdab98c308bc839735389c Mon Sep 17 00:00:00 2001 From: spf13 Date: Fri, 26 Jul 2013 09:22:23 -0400 Subject: [PATCH] create missing directories recurisvely --- hugolib/helpers.go | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/hugolib/helpers.go b/hugolib/helpers.go index ad3c20277..7e2adc221 100644 --- a/hugolib/helpers.go +++ b/hugolib/helpers.go @@ -17,12 +17,13 @@ import ( "bytes" "fmt" "github.com/kr/pretty" + "html/template" "os" + "path/filepath" "reflect" "regexp" "strconv" "strings" - "html/template" "time" ) @@ -137,11 +138,25 @@ func exists(path string) (bool, error) { return false, err } -func mkdirIf(path string) { +func mkdirIf(path string) error { err := os.Mkdir(path, 0777) - if err != nil && os.IsNotExist(err) { - fmt.Println(err) + if err != nil { + if os.IsExist(err) { + return nil + } + if os.IsNotExist(err) { + parent, _ := filepath.Split(path) + err2 := mkdirIf(parent) + if err2 != nil { + return err2 + } else { + return mkdirIf(path) + } + } + return err } + + return nil } func Urlize(url string) string {