Documentation ¶
Index ¶
- func Asset(name string) ([]byte, error)
- func AssetDigest(name string) ([sha256.Size]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func AssetString(name string) (string, error)
- func Digests() (map[string][sha256.Size]byte, error)
- func MustAsset(name string) []byte
- func MustAssetString(name string) string
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- type Config
- type HTMLRenderer
- type StaticHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Asset ¶
Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetDigest ¶
AssetDigest returns the digest of the file with the given name. It returns an error if the asset could not be found or the digest could not be loaded.
func AssetDir ¶
AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:
data/ foo.txt img/ a.png b.png
then AssetDir("data") would return []string{"foo.txt", "img"}, AssetDir("data/img") would return []string{"a.png", "b.png"}, AssetDir("foo.txt") and AssetDir("notexist") would return an error, and AssetDir("") will return []string{"data"}.
func AssetInfo ¶
AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetString ¶
AssetString returns the asset contents as a string (instead of a []byte).
func MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func MustAssetString ¶
MustAssetString is like AssetString but panics when Asset would return an error. It simplifies safe initialization of global variables.
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory.
func RestoreAssets ¶
RestoreAssets restores an asset under the given directory recursively.
Types ¶
type Config ¶
type Config struct { Dir string `envconfig:"dir" desc:"a path to an external web directory"` BasePath string `envconfig:"base_path" default:"/" desc:"a base path of web pages"` }
Config is a configuration of a template's renderer and HTTP handler for static files.
type HTMLRenderer ¶
type HTMLRenderer struct { Config // contains filtered or unexported fields }
HTMLRenderer renders a HTML page from a Go template.
A template's source for a HTML page should contain four blocks: "title", "style", "js", "content". Block "title" should contain the content of the "title" HTML tag. Block "style" should contain "link" HTML tags that are injected to the head of the page. Block "js" should contain "script" HTML tags that are injected to the bottom of the page's body. Block "content" should contain HTML content that is injected to the start of the page's body. Each block has access to data that is specified using the method "RenderTemplate" of HTMLRenderer.
By default, HTMLRenderer loads a template's source from the application's internal assets. The application's internal assets include the login page's template only (template with name "login.tmpl").
Besides it, HTMLRenderer can load templates' sources from an external directory. The external directory is specified via a config.
Templates can contain links to resources (styles and scripts). In that case, the template's directory has to contain directory "static" with these resources. To provide these resources to a user you should register StaticHandler in the application's HTTP router with path "/static".
func NewHTMLRenderer ¶
func NewHTMLRenderer(cnf Config) (*HTMLRenderer, error)
NewHTMLRenderer returns a new instance of HTMLRenderer.
func (*HTMLRenderer) RenderTemplate ¶
func (r *HTMLRenderer) RenderTemplate(w http.ResponseWriter, req *http.Request, name string, data interface{}) error
RenderTemplate renders a HTML page from a template with the specified name using the specified data.
type StaticHandler ¶
type StaticHandler struct {
// contains filtered or unexported fields
}
StaticHandler provides HTTP handler that serves static files.
func NewStaticHandler ¶
func NewStaticHandler(cnf Config) *StaticHandler
NewStaticHandler creates a new instance of StaticHandler.