"bytes"
        "fmt"
        "github.com/kr/pretty"
+       "html/template"
        "os"
+       "path/filepath"
        "reflect"
        "regexp"
        "strconv"
        "strings"
-       "html/template"
        "time"
 )
 
        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 {