| @@ -1,3 +1,4 @@ | |||||
| gogs | gogs | ||||
| *.exe | *.exe | ||||
| *.exe~ | *.exe~ | ||||
| .DS_Store | |||||
| @@ -1 +1,5 @@ | |||||
| APP_NAME = Go Git Service | |||||
| APP_NAME = Go Git Service | |||||
| [server] | |||||
| HTTP_ADDR = | |||||
| HTTP_PORT = 3000 | |||||
| @@ -5,15 +5,37 @@ | |||||
| package main | package main | ||||
| import ( | import ( | ||||
| "fmt" | |||||
| "net/http" | |||||
| "github.com/codegangsta/martini" | "github.com/codegangsta/martini" | ||||
| "github.com/martini-contrib/render" | |||||
| "github.com/gogits/gogs/routers" | "github.com/gogits/gogs/routers" | ||||
| "github.com/gogits/gogs/utils" | |||||
| "github.com/gogits/gogs/utils/log" | |||||
| ) | ) | ||||
| const APP_VER = "0.0.0.0212" | const APP_VER = "0.0.0.0212" | ||||
| func init() { | |||||
| } | |||||
| func main() { | func main() { | ||||
| log.Info("App Name: %s", utils.Cfg.MustValue("", "APP_NAME")) | |||||
| m := martini.Classic() | m := martini.Classic() | ||||
| m.Get("/", routers.HomeGet) | |||||
| m.Run() | |||||
| // Middleware. | |||||
| m.Use(render.Renderer()) | |||||
| // Routers. | |||||
| m.Get("/", routers.Home) | |||||
| listenAddr := fmt.Sprintf("%s:%s", | |||||
| utils.Cfg.MustValue("server", "HTTP_ADDR"), | |||||
| utils.Cfg.MustValue("server", "HTTP_PORT", "3000")) | |||||
| log.Info("Listen: %s", listenAddr) | |||||
| http.ListenAndServe(listenAddr, m) | |||||
| } | } | ||||
| @@ -4,6 +4,10 @@ | |||||
| package routers | package routers | ||||
| func HomeGet() string { | |||||
| return "Hello world!" | |||||
| import ( | |||||
| "github.com/martini-contrib/render" | |||||
| ) | |||||
| func Home(r render.Render) { | |||||
| r.HTML(200, "home", map[string]interface{}{}) | |||||
| } | } | ||||
| @@ -0,0 +1,2 @@ | |||||
| this is base.html | |||||
| Hello world! | |||||
| @@ -0,0 +1 @@ | |||||
| {{template "base/base"}} | |||||
| @@ -0,0 +1,24 @@ | |||||
| // Copyright 2014 The Gogs Authors. All rights reserved. | |||||
| // Use of this source code is governed by a MIT-style | |||||
| // license that can be found in the LICENSE file. | |||||
| package utils | |||||
| import ( | |||||
| "fmt" | |||||
| "os" | |||||
| "github.com/Unknwon/goconfig" | |||||
| ) | |||||
| var Cfg *goconfig.ConfigFile | |||||
| func init() { | |||||
| var err error | |||||
| Cfg, err = goconfig.LoadConfigFile("conf/app.ini") | |||||
| if err != nil { | |||||
| fmt.Println("Cannot load config file 'app.ini'") | |||||
| os.Exit(2) | |||||
| } | |||||
| Cfg.BlockMode = false | |||||
| } | |||||
| @@ -0,0 +1,21 @@ | |||||
| // Copyright 2014 The Gogs Authors. All rights reserved. | |||||
| // Use of this source code is governed by a MIT-style | |||||
| // license that can be found in the LICENSE file. | |||||
| // Package log is a wrapper of logs for short calling name. | |||||
| package log | |||||
| import ( | |||||
| "github.com/gogits/logs" | |||||
| ) | |||||
| var logger *logs.BeeLogger | |||||
| func init() { | |||||
| logger = logs.NewLogger(10000) | |||||
| logger.SetLogger("console", "") | |||||
| } | |||||
| func Info(format string, v ...interface{}) { | |||||
| logger.Info(format, v...) | |||||
| } | |||||