engine

package
v1.7.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: BSD-3-Clause, BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Overview

Package engine provides multiple template engine implementations

Index

Constants

View Source
const (
	EngineGo         = "go"
	EnginePongo2     = "pongo2"
	EngineMustache   = "mustache"
	EngineHandlebars = "handlebars"
)

Available engine types

Variables

This section is empty.

Functions

func AvailableEngines

func AvailableEngines() []string

AvailableEngines returns list of available engine names

Types

type Engine

type Engine interface {
	// Name returns the engine name
	Name() string
	// Parse parses template content and returns a compiled template
	Parse(name, content string, funcs template.FuncMap) (Template, error)
	// ParseFile parses a template file
	ParseFile(path string, funcs template.FuncMap) (Template, error)
}

Engine represents a template engine interface

func New

func New(name string) (Engine, error)

New creates a new template engine by name

type GoEngine

type GoEngine struct{}

GoEngine implements Engine using Go's html/template

func NewGoEngine

func NewGoEngine() *GoEngine

NewGoEngine creates a new Go template engine

func (*GoEngine) Name

func (e *GoEngine) Name() string

Name returns the engine name

func (*GoEngine) Parse

func (e *GoEngine) Parse(name, content string, funcs template.FuncMap) (Template, error)

Parse parses template content

func (*GoEngine) ParseFile

func (e *GoEngine) ParseFile(path string, funcs template.FuncMap) (Template, error)

ParseFile parses a template file

type GoTemplate

type GoTemplate struct {
	// contains filtered or unexported fields
}

GoTemplate wraps Go's template.Template

func (*GoTemplate) Execute

func (t *GoTemplate) Execute(w io.Writer, data interface{}) error

Execute renders the template

type HandlebarsEngine

type HandlebarsEngine struct{}

HandlebarsEngine implements Engine using Handlebars (raymond)

func NewHandlebarsEngine

func NewHandlebarsEngine() *HandlebarsEngine

NewHandlebarsEngine creates a new Handlebars template engine

func (*HandlebarsEngine) Name

func (e *HandlebarsEngine) Name() string

Name returns the engine name

func (*HandlebarsEngine) Parse

func (e *HandlebarsEngine) Parse(name, content string, funcs template.FuncMap) (Template, error)

Parse parses template content

func (*HandlebarsEngine) ParseFile

func (e *HandlebarsEngine) ParseFile(path string, funcs template.FuncMap) (Template, error)

ParseFile parses a template file

type HandlebarsTemplate

type HandlebarsTemplate struct {
	// contains filtered or unexported fields
}

HandlebarsTemplate wraps raymond.Template

func (*HandlebarsTemplate) Execute

func (t *HandlebarsTemplate) Execute(w io.Writer, data interface{}) error

Execute renders the template

type MustacheEngine

type MustacheEngine struct{}

MustacheEngine implements Engine using Mustache

func NewMustacheEngine

func NewMustacheEngine() *MustacheEngine

NewMustacheEngine creates a new Mustache template engine

func (*MustacheEngine) Name

func (e *MustacheEngine) Name() string

Name returns the engine name

func (*MustacheEngine) Parse

func (e *MustacheEngine) Parse(name, content string, funcs template.FuncMap) (Template, error)

Parse parses template content

func (*MustacheEngine) ParseFile

func (e *MustacheEngine) ParseFile(path string, funcs template.FuncMap) (Template, error)

ParseFile parses a template file

type MustacheTemplate

type MustacheTemplate struct {
	// contains filtered or unexported fields
}

MustacheTemplate wraps mustache.Template

func (*MustacheTemplate) Execute

func (t *MustacheTemplate) Execute(w io.Writer, data interface{}) error

Execute renders the template

type Pongo2Engine

type Pongo2Engine struct{}

Pongo2Engine implements Engine using Pongo2 (Jinja2/Django-like)

func NewPongo2Engine

func NewPongo2Engine() *Pongo2Engine

NewPongo2Engine creates a new Pongo2 template engine

func (*Pongo2Engine) Name

func (e *Pongo2Engine) Name() string

Name returns the engine name

func (*Pongo2Engine) Parse

func (e *Pongo2Engine) Parse(name, content string, funcs template.FuncMap) (Template, error)

Parse parses template content

func (*Pongo2Engine) ParseFile

func (e *Pongo2Engine) ParseFile(path string, funcs template.FuncMap) (Template, error)

ParseFile parses a template file

type Pongo2Template

type Pongo2Template struct {
	// contains filtered or unexported fields
}

Pongo2Template wraps pongo2.Template

func (*Pongo2Template) Execute

func (t *Pongo2Template) Execute(w io.Writer, data interface{}) error

Execute renders the template

type Template

type Template interface {
	// Execute renders the template with given data
	Execute(w io.Writer, data interface{}) error
}

Template represents a compiled template

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL