1
0
mirror of https://github.com/kataras/iris.git synced 2026-01-09 21:15:56 +00:00
This commit is contained in:
Gerasimos (Makis) Maropoulos
2020-10-01 16:06:16 +03:00
parent 5017e3c986
commit 552539bed1
75 changed files with 807 additions and 47 deletions

View File

@@ -108,6 +108,15 @@
* [Upload Multiple Files](file-server/upload-files/main.go)
* View
* [Overview](view/overview/main.go)
* [Layout](view/layout)
* [Ace](view/layout/ace)
* [Amber](view/layout/amber)
* [Blocks](view/layout/blocks)
* [Django](view/layout/django)
* [Handlebars](view/layout/handlebars)
* [HTML](view/layout/html)
* [Jet](view/layout/jet)
* [Pug](view/layout/pug)
* [Basic](view/template_html_0/main.go)
* [A simple Layout](view/template_html_1/main.go)
* [Layouts: `yield` and `render` tmpl funcs](view/template_html_2/main.go)

View File

@@ -0,0 +1,26 @@
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
// By default Ace minifies the template before render,
// using the SetIndent method, we make it to match
// the rest of the template results.
app.RegisterView(iris.Ace("./views", ".ace").SetIndent(" "))
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
data := iris.Map{
"Title": "Page Title",
"FooterText": "Footer contents",
"Message": "Main contents",
}
ctx.ViewLayout("layouts/main")
ctx.View("index", data)
}

View File

@@ -0,0 +1,2 @@
h1 Index Body
h3 Message: {{.Message}}

View File

@@ -0,0 +1,8 @@
= doctype html
html
head
title {{.Title}}
body
{{ yield }}
footer
= include partials/footer.ace .

View File

@@ -0,0 +1,2 @@
h3 Footer Partial
h4 {{.FooterText}}

View File

@@ -0,0 +1,25 @@
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.RegisterView(iris.Amber("./views", ".amber"))
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
data := iris.Map{
"Title": "Page Title",
"FooterText": "Footer contents",
"Message": "Main contents",
}
// On Amber this is ignored: ctx.ViewLayout("layouts/main")
// Layouts are only rendered from inside the index page itself
// using the "extends" keyword.
ctx.View("index", data)
}

View File

@@ -0,0 +1,5 @@
extends layouts/main.amber
block content
h1 Index Body
h3 Message: #{Message}

View File

@@ -0,0 +1,8 @@
doctype html
html
head
title #{Title}
body
block content
footer
#{render("partials/footer.amber", $)}

View File

@@ -0,0 +1,2 @@
h3 Footer Partial
h4 #{FooterText}

View File

@@ -0,0 +1,26 @@
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.RegisterView(iris.Blocks("./views", ".html"))
// Note, in Blocks engine, layouts
// are used by their base names, the
// blocks.LayoutDir(layoutDir) defaults to "./layouts".
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
data := iris.Map{
"Title": "Page Title",
"FooterText": "Footer contents",
"Message": "Main contents",
}
ctx.ViewLayout("main")
ctx.View("index", data)
}

View File

@@ -0,0 +1,2 @@
<h1>Index Body</h1>
<h3>Message: {{.Message}}</h3>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<head>
<title>{{.Title}}</title>
</head>
<body>
{{ template "content" . }}
<footer>
{{ partial "partials/footer" .}}
</footer>
</body>
</html>

View File

@@ -0,0 +1,2 @@
<h3>Footer Partial</h3>
<h4>{{.FooterText}}</h4>

View File

@@ -0,0 +1,25 @@
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.RegisterView(iris.Django("./views", ".html"))
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
data := iris.Map{
"Title": "Page Title",
"FooterText": "Footer contents",
"Message": "Main contents",
}
// On Django this is ignored: ctx.ViewLayout("layouts/main")
// Layouts are only rendered from inside the index page itself
// using the "extends" keyword.
ctx.View("index", data)
}

View File

@@ -0,0 +1,6 @@
{% extends "layouts/main.html" %}
{% block content %}
<h1>Index Body</h1>
<h3>Message: {{Message}}</h3>
{% endblock %}

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<head>
<title>{{Title}}</title>
</head>
<body>
{% block content %} {% endblock %}
<footer>{% include "../partials/footer.html" %}</footer>
</body>
</html>

View File

@@ -0,0 +1,2 @@
<h3>Footer Partial</h3>
<h4>{{FooterText}}</h4>

View File

@@ -0,0 +1,24 @@
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.RegisterView(iris.Handlebars("./views", ".html"))
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
data := iris.Map{
"Title": "Page Title",
"FooterText": "Footer contents",
"Message": "Main contents",
}
ctx.ViewLayout("layouts/main")
ctx.View("index", data)
}

View File

@@ -0,0 +1,2 @@
<h1>Index Body</h1>
<h3>Message: {{Message}} </h3>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<head>
<title>{{Title}}</title>
</head>
<body>
{{ yield }}
<footer>{{ render "partials/footer.html" .}}</footer>
</body>
</html>

View File

@@ -0,0 +1,2 @@
<h3>Footer Partial</h3>
<h4>{{FooterText}}</h4>

View File

@@ -0,0 +1,24 @@
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.RegisterView(iris.HTML("./views", ".html"))
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
data := iris.Map{
"Title": "Page Title",
"FooterText": "Footer contents",
"Message": "Main contents",
}
ctx.ViewLayout("layouts/main")
ctx.View("index", data)
}

View File

@@ -0,0 +1,2 @@
<h1>Index Body</h1>
<h3>Message: {{.Message}}</h3>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<head>
<title>{{.Title}}</title>
</head>
<body>
{{ yield }}
<footer>
{{ render "partials/footer.html" }}
</footer>
</body>
</html>

View File

@@ -0,0 +1,2 @@
<h3>Footer Partial</h3>
<h4>{{.FooterText}}</h4>

View File

@@ -0,0 +1,26 @@
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.RegisterView(iris.Jet("./views", ".jet"))
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
data := iris.Map{
"Title": "Page Title",
"FooterText": "Footer contents",
"Message": "Main contents",
}
// On Jet this is ignored: ctx.ViewLayout("layouts/main")
// Layouts are only rendered from inside the index page itself
// using the "extends" keyword.
ctx.View("index", data)
}

View File

@@ -0,0 +1,5 @@
{{ extends "../layouts/main.jet" }}
{{ block documentBody() }}
<h1>Index Body</h1>
<h3>Message: {{.Message}}</h3>
{{ end }}

View File

@@ -0,0 +1,9 @@
<!DOCTYPE html>
<head>
<title>{{.Title}}</title>
</head>
<body>
{{ yield documentBody() }}
<footer>{{ include "../partials/footer.jet" . }}</footer>
</body>
</html>

View File

@@ -0,0 +1,2 @@
<h3>Footer Partial</h3>
<h4>{{.FooterText}}</h4>

View File

@@ -0,0 +1,25 @@
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.RegisterView(iris.Pug("./views", ".pug"))
app.Get("/", index)
app.Listen(":8080")
}
func index(ctx iris.Context) {
data := iris.Map{
"Title": "Page Title",
"FooterText": "Footer contents",
"Message": "Main contents",
}
// On Pug this is ignored: ctx.ViewLayout("layouts/main")
// Layouts are only rendered from inside the index page itself
// using the "extends" keyword.
ctx.View("index", data)
}

View File

@@ -0,0 +1,5 @@
extends layouts/main.pug
block content
h1 Index Body
h3 Message: {{.Message}}

View File

@@ -0,0 +1,8 @@
doctype html
html
head
title {{.Title}}
body
block content
footer
include ../partials/footer.pug

View File

@@ -0,0 +1,2 @@
h3 Footer Partial
h4 {{.FooterText}}