func _StartMartini() { WEB.Use(macaron.Recovery()) WEB.Use(macaron.Static("public", macaron.StaticOptions{ FileSystem: bindata.Static(bindata.Options{ Asset: public.Asset, AssetDir: public.AssetDir, AssetNames: public.AssetNames, Prefix: "", }), SkipLogging: true, }, )) WEB.Use(macaron.Renderer(macaron.RenderOptions{ //Directory: "templates", //!!when package,escape this line. Specify what path to load the templates from. Layout: "layout", // Specify a layout template. Layouts can call {{ yield }} to render the current template. //Extensions: []string{".tmpl", ".html"}, //!!when package,escape this line. Specify extensions to load for templates. //Charset: "UTF-8", //!!when package,escape this line. Sets encoding for json and html content-types. Default is "UTF-8". TemplateFileSystem: bindata.Templates(bindata.Options{ //make templates files into bindata. Asset: templates.Asset, AssetDir: templates.AssetDir, AssetNames: templates.AssetNames, Prefix: ""}), })) LoadRoute() WEB.Run(cfg.HOST, cfg.PORT) }
func daemon(c *cobra.Command, a []string) { m := macaron.New() setting.NewContext(c) err := models.NewEngine() m.Use(middleware.Contexter()) m.Use(macaron.Recovery()) m.Use(macaron.Logger()) m.Use(macaron.Renderer( macaron.RenderOptions{ Directory: "templates", TemplateFileSystem: bindata.Templates(bindata.Options{ Asset: templates.Asset, AssetDir: templates.AssetDir, AssetNames: templates.AssetNames, Prefix: "", }), }, )) m.Use(macaron.Static("web/images", macaron.StaticOptions{ Prefix: "images", FileSystem: bindata.Static(bindata.Options{ Asset: web.Asset, AssetDir: web.AssetDir, AssetNames: web.AssetNames, Prefix: "web/images", }), }, )) m.Use(macaron.Static("web/template", macaron.StaticOptions{ Prefix: "template", FileSystem: bindata.Static(bindata.Options{ Asset: web.Asset, AssetDir: web.AssetDir, AssetNames: web.AssetNames, Prefix: "web/template", }), }, )) m.Use(macaron.Static("web", macaron.StaticOptions{ FileSystem: bindata.Static(bindata.Options{ Asset: web.Asset, AssetDir: web.AssetDir, AssetNames: web.AssetNames, Prefix: "web", }), Prefix: viper.GetString("version"), }, )) m.Get("/assets/html/user/views/oauth.html", user.OauthHandler) m.Combo("/api/oauth"). Get(user.OauthUrl). Post(binding.Json(auth.Oauth2{}), user.OauthLogin) m.Post("/api/login", binding.Json(auth.SignIn{}), user.SignIn) m.Post("/api/register", binding.Json(auth.SignUp{}), user.SignUp) m.Group("/api", func() { m.Get("/boards", board.ListBoards) m.Post("/boards/configure", binding.Json(models.BoardRequest{}), board.Configure) m.Get("/board", board.ItemBoard) m.Get("/labels", board.ListLabels) m.Get("/cards", board.ListCards) m.Get("/milestones", board.ListMilestones) m.Get("/users", board.ListMembers) m.Combo("/comments"). Get(board.ListComments). Post(binding.Json(models.CommentRequest{}), board.CreateComment) m.Combo("/card"). Post(binding.Json(models.CardRequest{}), board.CreateCard). Put(binding.Json(models.CardRequest{}), board.UpdateCard). Delete(binding.Json(models.CardRequest{}), board.DeleteCard) m.Put("/card/move", binding.Json(models.CardRequest{}), board.MoveToCard) }, middleware.Auther()) m.Get("/*", routers.Home) m.Get("/ws/", sockets.Messages(), ws.ListenAndServe) listen := viper.GetString("server.listen") log.Printf("Listen: %s", listen) err = http.ListenAndServe(listen, m) if err != nil { log.Fatalf("Failed to start: %s", err) } }
// +build bindata package modules import ( "github.com/Unknwon/macaron" "github.com/codeskyblue/file-server/public" "github.com/codeskyblue/file-server/templates" "github.com/macaron-contrib/bindata" ) var Public = macaron.Static("public", macaron.StaticOptions{ Prefix: "-", FileSystem: bindata.Static(bindata.Options{ Asset: public.Asset, AssetDir: public.AssetDir, AssetNames: public.AssetNames, Prefix: "", }), }) var Renderer = macaron.Renderer(macaron.RenderOptions{ TemplateFileSystem: bindata.Templates(bindata.Options{ Asset: templates.Asset, AssetDir: templates.AssetDir, AssetNames: templates.AssetNames, Prefix: "", }), })