mirror of
https://github.com/gohugoio/hugo.git
synced 2024-07-04 16:21:57 +00:00
new site works in an empty directory now
This commit is contained in:
parent
df4bbcef30
commit
6b8244ba67
|
@ -110,7 +110,12 @@ func NewSite(cmd *cobra.Command, args []string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if x, _ := helpers.Exists(createpath); x {
|
if x, _ := helpers.Exists(createpath); x {
|
||||||
jww.FATAL.Fatalln(createpath, "already exists")
|
y, _ := helpers.IsDir(createpath)
|
||||||
|
if z, _ := helpers.IsEmpty(createpath); y && z {
|
||||||
|
jww.INFO.Println(createpath, "already exists and is empty")
|
||||||
|
} else {
|
||||||
|
jww.FATAL.Fatalln(createpath, "already exists and is not empty")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir(createpath, "layouts")
|
mkdir(createpath, "layouts")
|
||||||
|
|
|
@ -72,6 +72,35 @@ func DirExists(path string) (bool, error) {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func IsDir(path string) (bool, error) {
|
||||||
|
fi, err := os.Stat(path)
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
return fi.IsDir(), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsEmpty(path string) (bool, error) {
|
||||||
|
if b, _ := Exists(path); !b {
|
||||||
|
return false, fmt.Errorf("%q path does not exist", path)
|
||||||
|
}
|
||||||
|
fi, err := os.Stat(path)
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
if fi.IsDir() {
|
||||||
|
f, err := os.Open(path)
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
list, err := f.Readdir(-1)
|
||||||
|
f.Close()
|
||||||
|
return len(list) == 0, nil
|
||||||
|
} else {
|
||||||
|
return fi.Size() == 0, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Check if File / Directory Exists
|
// Check if File / Directory Exists
|
||||||
func Exists(path string) (bool, error) {
|
func Exists(path string) (bool, error) {
|
||||||
_, err := os.Stat(path)
|
_, err := os.Stat(path)
|
||||||
|
|
Loading…
Reference in a new issue