main.go (raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
package main import ( "flag" "fmt" "html/template" "log" "net/http" "path/filepath" "git.icyphox.sh/legit/config" "git.icyphox.sh/legit/routes" ) func main() { const version string = "0.2.99999-nilix" var cfg string flag.StringVar(&cfg, "config", "./config.yaml", "path to config file") flag.Parse() c, err := config.Read(cfg, version) if err != nil { log.Fatal(err) } if err := UnveilPaths([]string{ c.Dirs.Static, c.Repo.ScanPath, c.Dirs.Templates, }, "r"); err != nil { log.Fatalf("unveil: %s", err) } tpath := filepath.Join(c.Dirs.Templates, "*") t := template.Must(template.ParseGlob(tpath)) mux := routes.Handlers(c, t) addr := fmt.Sprintf("%s:%d", c.Server.Host, c.Server.Port) log.Println("starting server on", addr) log.Fatal(http.ListenAndServe(addr, mux)) } |