package main import ( "fmt" "os" "go.alanpearce.eu/website/internal/builder" "go.alanpearce.eu/website/internal/log" "github.com/ardanlabs/conf/v3" "github.com/pkg/errors" ) func main() { ioConfig := &builder.IOConfig{} if help, err := conf.Parse("", ioConfig); err != nil { if errors.Is(err, conf.ErrHelpWanted) { fmt.Println(help) os.Exit(1) } panic("error parsing configuration: " + err.Error()) } log.Configure(!ioConfig.Development) log.Debug("starting build process") if ioConfig.Source != "." { err := os.Chdir(ioConfig.Source) if err != nil { log.Panic("could not change to source directory") } } _, err := builder.BuildSite(ioConfig, nil) if err != nil { log.Error("could not build site", "error", err) os.Exit(1) } }