Developer Center website. https://developers.write.as
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

38 linhas
711 B

  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "github.com/gorilla/mux"
  6. "github.com/writeas/web-core/log"
  7. "net/http"
  8. "os"
  9. )
  10. const (
  11. templatesDir = "templates"
  12. pagesDir = "pages"
  13. staticDir = "static"
  14. )
  15. var portPtr = flag.Int("p", 8080, "Port to listen on.")
  16. func main() {
  17. // Parse config options
  18. flag.Parse()
  19. // Add routes
  20. r := mux.NewRouter()
  21. r.HandleFunc("/{page:[a-z]+}", viewPage)
  22. r.HandleFunc("/", viewPage)
  23. r.PathPrefix("/").Handler(http.FileServer(http.Dir(staticDir)))
  24. // Start server
  25. log.Info("Listening on http://localhost:%d", *portPtr)
  26. err := http.ListenAndServe(fmt.Sprintf(":%d", *portPtr), r)
  27. if err != nil {
  28. log.Error("Unable to ListenAndServe: %s", err)
  29. os.Exit(1)
  30. }
  31. }