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 {
}
func NewTemplateFileParser ¶
func NewTemplateFileParser() 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