Documentation ¶
Index ¶
- func GoTemplateEngine(input string, data map[string]interface{}, helpers map[string]interface{}) (string, error)
- type Data
- type Engine
- func (e *Engine) Func(s string, fn RendererFunc) Renderer
- func (e *Engine) HTML(names ...string) Renderer
- func (e *Engine) JSON(v interface{}) Renderer
- func (e *Engine) String(s string) Renderer
- func (e *Engine) Template(c string, names ...string) Renderer
- func (e *Engine) XML(v interface{}) Renderer
- type EventSource
- type Options
- type Renderer
- type RendererFunc
- type TemplateEngine
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Data ¶
type Data map[string]interface{}
Data type to be provided to the Render function on the Renderer interface.
type Engine ¶
type Engine struct {
Options
}
Engine used to power all defined renderers. This allows you to configure the system to your preferred settings, instead of just getting the defaults.
func New ¶
New render.Engine ready to go with your Options and some defaults we think you might like.
func (*Engine) Func ¶
func (e *Engine) Func(s string, fn RendererFunc) Renderer
Func renderer allows for easily building one of renderers using just a RendererFunc and not having to build a whole implementation of the Render interface.
func (*Engine) HTML ¶
HTML renders the named files using the 'text/html' content type and the github.com/aymerick/raymond package for templating. If more than 1 file is provided the second file will be considered a "layout" file and the first file will be the "content" file which will be placed into the "layout" using "{{yield}}". If no second file is provided and an `HTMLLayout` is specified in the options, then that layout file will be used automatically.
func (*Engine) String ¶
String renderer that will run the string through the github.com/aymerick/raymond package and return "text/plain" as the content type.
func (*Engine) Template ¶
Template renders the named files using the specified content type and the github.com/aymerick/raymond package for templating. If more than 1 file is provided the second file will be considered a "layout" file and the first file will be the "content" file which will be placed into the "layout" using "{{yield}}".
type EventSource ¶
type EventSource struct {
// contains filtered or unexported fields
}
EventSource is designed to work with JavaScript EventSource objects. see https://developer.mozilla.org/en-US/docs/Web/API/EventSource for more details
func NewEventSource ¶
func NewEventSource(w http.ResponseWriter) (*EventSource, error)
NewEventSource returns a new EventSource instance while ensuring that the http.ResponseWriter is able to handle EventSource messages. It also makes sure to set the proper response heads.
func (*EventSource) CloseNotify ¶
func (es *EventSource) CloseNotify() <-chan bool
CloseNotify return true across the channel when the connection in the browser has been severed.
func (*EventSource) Flush ¶
func (es *EventSource) Flush()
Flush messages down the pipe. If messages aren't flushed they won't be sent.
func (*EventSource) Write ¶
func (es *EventSource) Write(t string, d interface{}) error
type Options ¶
type Options struct { // HTMLLayout is the default layout to be used with all HTML renders. HTMLLayout string // TemplatesPath is the location of the templates directory on disk. TemplatesPath string // FileResolverFunc will attempt to file a file and return it's bytes, if possible FileResolverFunc func() resolvers.FileResolver // Helpers to be rendered with the templates Helpers map[string]interface{} // TemplateEngine to be used for rendering HTML templates TemplateEngine TemplateEngine // CacheTemplates option will be removed in 0.8.0. CacheTemplates bool // contains filtered or unexported fields }
Options for render.Engine
func (*Options) Resolver ¶ added in v0.7.0
func (o *Options) Resolver() resolvers.FileResolver
Resolver calls the FileResolverFunc and returns the resolver. The resolver is cached, so the function can be called multiple times without penalty. This is necessary because certain resolvers, like the RiceBox one, require a fully initialized state to work properly and can not be run directly from init functions.
type Renderer ¶
Renderer interface that must be satisfied to be used with buffalo.Context.Render
func Func ¶
func Func(s string, fn RendererFunc) Renderer
Func renderer allows for easily building one of renderers using just a RendererFunc and not having to build a whole implementation of the Render interface.
func HTML ¶
HTML renders the named files using the 'text/html' content type and the github.com/aymerick/raymond package for templating. If more than 1 file is provided the second file will be considered a "layout" file and the first file will be the "content" file which will be placed into the "layout" using "{{yield}}".
func JSON ¶
func JSON(v interface{}) Renderer
JSON renders the value using the "application/json" content type.
func String ¶
String renderer that will run the string through the github.com/aymerick/raymond package and return "text/plain" as the content type.
func Template ¶
Template renders the named files using the specified content type and the github.com/aymerick/raymond package for templating. If more than 1 file is provided the second file will be considered a "layout" file and the first file will be the "content" file which will be placed into the "layout" using "{{yield}}".
type RendererFunc ¶
RendererFunc is the interface for the the function needed by the Func renderer.