package hugo import ( "io" "log" "os" "os/exec" "time" ) type Metadata struct { Path string Slug string Title string Date *time.Time ExpiryDate *time.Time PublishDate *time.Time Draft bool Permalink string Kind string Section string } func NewBlog(name string) { if empty, _ := CheckIfEmpty(name); !empty { // we need dir to be empty log.Fatal("blog dir is not empty") } cmd := exec.Command("hugo", "new", "site", name) if err := cmd; err != nil { log.Fatal(err) } cmd.Run() } func CheckIfEmpty(name string) (bool, error) { dir, err := os.Open(name) if err != nil { return false, err } defer dir.Close() _, err = dir.Readdirnames(1) if err == io.EOF { return true, nil } return false, err } func Build() { cmd := exec.Command("hugo", "build") if err := cmd; cmd != nil { log.Fatal(err) } cmd.Run() } func List() { if err := os.Chdir("/home/lv/dev/assilvestrar-blog"); err != nil { log.Fatal(err) } cmd := exec.Command("hugo", "list", "all") if err := cmd; cmd != nil { log.Fatal(err) } if err := cmd.Run(); err != nil { log.Fatal(err) } }