1// Code generated by templ - DO NOT EDIT.
2
3// templ: version: v0.3.1020
4package web
5
6//lint:file-ignore SA4006 This context is only used if a nested component is present.
7
8import "github.com/a-h/templ"
9import templruntime "github.com/a-h/templ/runtime"
10
11// ReleaseBadges are textual as well as visual, including the computed latest.
12func ReleaseBadges(r ReleaseRow) templ.Component {
13 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
14 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
15 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
16 return templ_7745c5c3_CtxErr
17 }
18 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
19 if !templ_7745c5c3_IsBuffer {
20 defer func() {
21 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
22 if templ_7745c5c3_Err == nil {
23 templ_7745c5c3_Err = templ_7745c5c3_BufErr
24 }
25 }()
26 }
27 ctx = templ.InitializeContext(ctx)
28 templ_7745c5c3_Var1 := templ.GetChildren(ctx)
29 if templ_7745c5c3_Var1 == nil {
30 templ_7745c5c3_Var1 = templ.NopComponent
31 }
32 ctx = templ.ClearChildren(ctx)
33 if r.Draft {
34 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<span class=\"pill\">Draft</span> ")
35 if templ_7745c5c3_Err != nil {
36 return templ_7745c5c3_Err
37 }
38 }
39 if r.Prerelease {
40 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "<span class=\"pill\">Pre-release</span> ")
41 if templ_7745c5c3_Err != nil {
42 return templ_7745c5c3_Err
43 }
44 }
45 if r.Latest {
46 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<span class=\"pill\">Latest</span>")
47 if templ_7745c5c3_Err != nil {
48 return templ_7745c5c3_Err
49 }
50 }
51 return nil
52 })
53}
54
55func Releases(l Layout, p ReleaseListPage) templ.Component {
56 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
57 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
58 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
59 return templ_7745c5c3_CtxErr
60 }
61 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
62 if !templ_7745c5c3_IsBuffer {
63 defer func() {
64 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
65 if templ_7745c5c3_Err == nil {
66 templ_7745c5c3_Err = templ_7745c5c3_BufErr
67 }
68 }()
69 }
70 ctx = templ.InitializeContext(ctx)
71 templ_7745c5c3_Var2 := templ.GetChildren(ctx)
72 if templ_7745c5c3_Var2 == nil {
73 templ_7745c5c3_Var2 = templ.NopComponent
74 }
75 ctx = templ.ClearChildren(ctx)
76 templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
77 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
78 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
79 if !templ_7745c5c3_IsBuffer {
80 defer func() {
81 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
82 if templ_7745c5c3_Err == nil {
83 templ_7745c5c3_Err = templ_7745c5c3_BufErr
84 }
85 }()
86 }
87 ctx = templ.InitializeContext(ctx)
88 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "<h1>Releases</h1>")
89 if templ_7745c5c3_Err != nil {
90 return templ_7745c5c3_Err
91 }
92 if len(p.Rows) == 0 {
93 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<p class=\"dim\">no releases yet.</p>")
94 if templ_7745c5c3_Err != nil {
95 return templ_7745c5c3_Err
96 }
97 } else {
98 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "<table class=\"list\" aria-label=\"Releases\"><thead><tr><th>tag</th><th>title</th><th>published</th><th>assets</th></tr></thead> <tbody>")
99 if templ_7745c5c3_Err != nil {
100 return templ_7745c5c3_Err
101 }
102 for _, r := range p.Rows {
103 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "<tr><td><a href=\"")
104 if templ_7745c5c3_Err != nil {
105 return templ_7745c5c3_Err
106 }
107 var templ_7745c5c3_Var4 templ.SafeURL
108 templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
109 if templ_7745c5c3_Err != nil {
110 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 27, Col: 42}
111 }
112 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
113 if templ_7745c5c3_Err != nil {
114 return templ_7745c5c3_Err
115 }
116 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "\">")
117 if templ_7745c5c3_Err != nil {
118 return templ_7745c5c3_Err
119 }
120 var templ_7745c5c3_Var5 string
121 templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(r.Tag)
122 if templ_7745c5c3_Err != nil {
123 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 27, Col: 52}
124 }
125 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
126 if templ_7745c5c3_Err != nil {
127 return templ_7745c5c3_Err
128 }
129 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "</a></td><td>")
130 if templ_7745c5c3_Err != nil {
131 return templ_7745c5c3_Err
132 }
133 var templ_7745c5c3_Var6 string
134 templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(r.Title)
135 if templ_7745c5c3_Err != nil {
136 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 28, Col: 20}
137 }
138 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
139 if templ_7745c5c3_Err != nil {
140 return templ_7745c5c3_Err
141 }
142 templ_7745c5c3_Err = ReleaseBadges(r).Render(ctx, templ_7745c5c3_Buffer)
143 if templ_7745c5c3_Err != nil {
144 return templ_7745c5c3_Err
145 }
146 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "</td><td>")
147 if templ_7745c5c3_Err != nil {
148 return templ_7745c5c3_Err
149 }
150 var templ_7745c5c3_Var7 string
151 templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(r.Published)
152 if templ_7745c5c3_Err != nil {
153 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 29, Col: 24}
154 }
155 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
156 if templ_7745c5c3_Err != nil {
157 return templ_7745c5c3_Err
158 }
159 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</td><td>")
160 if templ_7745c5c3_Err != nil {
161 return templ_7745c5c3_Err
162 }
163 var templ_7745c5c3_Var8 string
164 templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(r.AssetCount))
165 if templ_7745c5c3_Err != nil {
166 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 29, Col: 55}
167 }
168 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
169 if templ_7745c5c3_Err != nil {
170 return templ_7745c5c3_Err
171 }
172 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</td></tr>")
173 if templ_7745c5c3_Err != nil {
174 return templ_7745c5c3_Err
175 }
176 }
177 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</tbody></table>")
178 if templ_7745c5c3_Err != nil {
179 return templ_7745c5c3_Err
180 }
181 }
182 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, " ")
183 if templ_7745c5c3_Err != nil {
184 return templ_7745c5c3_Err
185 }
186 if p.Older != "" {
187 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<p class=\"more\"><a href=\"")
188 if templ_7745c5c3_Err != nil {
189 return templ_7745c5c3_Err
190 }
191 var templ_7745c5c3_Var9 templ.SafeURL
192 templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Older))
193 if templ_7745c5c3_Err != nil {
194 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 36, Col: 51}
195 }
196 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
197 if templ_7745c5c3_Err != nil {
198 return templ_7745c5c3_Err
199 }
200 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\" rel=\"next\">older releases</a></p>")
201 if templ_7745c5c3_Err != nil {
202 return templ_7745c5c3_Err
203 }
204 }
205 return nil
206 })
207 templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer)
208 if templ_7745c5c3_Err != nil {
209 return templ_7745c5c3_Err
210 }
211 return nil
212 })
213}
214
215func ReleaseDetail(l Layout, p ReleaseDetailPage) templ.Component {
216 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
217 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
218 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
219 return templ_7745c5c3_CtxErr
220 }
221 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
222 if !templ_7745c5c3_IsBuffer {
223 defer func() {
224 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
225 if templ_7745c5c3_Err == nil {
226 templ_7745c5c3_Err = templ_7745c5c3_BufErr
227 }
228 }()
229 }
230 ctx = templ.InitializeContext(ctx)
231 templ_7745c5c3_Var10 := templ.GetChildren(ctx)
232 if templ_7745c5c3_Var10 == nil {
233 templ_7745c5c3_Var10 = templ.NopComponent
234 }
235 ctx = templ.ClearChildren(ctx)
236 templ_7745c5c3_Var11 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
237 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
238 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
239 if !templ_7745c5c3_IsBuffer {
240 defer func() {
241 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
242 if templ_7745c5c3_Err == nil {
243 templ_7745c5c3_Err = templ_7745c5c3_BufErr
244 }
245 }()
246 }
247 ctx = templ.InitializeContext(ctx)
248 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<h1>")
249 if templ_7745c5c3_Err != nil {
250 return templ_7745c5c3_Err
251 }
252 var templ_7745c5c3_Var12 string
253 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title)
254 if templ_7745c5c3_Err != nil {
255 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 43, Col: 15}
256 }
257 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
258 if templ_7745c5c3_Err != nil {
259 return templ_7745c5c3_Err
260 }
261 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</h1><p><span class=\"pill\">")
262 if templ_7745c5c3_Err != nil {
263 return templ_7745c5c3_Err
264 }
265 var templ_7745c5c3_Var13 string
266 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(p.Tag)
267 if templ_7745c5c3_Err != nil {
268 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 45, Col: 29}
269 }
270 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
271 if templ_7745c5c3_Err != nil {
272 return templ_7745c5c3_Err
273 }
274 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</span>")
275 if templ_7745c5c3_Err != nil {
276 return templ_7745c5c3_Err
277 }
278 templ_7745c5c3_Err = ReleaseBadges(p.ReleaseRow).Render(ctx, templ_7745c5c3_Buffer)
279 if templ_7745c5c3_Err != nil {
280 return templ_7745c5c3_Err
281 }
282 if p.SHA != "" {
283 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "<a href=\"")
284 if templ_7745c5c3_Err != nil {
285 return templ_7745c5c3_Err
286 }
287 var templ_7745c5c3_Var14 templ.SafeURL
288 templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.CommitHref))
289 if templ_7745c5c3_Err != nil {
290 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 47, Col: 41}
291 }
292 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
293 if templ_7745c5c3_Err != nil {
294 return templ_7745c5c3_Err
295 }
296 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "\"><code>")
297 if templ_7745c5c3_Err != nil {
298 return templ_7745c5c3_Err
299 }
300 var templ_7745c5c3_Var15 string
301 templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(p.SHA)
302 if templ_7745c5c3_Err != nil {
303 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 47, Col: 57}
304 }
305 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
306 if templ_7745c5c3_Err != nil {
307 return templ_7745c5c3_Err
308 }
309 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</code></a> ")
310 if templ_7745c5c3_Err != nil {
311 return templ_7745c5c3_Err
312 }
313 }
314 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<span class=\"dim\">")
315 if templ_7745c5c3_Err != nil {
316 return templ_7745c5c3_Err
317 }
318 var templ_7745c5c3_Var16 string
319 templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(p.Published)
320 if templ_7745c5c3_Err != nil {
321 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 49, Col: 34}
322 }
323 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
324 if templ_7745c5c3_Err != nil {
325 return templ_7745c5c3_Err
326 }
327 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</span></p><div class=\"md\">")
328 if templ_7745c5c3_Err != nil {
329 return templ_7745c5c3_Err
330 }
331 templ_7745c5c3_Err = templ.Raw(string(p.Notes)).Render(ctx, templ_7745c5c3_Buffer)
332 if templ_7745c5c3_Err != nil {
333 return templ_7745c5c3_Err
334 }
335 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "</div><h2>Assets</h2>")
336 if templ_7745c5c3_Err != nil {
337 return templ_7745c5c3_Err
338 }
339 if len(p.Assets) == 0 {
340 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "<p class=\"dim\">no assets.</p>")
341 if templ_7745c5c3_Err != nil {
342 return templ_7745c5c3_Err
343 }
344 } else {
345 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<table class=\"list\" aria-label=\"Release assets\"><thead><tr><th>name</th><th>size</th><th>content type</th></tr></thead> <tbody>")
346 if templ_7745c5c3_Err != nil {
347 return templ_7745c5c3_Err
348 }
349 for _, a := range p.Assets {
350 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<tr><td><a href=\"")
351 if templ_7745c5c3_Err != nil {
352 return templ_7745c5c3_Err
353 }
354 var templ_7745c5c3_Var17 templ.SafeURL
355 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(a.Href))
356 if templ_7745c5c3_Err != nil {
357 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 60, Col: 45}
358 }
359 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
360 if templ_7745c5c3_Err != nil {
361 return templ_7745c5c3_Err
362 }
363 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "\" download>")
364 if templ_7745c5c3_Err != nil {
365 return templ_7745c5c3_Err
366 }
367 var templ_7745c5c3_Var18 string
368 templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(a.Name)
369 if templ_7745c5c3_Err != nil {
370 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 60, Col: 65}
371 }
372 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
373 if templ_7745c5c3_Err != nil {
374 return templ_7745c5c3_Err
375 }
376 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</a></td><td>")
377 if templ_7745c5c3_Err != nil {
378 return templ_7745c5c3_Err
379 }
380 var templ_7745c5c3_Var19 string
381 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(a.Size)
382 if templ_7745c5c3_Err != nil {
383 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 60, Col: 88}
384 }
385 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
386 if templ_7745c5c3_Err != nil {
387 return templ_7745c5c3_Err
388 }
389 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "</td><td>")
390 if templ_7745c5c3_Err != nil {
391 return templ_7745c5c3_Err
392 }
393 var templ_7745c5c3_Var20 string
394 templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(a.ContentType)
395 if templ_7745c5c3_Err != nil {
396 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 60, Col: 114}
397 }
398 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
399 if templ_7745c5c3_Err != nil {
400 return templ_7745c5c3_Err
401 }
402 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</td></tr>")
403 if templ_7745c5c3_Err != nil {
404 return templ_7745c5c3_Err
405 }
406 }
407 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "</tbody></table>")
408 if templ_7745c5c3_Err != nil {
409 return templ_7745c5c3_Err
410 }
411 }
412 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, " <p><a href=\"")
413 if templ_7745c5c3_Err != nil {
414 return templ_7745c5c3_Err
415 }
416 var templ_7745c5c3_Var21 templ.SafeURL
417 templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref))
418 if templ_7745c5c3_Err != nil {
419 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/releases.templ`, Line: 65, Col: 42}
420 }
421 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
422 if templ_7745c5c3_Err != nil {
423 return templ_7745c5c3_Err
424 }
425 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "\">Source</a></p>")
426 if templ_7745c5c3_Err != nil {
427 return templ_7745c5c3_Err
428 }
429 return nil
430 })
431 templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var11), templ_7745c5c3_Buffer)
432 if templ_7745c5c3_Err != nil {
433 return templ_7745c5c3_Err
434 }
435 return nil
436 })
437}
438
439var _ = templruntime.GeneratedTemplate