1// Code generated by templ - DO NOT EDIT.
2
3// templ: version: v0.3.1020
4// SPDX-License-Identifier: AGPL-3.0-or-later
5
6package web
7
8//lint:file-ignore SA4006 This context is only used if a nested component is present.
9
10import "github.com/a-h/templ"
11import templruntime "github.com/a-h/templ/runtime"
12
13// Facts is a key/value block on an 11ch key column.
14func Facts(facts []Fact) templ.Component {
15 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
16 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
17 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
18 return templ_7745c5c3_CtxErr
19 }
20 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
21 if !templ_7745c5c3_IsBuffer {
22 defer func() {
23 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
24 if templ_7745c5c3_Err == nil {
25 templ_7745c5c3_Err = templ_7745c5c3_BufErr
26 }
27 }()
28 }
29 ctx = templ.InitializeContext(ctx)
30 templ_7745c5c3_Var1 := templ.GetChildren(ctx)
31 if templ_7745c5c3_Var1 == nil {
32 templ_7745c5c3_Var1 = templ.NopComponent
33 }
34 ctx = templ.ClearChildren(ctx)
35 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<dl class=\"kv\">")
36 if templ_7745c5c3_Err != nil {
37 return templ_7745c5c3_Err
38 }
39 for _, f := range facts {
40 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "<dt>")
41 if templ_7745c5c3_Err != nil {
42 return templ_7745c5c3_Err
43 }
44 var templ_7745c5c3_Var2 string
45 templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(f.Key)
46 if templ_7745c5c3_Err != nil {
47 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 9, Col: 14}
48 }
49 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
50 if templ_7745c5c3_Err != nil {
51 return templ_7745c5c3_Err
52 }
53 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "</dt>")
54 if templ_7745c5c3_Err != nil {
55 return templ_7745c5c3_Err
56 }
57 templ_7745c5c3_Err = FactValue(f).Render(ctx, templ_7745c5c3_Buffer)
58 if templ_7745c5c3_Err != nil {
59 return templ_7745c5c3_Err
60 }
61 }
62 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "</dl>")
63 if templ_7745c5c3_Err != nil {
64 return templ_7745c5c3_Err
65 }
66 return nil
67 })
68}
69
70// CloneBlock is a block of copyable shell lines; each has its own [copy]
71// button, whose label says "copied" for 1.5 s.
72func CloneBlock(c Clone) templ.Component {
73 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
74 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
75 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
76 return templ_7745c5c3_CtxErr
77 }
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_Var3 := templ.GetChildren(ctx)
89 if templ_7745c5c3_Var3 == nil {
90 templ_7745c5c3_Var3 = templ.NopComponent
91 }
92 ctx = templ.ClearChildren(ctx)
93 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<div class=\"clone\" id=\"")
94 if templ_7745c5c3_Err != nil {
95 return templ_7745c5c3_Err
96 }
97 var templ_7745c5c3_Var4 string
98 templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.ID)
99 if templ_7745c5c3_Err != nil {
100 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 18, Col: 29}
101 }
102 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var4)
103 if templ_7745c5c3_Err != nil {
104 return templ_7745c5c3_Err
105 }
106 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "\">")
107 if templ_7745c5c3_Err != nil {
108 return templ_7745c5c3_Err
109 }
110 for _, line := range c.Lines {
111 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "<div class=\"clone-line\"><span class=\"mute\" aria-hidden=\"true\">$ </span><code>")
112 if templ_7745c5c3_Err != nil {
113 return templ_7745c5c3_Err
114 }
115 var templ_7745c5c3_Var5 string
116 templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(line)
117 if templ_7745c5c3_Err != nil {
118 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 21, Col: 63}
119 }
120 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
121 if templ_7745c5c3_Err != nil {
122 return templ_7745c5c3_Err
123 }
124 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "</code> <button type=\"button\" class=\"btn copy\" data-js data-label=\"Copy\" aria-label=\"")
125 if templ_7745c5c3_Err != nil {
126 return templ_7745c5c3_Err
127 }
128 var templ_7745c5c3_Var6 string
129 templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.ResolveAttributeValue("copy: " + line)
130 if templ_7745c5c3_Err != nil {
131 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 27, Col: 33}
132 }
133 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var6)
134 if templ_7745c5c3_Err != nil {
135 return templ_7745c5c3_Err
136 }
137 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "\" hx-on:click=\"ermite.copy(this)\">Copy</button></div>")
138 if templ_7745c5c3_Err != nil {
139 return templ_7745c5c3_Err
140 }
141 }
142 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "</div>")
143 if templ_7745c5c3_Err != nil {
144 return templ_7745c5c3_Err
145 }
146 return nil
147 })
148}
149
150// HomeRow is one row of the home list. Its id is the target of SSE swaps.
151func HomeRowView(r HomeRow) templ.Component {
152 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
153 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
154 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
155 return templ_7745c5c3_CtxErr
156 }
157 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
158 if !templ_7745c5c3_IsBuffer {
159 defer func() {
160 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
161 if templ_7745c5c3_Err == nil {
162 templ_7745c5c3_Err = templ_7745c5c3_BufErr
163 }
164 }()
165 }
166 ctx = templ.InitializeContext(ctx)
167 templ_7745c5c3_Var7 := templ.GetChildren(ctx)
168 if templ_7745c5c3_Var7 == nil {
169 templ_7745c5c3_Var7 = templ.NopComponent
170 }
171 ctx = templ.ClearChildren(ctx)
172 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "<tr id=\"")
173 if templ_7745c5c3_Err != nil {
174 return templ_7745c5c3_Err
175 }
176 var templ_7745c5c3_Var8 string
177 templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.ID)
178 if templ_7745c5c3_Err != nil {
179 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 37, Col: 14}
180 }
181 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8)
182 if templ_7745c5c3_Err != nil {
183 return templ_7745c5c3_Err
184 }
185 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "\"")
186 if templ_7745c5c3_Err != nil {
187 return templ_7745c5c3_Err
188 }
189 if r.Cursor {
190 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, " data-cursor")
191 if templ_7745c5c3_Err != nil {
192 return templ_7745c5c3_Err
193 }
194 }
195 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-name\"><a href=\"")
196 if templ_7745c5c3_Err != nil {
197 return templ_7745c5c3_Err
198 }
199 var templ_7745c5c3_Var9 templ.SafeURL
200 templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
201 if templ_7745c5c3_Err != nil {
202 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 40, Col: 34}
203 }
204 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
205 if templ_7745c5c3_Err != nil {
206 return templ_7745c5c3_Err
207 }
208 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "\">")
209 if templ_7745c5c3_Err != nil {
210 return templ_7745c5c3_Err
211 }
212 var templ_7745c5c3_Var10 string
213 templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
214 if templ_7745c5c3_Err != nil {
215 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 40, Col: 45}
216 }
217 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
218 if templ_7745c5c3_Err != nil {
219 return templ_7745c5c3_Err
220 }
221 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "</a> ")
222 if templ_7745c5c3_Err != nil {
223 return templ_7745c5c3_Err
224 }
225 if r.Fresh {
226 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<span class=\"pill new\">new push</span>")
227 if templ_7745c5c3_Err != nil {
228 return templ_7745c5c3_Err
229 }
230 }
231 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</td><td class=\"c-desc dim\">")
232 if templ_7745c5c3_Err != nil {
233 return templ_7745c5c3_Err
234 }
235 var templ_7745c5c3_Var11 string
236 templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(r.Desc)
237 if templ_7745c5c3_Err != nil {
238 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 45, Col: 33}
239 }
240 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
241 if templ_7745c5c3_Err != nil {
242 return templ_7745c5c3_Err
243 }
244 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</td><td class=\"c-when nowrap\"><time")
245 if templ_7745c5c3_Err != nil {
246 return templ_7745c5c3_Err
247 }
248 if r.PushedAt != "" {
249 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, " datetime=\"")
250 if templ_7745c5c3_Err != nil {
251 return templ_7745c5c3_Err
252 }
253 var templ_7745c5c3_Var12 string
254 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.PushedAt)
255 if templ_7745c5c3_Err != nil {
256 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 49, Col: 26}
257 }
258 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var12)
259 if templ_7745c5c3_Err != nil {
260 return templ_7745c5c3_Err
261 }
262 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "\"")
263 if templ_7745c5c3_Err != nil {
264 return templ_7745c5c3_Err
265 }
266 }
267 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, ">")
268 if templ_7745c5c3_Err != nil {
269 return templ_7745c5c3_Err
270 }
271 var templ_7745c5c3_Var13 string
272 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(r.Pushed)
273 if templ_7745c5c3_Err != nil {
274 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 51, Col: 14}
275 }
276 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
277 if templ_7745c5c3_Err != nil {
278 return templ_7745c5c3_Err
279 }
280 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</time></td><td class=\"c-ref\">")
281 if templ_7745c5c3_Err != nil {
282 return templ_7745c5c3_Err
283 }
284 var templ_7745c5c3_Var14 string
285 templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(r.Branch)
286 if templ_7745c5c3_Err != nil {
287 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 53, Col: 30}
288 }
289 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
290 if templ_7745c5c3_Err != nil {
291 return templ_7745c5c3_Err
292 }
293 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</td></tr>")
294 if templ_7745c5c3_Err != nil {
295 return templ_7745c5c3_Err
296 }
297 return nil
298 })
299}
300
301// Outline is the README outline; levels indent by 2ch, the h1 is bold.
302func Outline(headings []Heading) templ.Component {
303 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
304 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
305 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
306 return templ_7745c5c3_CtxErr
307 }
308 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
309 if !templ_7745c5c3_IsBuffer {
310 defer func() {
311 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
312 if templ_7745c5c3_Err == nil {
313 templ_7745c5c3_Err = templ_7745c5c3_BufErr
314 }
315 }()
316 }
317 ctx = templ.InitializeContext(ctx)
318 templ_7745c5c3_Var15 := templ.GetChildren(ctx)
319 if templ_7745c5c3_Var15 == nil {
320 templ_7745c5c3_Var15 = templ.NopComponent
321 }
322 ctx = templ.ClearChildren(ctx)
323 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<nav class=\"outline\" aria-label=\"Outline\">")
324 if templ_7745c5c3_Err != nil {
325 return templ_7745c5c3_Err
326 }
327 for _, h := range headings {
328 var templ_7745c5c3_Var16 = []any{"l" + itoa(h.Level)}
329 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var16...)
330 if templ_7745c5c3_Err != nil {
331 return templ_7745c5c3_Err
332 }
333 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "<a class=\"")
334 if templ_7745c5c3_Err != nil {
335 return templ_7745c5c3_Err
336 }
337 var templ_7745c5c3_Var17 string
338 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var16).String())
339 if templ_7745c5c3_Err != nil {
340 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 1, Col: 0}
341 }
342 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var17)
343 if templ_7745c5c3_Err != nil {
344 return templ_7745c5c3_Err
345 }
346 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "\" href=\"")
347 if templ_7745c5c3_Err != nil {
348 return templ_7745c5c3_Err
349 }
350 var templ_7745c5c3_Var18 templ.SafeURL
351 templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("#" + h.ID))
352 if templ_7745c5c3_Err != nil {
353 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 61, Col: 68}
354 }
355 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
356 if templ_7745c5c3_Err != nil {
357 return templ_7745c5c3_Err
358 }
359 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\">")
360 if templ_7745c5c3_Err != nil {
361 return templ_7745c5c3_Err
362 }
363 var templ_7745c5c3_Var19 string
364 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(h.Text)
365 if templ_7745c5c3_Err != nil {
366 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 61, Col: 79}
367 }
368 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
369 if templ_7745c5c3_Err != nil {
370 return templ_7745c5c3_Err
371 }
372 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</a>")
373 if templ_7745c5c3_Err != nil {
374 return templ_7745c5c3_Err
375 }
376 }
377 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</nav>")
378 if templ_7745c5c3_Err != nil {
379 return templ_7745c5c3_Err
380 }
381 return nil
382 })
383}
384
385// ReadmeCard is a README in a card whose header names the file.
386func ReadmeCard(r Readme) templ.Component {
387 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
388 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
389 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
390 return templ_7745c5c3_CtxErr
391 }
392 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
393 if !templ_7745c5c3_IsBuffer {
394 defer func() {
395 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
396 if templ_7745c5c3_Err == nil {
397 templ_7745c5c3_Err = templ_7745c5c3_BufErr
398 }
399 }()
400 }
401 ctx = templ.InitializeContext(ctx)
402 templ_7745c5c3_Var20 := templ.GetChildren(ctx)
403 if templ_7745c5c3_Var20 == nil {
404 templ_7745c5c3_Var20 = templ.NopComponent
405 }
406 ctx = templ.ClearChildren(ctx)
407 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "<section class=\"card readme\" aria-labelledby=\"readme-h\"><h2 class=\"card-h\" id=\"readme-h\"><span class=\"ico i-file\" aria-hidden=\"true\"></span> ")
408 if templ_7745c5c3_Err != nil {
409 return templ_7745c5c3_Err
410 }
411 var templ_7745c5c3_Var21 string
412 templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
413 if templ_7745c5c3_Err != nil {
414 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 71, Col: 11}
415 }
416 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
417 if templ_7745c5c3_Err != nil {
418 return templ_7745c5c3_Err
419 }
420 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</h2>")
421 if templ_7745c5c3_Err != nil {
422 return templ_7745c5c3_Err
423 }
424 templ_7745c5c3_Err = ReadmeView(r).Render(ctx, templ_7745c5c3_Buffer)
425 if templ_7745c5c3_Err != nil {
426 return templ_7745c5c3_Err
427 }
428 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "</section>")
429 if templ_7745c5c3_Err != nil {
430 return templ_7745c5c3_Err
431 }
432 return nil
433 })
434}
435
436// ReadmeView is a rendered README. Its HTML comes from the Markdown
437// renderer, which drops raw HTML and filters URLs.
438func ReadmeView(r Readme) templ.Component {
439 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
440 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
441 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
442 return templ_7745c5c3_CtxErr
443 }
444 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
445 if !templ_7745c5c3_IsBuffer {
446 defer func() {
447 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
448 if templ_7745c5c3_Err == nil {
449 templ_7745c5c3_Err = templ_7745c5c3_BufErr
450 }
451 }()
452 }
453 ctx = templ.InitializeContext(ctx)
454 templ_7745c5c3_Var22 := templ.GetChildren(ctx)
455 if templ_7745c5c3_Var22 == nil {
456 templ_7745c5c3_Var22 = templ.NopComponent
457 }
458 ctx = templ.ClearChildren(ctx)
459 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "<article class=\"prose\" aria-label=\"")
460 if templ_7745c5c3_Err != nil {
461 return templ_7745c5c3_Err
462 }
463 var templ_7745c5c3_Var23 string
464 templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.Name)
465 if templ_7745c5c3_Err != nil {
466 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 80, Col: 43}
467 }
468 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var23)
469 if templ_7745c5c3_Err != nil {
470 return templ_7745c5c3_Err
471 }
472 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "\" hx-ignore>")
473 if templ_7745c5c3_Err != nil {
474 return templ_7745c5c3_Err
475 }
476 if r.Note != "" {
477 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "<p class=\"dim\">")
478 if templ_7745c5c3_Err != nil {
479 return templ_7745c5c3_Err
480 }
481 var templ_7745c5c3_Var24 string
482 templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(r.Note)
483 if templ_7745c5c3_Err != nil {
484 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 82, Col: 26}
485 }
486 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
487 if templ_7745c5c3_Err != nil {
488 return templ_7745c5c3_Err
489 }
490 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</p>")
491 if templ_7745c5c3_Err != nil {
492 return templ_7745c5c3_Err
493 }
494 } else {
495 templ_7745c5c3_Err = templ.Raw(r.HTML).Render(ctx, templ_7745c5c3_Buffer)
496 if templ_7745c5c3_Err != nil {
497 return templ_7745c5c3_Err
498 }
499 }
500 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "</article>")
501 if templ_7745c5c3_Err != nil {
502 return templ_7745c5c3_Err
503 }
504 return nil
505 })
506}
507
508// CommitRows is a cursor table of commits: sha, subject with inline refs,
509// author, relative date (absolute in the title).
510func CommitRows(rows []CommitRow) templ.Component {
511 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
512 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
513 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
514 return templ_7745c5c3_CtxErr
515 }
516 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
517 if !templ_7745c5c3_IsBuffer {
518 defer func() {
519 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
520 if templ_7745c5c3_Err == nil {
521 templ_7745c5c3_Err = templ_7745c5c3_BufErr
522 }
523 }()
524 }
525 ctx = templ.InitializeContext(ctx)
526 templ_7745c5c3_Var25 := templ.GetChildren(ctx)
527 if templ_7745c5c3_Var25 == nil {
528 templ_7745c5c3_Var25 = templ.NopComponent
529 }
530 ctx = templ.ClearChildren(ctx)
531 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "<table class=\"list commits\" aria-label=\"Commits\"><tbody data-rows>")
532 if templ_7745c5c3_Err != nil {
533 return templ_7745c5c3_Err
534 }
535 for _, c := range rows {
536 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<tr")
537 if templ_7745c5c3_Err != nil {
538 return templ_7745c5c3_Err
539 }
540 if c.ID != "" {
541 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, " id=\"")
542 if templ_7745c5c3_Err != nil {
543 return templ_7745c5c3_Err
544 }
545 var templ_7745c5c3_Var26 string
546 templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.ID)
547 if templ_7745c5c3_Err != nil {
548 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 97, Col: 15}
549 }
550 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var26)
551 if templ_7745c5c3_Err != nil {
552 return templ_7745c5c3_Err
553 }
554 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "\"")
555 if templ_7745c5c3_Err != nil {
556 return templ_7745c5c3_Err
557 }
558 }
559 if c.Cursor {
560 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, " data-cursor")
561 if templ_7745c5c3_Err != nil {
562 return templ_7745c5c3_Err
563 }
564 }
565 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-sha mute\">")
566 if templ_7745c5c3_Err != nil {
567 return templ_7745c5c3_Err
568 }
569 var templ_7745c5c3_Var27 string
570 templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)
571 if templ_7745c5c3_Err != nil {
572 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 102, Col: 37}
573 }
574 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
575 if templ_7745c5c3_Err != nil {
576 return templ_7745c5c3_Err
577 }
578 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "</td><td class=\"c-subject\"><a href=\"")
579 if templ_7745c5c3_Err != nil {
580 return templ_7745c5c3_Err
581 }
582 var templ_7745c5c3_Var28 templ.SafeURL
583 templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))
584 if templ_7745c5c3_Err != nil {
585 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 104, Col: 38}
586 }
587 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28))
588 if templ_7745c5c3_Err != nil {
589 return templ_7745c5c3_Err
590 }
591 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "\">")
592 if templ_7745c5c3_Err != nil {
593 return templ_7745c5c3_Err
594 }
595 var templ_7745c5c3_Var29 string
596 templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)
597 if templ_7745c5c3_Err != nil {
598 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 104, Col: 52}
599 }
600 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29))
601 if templ_7745c5c3_Err != nil {
602 return templ_7745c5c3_Err
603 }
604 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "</a> ")
605 if templ_7745c5c3_Err != nil {
606 return templ_7745c5c3_Err
607 }
608 if c.Merge {
609 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "<span class=\"pill\">merge</span> ")
610 if templ_7745c5c3_Err != nil {
611 return templ_7745c5c3_Err
612 }
613 }
614 for _, b := range c.Branches {
615 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "<span class=\"pill\">")
616 if templ_7745c5c3_Err != nil {
617 return templ_7745c5c3_Err
618 }
619 var templ_7745c5c3_Var30 string
620 templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(b)
621 if templ_7745c5c3_Err != nil {
622 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 109, Col: 29}
623 }
624 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
625 if templ_7745c5c3_Err != nil {
626 return templ_7745c5c3_Err
627 }
628 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</span> ")
629 if templ_7745c5c3_Err != nil {
630 return templ_7745c5c3_Err
631 }
632 }
633 for _, t := range c.Tags {
634 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "<span class=\"pill tag\"><span class=\"sr\">tag </span>")
635 if templ_7745c5c3_Err != nil {
636 return templ_7745c5c3_Err
637 }
638 var templ_7745c5c3_Var31 string
639 templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(t)
640 if templ_7745c5c3_Err != nil {
641 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 112, Col: 61}
642 }
643 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31))
644 if templ_7745c5c3_Err != nil {
645 return templ_7745c5c3_Err
646 }
647 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "</span>")
648 if templ_7745c5c3_Err != nil {
649 return templ_7745c5c3_Err
650 }
651 }
652 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "</td><td class=\"c-ck\">")
653 if templ_7745c5c3_Err != nil {
654 return templ_7745c5c3_Err
655 }
656 templ_7745c5c3_Err = CommitChecks(c.Checks).Render(ctx, templ_7745c5c3_Buffer)
657 if templ_7745c5c3_Err != nil {
658 return templ_7745c5c3_Err
659 }
660 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "</td><td class=\"c-who dim\">")
661 if templ_7745c5c3_Err != nil {
662 return templ_7745c5c3_Err
663 }
664 var templ_7745c5c3_Var32 string
665 templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author)
666 if templ_7745c5c3_Err != nil {
667 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 116, Col: 37}
668 }
669 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
670 if templ_7745c5c3_Err != nil {
671 return templ_7745c5c3_Err
672 }
673 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "</td><td class=\"c-when nowrap dim\"><time datetime=\"")
674 if templ_7745c5c3_Err != nil {
675 return templ_7745c5c3_Err
676 }
677 var templ_7745c5c3_Var33 string
678 templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
679 if templ_7745c5c3_Err != nil {
680 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 117, Col: 60}
681 }
682 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var33)
683 if templ_7745c5c3_Err != nil {
684 return templ_7745c5c3_Err
685 }
686 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "\" title=\"")
687 if templ_7745c5c3_Err != nil {
688 return templ_7745c5c3_Err
689 }
690 var templ_7745c5c3_Var34 string
691 templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
692 if templ_7745c5c3_Err != nil {
693 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 117, Col: 79}
694 }
695 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34)
696 if templ_7745c5c3_Err != nil {
697 return templ_7745c5c3_Err
698 }
699 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "\">")
700 if templ_7745c5c3_Err != nil {
701 return templ_7745c5c3_Err
702 }
703 var templ_7745c5c3_Var35 string
704 templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)
705 if templ_7745c5c3_Err != nil {
706 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 117, Col: 90}
707 }
708 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35))
709 if templ_7745c5c3_Err != nil {
710 return templ_7745c5c3_Err
711 }
712 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "</time></td></tr>")
713 if templ_7745c5c3_Err != nil {
714 return templ_7745c5c3_Err
715 }
716 }
717 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</tbody></table>")
718 if templ_7745c5c3_Err != nil {
719 return templ_7745c5c3_Err
720 }
721 return nil
722 })
723}
724
725var _ = templruntime.GeneratedTemplate