package hugo import ( "log" "os" "os/exec" ) // Run executes an external command func Run(command string, args []string, path string) error { cmd := exec.Command(command, args...) cmd.Dir = path cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr return cmd.Run() } // RunHugo is used to run the static website generator func RunHugo(c *Config, force bool) { os.RemoveAll(c.Public) // Prevent running if watching is enabled if b, pos := StringInSlice("--watch", c.Args); b && !force { if len(c.Args) > pos && c.Args[pos+1] != "false" { return } if len(c.Args) == pos+1 { return } } if err := Run(c.Hugo, c.Args, c.Root); err != nil { log.Panic(err) } }