Documentation
¶
Index ¶
- Constants
- Variables
- func Embed(data map[string]interface{}, value interface{})
- func EnsureTime(anyValue interface{}) interface{}
- func IsNil(v interface{}) bool
- func MakeTemplateFuncMap() map[string]interface{}
- func RFC3339(date interface{}) interface{}
- func ShowAttributeValue(v interface{}) string
- type DefaultLanguageTag
- type Engine
- type EngineTemplateResolver
- type HTML
- func (t *HTML) FindResources(fs resource.Fs) ([]resource.Location, error)
- func (t *HTML) MatchResource(path string) (*resource.Match, bool)
- func (t *HTML) UpdateResource(_ context.Context, _ []resource.ResourceFile, resrc *resource.ResourceFile, ...) (*resource.ResourceFile, error)
- func (t *HTML) ViewResources(resources []resource.ResourceFile, view resource.View) (interface{}, error)
- type LimitWriter
- type PlainText
- func (t *PlainText) FindResources(fs resource.Fs) ([]resource.Location, error)
- func (t *PlainText) MatchResource(path string) (*resource.Match, bool)
- func (t *PlainText) UpdateResource(_ context.Context, _ []resource.ResourceFile, resrc *resource.ResourceFile, ...) (*resource.ResourceFile, error)
- func (t *PlainText) ViewResources(resources []resource.ResourceFile, view resource.View) (interface{}, error)
- type Resolver
- func (r *Resolver) ResolveHTML(desc *HTML, preferredLanguages []string) (*htmltemplate.Template, error)
- func (r *Resolver) ResolvePlainText(desc *PlainText, preferredLanguages []string) (*texttemplate.Template, error)
- func (r *Resolver) ResolveTranslations(preferredLanguages []string) (map[string]Translation, error)
- type Resource
- type ResourceManager
- type SupportedLanguageTags
- type Translation
- type TranslationMap
- type Validator
- type ValidatorOption
Constants ¶
View Source
const MaxTemplateSize = 1024 * 1024 * 1
MaxTemplateSize is 1MiB.
View Source
const TranslationJSONName = "translation.json"
Variables ¶
View Source
var DefaultFuncMap = MakeTemplateFuncMap()
View Source
var DependencySet = wire.NewSet( wire.Struct(new(Resolver), "*"), wire.Struct(new(Engine), "*"), wire.Bind(new(EngineTemplateResolver), new(*Resolver)), )
View Source
var ErrLimitReached = errors.New("template: rendered template is too large")
View Source
var ErrNotFound = errors.New("requested template not found")
View Source
var TranslationJSON = resource.RegisterResource(&translationJSON{})
Functions ¶
func Embed ¶
func Embed(data map[string]interface{}, value interface{})
Embed embeds the given value into data.
func EnsureTime ¶
func EnsureTime(anyValue interface{}) interface{}
func MakeTemplateFuncMap ¶
func MakeTemplateFuncMap() map[string]interface{}
func ShowAttributeValue ¶
func ShowAttributeValue(v interface{}) string
Types ¶
type DefaultLanguageTag ¶
type DefaultLanguageTag string
type Engine ¶
type Engine struct {
Resolver EngineTemplateResolver
}
func (*Engine) Translation ¶
func (e *Engine) Translation(preferredLanguages []string) (*TranslationMap, error)
type EngineTemplateResolver ¶
type EngineTemplateResolver interface { ResolveHTML(desc *HTML, preferredLanguages []string) (*htmltemplate.Template, error) ResolvePlainText(desc *PlainText, preferredLanguages []string) (*texttemplate.Template, error) ResolveTranslations(preferredLanguages []string) (map[string]Translation, error) }
type HTML ¶
type HTML struct { // Name is the name of template Name string // ComponentDependencies is the HTML component templates this template depends on. ComponentDependencies []*HTML }
HTML defines a HTML template
func RegisterHTML ¶
func (*HTML) FindResources ¶
func (*HTML) UpdateResource ¶
func (t *HTML) UpdateResource(_ context.Context, _ []resource.ResourceFile, resrc *resource.ResourceFile, data []byte) (*resource.ResourceFile, error)
func (*HTML) ViewResources ¶
type LimitWriter ¶
type LimitWriter struct { // Writer is the underlying writer. Writer io.Writer // RemainingQuota is the remaining quota in bytes. RemainingQuota int64 }
func NewLimitWriter ¶
func NewLimitWriter(w io.Writer) *LimitWriter
type PlainText ¶
type PlainText struct { // Name is the name of template Name string // ComponentDependencies is the plain text component templates this template depends on. ComponentDependencies []*PlainText }
PlainText defines a plain text template
func RegisterPlainText ¶
func (*PlainText) FindResources ¶
func (*PlainText) MatchResource ¶
func (*PlainText) UpdateResource ¶
func (t *PlainText) UpdateResource(_ context.Context, _ []resource.ResourceFile, resrc *resource.ResourceFile, data []byte) (*resource.ResourceFile, error)
func (*PlainText) ViewResources ¶
type Resolver ¶
type Resolver struct { Resources ResourceManager DefaultLanguageTag DefaultLanguageTag SupportedLanguageTags SupportedLanguageTags }
func (*Resolver) ResolveHTML ¶
func (*Resolver) ResolvePlainText ¶
func (*Resolver) ResolveTranslations ¶
func (r *Resolver) ResolveTranslations(preferredLanguages []string) (map[string]Translation, error)
type ResourceManager ¶
type ResourceManager interface {
Read(desc resource.Descriptor, view resource.View) (interface{}, error)
}
type SupportedLanguageTags ¶
type SupportedLanguageTags []string
type Translation ¶
func (Translation) GetLanguageTag ¶
func (t Translation) GetLanguageTag() string
type TranslationMap ¶
type TranslationMap struct {
// contains filtered or unexported fields
}
func (*TranslationMap) HasKey ¶
func (t *TranslationMap) HasKey(key string) bool
func (*TranslationMap) RenderHTML ¶
func (t *TranslationMap) RenderHTML(key string, args interface{}) (string, error)
func (*TranslationMap) RenderText ¶
func (t *TranslationMap) RenderText(key string, args interface{}) (string, error)
type Validator ¶
type Validator struct {
// contains filtered or unexported fields
}
func NewValidator ¶
func NewValidator(opts ...ValidatorOption) *Validator
func (*Validator) ValidateHTMLTemplate ¶
type ValidatorOption ¶
type ValidatorOption func(*Validator)
func AllowDeclaration ¶
func AllowDeclaration(b bool) ValidatorOption
func AllowIdentifierNode ¶
func AllowIdentifierNode(b bool) ValidatorOption
func AllowRangeNode ¶
func AllowRangeNode(b bool) ValidatorOption
func AllowTemplateNode ¶
func AllowTemplateNode(b bool) ValidatorOption
func MaxDepth ¶
func MaxDepth(d int) ValidatorOption
Click to show internal directories.
Click to hide internal directories.