Documentation
¶
Index ¶
- Constants
- func LoadTemplatesMap(config Config, orderedTemplateLoaders OrderedTemplateLoaders, ...) (templates.Store, error)
- func NewCompositionLoaderBuilder(schemaLoader templates.SchemaLoader, examplesLoader templates.ExamplesLoader) *compositionLoaderBuilder
- type Assets
- type AssetsLoader
- type Config
- type DevStore
- type DirPartialsLoader
- type FileAssets
- type FileAssetsLoader
- type FileExamplesLoader
- type FileParamsLoader
- type FileSchemaLoader
- type FileTemplateInstanceLoader
- type FileTemplateLoader
- type GoTemplate
- type GoTemplateInstanceLoader
- type HTML2PDFTemplate
- type HTMLTemplate
- type HTMLTemplateLoader
- type HandlebarsTemplate
- type HandlebarsTemplateInstanceLoader
- type MarkdownHelpers
- type MarkdownPartialPreprocessor
- type MustacheTemplate
- type MustacheTemplateInstanceLoader
- type OrderedPartialProcessors
- type OrderedTemplateLoaderBuilders
- type OrderedTemplateLoaders
- type PDFParams
- type Params
- type ParamsLoader
- type PartialPreprocessor
- type PartialsLoader
- type RawTemplate
- type RawTemplateLoader
- type StaticTemplate
- type StaticTemplateInstanceLoader
- type TemplateFileNotFoundError
- type TemplateInstanceLoader
- type UnknownPartialExtensionError
- type UnknownTemplateReloadModeError
Constants ¶
const ( TemplateReloadModeNone = templateReloadMode("none") TemplateReloadModeAlways = templateReloadMode("always") )
Template Reload modes.
Variables ¶
This section is empty.
Functions ¶
func LoadTemplatesMap ¶
func LoadTemplatesMap( config Config, orderedTemplateLoaders OrderedTemplateLoaders, orderedTemplateLoaderBuilders OrderedTemplateLoaderBuilders, logger log.Logger, ) (templates.Store, error)
LoadTemplatesMap load templates from directory.
func NewCompositionLoaderBuilder ¶ added in v0.11.1
func NewCompositionLoaderBuilder( schemaLoader templates.SchemaLoader, examplesLoader templates.ExamplesLoader, ) *compositionLoaderBuilder
NewCompositionLoaderBuilder constructor.
Types ¶
type AssetsLoader ¶ added in v0.9.1
AssetsLoader interface.
type Config ¶
Config for templates.
func DefaultConfig ¶ added in v0.9.0
func DefaultConfig() Config
DefaultConfig return default config.
type DevStore ¶ added in v0.9.0
type DevStore struct {
// contains filtered or unexported fields
}
DevStore is store for development mode. Reload template on every fetch.
func NewDevStore ¶ added in v0.9.0
func NewDevStore( templateDirPath string, logger log.Logger, templateLoader templates.TemplateLoader, originStore templates.Store, ) *DevStore
NewDevStore construct new DevStore.
func (*DevStore) Fetch ¶ added in v0.9.0
Fetch template by name. Check original store first, then reload template.
type DirPartialsLoader ¶ added in v0.9.0
type DirPartialsLoader struct {
// contains filtered or unexported fields
}
DirPartialsLoader load partials from directory.
func NewDirPartialsLoader ¶ added in v0.9.0
func NewDirPartialsLoader( processorsList OrderedPartialProcessors, ) *DirPartialsLoader
NewDirPartialsLoader create new DirPartialsLoader.
func (*DirPartialsLoader) LoadPartials ¶ added in v0.9.0
func (partialsLoader *DirPartialsLoader) LoadPartials( ctx context.Context, templateDirName string, templateExtension string, ) (map[string][]byte, error)
LoadPartials load partials from directory.
type FileAssets ¶
type FileAssets struct {
// contains filtered or unexported fields
}
FileAssets type.
func NewFileAssets ¶
func NewFileAssets(fileSystem http.FileSystem) *FileAssets
NewFileAssets constructor.
type FileAssetsLoader ¶
type FileAssetsLoader struct{}
FileAssetsLoader type.
func NewFileAssetsLoader ¶
func NewFileAssetsLoader() *FileAssetsLoader
NewFileAssetsLoader constructor.
func (*FileAssetsLoader) LoadAssets ¶
func (*FileAssetsLoader) LoadAssets( templateDirPath string, logger log.Logger, ) Assets
LoadAssets FileSystem from assets dir.
type FileExamplesLoader ¶
type FileExamplesLoader struct{}
FileExamplesLoader type.
func NewFileExamplesLoader ¶
func NewFileExamplesLoader() *FileExamplesLoader
NewFileExamplesLoader constructor.
func (*FileExamplesLoader) LoadExamples ¶
func (*FileExamplesLoader) LoadExamples( templateDirPath string, logger log.Logger, ) (templates.Examples, error)
LoadExamples by path.
type FileParamsLoader ¶
type FileParamsLoader struct{}
FileParamsLoader load params from file.
func NewFileParamsLoader ¶
func NewFileParamsLoader() *FileParamsLoader
NewFileParamsLoader constructor.
func (*FileParamsLoader) LoadParams ¶
LoadParams from templateDirPath.
type FileSchemaLoader ¶
type FileSchemaLoader struct{}
FileSchemaLoader load JSON Schema from file system.
func NewFileSchemaLoader ¶
func NewFileSchemaLoader() *FileSchemaLoader
NewFileSchemaLoader construct.
func (*FileSchemaLoader) LoadSchema ¶
func (*FileSchemaLoader) LoadSchema( templateDirPath string, logger log.Logger, ) (templates.Validator, error)
LoadSchema from templateDir.
type FileTemplateInstanceLoader ¶
type FileTemplateInstanceLoader struct {
// contains filtered or unexported fields
}
FileTemplateInstanceLoader load templates from file system.
func DefaultFileTemplateInstanceLoader ¶
func DefaultFileTemplateInstanceLoader( partialsLoader PartialsLoader, markdownHelpers MarkdownHelpers, ) *FileTemplateInstanceLoader
DefaultFileTemplateInstanceLoader create FileTemplateInstanceLoader with default list of template engine loaders.
func NewFileTemplateInstanceLoader ¶
func NewFileTemplateInstanceLoader( templateInstanceLoaders ...TemplateInstanceLoader, ) *FileTemplateInstanceLoader
NewFileTemplateInstanceLoader create new FileTemplateInstanceLoader with defined template engine loader.
func (FileTemplateInstanceLoader) LoadTemplateInstance ¶
func (instanceLoader FileTemplateInstanceLoader) LoadTemplateInstance( templateDirPath string, partName string, logger log.Logger, ) (HTMLTemplate, error)
LoadTemplateInstance iterate over template instance factory when it not return error.
type FileTemplateLoader ¶
type FileTemplateLoader struct { templates.SchemaLoader templates.ExamplesLoader // contains filtered or unexported fields }
FileTemplateLoader load template from directory on file system.
func NewFileTemplateLoader ¶
func NewFileTemplateLoader( templateInstanceLoader HTMLTemplateLoader, schemaLoader templates.SchemaLoader, paramsLoader ParamsLoader, assetsLoader AssetsLoader, examplesLoader templates.ExamplesLoader, pdfRender pdfrender.PDFRenderer, ) *FileTemplateLoader
NewFileTemplateLoader constructor.
revive:disable:argument-limit
func (*FileTemplateLoader) LoadTemplate ¶
func (templateLoader *FileTemplateLoader) LoadTemplate( templatesDirPath string, templateName string, logger log.Logger, ) (templates.Template, error)
LoadTemplate load template dir.
func (*FileTemplateLoader) TemplateType ¶ added in v0.11.1
func (*FileTemplateLoader) TemplateType() string
TemplateType return template type.
type GoTemplate ¶
type GoTemplate struct {
// contains filtered or unexported fields
}
GoTemplate wrap go template and JSON schema.
func NewGoTemplate ¶
func NewGoTemplate(template *templatePkg.Template, logger log.Logger) *GoTemplate
NewGoTemplate constructor.
func (*GoTemplate) Render ¶
func (gt *GoTemplate) Render(data interface{}) (string, error)
Render go template.
type GoTemplateInstanceLoader ¶
type GoTemplateInstanceLoader struct {
// contains filtered or unexported fields
}
GoTemplateInstanceLoader load go template.
func NewGoTemplateInstanceLoader ¶ added in v0.9.0
func NewGoTemplateInstanceLoader( partialsLoader PartialsLoader, markMarkdownHelpers MarkdownHelpers, ) *GoTemplateInstanceLoader
NewGoTemplateInstanceLoader constructor.
func (*GoTemplateInstanceLoader) LoadTemplateInstance ¶
func (loader *GoTemplateInstanceLoader) LoadTemplateInstance( templateDirPath string, partName string, logger log.Logger, ) (HTMLTemplate, error)
LoadTemplateInstance go template partName from templateDirPath.
func (*GoTemplateInstanceLoader) TemplateName ¶
func (*GoTemplateInstanceLoader) TemplateName(partName string) string
TemplateName return go template name.
func (*GoTemplateInstanceLoader) TemplateType ¶
func (*GoTemplateInstanceLoader) TemplateType() string
TemplateType return go template type.
type HTML2PDFTemplate ¶ added in v0.9.1
type HTML2PDFTemplate struct { Name templates.Name Body HTMLTemplate Header HTMLTemplate Params *Params Validator templates.Validator Assets Assets Examples templates.Examples PdfRender pdfrender.PDFRenderer }
HTML2PDFTemplate wrap TemplateInstance with Schema.
func (*HTML2PDFTemplate) GetExamples ¶ added in v0.9.1
func (template *HTML2PDFTemplate) GetExamples() templates.Examples
GetExamples return template examples.
func (*HTML2PDFTemplate) GetName ¶ added in v0.9.1
func (template *HTML2PDFTemplate) GetName() templates.Name
GetName return template name.
func (*HTML2PDFTemplate) GetValidator ¶ added in v0.9.1
func (template *HTML2PDFTemplate) GetValidator() templates.Validator
GetValidator return template validator.
type HTMLTemplate ¶ added in v0.9.1
HTMLTemplate render template with data.
type HTMLTemplateLoader ¶ added in v0.9.1
type HTMLTemplateLoader interface { LoadTemplateInstance( templateDirPath string, partName string, logger log.Logger, ) (HTMLTemplate, error) }
HTMLTemplateLoader interface.
type HandlebarsTemplate ¶ added in v0.9.0
type HandlebarsTemplate struct {
// contains filtered or unexported fields
}
HandlebarsTemplate instance.
func (*HandlebarsTemplate) Render ¶ added in v0.9.0
func (template *HandlebarsTemplate) Render(data interface{}) (string, error)
Render handlebars template.
type HandlebarsTemplateInstanceLoader ¶ added in v0.9.0
type HandlebarsTemplateInstanceLoader struct {
// contains filtered or unexported fields
}
HandlebarsTemplateInstanceLoader load handlebars template.
func NewHandlebarsTemplateInstanceLoader ¶ added in v0.9.0
func NewHandlebarsTemplateInstanceLoader( partialsLoader PartialsLoader, markdownHelpers MarkdownHelpers, ) *HandlebarsTemplateInstanceLoader
NewHandlebarsTemplateInstanceLoader constructor.
func (*HandlebarsTemplateInstanceLoader) LoadTemplateInstance ¶ added in v0.9.0
func (loader *HandlebarsTemplateInstanceLoader) LoadTemplateInstance( templateDir string, partName string, logger log.Logger, ) (HTMLTemplate, error)
LoadTemplateInstance load template instance.
func (*HandlebarsTemplateInstanceLoader) TemplateName ¶ added in v0.9.0
func (*HandlebarsTemplateInstanceLoader) TemplateName(partName string) string
TemplateName return handlebars template name.
func (*HandlebarsTemplateInstanceLoader) TemplateType ¶ added in v0.9.0
func (*HandlebarsTemplateInstanceLoader) TemplateType() string
TemplateType return handlebars template type.
type MarkdownHelpers ¶ added in v0.11.1
MarkdownHelpers helpers for markdown.
type MarkdownPartialPreprocessor ¶ added in v0.9.0
type MarkdownPartialPreprocessor struct {
// contains filtered or unexported fields
}
MarkdownPartialPreprocessor pre-processor markdown partials.
func NewMarkdownPartialPreprocessor ¶ added in v0.9.0
func NewMarkdownPartialPreprocessor() *MarkdownPartialPreprocessor
NewMarkdownPartialPreprocessor create new MarkdownPartialPreprocessor.
func (*MarkdownPartialPreprocessor) Extensions ¶ added in v0.9.0
func (*MarkdownPartialPreprocessor) Extensions() string
Extensions return extensions for markdown partials.
func (*MarkdownPartialPreprocessor) PreprocessString ¶ added in v0.11.1
func (processor *MarkdownPartialPreprocessor) PreprocessString( rawPayload []byte, ) ([]byte, error)
PreprocessString preprocess markdown partials.
func (*MarkdownPartialPreprocessor) PreprocessTemplate ¶ added in v0.9.0
func (processor *MarkdownPartialPreprocessor) PreprocessTemplate( ctx context.Context, rawPayload []byte, ) ([]byte, error)
PreprocessTemplate preprocess markdown partials.
type MustacheTemplate ¶
type MustacheTemplate struct {
// contains filtered or unexported fields
}
MustacheTemplate engine.
func NewMustacheTemplate ¶
func NewMustacheTemplate( template *mustache.Template, logger log.Logger, ) *MustacheTemplate
NewMustacheTemplate constructor.
func (*MustacheTemplate) Render ¶
func (mt *MustacheTemplate) Render(data interface{}) (string, error)
Render mustache template.
type MustacheTemplateInstanceLoader ¶
type MustacheTemplateInstanceLoader struct {
// contains filtered or unexported fields
}
MustacheTemplateInstanceLoader load mustache template.
func NewMustacheTemplateInstanceLoader ¶ added in v0.9.0
func NewMustacheTemplateInstanceLoader( partialsLoader PartialsLoader, ) *MustacheTemplateInstanceLoader
NewMustacheTemplateInstanceLoader constructor.
func (*MustacheTemplateInstanceLoader) LoadTemplateInstance ¶
func (loader *MustacheTemplateInstanceLoader) LoadTemplateInstance( templateDir string, partName string, logger log.Logger, ) (HTMLTemplate, error)
LoadTemplateInstance mustache partName template from templateDir.
func (*MustacheTemplateInstanceLoader) TemplateName ¶
func (*MustacheTemplateInstanceLoader) TemplateName(partName string) string
TemplateName return mustache template name.
func (*MustacheTemplateInstanceLoader) TemplateType ¶
func (*MustacheTemplateInstanceLoader) TemplateType() string
TemplateType return mustache template type.
type OrderedPartialProcessors ¶ added in v0.11.1
type OrderedPartialProcessors []PartialPreprocessor
OrderedPartialProcessors list of processors in order of execution.
func NewOrderedPartialProcessors ¶ added in v0.11.1
func NewOrderedPartialProcessors( markdownPartialPreprocessor *MarkdownPartialPreprocessor, ) OrderedPartialProcessors
NewOrderedPartialProcessors create new OrderedPartialProcessors.
type OrderedTemplateLoaderBuilders ¶ added in v0.11.1
type OrderedTemplateLoaderBuilders []templates.TemplateLoaderBuilder
OrderedTemplateLoaderBuilders is a list of template loader builders.
func DefaultOrderedTemplateLoaderBuilders ¶ added in v0.11.1
func DefaultOrderedTemplateLoaderBuilders( compositionTemplateLoaderBuilder *compositionLoaderBuilder, ) OrderedTemplateLoaderBuilders
DefaultOrderedTemplateLoaderBuilders return default template loader builders.
type OrderedTemplateLoaders ¶ added in v0.11.1
type OrderedTemplateLoaders []templates.TemplateLoader
OrderedTemplateLoaders is a list of template loaders.
func DefaultOrderedTemplateLoaders ¶ added in v0.11.1
func DefaultOrderedTemplateLoaders( fileTemplateLoader *FileTemplateLoader, rawTemplateLoader *RawTemplateLoader, ) OrderedTemplateLoaders
DefaultOrderedTemplateLoaders return default template loaders.
type PDFParams ¶ added in v0.9.1
type PDFParams struct { Landscape *bool `json:"landscape"` PrintBackground *bool `json:"printBackground"` PreferCSSPageSize *bool `json:"preferCSSPageSize"` Scale *float64 `json:"scale"` PaperWidth *float64 `json:"paperWidth"` PaperHeight *float64 `json:"paperHeight"` MarginTop *float64 `json:"marginTop"` MarginBottom *float64 `json:"marginBottom"` MarginLeft *float64 `json:"marginLeft"` MarginRight *float64 `json:"marginRight"` WaitLifecycleEvent *pdfrender.WaitLifecycleEvent `json:"waitLifecycleEvent"` }
PDFParams definition.
func (*PDFParams) BuildPDFRenderConfig ¶ added in v0.9.1
BuildPDFRenderConfig build pdfrender.Config from PDFParams.
type ParamsLoader ¶ added in v0.9.1
type ParamsLoader interface { LoadParams( templateDirPath string, logger log.Logger, ) (*Params, error) }
ParamsLoader interface.
type PartialPreprocessor ¶ added in v0.9.0
type PartialPreprocessor interface { Extensions() string PreprocessTemplate(ctx context.Context, data []byte) ([]byte, error) }
PartialPreprocessor interface.
type PartialsLoader ¶ added in v0.9.0
type PartialsLoader interface { LoadPartials( ctx context.Context, templateDirName string, templateExtension string, ) (map[string][]byte, error) }
PartialsLoader interface.
type RawTemplate ¶ added in v0.11.1
type RawTemplate struct {
// contains filtered or unexported fields
}
RawTemplate render raw template.
func (*RawTemplate) GetExamples ¶ added in v0.11.1
func (*RawTemplate) GetExamples() templates.Examples
GetExamples returns template examples.
func (*RawTemplate) GetName ¶ added in v0.11.1
func (template *RawTemplate) GetName() templates.Name
GetName returns template name.
func (*RawTemplate) GetValidator ¶ added in v0.11.1
func (*RawTemplate) GetValidator() templates.Validator
GetValidator returns template validator.
type RawTemplateLoader ¶ added in v0.11.1
type RawTemplateLoader struct{}
RawTemplateLoader loads raw templates.
func NewRawTemplateLoader ¶ added in v0.11.1
func NewRawTemplateLoader() *RawTemplateLoader
NewRawTemplateLoader constructor.
func (*RawTemplateLoader) LoadTemplate ¶ added in v0.11.1
func (*RawTemplateLoader) LoadTemplate( templatesDirPath string, templateName string, logger log.Logger, ) (templates.Template, error)
LoadTemplate loads template.
func (*RawTemplateLoader) TemplateType ¶ added in v0.11.1
func (*RawTemplateLoader) TemplateType() string
TemplateType returns template type.
type StaticTemplate ¶
type StaticTemplate struct {
// contains filtered or unexported fields
}
StaticTemplate copy HTML on render.
func NewStaticTemplate ¶
func NewStaticTemplate( payload string, logger log.Logger, ) *StaticTemplate
NewStaticTemplate constructor.
func (*StaticTemplate) Render ¶
func (st *StaticTemplate) Render(_ interface{}) (string, error)
Render static template.
type StaticTemplateInstanceLoader ¶
type StaticTemplateInstanceLoader struct{}
StaticTemplateInstanceLoader load static template.
func (*StaticTemplateInstanceLoader) LoadTemplateInstance ¶
func (loader *StaticTemplateInstanceLoader) LoadTemplateInstance( templateDir string, partName string, logger log.Logger, ) (HTMLTemplate, error)
LoadTemplateInstance static partName template from templateDir.
func (*StaticTemplateInstanceLoader) TemplateName ¶
func (*StaticTemplateInstanceLoader) TemplateName(partName string) string
TemplateName return static template name.
func (*StaticTemplateInstanceLoader) TemplateType ¶
func (*StaticTemplateInstanceLoader) TemplateType() string
TemplateType return static template type.
type TemplateFileNotFoundError ¶
type TemplateFileNotFoundError struct {
// contains filtered or unexported fields
}
TemplateFileNotFoundError returned when template not founded on disk.
func NewTemplateFileNotFoundError ¶
func NewTemplateFileNotFoundError( templateType string, templatePath string, ) *TemplateFileNotFoundError
NewTemplateFileNotFoundError construct new TemplateFileNotFoundError.
func (*TemplateFileNotFoundError) Error ¶
func (err *TemplateFileNotFoundError) Error() string
func (*TemplateFileNotFoundError) Is ¶
func (err *TemplateFileNotFoundError) Is(otherErr error) bool
Is for errors.Is.
type TemplateInstanceLoader ¶
type TemplateInstanceLoader interface { LoadTemplateInstance( templateDirPath string, partName string, logger log.Logger, ) (HTMLTemplate, error) TemplateType() string TemplateName(partName string) string }
TemplateInstanceLoader interface.
type UnknownPartialExtensionError ¶ added in v0.9.0
type UnknownPartialExtensionError struct {
// contains filtered or unexported fields
}
UnknownPartialExtensionError is an error for unknown partial extension.
func (*UnknownPartialExtensionError) Error ¶ added in v0.9.0
func (err *UnknownPartialExtensionError) Error() string
Error returns error message.
type UnknownTemplateReloadModeError ¶ added in v0.9.0
type UnknownTemplateReloadModeError struct {
// contains filtered or unexported fields
}
UnknownTemplateReloadModeError returned when unknown template reload mode passed.
func (*UnknownTemplateReloadModeError) Error ¶ added in v0.9.0
func (err *UnknownTemplateReloadModeError) Error() string