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