package main import ( "flag" "fmt" "log" "net/http" "os" "time" siteHttp "git.riedstra.dev/mitch/go-website/http" // "git.riedstra.dev/mitch/go-website/local" // "git.riedstra.dev/mitch/go-website/page" ) var VersionString = "" func VersionPrint() { fmt.Println(VersionString) os.Exit(0) } func main() { fl := flag.NewFlagSet("Website", flag.ExitOnError) listen := fl.String("l", "0.0.0.0:8001", "Listening address") directory := fl.String("d", ".", "Directory to serve.") version := fl.Bool("v", false, "Print the version then exit") _ = fl.Parse(os.Args[1:]) if *version { VersionPrint() } if err := os.Chdir(*directory); err != nil { log.Fatal(err) } // We're going to utilize the local version of the website // siteHttp.NewPage = func(u string) page.Page { // return &local.Page{Path: u} // } srv := &http.Server{ Handler: siteHttp.GetHandler(), Addr: *listen, WriteTimeout: 15 * time.Second, ReadTimeout: 15 * time.Second, } log.Fatal(srv.ListenAndServe()) }