gview

package
v1.16.9 Latest Latest
Warning

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

Go to latest
Published: May 30, 2022 License: MIT Imports: 29 Imported by: 20

Documentation

Overview

Package gview implements a template engine based on text/template.

Reserved template variable names:

I18nLanguage: Assign this variable to define i18n language for each page.

Index

Constants

View Source
const (
	// Default group name for instance usage.
	DefaultName = "default"
)

Variables

This section is empty.

Functions

func ParseContent

func ParseContent(ctx context.Context, content string, params ...Params) (string, error)

ParseContent parses the template content directly using the default view object and returns the parsed content.

Types

type Config added in v1.10.0

type Config struct {
	Paths       []string               `json:"paths"`       // Searching array for path, NOT concurrent-safe for performance purpose.
	Data        map[string]interface{} `json:"data"`        // Global template variables including configuration.
	DefaultFile string                 `json:"defaultFile"` // Default template file for parsing.
	Delimiters  []string               `json:"delimiters"`  // Custom template delimiters.
	AutoEncode  bool                   `json:"autoEncode"`  // Automatically encodes and provides safe html output, which is good for avoiding XSS.
	I18nManager *gi18n.Manager         `json:"-"`           // I18n manager for the view.
}

Config is the configuration object for template engine.

func DefaultConfig added in v1.12.2

func DefaultConfig() Config

DefaultConfig creates and returns a configuration object with default configurations.

type FuncMap

type FuncMap = map[string]interface{} // FuncMap is type for custom template functions.

type Params

type Params = map[string]interface{} // Params is type for template params.

type View

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

View object for template engine.

func Instance

func Instance(name ...string) *View

Instance returns an instance of View with default settings. The parameter `name` is the name for the instance.

func New

func New(path ...string) *View

New returns a new view object. The parameter `path` specifies the template directory path to load template files.

func (*View) AddPath

func (view *View) AddPath(path string) error

AddPath adds a absolute or relative path to the search paths.

func (*View) Assign

func (view *View) Assign(key string, value interface{})

Assign binds a global template variable to current view object. Note that it's not concurrent-safe, which means it would panic if it's called in multiple goroutines in runtime.

func (*View) Assigns

func (view *View) Assigns(data Params)

Assigns binds multiple global template variables to current view object. Note that it's not concurrent-safe, which means it would panic if it's called in multiple goroutines in runtime.

func (*View) BindFunc

func (view *View) BindFunc(name string, function interface{})

BindFunc registers customized global template function named `name` with given function `function` to current view object. The `name` is the function name which can be called in template content.

func (*View) BindFuncMap

func (view *View) BindFuncMap(funcMap FuncMap)

BindFuncMap registers customized global template functions by map to current view object. The key of map is the template function name and the value of map is the address of customized function.

func (*View) GetDefaultFile added in v1.12.2

func (view *View) GetDefaultFile() string

GetDefaultFile returns default template file for parsing.

func (*View) Parse

func (view *View) Parse(ctx context.Context, file string, params ...Params) (result string, err error)

Parse parses given template file `file` with given template variables `params` and returns the parsed template content.

func (*View) ParseContent

func (view *View) ParseContent(ctx context.Context, content string, params ...Params) (string, error)

ParseContent parses given template content `content` with template variables `params` and returns the parsed content in []byte.

func (*View) ParseDefault added in v1.10.0

func (view *View) ParseDefault(ctx context.Context, params ...Params) (result string, err error)

ParseDefault parses the default template file with params.

func (*View) SetAutoEncode added in v1.11.0

func (view *View) SetAutoEncode(enable bool)

SetAutoEncode enables/disables automatically html encoding feature. When AutoEncode feature is enables, view engine automatically encodes and provides safe html output, which is good for avoid XSS.

func (*View) SetConfig added in v1.10.0

func (view *View) SetConfig(config Config) error

SetConfig sets the configuration for view.

func (*View) SetConfigWithMap added in v1.10.0

func (view *View) SetConfigWithMap(m map[string]interface{}) error

SetConfigWithMap set configurations with map for the view.

func (*View) SetDefaultFile added in v1.10.0

func (view *View) SetDefaultFile(file string)

SetDefaultFile sets default template file for parsing.

func (*View) SetDelimiters

func (view *View) SetDelimiters(left, right string)

SetDelimiters sets customized delimiters for template parsing.

func (*View) SetI18n

func (view *View) SetI18n(manager *gi18n.Manager)

SetI18n binds i18n manager to current view engine.

func (*View) SetPath

func (view *View) SetPath(path string) error

SetPath sets the template directory path for template file search. The parameter `path` can be absolute or relative path, but absolute path is suggested.

Jump to

Keyboard shortcuts

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