-
Notifications
You must be signed in to change notification settings - Fork 2
/
general.goht.go
206 lines (192 loc) · 5.64 KB
/
general.goht.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
// Code generated by GoHT - DO NOT EDIT.
// https://github.com/stackus/goht
package main
import "context"
import "io"
import "github.com/stackus/goht"
// Goht supports the Ruby 1.9 hash style of attributes. The other styles
// such as HTML style, or Ruby rocket style are not supported. This should
// not be a problem as the Ruby 1.9 style is very similar to the style used
// by Go for maps.
func StaticAttrs() goht.Template {
return goht.TemplateFunc(func(ctx context.Context, __w io.Writer) (__err error) {
__buf, __isBuf := __w.(goht.Buffer)
if !__isBuf {
__buf = goht.GetBuffer()
defer goht.ReleaseBuffer(__buf)
}
var __children goht.Template
ctx, __children = goht.PopChildren(ctx)
_ = __children
if _, __err = __buf.WriteString("<p class=\"foo\" id=\"bar\">This is a paragraph.</p>\n"); __err != nil {
return
}
if !__isBuf {
_, __err = __w.Write(__buf.Bytes())
}
return
})
}
// You can also use dynamic values for your attributes. Dynamic attribute
// values share the same syntax as the interpolated values. A hash and a
// pair of curly braces.
var myDynamicValue = "foo"
func DynamicAttrs() goht.Template {
return goht.TemplateFunc(func(ctx context.Context, __w io.Writer) (__err error) {
__buf, __isBuf := __w.(goht.Buffer)
if !__isBuf {
__buf = goht.GetBuffer()
defer goht.ReleaseBuffer(__buf)
}
var __children goht.Template
ctx, __children = goht.PopChildren(ctx)
_ = __children
if _, __err = __buf.WriteString("<p"); __err != nil {
return
}
var __var1 string
__var1, __err = goht.BuildClassList(myDynamicValue)
if __err != nil {
return
}
if _, __err = __buf.WriteString(" class=\"" + __var1 + "\""); __err != nil {
return
}
if _, __err = __buf.WriteString(" id=\"bar\">This is a paragraph.</p>\n"); __err != nil {
return
}
if !__isBuf {
_, __err = __w.Write(__buf.Bytes())
}
return
})
}
// There are times when you have a lot of attributes and you want to keep
// your lines short. You can break up your attributes into multiple lines
// without any additional syntax.
// You may include a comma after the last attribute if you wish but it is
// not required.
func MultiLineAttrs() goht.Template {
return goht.TemplateFunc(func(ctx context.Context, __w io.Writer) (__err error) {
__buf, __isBuf := __w.(goht.Buffer)
if !__isBuf {
__buf = goht.GetBuffer()
defer goht.ReleaseBuffer(__buf)
}
var __children goht.Template
ctx, __children = goht.PopChildren(ctx)
_ = __children
if _, __err = __buf.WriteString("<p"); __err != nil {
return
}
var __var1 string
__var1, __err = goht.BuildClassList(myDynamicValue)
if __err != nil {
return
}
if _, __err = __buf.WriteString(" class=\"" + __var1 + "\""); __err != nil {
return
}
if _, __err = __buf.WriteString(" id=\"bar\">This is a paragraph.</p>\n"); __err != nil {
return
}
if !__isBuf {
_, __err = __w.Write(__buf.Bytes())
}
return
})
}
// You may include as much whitespace as you wish between the attribute,
// operator, value, and attribute separator. The following are all valid.
func WhitespaceAttrs() goht.Template {
return goht.TemplateFunc(func(ctx context.Context, __w io.Writer) (__err error) {
__buf, __isBuf := __w.(goht.Buffer)
if !__isBuf {
__buf = goht.GetBuffer()
defer goht.ReleaseBuffer(__buf)
}
var __children goht.Template
ctx, __children = goht.PopChildren(ctx)
_ = __children
if _, __err = __buf.WriteString("<p"); __err != nil {
return
}
var __var1 string
__var1, __err = goht.BuildClassList(myDynamicValue)
if __err != nil {
return
}
if _, __err = __buf.WriteString(" class=\"" + __var1 + "\""); __err != nil {
return
}
if _, __err = __buf.WriteString(" id=\"bar\">This is a paragraph.</p>\n<p"); __err != nil {
return
}
var __var2 string
__var2, __err = goht.BuildClassList(myDynamicValue)
if __err != nil {
return
}
if _, __err = __buf.WriteString(" class=\"" + __var2 + "\""); __err != nil {
return
}
if _, __err = __buf.WriteString(" id=\"bar\">This is a paragraph.</p>\n<p"); __err != nil {
return
}
var __var3 string
__var3, __err = goht.BuildClassList(myDynamicValue)
if __err != nil {
return
}
if _, __err = __buf.WriteString(" class=\"" + __var3 + "\""); __err != nil {
return
}
if _, __err = __buf.WriteString(" id=\"bar\">This is a paragraph.</p>\n<p"); __err != nil {
return
}
var __var4 string
__var4, __err = goht.BuildClassList(myDynamicValue)
if __err != nil {
return
}
if _, __err = __buf.WriteString(" class=\"" + __var4 + "\""); __err != nil {
return
}
if _, __err = __buf.WriteString(" id=\"bar\">This is a paragraph.</p>\n"); __err != nil {
return
}
if !__isBuf {
_, __err = __w.Write(__buf.Bytes())
}
return
})
}
// The dynamic attribute values may also include formatting rules just like
// the interpolated values. The attribute values are always evaluated as
// strings and are always rendered inside double quotes in the final HTML.
var intVar = 10
func FormattedValue() goht.Template {
return goht.TemplateFunc(func(ctx context.Context, __w io.Writer) (__err error) {
__buf, __isBuf := __w.(goht.Buffer)
if !__isBuf {
__buf = goht.GetBuffer()
defer goht.ReleaseBuffer(__buf)
}
var __children goht.Template
ctx, __children = goht.PopChildren(ctx)
_ = __children
if _, __err = __buf.WriteString("<textarea rows=\""); __err != nil {
return
}
if _, __err = __buf.WriteString(goht.EscapeString(goht.FormatString("%d", intVar)) + "\""); __err != nil {
return
}
if _, __err = __buf.WriteString(" cols=\"80\"></textarea>\n"); __err != nil {
return
}
if !__isBuf {
_, __err = __w.Write(__buf.Bytes())
}
return
})
}