aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkg/service/git.go20
-rw-r--r--templates/gitlist.qtpl15
-rw-r--r--templates/gitlist.qtpl.go222
3 files changed, 158 insertions, 99 deletions
diff --git a/pkg/service/git.go b/pkg/service/git.go
index 2d00715..773d335 100644
--- a/pkg/service/git.go
+++ b/pkg/service/git.go
@@ -15,11 +15,11 @@ import (
type (
Repository struct {
- Name string
- Description string
- Public bool
- LastCommitDate string
- Ref string
+ Name string
+ Description string
+ Public bool
+ LastCommit *object.Commit
+ Ref string
}
GitService struct {
@@ -70,11 +70,11 @@ func (g *GitService) ListRepositories() ([]*Repository, error) {
}
repos = append(repos, &Repository{
- Name: r.Name,
- Description: r.Description,
- Public: r.Public,
- LastCommitDate: obj.Author.When.Format(timeFormat),
- Ref: head.Name().Short(),
+ Name: r.Name,
+ Description: r.Description,
+ Public: r.Public,
+ LastCommit: obj,
+ Ref: head.Name().Short(),
})
}
diff --git a/templates/gitlist.qtpl b/templates/gitlist.qtpl
index fc047eb..4f25fc6 100644
--- a/templates/gitlist.qtpl
+++ b/templates/gitlist.qtpl
@@ -1,5 +1,6 @@
{% import "git.gabrielgio.me/cerrado/pkg/service" %}
{% import "context" %}
+{% import "strings" %}
{% code
type GitListPage struct {
@@ -8,6 +9,16 @@ type GitListPage struct {
}
%}
+
+{% code func firstLine(text string) string {
+ lines := strings.Split(text, "\n")
+ if len(lines) > 0 {
+ return lines[0]
+ }
+ return ""
+}
+%}
+
{% func (p *GitListPage) Title(ctx context.Context) %}Git | List{% endfunc %}
{% func (p *GitListPage) Navbar(ctx context.Context) %}{%= Navbar(ctx, Git) %}{% endfunc %}
@@ -28,6 +39,10 @@ type GitListPage struct {
</div>
</hr>
<p>{%s r.Description %}</p>
+ <p style="background: #dadada">
+ <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> -
+ <a title="{%s r.LastCommit.Author.Email %}">{%s r.LastCommit.Author.Name %}</a> -
+ {%s firstLine(r.LastCommit.Message) %}</p>
<p>
<a href="/{%s r.Name %}/log/{%s r.Ref %}/">log</a>
<a href="/{%s r.Name %}/tree/{%s r.Ref %}/">tree</a>
diff --git a/templates/gitlist.qtpl.go b/templates/gitlist.qtpl.go
index 07e5567..f3df84f 100644
--- a/templates/gitlist.qtpl.go
+++ b/templates/gitlist.qtpl.go
@@ -10,172 +10,216 @@ import "git.gabrielgio.me/cerrado/pkg/service"
//line templates/gitlist.qtpl:2
import "context"
-//line templates/gitlist.qtpl:4
+//line templates/gitlist.qtpl:3
+import "strings"
+
+//line templates/gitlist.qtpl:5
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
-//line templates/gitlist.qtpl:4
+//line templates/gitlist.qtpl:5
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
-//line templates/gitlist.qtpl:5
+//line templates/gitlist.qtpl:6
type GitListPage struct {
Respositories []*service.Repository
About []byte
}
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:13
+func firstLine(text string) string {
+ lines := strings.Split(text, "\n")
+ if len(lines) > 0 {
+ return lines[0]
+ }
+ return ""
+}
+
+//line templates/gitlist.qtpl:22
func (p *GitListPage) StreamTitle(qw422016 *qt422016.Writer, ctx context.Context) {
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
qw422016.N().S(`Git | List`)
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
}
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
func (p *GitListPage) WriteTitle(qq422016 qtio422016.Writer, ctx context.Context) {
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
qw422016 := qt422016.AcquireWriter(qq422016)
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
p.StreamTitle(qw422016, ctx)
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
qt422016.ReleaseWriter(qw422016)
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
}
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
func (p *GitListPage) Title(ctx context.Context) string {
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
qb422016 := qt422016.AcquireByteBuffer()
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
p.WriteTitle(qb422016, ctx)
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
qs422016 := string(qb422016.B)
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
qt422016.ReleaseByteBuffer(qb422016)
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
return qs422016
-//line templates/gitlist.qtpl:11
+//line templates/gitlist.qtpl:22
}
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
func (p *GitListPage) StreamNavbar(qw422016 *qt422016.Writer, ctx context.Context) {
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
StreamNavbar(qw422016, ctx, Git)
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
}
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
func (p *GitListPage) WriteNavbar(qq422016 qtio422016.Writer, ctx context.Context) {
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
qw422016 := qt422016.AcquireWriter(qq422016)
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
p.StreamNavbar(qw422016, ctx)
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
qt422016.ReleaseWriter(qw422016)
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
}
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
func (p *GitListPage) Navbar(ctx context.Context) string {
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
qb422016 := qt422016.AcquireByteBuffer()
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
p.WriteNavbar(qb422016, ctx)
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
qs422016 := string(qb422016.B)
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
qt422016.ReleaseByteBuffer(qb422016)
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
return qs422016
-//line templates/gitlist.qtpl:13
+//line templates/gitlist.qtpl:24
}
-//line templates/gitlist.qtpl:15
+//line templates/gitlist.qtpl:26
func (p *GitListPage) StreamContent(qw422016 *qt422016.Writer, ctx context.Context) {
-//line templates/gitlist.qtpl:15
+//line templates/gitlist.qtpl:26
qw422016.N().S(`
<div class="row">
<div class="col-md-6 order-last order-md-first">
<div class="event-list">
`)
-//line templates/gitlist.qtpl:19
+//line templates/gitlist.qtpl:30
for _, r := range p.Respositories {
-//line templates/gitlist.qtpl:19
+//line templates/gitlist.qtpl:30
qw422016.N().S(`
<div class="event">
<div class="row">
<div class="col-md">
<a href="/`)
-//line templates/gitlist.qtpl:23
+//line templates/gitlist.qtpl:34
qw422016.E().S(r.Name)
-//line templates/gitlist.qtpl:23
+//line templates/gitlist.qtpl:34
qw422016.N().S(`/">`)
-//line templates/gitlist.qtpl:23
+//line templates/gitlist.qtpl:34
qw422016.E().S(r.Name)
-//line templates/gitlist.qtpl:23
+//line templates/gitlist.qtpl:34
qw422016.N().S(`</a>
</div>
<div class="col-md text-md-end">
<small>`)
-//line templates/gitlist.qtpl:26
+//line templates/gitlist.qtpl:37
if !r.Public {
-//line templates/gitlist.qtpl:26
+//line templates/gitlist.qtpl:37
qw422016.N().S(`private`)
-//line templates/gitlist.qtpl:26
+//line templates/gitlist.qtpl:37
}
-//line templates/gitlist.qtpl:26
+//line templates/gitlist.qtpl:37
qw422016.N().S(`</small>
</div>
</div>
</hr>
<p>`)
-//line templates/gitlist.qtpl:30
+//line templates/gitlist.qtpl:41
qw422016.E().S(r.Description)
-//line templates/gitlist.qtpl:30
+//line templates/gitlist.qtpl:41
+ qw422016.N().S(`</p>
+ <p style="background: #dadada">
+ <a title="`)
+//line templates/gitlist.qtpl:43
+ qw422016.E().S(r.LastCommit.Hash.String())
+//line templates/gitlist.qtpl:43
+ qw422016.N().S(`" href="/`)
+//line templates/gitlist.qtpl:43
+ qw422016.E().S(r.Name)
+//line templates/gitlist.qtpl:43
+ qw422016.N().S(`/commit/`)
+//line templates/gitlist.qtpl:43
+ qw422016.E().S(r.LastCommit.Hash.String())
+//line templates/gitlist.qtpl:43
+ qw422016.N().S(`/">`)
+//line templates/gitlist.qtpl:43
+ qw422016.E().S(r.LastCommit.Hash.String()[0:8])
+//line templates/gitlist.qtpl:43
+ qw422016.N().S(`</a> -
+ <a title="`)
+//line templates/gitlist.qtpl:44
+ qw422016.E().S(r.LastCommit.Author.Email)
+//line templates/gitlist.qtpl:44
+ qw422016.N().S(`">`)
+//line templates/gitlist.qtpl:44
+ qw422016.E().S(r.LastCommit.Author.Name)
+//line templates/gitlist.qtpl:44
+ qw422016.N().S(`</a> -
+ `)
+//line templates/gitlist.qtpl:45
+ qw422016.E().S(firstLine(r.LastCommit.Message))
+//line templates/gitlist.qtpl:45
qw422016.N().S(`</p>
<p>
<a href="/`)
-//line templates/gitlist.qtpl:32
+//line templates/gitlist.qtpl:47
qw422016.E().S(r.Name)
-//line templates/gitlist.qtpl:32
+//line templates/gitlist.qtpl:47
qw422016.N().S(`/log/`)
-//line templates/gitlist.qtpl:32
+//line templates/gitlist.qtpl:47
qw422016.E().S(r.Ref)
-//line templates/gitlist.qtpl:32
+//line templates/gitlist.qtpl:47
qw422016.N().S(`/">log</a>
<a href="/`)
-//line templates/gitlist.qtpl:33
+//line templates/gitlist.qtpl:48
qw422016.E().S(r.Name)
-//line templates/gitlist.qtpl:33
+//line templates/gitlist.qtpl:48
qw422016.N().S(`/tree/`)
-//line templates/gitlist.qtpl:33
+//line templates/gitlist.qtpl:48
qw422016.E().S(r.Ref)
-//line templates/gitlist.qtpl:33
+//line templates/gitlist.qtpl:48
qw422016.N().S(`/">tree</a>
<a href="/`)
-//line templates/gitlist.qtpl:34
+//line templates/gitlist.qtpl:49
qw422016.E().S(r.Name)
-//line templates/gitlist.qtpl:34
+//line templates/gitlist.qtpl:49
qw422016.N().S(`/refs/">refs</a>
</p>
</div>
`)
-//line templates/gitlist.qtpl:37
+//line templates/gitlist.qtpl:52
}
-//line templates/gitlist.qtpl:37
+//line templates/gitlist.qtpl:52
qw422016.N().S(`
</div>
</div>
<div id="about" class="col-md-4 order-first order-md-last">
`)
-//line templates/gitlist.qtpl:41
+//line templates/gitlist.qtpl:56
qw422016.N().Z(p.About)
-//line templates/gitlist.qtpl:41
+//line templates/gitlist.qtpl:56
qw422016.N().S(`
<div class="alert alert-warning text-center" role="alert">
This project is under development, things may be broken or incomplete.
@@ -183,65 +227,65 @@ func (p *GitListPage) StreamContent(qw422016 *qt422016.Writer, ctx context.Conte
</div>
</div>
`)
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
}
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
func (p *GitListPage) WriteContent(qq422016 qtio422016.Writer, ctx context.Context) {
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
qw422016 := qt422016.AcquireWriter(qq422016)
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
p.StreamContent(qw422016, ctx)
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
qt422016.ReleaseWriter(qw422016)
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
}
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
func (p *GitListPage) Content(ctx context.Context) string {
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
qb422016 := qt422016.AcquireByteBuffer()
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
p.WriteContent(qb422016, ctx)
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
qs422016 := string(qb422016.B)
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
qt422016.ReleaseByteBuffer(qb422016)
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
return qs422016
-//line templates/gitlist.qtpl:47
+//line templates/gitlist.qtpl:62
}
-//line templates/gitlist.qtpl:49
+//line templates/gitlist.qtpl:64
func (p *GitListPage) StreamScript(qw422016 *qt422016.Writer, ctx context.Context) {
-//line templates/gitlist.qtpl:49
+//line templates/gitlist.qtpl:64
qw422016.N().S(`
`)
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
}
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
func (p *GitListPage) WriteScript(qq422016 qtio422016.Writer, ctx context.Context) {
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
qw422016 := qt422016.AcquireWriter(qq422016)
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
p.StreamScript(qw422016, ctx)
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
qt422016.ReleaseWriter(qw422016)
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
}
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
func (p *GitListPage) Script(ctx context.Context) string {
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
qb422016 := qt422016.AcquireByteBuffer()
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
p.WriteScript(qb422016, ctx)
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
qs422016 := string(qb422016.B)
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
qt422016.ReleaseByteBuffer(qb422016)
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
return qs422016
-//line templates/gitlist.qtpl:50
+//line templates/gitlist.qtpl:65
}