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 }