cerrado @ b9bfb5a86e364838355c99402977fff38db24285

feat: Add time to commit logs
  1diff --git a/templates/commit.qtpl b/templates/commit.qtpl
  2index dc6eae466e552b01fe1c0bb2f113a5b904281c72..ea2f144b7188483818450f3deaf79a5ad10411fc 100644
  3--- a/templates/commit.qtpl
  4+++ b/templates/commit.qtpl
  5@@ -1,10 +1,12 @@
  6+{% import "git.gabrielgio.me/cerrado/pkg/humanize" %}
  7 {% import "github.com/go-git/go-git/v5/plumbing/object" %}
  8 
  9 {% func Commit(name string, c *object.Commit, showTar bool) %}
 10   <div class="row event">
 11     <div class="row">
 12       <div class="col-md">
 13-       <a title="{%s c.Hash.String() %}" href="/{%s name %}/commit/{%s c.Hash.String() %}/">{%s c.Hash.String()[0:8] %}</a>
 14+       <a title="{%s c.Hash.String() %}" href="/{%s name %}/commit/{%s c.Hash.String() %}/">{%s c.Hash.String()[0:8] %}</a> —
 15+       <a title="{%s c.Committer.Email %}" href="mailto:{%s c.Author.Email %}">{%s c.Author.Name %}</a>
 16       </div>
 17       {% if showTar %}
 18       <div class="col-md text-md-center">
 19@@ -12,7 +14,7 @@        <a title="tar.gz for {%s c.Hash.String() %}" href="/{%s name %}/archive/{%s c.Hash.String() %}.tar.gz">tar.gz</a>
 20       </div>
 21       {% endif %}
 22       <div class="col-md text-md-end">
 23-       <a title="{%s c.Committer.Email %}" href="mailto:{%s c.Author.Email %}">{%s c.Author.Name %}</a>
 24+        <a title="{%s c.Author.When.Format("2006-01-02 15:04:05 UTC")%}">{%s humanize.Time(c.Author.When) %}</a>
 25       </div>
 26     </div>
 27     <div class="code-view">
 28diff --git a/templates/commit.qtpl.go b/templates/commit.qtpl.go
 29index ea8f0200e57a3c54646da90fb859fabfbfc2b240..eeaa1f08fbc4ef173cc2abdfa012690dede79206 100644
 30--- a/templates/commit.qtpl.go
 31+++ b/templates/commit.qtpl.go
 32@@ -5,121 +5,133 @@ //line templates/commit.qtpl:1
 33 package templates
 34 
 35 //line templates/commit.qtpl:1
 36+import "git.gabrielgio.me/cerrado/pkg/humanize"
 37+
 38+//line templates/commit.qtpl:2
 39 import "github.com/go-git/go-git/v5/plumbing/object"
 40 
 41-//line templates/commit.qtpl:3
 42+//line templates/commit.qtpl:4
 43 import (
 44 	qtio422016 "io"
 45 
 46 	qt422016 "github.com/valyala/quicktemplate"
 47 )
 48 
 49-//line templates/commit.qtpl:3
 50+//line templates/commit.qtpl:4
 51 var (
 52 	_ = qtio422016.Copy
 53 	_ = qt422016.AcquireByteBuffer
 54 )
 55 
 56-//line templates/commit.qtpl:3
 57+//line templates/commit.qtpl:4
 58 func StreamCommit(qw422016 *qt422016.Writer, name string, c *object.Commit, showTar bool) {
 59-//line templates/commit.qtpl:3
 60+//line templates/commit.qtpl:4
 61 	qw422016.N().S(`
 62   <div class="row event">
 63     <div class="row">
 64       <div class="col-md">
 65        <a title="`)
 66-//line templates/commit.qtpl:7
 67+//line templates/commit.qtpl:8
 68 	qw422016.E().S(c.Hash.String())
 69-//line templates/commit.qtpl:7
 70+//line templates/commit.qtpl:8
 71 	qw422016.N().S(`" href="/`)
 72-//line templates/commit.qtpl:7
 73+//line templates/commit.qtpl:8
 74 	qw422016.E().S(name)
 75-//line templates/commit.qtpl:7
 76+//line templates/commit.qtpl:8
 77 	qw422016.N().S(`/commit/`)
 78-//line templates/commit.qtpl:7
 79+//line templates/commit.qtpl:8
 80 	qw422016.E().S(c.Hash.String())
 81-//line templates/commit.qtpl:7
 82+//line templates/commit.qtpl:8
 83 	qw422016.N().S(`/">`)
 84-//line templates/commit.qtpl:7
 85+//line templates/commit.qtpl:8
 86 	qw422016.E().S(c.Hash.String()[0:8])
 87-//line templates/commit.qtpl:7
 88+//line templates/commit.qtpl:8
 89+	qw422016.N().S(`</a> —
 90+       <a title="`)
 91+//line templates/commit.qtpl:9
 92+	qw422016.E().S(c.Committer.Email)
 93+//line templates/commit.qtpl:9
 94+	qw422016.N().S(`" href="mailto:`)
 95+//line templates/commit.qtpl:9
 96+	qw422016.E().S(c.Author.Email)
 97+//line templates/commit.qtpl:9
 98+	qw422016.N().S(`">`)
 99+//line templates/commit.qtpl:9
100+	qw422016.E().S(c.Author.Name)
101+//line templates/commit.qtpl:9
102 	qw422016.N().S(`</a>
103       </div>
104       `)
105-//line templates/commit.qtpl:9
106+//line templates/commit.qtpl:11
107 	if showTar {
108-//line templates/commit.qtpl:9
109+//line templates/commit.qtpl:11
110 		qw422016.N().S(`
111       <div class="col-md text-md-center">
112        <a title="tar.gz for `)
113-//line templates/commit.qtpl:11
114+//line templates/commit.qtpl:13
115 		qw422016.E().S(c.Hash.String())
116-//line templates/commit.qtpl:11
117+//line templates/commit.qtpl:13
118 		qw422016.N().S(`" href="/`)
119-//line templates/commit.qtpl:11
120+//line templates/commit.qtpl:13
121 		qw422016.E().S(name)
122-//line templates/commit.qtpl:11
123+//line templates/commit.qtpl:13
124 		qw422016.N().S(`/archive/`)
125-//line templates/commit.qtpl:11
126+//line templates/commit.qtpl:13
127 		qw422016.E().S(c.Hash.String())
128-//line templates/commit.qtpl:11
129+//line templates/commit.qtpl:13
130 		qw422016.N().S(`.tar.gz">tar.gz</a>
131       </div>
132       `)
133-//line templates/commit.qtpl:13
134+//line templates/commit.qtpl:15
135 	}
136-//line templates/commit.qtpl:13
137+//line templates/commit.qtpl:15
138 	qw422016.N().S(`
139       <div class="col-md text-md-end">
140-       <a title="`)
141-//line templates/commit.qtpl:15
142-	qw422016.E().S(c.Committer.Email)
143-//line templates/commit.qtpl:15
144-	qw422016.N().S(`" href="mailto:`)
145-//line templates/commit.qtpl:15
146-	qw422016.E().S(c.Author.Email)
147-//line templates/commit.qtpl:15
148+        <a title="`)
149+//line templates/commit.qtpl:17
150+	qw422016.E().S(c.Author.When.Format("2006-01-02 15:04:05 UTC"))
151+//line templates/commit.qtpl:17
152 	qw422016.N().S(`">`)
153-//line templates/commit.qtpl:15
154-	qw422016.E().S(c.Author.Name)
155-//line templates/commit.qtpl:15
156+//line templates/commit.qtpl:17
157+	qw422016.E().S(humanize.Time(c.Author.When))
158+//line templates/commit.qtpl:17
159 	qw422016.N().S(`</a>
160       </div>
161     </div>
162     <div class="code-view">
163      <pre>`)
164-//line templates/commit.qtpl:19
165+//line templates/commit.qtpl:21
166 	qw422016.E().S(c.Message)
167-//line templates/commit.qtpl:19
168+//line templates/commit.qtpl:21
169 	qw422016.N().S(`</pre>
170     </div>
171   </div>
172 `)
173-//line templates/commit.qtpl:22
174+//line templates/commit.qtpl:24
175 }
176 
177-//line templates/commit.qtpl:22
178+//line templates/commit.qtpl:24
179 func WriteCommit(qq422016 qtio422016.Writer, name string, c *object.Commit, showTar bool) {
180-//line templates/commit.qtpl:22
181+//line templates/commit.qtpl:24
182 	qw422016 := qt422016.AcquireWriter(qq422016)
183-//line templates/commit.qtpl:22
184+//line templates/commit.qtpl:24
185 	StreamCommit(qw422016, name, c, showTar)
186-//line templates/commit.qtpl:22
187+//line templates/commit.qtpl:24
188 	qt422016.ReleaseWriter(qw422016)
189-//line templates/commit.qtpl:22
190+//line templates/commit.qtpl:24
191 }
192 
193-//line templates/commit.qtpl:22
194+//line templates/commit.qtpl:24
195 func Commit(name string, c *object.Commit, showTar bool) string {
196-//line templates/commit.qtpl:22
197+//line templates/commit.qtpl:24
198 	qb422016 := qt422016.AcquireByteBuffer()
199-//line templates/commit.qtpl:22
200+//line templates/commit.qtpl:24
201 	WriteCommit(qb422016, name, c, showTar)
202-//line templates/commit.qtpl:22
203+//line templates/commit.qtpl:24
204 	qs422016 := string(qb422016.B)
205-//line templates/commit.qtpl:22
206+//line templates/commit.qtpl:24
207 	qt422016.ReleaseByteBuffer(qb422016)
208-//line templates/commit.qtpl:22
209+//line templates/commit.qtpl:24
210 	return qs422016
211-//line templates/commit.qtpl:22
212+//line templates/commit.qtpl:24
213 }
214diff --git a/templates/gitlist.qtpl b/templates/gitlist.qtpl
215index 4f25fc674af9952f5c95f91baedce34301e0c19e..bb07e7f543136a076c36e47ed6ac6680e2d6b983 100644
216--- a/templates/gitlist.qtpl
217+++ b/templates/gitlist.qtpl
218@@ -1,3 +1,4 @@
219+{% import "git.gabrielgio.me/cerrado/pkg/humanize" %}
220 {% import "git.gabrielgio.me/cerrado/pkg/service" %}
221 {% import "context" %}
222 {% import "strings" %}
223@@ -39,10 +40,11 @@           </div>
224         </div>
225         </hr>
226         <p>{%s r.Description %}</p>
227-        <p style="background: #dadada">
228-            <a title="{%s r.LastCommit.Hash.String() %}" href="/{%s r.Name %}/commit/{%s r.LastCommit.Hash.String() %}/">{%s r.LastCommit.Hash.String()[0:8] %}</a> - 
229-            <a title="{%s r.LastCommit.Author.Email %}">{%s r.LastCommit.Author.Name %}</a> - 
230-            {%s firstLine(r.LastCommit.Message) %}</p>
231+        <div class="event-commit row">
232+            <a class="col-xl-2" title="{%s r.LastCommit.Hash.String() %}" href="/{%s r.Name %}/commit/{%s r.LastCommit.Hash.String() %}/">{%s r.LastCommit.Hash.String()[0:8] %}</a>
233+            <a class="col-xl-7"> {%s firstLine(r.LastCommit.Message) %}</a>
234+            <a class="col-xl-3" title="{%s r.LastCommit.Author.When.Format("2006-01-02 15:04:05 UTC")%}">{%s humanize.Time(r.LastCommit.Author.When) %}</a>
235+        </div>
236         <p>
237           <a href="/{%s r.Name %}/log/{%s r.Ref %}/">log</a>
238           <a href="/{%s r.Name %}/tree/{%s r.Ref %}/">tree</a>
239diff --git a/templates/gitlist.qtpl.go b/templates/gitlist.qtpl.go
240index f3df84f80a4dac96623865d413e62b51598d25aa..6fb168a3054457b09dee81718db9c47d2daeccf3 100644
241--- a/templates/gitlist.qtpl.go
242+++ b/templates/gitlist.qtpl.go
243@@ -5,34 +5,37 @@ //line templates/gitlist.qtpl:1
244 package templates
245 
246 //line templates/gitlist.qtpl:1
247-import "git.gabrielgio.me/cerrado/pkg/service"
248+import "git.gabrielgio.me/cerrado/pkg/humanize"
249 
250 //line templates/gitlist.qtpl:2
251-import "context"
252+import "git.gabrielgio.me/cerrado/pkg/service"
253 
254 //line templates/gitlist.qtpl:3
255+import "context"
256+
257+//line templates/gitlist.qtpl:4
258 import "strings"
259 
260-//line templates/gitlist.qtpl:5
261+//line templates/gitlist.qtpl:6
262 import (
263 	qtio422016 "io"
264 
265 	qt422016 "github.com/valyala/quicktemplate"
266 )
267 
268-//line templates/gitlist.qtpl:5
269+//line templates/gitlist.qtpl:6
270 var (
271 	_ = qtio422016.Copy
272 	_ = qt422016.AcquireByteBuffer
273 )
274 
275-//line templates/gitlist.qtpl:6
276+//line templates/gitlist.qtpl:7
277 type GitListPage struct {
278 	Respositories []*service.Repository
279 	About         []byte
280 }
281 
282-//line templates/gitlist.qtpl:13
283+//line templates/gitlist.qtpl:14
284 func firstLine(text string) string {
285 	lines := strings.Split(text, "\n")
286 	if len(lines) > 0 {
287@@ -41,185 +44,186 @@ 	}
288 	return ""
289 }
290 
291-//line templates/gitlist.qtpl:22
292+//line templates/gitlist.qtpl:23
293 func (p *GitListPage) StreamTitle(qw422016 *qt422016.Writer, ctx context.Context) {
294-//line templates/gitlist.qtpl:22
295+//line templates/gitlist.qtpl:23
296 	qw422016.N().S(`Git | List`)
297-//line templates/gitlist.qtpl:22
298+//line templates/gitlist.qtpl:23
299 }
300 
301-//line templates/gitlist.qtpl:22
302+//line templates/gitlist.qtpl:23
303 func (p *GitListPage) WriteTitle(qq422016 qtio422016.Writer, ctx context.Context) {
304-//line templates/gitlist.qtpl:22
305+//line templates/gitlist.qtpl:23
306 	qw422016 := qt422016.AcquireWriter(qq422016)
307-//line templates/gitlist.qtpl:22
308+//line templates/gitlist.qtpl:23
309 	p.StreamTitle(qw422016, ctx)
310-//line templates/gitlist.qtpl:22
311+//line templates/gitlist.qtpl:23
312 	qt422016.ReleaseWriter(qw422016)
313-//line templates/gitlist.qtpl:22
314+//line templates/gitlist.qtpl:23
315 }
316 
317-//line templates/gitlist.qtpl:22
318+//line templates/gitlist.qtpl:23
319 func (p *GitListPage) Title(ctx context.Context) string {
320-//line templates/gitlist.qtpl:22
321+//line templates/gitlist.qtpl:23
322 	qb422016 := qt422016.AcquireByteBuffer()
323-//line templates/gitlist.qtpl:22
324+//line templates/gitlist.qtpl:23
325 	p.WriteTitle(qb422016, ctx)
326-//line templates/gitlist.qtpl:22
327+//line templates/gitlist.qtpl:23
328 	qs422016 := string(qb422016.B)
329-//line templates/gitlist.qtpl:22
330+//line templates/gitlist.qtpl:23
331 	qt422016.ReleaseByteBuffer(qb422016)
332-//line templates/gitlist.qtpl:22
333+//line templates/gitlist.qtpl:23
334 	return qs422016
335-//line templates/gitlist.qtpl:22
336+//line templates/gitlist.qtpl:23
337 }
338 
339-//line templates/gitlist.qtpl:24
340+//line templates/gitlist.qtpl:25
341 func (p *GitListPage) StreamNavbar(qw422016 *qt422016.Writer, ctx context.Context) {
342-//line templates/gitlist.qtpl:24
343+//line templates/gitlist.qtpl:25
344 	StreamNavbar(qw422016, ctx, Git)
345-//line templates/gitlist.qtpl:24
346+//line templates/gitlist.qtpl:25
347 }
348 
349-//line templates/gitlist.qtpl:24
350+//line templates/gitlist.qtpl:25
351 func (p *GitListPage) WriteNavbar(qq422016 qtio422016.Writer, ctx context.Context) {
352-//line templates/gitlist.qtpl:24
353+//line templates/gitlist.qtpl:25
354 	qw422016 := qt422016.AcquireWriter(qq422016)
355-//line templates/gitlist.qtpl:24
356+//line templates/gitlist.qtpl:25
357 	p.StreamNavbar(qw422016, ctx)
358-//line templates/gitlist.qtpl:24
359+//line templates/gitlist.qtpl:25
360 	qt422016.ReleaseWriter(qw422016)
361-//line templates/gitlist.qtpl:24
362+//line templates/gitlist.qtpl:25
363 }
364 
365-//line templates/gitlist.qtpl:24
366+//line templates/gitlist.qtpl:25
367 func (p *GitListPage) Navbar(ctx context.Context) string {
368-//line templates/gitlist.qtpl:24
369+//line templates/gitlist.qtpl:25
370 	qb422016 := qt422016.AcquireByteBuffer()
371-//line templates/gitlist.qtpl:24
372+//line templates/gitlist.qtpl:25
373 	p.WriteNavbar(qb422016, ctx)
374-//line templates/gitlist.qtpl:24
375+//line templates/gitlist.qtpl:25
376 	qs422016 := string(qb422016.B)
377-//line templates/gitlist.qtpl:24
378+//line templates/gitlist.qtpl:25
379 	qt422016.ReleaseByteBuffer(qb422016)
380-//line templates/gitlist.qtpl:24
381+//line templates/gitlist.qtpl:25
382 	return qs422016
383-//line templates/gitlist.qtpl:24
384+//line templates/gitlist.qtpl:25
385 }
386 
387-//line templates/gitlist.qtpl:26
388+//line templates/gitlist.qtpl:27
389 func (p *GitListPage) StreamContent(qw422016 *qt422016.Writer, ctx context.Context) {
390-//line templates/gitlist.qtpl:26
391+//line templates/gitlist.qtpl:27
392 	qw422016.N().S(`
393 <div class="row">
394   <div class="col-md-6 order-last order-md-first">
395     <div class="event-list">
396       `)
397-//line templates/gitlist.qtpl:30
398+//line templates/gitlist.qtpl:31
399 	for _, r := range p.Respositories {
400-//line templates/gitlist.qtpl:30
401+//line templates/gitlist.qtpl:31
402 		qw422016.N().S(`
403       <div class="event">
404         <div class="row">
405           <div class="col-md">
406               <a href="/`)
407-//line templates/gitlist.qtpl:34
408+//line templates/gitlist.qtpl:35
409 		qw422016.E().S(r.Name)
410-//line templates/gitlist.qtpl:34
411+//line templates/gitlist.qtpl:35
412 		qw422016.N().S(`/">`)
413-//line templates/gitlist.qtpl:34
414+//line templates/gitlist.qtpl:35
415 		qw422016.E().S(r.Name)
416-//line templates/gitlist.qtpl:34
417+//line templates/gitlist.qtpl:35
418 		qw422016.N().S(`</a>
419           </div>
420           <div class="col-md text-md-end">
421             <small>`)
422-//line templates/gitlist.qtpl:37
423+//line templates/gitlist.qtpl:38
424 		if !r.Public {
425-//line templates/gitlist.qtpl:37
426+//line templates/gitlist.qtpl:38
427 			qw422016.N().S(`private`)
428-//line templates/gitlist.qtpl:37
429+//line templates/gitlist.qtpl:38
430 		}
431-//line templates/gitlist.qtpl:37
432+//line templates/gitlist.qtpl:38
433 		qw422016.N().S(`</small>
434           </div>
435         </div>
436         </hr>
437         <p>`)
438-//line templates/gitlist.qtpl:41
439+//line templates/gitlist.qtpl:42
440 		qw422016.E().S(r.Description)
441-//line templates/gitlist.qtpl:41
442+//line templates/gitlist.qtpl:42
443 		qw422016.N().S(`</p>
444-        <p style="background: #dadada">
445-            <a title="`)
446-//line templates/gitlist.qtpl:43
447+        <div class="event-commit row">
448+            <a class="col-xl-2" title="`)
449+//line templates/gitlist.qtpl:44
450 		qw422016.E().S(r.LastCommit.Hash.String())
451-//line templates/gitlist.qtpl:43
452+//line templates/gitlist.qtpl:44
453 		qw422016.N().S(`" href="/`)
454-//line templates/gitlist.qtpl:43
455+//line templates/gitlist.qtpl:44
456 		qw422016.E().S(r.Name)
457-//line templates/gitlist.qtpl:43
458+//line templates/gitlist.qtpl:44
459 		qw422016.N().S(`/commit/`)
460-//line templates/gitlist.qtpl:43
461+//line templates/gitlist.qtpl:44
462 		qw422016.E().S(r.LastCommit.Hash.String())
463-//line templates/gitlist.qtpl:43
464+//line templates/gitlist.qtpl:44
465 		qw422016.N().S(`/">`)
466-//line templates/gitlist.qtpl:43
467+//line templates/gitlist.qtpl:44
468 		qw422016.E().S(r.LastCommit.Hash.String()[0:8])
469-//line templates/gitlist.qtpl:43
470-		qw422016.N().S(`</a> - 
471-            <a title="`)
472 //line templates/gitlist.qtpl:44
473-		qw422016.E().S(r.LastCommit.Author.Email)
474-//line templates/gitlist.qtpl:44
475-		qw422016.N().S(`">`)
476-//line templates/gitlist.qtpl:44
477-		qw422016.E().S(r.LastCommit.Author.Name)
478-//line templates/gitlist.qtpl:44
479-		qw422016.N().S(`</a> - 
480-            `)
481+		qw422016.N().S(`</a>
482+            <a class="col-xl-7"> `)
483 //line templates/gitlist.qtpl:45
484 		qw422016.E().S(firstLine(r.LastCommit.Message))
485 //line templates/gitlist.qtpl:45
486-		qw422016.N().S(`</p>
487+		qw422016.N().S(`</a>
488+            <a class="col-xl-3" title="`)
489+//line templates/gitlist.qtpl:46
490+		qw422016.E().S(r.LastCommit.Author.When.Format("2006-01-02 15:04:05 UTC"))
491+//line templates/gitlist.qtpl:46
492+		qw422016.N().S(`">`)
493+//line templates/gitlist.qtpl:46
494+		qw422016.E().S(humanize.Time(r.LastCommit.Author.When))
495+//line templates/gitlist.qtpl:46
496+		qw422016.N().S(`</a>
497+        </div>
498         <p>
499           <a href="/`)
500-//line templates/gitlist.qtpl:47
501+//line templates/gitlist.qtpl:49
502 		qw422016.E().S(r.Name)
503-//line templates/gitlist.qtpl:47
504+//line templates/gitlist.qtpl:49
505 		qw422016.N().S(`/log/`)
506-//line templates/gitlist.qtpl:47
507+//line templates/gitlist.qtpl:49
508 		qw422016.E().S(r.Ref)
509-//line templates/gitlist.qtpl:47
510+//line templates/gitlist.qtpl:49
511 		qw422016.N().S(`/">log</a>
512           <a href="/`)
513-//line templates/gitlist.qtpl:48
514+//line templates/gitlist.qtpl:50
515 		qw422016.E().S(r.Name)
516-//line templates/gitlist.qtpl:48
517+//line templates/gitlist.qtpl:50
518 		qw422016.N().S(`/tree/`)
519-//line templates/gitlist.qtpl:48
520+//line templates/gitlist.qtpl:50
521 		qw422016.E().S(r.Ref)
522-//line templates/gitlist.qtpl:48
523+//line templates/gitlist.qtpl:50
524 		qw422016.N().S(`/">tree</a>
525           <a href="/`)
526-//line templates/gitlist.qtpl:49
527+//line templates/gitlist.qtpl:51
528 		qw422016.E().S(r.Name)
529-//line templates/gitlist.qtpl:49
530+//line templates/gitlist.qtpl:51
531 		qw422016.N().S(`/refs/">refs</a>
532         </p>
533       </div>
534       `)
535-//line templates/gitlist.qtpl:52
536+//line templates/gitlist.qtpl:54
537 	}
538-//line templates/gitlist.qtpl:52
539+//line templates/gitlist.qtpl:54
540 	qw422016.N().S(`
541     </div>
542   </div>
543   <div id="about" class="col-md-4 order-first order-md-last">
544     `)
545-//line templates/gitlist.qtpl:56
546+//line templates/gitlist.qtpl:58
547 	qw422016.N().Z(p.About)
548-//line templates/gitlist.qtpl:56
549+//line templates/gitlist.qtpl:58
550 	qw422016.N().S(`
551     <div class="alert alert-warning text-center" role="alert">
552         This project is under development, things may be broken or incomplete.
553@@ -227,65 +231,65 @@     </div>
554   </div>
555 </div>
556 `)
557-//line templates/gitlist.qtpl:62
558+//line templates/gitlist.qtpl:64
559 }
560 
561-//line templates/gitlist.qtpl:62
562+//line templates/gitlist.qtpl:64
563 func (p *GitListPage) WriteContent(qq422016 qtio422016.Writer, ctx context.Context) {
564-//line templates/gitlist.qtpl:62
565+//line templates/gitlist.qtpl:64
566 	qw422016 := qt422016.AcquireWriter(qq422016)
567-//line templates/gitlist.qtpl:62
568+//line templates/gitlist.qtpl:64
569 	p.StreamContent(qw422016, ctx)
570-//line templates/gitlist.qtpl:62
571+//line templates/gitlist.qtpl:64
572 	qt422016.ReleaseWriter(qw422016)
573-//line templates/gitlist.qtpl:62
574+//line templates/gitlist.qtpl:64
575 }
576 
577-//line templates/gitlist.qtpl:62
578+//line templates/gitlist.qtpl:64
579 func (p *GitListPage) Content(ctx context.Context) string {
580-//line templates/gitlist.qtpl:62
581+//line templates/gitlist.qtpl:64
582 	qb422016 := qt422016.AcquireByteBuffer()
583-//line templates/gitlist.qtpl:62
584+//line templates/gitlist.qtpl:64
585 	p.WriteContent(qb422016, ctx)
586-//line templates/gitlist.qtpl:62
587+//line templates/gitlist.qtpl:64
588 	qs422016 := string(qb422016.B)
589-//line templates/gitlist.qtpl:62
590+//line templates/gitlist.qtpl:64
591 	qt422016.ReleaseByteBuffer(qb422016)
592-//line templates/gitlist.qtpl:62
593+//line templates/gitlist.qtpl:64
594 	return qs422016
595-//line templates/gitlist.qtpl:62
596+//line templates/gitlist.qtpl:64
597 }
598 
599-//line templates/gitlist.qtpl:64
600+//line templates/gitlist.qtpl:66
601 func (p *GitListPage) StreamScript(qw422016 *qt422016.Writer, ctx context.Context) {
602-//line templates/gitlist.qtpl:64
603+//line templates/gitlist.qtpl:66
604 	qw422016.N().S(`
605 `)
606-//line templates/gitlist.qtpl:65
607+//line templates/gitlist.qtpl:67
608 }
609 
610-//line templates/gitlist.qtpl:65
611+//line templates/gitlist.qtpl:67
612 func (p *GitListPage) WriteScript(qq422016 qtio422016.Writer, ctx context.Context) {
613-//line templates/gitlist.qtpl:65
614+//line templates/gitlist.qtpl:67
615 	qw422016 := qt422016.AcquireWriter(qq422016)
616-//line templates/gitlist.qtpl:65
617+//line templates/gitlist.qtpl:67
618 	p.StreamScript(qw422016, ctx)
619-//line templates/gitlist.qtpl:65
620+//line templates/gitlist.qtpl:67
621 	qt422016.ReleaseWriter(qw422016)
622-//line templates/gitlist.qtpl:65
623+//line templates/gitlist.qtpl:67
624 }
625 
626-//line templates/gitlist.qtpl:65
627+//line templates/gitlist.qtpl:67
628 func (p *GitListPage) Script(ctx context.Context) string {
629-//line templates/gitlist.qtpl:65
630+//line templates/gitlist.qtpl:67
631 	qb422016 := qt422016.AcquireByteBuffer()
632-//line templates/gitlist.qtpl:65
633+//line templates/gitlist.qtpl:67
634 	p.WriteScript(qb422016, ctx)
635-//line templates/gitlist.qtpl:65
636+//line templates/gitlist.qtpl:67
637 	qs422016 := string(qb422016.B)
638-//line templates/gitlist.qtpl:65
639+//line templates/gitlist.qtpl:67
640 	qt422016.ReleaseByteBuffer(qb422016)
641-//line templates/gitlist.qtpl:65
642+//line templates/gitlist.qtpl:67
643 	return qs422016
644-//line templates/gitlist.qtpl:65
645+//line templates/gitlist.qtpl:67
646 }