Documentation ¶
Index ¶
- type Attribute
- type BoolConstantAttribute
- type BoolExpressionAttribute
- type CSSProperty
- type CSSTemplate
- type CallTemplateExpression
- type CaseExpression
- type ConstantAttribute
- type ConstantCSSProperty
- type DocType
- type Element
- type Expression
- type ExpressionAttribute
- type ExpressionCSSProperty
- type ForExpression
- type HTMLTemplate
- type IfExpression
- type Import
- type Node
- type Package
- type ParseError
- type Position
- type Range
- type ScriptTemplate
- type SourceExpressionTo
- type SourceMap
- func (sm *SourceMap) Add(src Expression, tgt Range) (updatedFrom Position)
- func (sm *SourceMap) SourcePositionFromTarget(line, col int) (src Position, mapping SourceExpressionTo, ok bool)
- func (sm *SourceMap) TargetPositionFromSource(line, col int) (tgt Position, mapping SourceExpressionTo, ok bool)
- type StringExpression
- type SwitchExpression
- type TemplateFile
- type TemplateFileNode
- type TemplateFileParser
- type Text
- type Whitespace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BoolConstantAttribute ¶
type BoolConstantAttribute struct {
Name string
}
<hr noshade/>
func (BoolConstantAttribute) IsAttribute ¶
func (bca BoolConstantAttribute) IsAttribute() bool
func (BoolConstantAttribute) String ¶
func (bca BoolConstantAttribute) String() string
type BoolExpressionAttribute ¶
type BoolExpressionAttribute struct { Name string Expression Expression }
href={%= templ.Bool(...) }
func (BoolExpressionAttribute) IsAttribute ¶
func (ea BoolExpressionAttribute) IsAttribute() bool
func (BoolExpressionAttribute) String ¶
func (ea BoolExpressionAttribute) String() string
type CSSProperty ¶
CSSProperty is a CSS property and value pair.
type CSSTemplate ¶
type CSSTemplate struct { Name Expression Properties []CSSProperty }
CSS definition. {% css Name() %}
color: #ffffff; background-color: {%= constants.BackgroundColor %}; background-image: url('./somewhere.png');
{% endcss %}
func (CSSTemplate) IsTemplateFileNode ¶
func (css CSSTemplate) IsTemplateFileNode() bool
type CallTemplateExpression ¶
type CallTemplateExpression struct { // Expression returns a template to execute. Expression Expression }
CallTemplateExpression can be used to create and render a template using data. {%! Other(p.First, p.Last) %} or it can be used to render a template parameter. {%! v %}
func (CallTemplateExpression) IsNode ¶
func (cte CallTemplateExpression) IsNode() bool
type CaseExpression ¶
type CaseExpression struct { Expression Expression Children []Node }
{% case "Something" %} ... {% endcase %}
type ConstantAttribute ¶
href=""
func (ConstantAttribute) IsAttribute ¶
func (ca ConstantAttribute) IsAttribute() bool
func (ConstantAttribute) String ¶
func (ca ConstantAttribute) String() string
type ConstantCSSProperty ¶
color: #ffffff;
func (ConstantCSSProperty) IsCSSProperty ¶
func (c ConstantCSSProperty) IsCSSProperty() bool
type Element ¶
<a .../> or <div ...>...</div>
func (Element) IsVoidElement ¶
https://www.w3.org/TR/2011/WD-html-markup-20110113/syntax.html#void-element
type Expression ¶
Expression containing Go code.
func NewExpression ¶
func NewExpression(value string, from, to Position) Expression
NewExpression creates a Go expression.
type ExpressionAttribute ¶
type ExpressionAttribute struct { Name string Expression Expression }
href={%= ... }
func (ExpressionAttribute) IsAttribute ¶
func (ea ExpressionAttribute) IsAttribute() bool
func (ExpressionAttribute) String ¶
func (ea ExpressionAttribute) String() string
type ExpressionCSSProperty ¶
type ExpressionCSSProperty struct { Name string Value StringExpression }
background-color: {%= constants.BackgroundColor %};
func (ExpressionCSSProperty) IsCSSProperty ¶
func (c ExpressionCSSProperty) IsCSSProperty() bool
type ForExpression ¶
type ForExpression struct { Expression Expression Children []Node }
{% for i, v := range p.Addresses %}
{% call Address(v) %}
{% endfor %}
func (ForExpression) IsNode ¶
func (fe ForExpression) IsNode() bool
type HTMLTemplate ¶
type HTMLTemplate struct { Name Expression Parameters Expression Children []Node }
HTMLTemplate definition. {% templ Name(p Parameter) %}
{% if ... %} <Element></Element>
{% endtempl %}
func (HTMLTemplate) IsTemplateFileNode ¶
func (t HTMLTemplate) IsTemplateFileNode() bool
type IfExpression ¶
type IfExpression struct { Expression Expression Then []Node Else []Node }
{% if p.Type == "test" && p.thing %} {% endif %}
func (IfExpression) IsNode ¶
func (n IfExpression) IsNode() bool
type Import ¶
type Import struct {
Expression Expression
}
{% import "strings" %} {% import strs "strings" %}
type ParseError ¶
ParseError details where the error occurred in the file.
func (ParseError) Error ¶
func (pe ParseError) Error() string
type Position ¶
Source mapping to map from the source code of the template to the in-memory representation.
func NewPositionFromInput ¶
NewPositionFromInput creates a position from a parse input.
func NewPositionFromValues ¶
NewPositionFromValues initialises a position.
type ScriptTemplate ¶
type ScriptTemplate struct { Name Expression Parameters Expression Value string }
ScriptTemplate is a script block.
func (ScriptTemplate) IsTemplateFileNode ¶
func (s ScriptTemplate) IsTemplateFileNode() bool
type SourceExpressionTo ¶
type SourceExpressionTo struct { Source Expression Target Range }
SourceExpressionTo is a record of an expression, along with its start and end positions.
type SourceMap ¶
type SourceMap struct {
Items []SourceExpressionTo
}
func NewSourceMap ¶
func NewSourceMap() *SourceMap
NewSourceMap creates a new lookup to map templ source code to items in the parsed template.
func (*SourceMap) Add ¶
func (sm *SourceMap) Add(src Expression, tgt Range) (updatedFrom Position)
Add an item to the lookup.
func (*SourceMap) SourcePositionFromTarget ¶
func (sm *SourceMap) SourcePositionFromTarget(line, col int) (src Position, mapping SourceExpressionTo, ok bool)
SourcePositionFromTarget looks the source position using the target position.
func (*SourceMap) TargetPositionFromSource ¶
func (sm *SourceMap) TargetPositionFromSource(line, col int) (tgt Position, mapping SourceExpressionTo, ok bool)
TargetPositionFromSource looks up the target position using the source position.
type StringExpression ¶
type StringExpression struct {
Expression Expression
}
StringExpression is used within HTML elements, and for style values. {%= ... %}
func (StringExpression) IsNode ¶
func (se StringExpression) IsNode() bool
func (StringExpression) IsStyleDeclarationValue ¶
func (se StringExpression) IsStyleDeclarationValue() bool
type SwitchExpression ¶
type SwitchExpression struct { Expression Expression Cases []CaseExpression Default []Node }
{% switch p.Type %}
{% case "Something" %} {% endcase %}
{% endswitch %}
func (SwitchExpression) IsNode ¶
func (se SwitchExpression) IsNode() bool
type TemplateFile ¶
type TemplateFile struct { Package Package Imports []Import Nodes []TemplateFileNode }
func Parse ¶
func Parse(fileName string) (TemplateFile, error)
func ParseString ¶
func ParseString(template string) (TemplateFile, error)
type TemplateFileNode ¶
TemplateFileNode can be a Template or a CSS.
type TemplateFileParser ¶
type TemplateFileParser struct {
DefaultPackage string
}
func NewTemplateFileParser ¶
func NewTemplateFileParser(pkg string) TemplateFileParser
NewTemplateFileParser creates a new TemplateFileParser.
type Text ¶
type Text struct { // Value is the raw HTML encoded value. Value string }
Text node within the document.
type Whitespace ¶
type Whitespace struct {
Value string
}
Whitespace.
func (Whitespace) IsNode ¶
func (ws Whitespace) IsNode() bool
Source Files ¶
- calltemplateparser.go
- cssparser.go
- doctypeparser.go
- elementparser.go
- forexpressionparser.go
- ifexpressionparser.go
- importparser.go
- packageparser.go
- parser.go
- scripttemplateparser.go
- sourcemap.go
- stringexpressionparser.go
- switchexpressionparser.go
- templatefile.go
- templateparser.go
- textparser.go
- types.go