50 lines
991 B
Go
50 lines
991 B
Go
package main
|
|
|
|
import (
|
|
gotemplate "html/template"
|
|
"log"
|
|
"net/http"
|
|
|
|
"github.com/flamego/flamego"
|
|
"github.com/flamego/template"
|
|
|
|
"git.metaunix.net/bitgoblin/blt/models"
|
|
"git.metaunix.net/bitgoblin/blt/web"
|
|
"git.metaunix.net/bitgoblin/blt/web/middleware"
|
|
)
|
|
|
|
var Version string = "N/a"
|
|
|
|
func main() {
|
|
// initial Flamego server object
|
|
f := flamego.Classic()
|
|
|
|
// initialize database
|
|
models.Open()
|
|
|
|
// initialize base renderer
|
|
f.Use(flamego.Renderer())
|
|
|
|
// initialize templating engine
|
|
f.Use(template.Templater(template.Options{
|
|
FuncMaps: []gotemplate.FuncMap{
|
|
{
|
|
"contains": web.Contains,
|
|
},
|
|
},
|
|
Directory: "templates",
|
|
Extensions: []string{".tmpl", ".html"},
|
|
},
|
|
))
|
|
|
|
// inject custom middleware
|
|
f.Use(middleware.CustomVars)
|
|
|
|
// register routes to server (moved to separate file for cleanliness)
|
|
web.RegisterRoutes(f)
|
|
|
|
// alert the user and start the server
|
|
log.Println("Server is running...")
|
|
log.Println(http.ListenAndServe("0.0.0.0:2830", f))
|
|
}
|