Documentation ¶
Index ¶
- Constants
- Variables
- func IsCode(code string) bool
- func IsRazor(code string) bool
- type AssignationValidationType
- type CustomHandler
- type Example
- type FuncCategory
- type FuncInfo
- func (fi FuncInfo) Aliases() []string
- func (fi FuncInfo) Arguments() string
- func (fi FuncInfo) Description() string
- func (fi FuncInfo) Examples() []Example
- func (fi FuncInfo) Group() string
- func (fi FuncInfo) IsAlias() bool
- func (fi FuncInfo) Name() string
- func (fi FuncInfo) RealName() string
- func (fi FuncInfo) Result() string
- func (fi FuncInfo) Signature() string
- func (fi FuncInfo) String() (result string)
- type FuncOptions
- type FuncOptionsSet
- type Options
- type OptionsSet
- type String
- type Template
- func (t *Template) Add(key string, value interface{})
- func (t *Template) AddFunctions(funcs dictionary, group string, options FuncOptions) *Template
- func (t *Template) Context() (result collections.IDictionary)
- func (t *Template) GetNewContext(folder string, useCache bool) *Template
- func (t *Template) IsCode(code string) bool
- func (t *Template) IsRazor(code string) bool
- func (t *Template) LeftDelim() string
- func (t *Template) Merge(values interface{})
- func (t *Template) PrintFunctions(all, long, groupByCategory bool, filters ...string)
- func (t *Template) PrintTemplates(all, long bool)
- func (t *Template) ProcessContent(content, source string) (result string, err error)
- func (t *Template) ProcessTemplate(template, sourceFolder, targetFolder string) (resultFile string, err error)
- func (t *Template) ProcessTemplates(sourceFolder, targetFolder string, templates ...string) (resultFiles []string, err error)
- func (t *Template) ProcessTemplatesWithHandler(sourceFolder, targetFolder string, handler CustomHandler, templates ...string) (resultFiles []string, err error)
- func (t *Template) RazorDelim() string
- func (t *Template) RightDelim() string
- func (t *Template) SetOption(option Options, value bool)
- func (t *Template) TempFolder(folder string) *Template
Constants ¶
const ( EnvAcceptNoValue = "GOTEMPLATE_NO_VALUE" EnvStrictErrorCheck = "GOTEMPLATE_STRICT_ERROR" EnvSubstitutes = "GOTEMPLATE_SUBSTITUTES" EnvDebug = "GOTEMPLATE_DEBUG" EnvExtensionPath = "GOTEMPLATE_PATH" EnvInternalLogLevel = "GOTEMPLATE_INTERNAL_LOG_LEVEL" EnvLogLevel = "GOTEMPLATE_TEMPLATE_LOG_LEVEL" )
Environment variables that could be defined to override default behaviors.
Variables ¶
var ( // TemplateLog is the logger used to log message during template processing TemplateLog = multilogger.New("gotemplate") // InternalLog is application logger used to follow the behaviour of the application InternalLog = multilogger.New("gotemplate-internal") )
var ( // ExtensionDepth the depth level of search of gotemplate extension from the current directory (default = 2). ExtensionDepth = 2 Print = multicolor.Print Printf = multicolor.Printf Println = multicolor.Println ErrPrintf = multicolor.ErrorPrintf ErrPrintln = multicolor.ErrorPrintln ErrPrint = multicolor.ErrorPrint )
Common variables
var StrictAssignationMode = AssignationValidationWarning
StrictAssignationMode defines the global assignation validation mode.
Functions ¶
Types ¶
type AssignationValidationType ¶ added in v3.3.5
type AssignationValidationType uint8
AssignationValidationType is the enum type to define valid global variables validation mode.
const ( AssignationValidationDisabled AssignationValidationType = iota AssignationValidationWarning AssignationValidationStrict )
Valid values for AssignationValidationType
type CustomHandler ¶
type CustomHandler func(name, original string, result *string, changed bool, status error) (bool, error)
CustomHandler allows caller to supply a custom handler during the evaluation of multiple template files
type FuncCategory ¶
type FuncCategory struct {
// contains filtered or unexported fields
}
FuncCategory represents a group of functions of the same group.
func (FuncCategory) Functions ¶
func (fc FuncCategory) Functions() []string
Functions returns the list of functions associated with the category.
func (FuncCategory) Name ¶
func (fc FuncCategory) Name() string
Name returns the name related to the entry.
type FuncInfo ¶
type FuncInfo struct {
// contains filtered or unexported fields
}
FuncInfo contains the information related to a function made available to go template.
func (FuncInfo) Arguments ¶
Arguments returns the list of arguments that must be supplied to the function.
func (FuncInfo) Description ¶
Description returns the description related to the entry.
func (FuncInfo) Examples ¶ added in v3.3.1
Examples returns the list of examples associated to the function.
func (FuncInfo) RealName ¶ added in v3.3.2
RealName returns the real name of a function wether it's an alias or not.
type FuncOptions ¶
type FuncOptions map[FuncOptionsSet]interface{}
FuncOptions is a map of FuncOptionsSet that is used to associates help, aliases, arguments and groups to functions added to go template.
type FuncOptionsSet ¶
type FuncOptionsSet int8
FuncOptionsSet defines categories that could be used to define elaborated help context when adding functions to go template.
const ( // FuncHelp is used to associate help to functions added to go templates. FuncHelp FuncOptionsSet = iota // FuncArgs is used to associate arguments name to functions added to go templates. FuncArgs // FuncAliases is used to associate aliases to functions added to go templates. FuncAliases // FuncGroup is used to associate a group to functions added to go templates. FuncGroup // FuncExamples is used to associate examples (from razor to template to result) to functions added to go templates. FuncExamples )
type Options ¶
type Options int
Options defines the type that hold the various options & libraries that should be included
type OptionsSet ¶
OptionsSet represents the map of enabled options
func DefaultOptions ¶
func DefaultOptions() OptionsSet
DefaultOptions returns a OptionsSet with the first options turned on by default
func (OptionsSet) Set ¶ added in v3.3.11
func (os OptionsSet) Set(options ...Options) OptionsSet
Set options to true
func (OptionsSet) Unset ¶ added in v3.3.11
func (os OptionsSet) Unset(options ...Options) OptionsSet
Unset options
type Template ¶
Template let us extend the functionalities of base go template library.
func MustNewTemplate ¶
func MustNewTemplate(folder string, context interface{}, delimiters string, options OptionsSet, substitutes ...string) *Template
MustNewTemplate creates an Template object with default initialization. It panics if an error occurs.
func NewTemplate ¶
func NewTemplate(folder string, context interface{}, delimiters string, options OptionsSet, substitutes ...string) (result *Template, err error)
NewTemplate creates an Template object with default initialization.
func (*Template) Add ¶ added in v3.3.5
Add allows adding a value to the template context. The context must be a dictionnary to use that function, otherwise, it will panic.
func (*Template) AddFunctions ¶
func (t *Template) AddFunctions(funcs dictionary, group string, options FuncOptions) *Template
AddFunctions add functions to the template, but keep a detailled definition of the function added for helping purpose
func (*Template) Context ¶ added in v3.3.5
func (t *Template) Context() (result collections.IDictionary)
Context returns the template context as a dictionnary if possible, otherwise, it returns null.
func (*Template) GetNewContext ¶
GetNewContext returns a distinct context for each folder.
func (*Template) Merge ¶ added in v3.3.5
func (t *Template) Merge(values interface{})
Merge allows adding multiple values to the template context. The context and values must both be dictionnary to use that function, otherwise, it will panic.
func (*Template) PrintFunctions ¶
PrintFunctions outputs the list of functions available.
func (*Template) PrintTemplates ¶
PrintTemplates output the list of templates available.
func (*Template) ProcessContent ¶
ProcessContent loads and runs the file template.
func (*Template) ProcessTemplate ¶
func (t *Template) ProcessTemplate(template, sourceFolder, targetFolder string) (resultFile string, err error)
ProcessTemplate loads and runs the template if it is a file, otherwise, it simply process the content.
func (*Template) ProcessTemplates ¶
func (t *Template) ProcessTemplates(sourceFolder, targetFolder string, templates ...string) (resultFiles []string, err error)
ProcessTemplates loads and runs the file template or execute the content if it is not a file.
func (*Template) ProcessTemplatesWithHandler ¶
func (t *Template) ProcessTemplatesWithHandler(sourceFolder, targetFolder string, handler CustomHandler, templates ...string) (resultFiles []string, err error)
ProcessTemplatesWithHandler loads and runs the file template or execute the content if it is not a file and call the custom handler between after each template.
func (*Template) RazorDelim ¶
RazorDelim returns the razor delimiter.
func (*Template) RightDelim ¶
RightDelim returns the right delimiter.
func (*Template) TempFolder ¶
TempFolder set temporary folder used by this template.
Source Files ¶
- add_funcs.go
- extra_data.go
- extra_git.go
- extra_logging.go
- extra_math.go
- extra_net.go
- extra_os.go
- extra_runtime.go
- extra_sprig.go
- extra_utils.go
- func_category.go
- func_table.go
- generated_options.go
- math_base.go
- math_bits.go
- math_stats.go
- math_trig.go
- math_utilities.go
- options.go
- razor.go
- razor_expr.go
- razor_repl_assign.go
- razor_repl_autowrap.go
- razor_repl_expr.go
- razor_repl_literal.go
- slice.go
- template.go
- template_error_handler.go
- template_handler.go
- template_help.go
- template_process.go
- utils.go