template

package
v2.7.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2019 License: MIT Imports: 36 Imported by: 2

Documentation

Index

Constants

View Source
const (
	EnvAcceptNoValue    = "GOTEMPLATE_NO_VALUE"
	EnvStrictErrorCheck = "GOTEMPLATE_STRICT_ERROR"
	EnvSubstitutes      = "GOTEMPLATE_SUBSTITUTES"
	EnvDebug            = "GOTEMPLATE_DEBUG"
	EnvExtensionPath    = "GOTEMPLATE_PATH"
	// TODO: Deprecated, to remove in future version
	EnvDeprecatedAssign = "GOTEMPLATE_DEPRECATED_ASSIGN"
)

Environment variables that could be defined to override default behaviors.

Variables

View Source
var (
	// ExtensionDepth the depth level of search of gotemplate extension from the current directory (default = 2).
	ExtensionDepth = 2

	Print      = utils.ColorPrint
	Printf     = utils.ColorPrintf
	Println    = utils.ColorPrintln
	ErrPrintf  = utils.ColorErrorPrintf
	ErrPrintln = utils.ColorErrorPrintln
	ErrPrint   = utils.ColorErrorPrint
)

Common variables

View Source
var Log = logging.MustGetLogger(logger)

Log is the logger used to log message during template processing

Functions

func ConfigureLogging

func ConfigureLogging(level, internalLevel logging.Level, simple bool)

ConfigureLogging allows configuration of the default logging level

func GetLogLevel

func GetLogLevel() logging.Level

GetLogLevel returns the current logging level for gotemplate

func InitLogging

func InitLogging() int

InitLogging allows configuration of the default logging level

func IsCode

func IsCode(code string) bool

IsCode determines if the supplied code appears to have gotemplate code (using default delimiters).

func IsRazor

func IsRazor(code string) bool

IsRazor determines if the supplied code appears to have Razor code (using default delimiters).

func SetLogLevel

func SetLogLevel(level logging.Level)

SetLogLevel set the logging level for gotemplate

Types

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

func (fi FuncInfo) Aliases() []string

Aliases returns the aliases related to the entry.

func (FuncInfo) Arguments

func (fi FuncInfo) Arguments() string

Arguments returns the list of arguments that must be supplied to the function.

func (FuncInfo) Description

func (fi FuncInfo) Description() string

Description returns the description related to the entry.

func (FuncInfo) Group

func (fi FuncInfo) Group() string

Group returns the group name associated to the entry.

func (FuncInfo) IsAlias

func (fi FuncInfo) IsAlias() bool

IsAlias indicates if the current function is an alias.

func (FuncInfo) Name

func (fi FuncInfo) Name() string

Name returns the name related to the entry.

func (FuncInfo) Result

func (fi FuncInfo) Result() string

Result returns the list of output produced by the function.

func (FuncInfo) Signature

func (fi FuncInfo) Signature() string

Signature returns the function signature

func (FuncInfo) String

func (fi FuncInfo) String() (result string)

String returns the presentation of the FuncInfo entry.

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
)

type Options

type Options int

Options defines the type that hold the various options & libraries that should be included

const (
	Razor Options = iota
	Extension
	Math
	Sprig
	Data
	Logging
	Runtime
	Utils
	Net
	OS
	OptionOnByDefaultCount // Trigger of options that are on by default
	Overwrite
	OutputStdout
	RenderingDisabled
	AcceptNoValue
	StrictErrorCheck
)

Options values

func (Options) String

func (i Options) String() string

type OptionsSet

type OptionsSet map[Options]bool

OptionsSet represents the map of enabled options

func DefaultOptions

func DefaultOptions() OptionsSet

DefaultOptions returns a OptionsSet with the first options turned on by default

type String

type String = collections.String

String is an alias to collections.String

type Template

type Template struct {
	*template.Template
	TempFolder string
	// contains filtered or unexported fields
}

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

func (t Template) GetNewContext(folder string, useCache bool) *Template

GetNewContext returns a distint context for each folder.

func (Template) IsCode

func (t Template) IsCode(code string) bool

IsCode determines if the supplied code appears to have gotemplate code.

func (Template) IsRazor

func (t Template) IsRazor(code string) bool

IsRazor determines if the supplied code appears to have Razor code.

func (Template) LeftDelim

func (t Template) LeftDelim() string

LeftDelim returns the left delimiter.

func (Template) PrintFunctions

func (t Template) PrintFunctions(all, long, groupByCategory bool, filters ...string)

PrintFunctions outputs the list of functions available.

func (Template) PrintTemplates

func (t Template) PrintTemplates(all, long bool)

PrintTemplates output the list of templates available.

func (Template) ProcessContent

func (t Template) ProcessContent(content, source string) (string, error)

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

func (t Template) RazorDelim() string

RazorDelim returns the razor delimiter.

func (Template) RightDelim

func (t Template) RightDelim() string

RightDelim returns the right delimiter.

func (*Template) SetOption

func (t *Template) SetOption(option Options, value bool)

SetOption allows setting of template option after initialization.

Jump to

Keyboard shortcuts

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