1
0
mirror of https://github.com/kataras/iris.git synced 2025-12-19 02:47:04 +00:00

Add a 'ParseTemplate' method on view engines to manually parse and add a template from a text

examples at: https://github.com/kataras/iris/tree/master/_examples/view/parse-template

relative to: https://github.com/kataras/iris/issues/1617
This commit is contained in:
Gerasimos (Makis) Maropoulos
2020-09-08 07:55:33 +03:00
parent 64038b09e3
commit a4996b90c8
13 changed files with 307 additions and 100 deletions

View File

@@ -0,0 +1,32 @@
package main
import (
"reflect"
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/view"
)
func main() {
e := iris.Jet(nil, ".jet") // You can still use a file system though.
e.AddFunc("greet", func(args view.JetArguments) reflect.Value {
msg := "Hello, " + args.Get(0).String() + "!"
return reflect.ValueOf(msg)
})
err := e.ParseTemplate("program.jet", `<h1>{{greet(.Name)}}</h1>`)
if err != nil {
panic(err)
}
app := iris.New()
app.RegisterView(e)
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
ctx.View("program.jet", iris.Map{
"Name": "Gerasimos",
})
}