1
0
mirror of https://github.com/labstack/echo.git synced 2026-04-03 17:04:07 +02:00
Files
echo/renderer.go
toimtoimtoim f071367e3c V5 changes
2026-01-18 18:14:41 +02:00

33 lines
972 B
Go

// SPDX-License-Identifier: MIT
// SPDX-FileCopyrightText: © 2015 LabStack LLC and Echo contributors
package echo
import "io"
// Renderer is the interface that wraps the Render function.
type Renderer interface {
Render(c *Context, w io.Writer, templateName string, data any) error
}
// TemplateRenderer is helper to ease creating renderers for `html/template` and `text/template` packages.
// Example usage:
//
// e.Renderer = &echo.TemplateRenderer{
// Template: template.Must(template.ParseGlob("templates/*.html")),
// }
//
// e.Renderer = &echo.TemplateRenderer{
// Template: template.Must(template.New("hello").Parse("Hello, {{.}}!")),
// }
type TemplateRenderer struct {
Template interface {
ExecuteTemplate(wr io.Writer, name string, data any) error
}
}
// Render renders the template with given data.
func (t *TemplateRenderer) Render(c *Context, w io.Writer, name string, data any) error {
return t.Template.ExecuteTemplate(w, name, data)
}