gogs | gogs | ||||
*.exe | *.exe | ||||
*.exe~ | *.exe~ | ||||
.DS_Store |
APP_NAME = Go Git Service | |||||
APP_NAME = Go Git Service | |||||
[server] | |||||
HTTP_ADDR = | |||||
HTTP_PORT = 3000 |
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) | |||||
} | } |
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{}{}) | |||||
} | } |
this is base.html | |||||
Hello world! |
{{template "base/base"}} |
// 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 | |||||
} |
// 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...) | |||||
} |