EchoX is extensions library for Echo web framework.
package main
import (
"net/http"
"github.com/labstack/echo"
"github.com/labstack/echo/engine/standard"
"github.com/o1egl/echox/log"
)
func main() {
e := echo.New()
e.SetLogger(log.Logrus())
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
})
e.Run(standard.New(":1323"))
}
If you have the following hierarchy:
public/
css/
js/
images/
templates/
-
File system loader
loader := template.FSLoader("public/templates")
-
go-bindata in memory loader
First you need to generate bin data file
$ go get -u github.com/jteeuwen/go-bindata/... $ go-bindata -o assets/assets.go -pkg=assets -prefix=public public/...
loader := template.GOBinDataLoader("templates", assets.AssetDir, assets.Asset)
html renderer
package main
import (
"net/http"
"github.com/labstack/echo"
"github.com/labstack/echo/engine/standard"
"github.com/o1egl/echox/template"
)
func main() {
e := echo.New()
e.SetRenderer(template.HTML(template.FSLoader("public/templates")))
e.GET("/", func(c echo.Context) error {
return c.Render(http.StatusOK, "hello", map[string]interface{}{"Name": "Joe"})
})
e.Run(standard.New(":1323"))
}
Fasttemplate renderer
package main
import (
"net/http"
"github.com/labstack/echo"
"github.com/labstack/echo/engine/standard"
"github.com/o1egl/echox/template"
)
func main() {
e := echo.New()
e.SetRenderer(template.HTML(template.FSLoader("public/templates")))
e.GET("/", func(c echo.Context) error {
return c.Render(http.StatusOK, "hello.html", map[string]interface{}{"Name": "Joe"})
})
e.Run(standard.New(":1323"))
}
Pongo2 renderer
package main
import (
"net/http"
"github.com/labstack/echo"
"github.com/labstack/echo/engine/standard"
"github.com/o1egl/echox/template"
)
func main() {
e := echo.New()
e.SetRenderer(template.Pongo(template.FSLoader("public/templates")))
e.GET("/", func(c echo.Context) error {
return c.Render(http.StatusOK, "hello.html", map[string]interface{}{"name": "Joe"})
})
e.Run(standard.New(":1323"))
}
- Fork it.
- Create a branch (
git checkout -b my_branch
) - Commit your changes (
git commit -am "Added new awesome logger"
) - Push to the branch (
git push origin my_branch
) - Open a Pull Request
- Enjoy a refreshing Diet Coke and wait