Personal website hybrid SSG.
package mainimport ( "errors" "fmt" "log" "os")func EnsureDir(path string) []os.DirEntry { dir, err := os.ReadDir(path) if err != nil { if !errors.Is(err, os.ErrNotExist) { log.Panic(err) } fmt.Printf("The '%s' directory does not exist yet. Creating it for you... ", path) err := os.Mkdir(path, os.ModePerm) if err != nil { log.Panic(err) } fmt.Print("Done!\n") dir, err = os.ReadDir(path) if err != nil { log.Panic(err) // it's over } } return dir}