render

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2017 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Data

type Data map[string]interface{}

Data type to be provided to the Render function on the Renderer interface.

func (Data) ToVelvet added in v0.7.0

func (d Data) ToVelvet() *velvet.Context

ToVelvet converts the render data into a velvet.Context

type Engine

type Engine struct {
	Options
	// contains filtered or unexported fields
}

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

func New(opts Options) *Engine

New render.Engine ready to go with your Options and some defaults we think you might like. Engines have the following helpers added to them: https://github.com/gobuffalo/buffalo/blob/master/render/helpers/helpers.go#L1 https://github.com/markbates/inflect/blob/master/helpers.go#L3

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

func (e *Engine) HTML(names ...string) Renderer

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) JSON

func (e *Engine) JSON(v interface{}) Renderer

JSON renders the value using the "application/json" content type.

func (*Engine) String

func (e *Engine) String(s string) Renderer

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

func (e *Engine) Template(c string, names ...string) Renderer

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}}".

func (*Engine) XML

func (e *Engine) XML(v interface{}) Renderer

XML renders the value using the "application/xml" content type.

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{}
	// CacheTemplates reduced overheads, but won't reload changed templates.
	// This should only be set to true in production environments.
	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

type Renderer interface {
	ContentType() string
	Render(io.Writer, Data) error
}

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

func HTML(names ...string) Renderer

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

func String(s string) Renderer

String renderer that will run the string through the github.com/aymerick/raymond package and return "text/plain" as the content type.

func Template

func Template(c string, names ...string) Renderer

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}}".

func XML

func XML(v interface{}) Renderer

XML renders the value using the "application/xml" content type.

type RendererFunc

type RendererFunc func(io.Writer, Data) error

RendererFunc is the interface for the the function needed by the Func renderer.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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