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(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

      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

        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

                          func (view *View) GetDefaultFile() string

                            GetDefaultFile returns default template file for parsing.

                            func (*View) Parse

                            func (view *View) Parse(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(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

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

                                  ParseDefault parses the default template file with params.

                                  func (*View) SetAutoEncode

                                  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

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

                                      SetConfig sets the configuration for view.

                                      func (*View) SetConfigWithMap

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

                                        SetConfigWithMap set configurations with map for the view.

                                        func (*View) SetDefaultFile

                                        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.