diff options
author | Gabriel A. Giovanini <mail@gabrielgio.me> | 2024-06-15 18:15:22 +0200 |
---|---|---|
committer | Gabriel A. Giovanini <mail@gabrielgio.me> | 2024-06-15 18:21:55 +0200 |
commit | d2c4023832e26d3fe3f77c9fa8581588ea812cc2 (patch) | |
tree | 6e9b5665d80128597fb078b1f945b2ce349389a8 | |
parent | 519af559f94aab1bd1446cc01144cbf2640fcc6a (diff) | |
download | cerrado-d2c4023832e26d3fe3f77c9fa8581588ea812cc2.tar.gz cerrado-d2c4023832e26d3fe3f77c9fa8581588ea812cc2.tar.bz2 cerrado-d2c4023832e26d3fe3f77c9fa8581588ea812cc2.zip |
fix: Add support lightweight tags
For now all tags are read as reference. That cause tags to not carry its
message body by default but it will be added in the future. For now
simple tags will do.
-rw-r--r-- | pkg/git/git.go | 8 | ||||
-rw-r--r-- | pkg/handler/git/handler.go | 2 | ||||
-rw-r--r-- | pkg/service/git.go | 2 | ||||
-rw-r--r-- | scss/main.scss | 10 | ||||
-rw-r--r-- | templates/gititemrefs.qtpl | 23 | ||||
-rw-r--r-- | templates/gititemrefs.qtpl.go | 165 |
6 files changed, 120 insertions, 90 deletions
diff --git a/pkg/git/git.go b/pkg/git/git.go index ad5d3bc..428bfb1 100644 --- a/pkg/git/git.go +++ b/pkg/git/git.go @@ -107,14 +107,14 @@ func (g *GitRepository) Head() (*plumbing.Reference, error) { return g.repository.Head() } -func (g *GitRepository) Tags() ([]*object.Tag, error) { - ti, err := g.repository.TagObjects() +func (g *GitRepository) Tags() ([]*plumbing.Reference, error) { + ti, err := g.repository.Tags() if err != nil { return nil, err } - tags := []*object.Tag{} - err = ti.ForEach(func(t *object.Tag) error { + tags := []*plumbing.Reference{} + err = ti.ForEach(func(t *plumbing.Reference) error { tags = append(tags, t) return nil }) diff --git a/pkg/handler/git/handler.go b/pkg/handler/git/handler.go index b4c7c54..4809362 100644 --- a/pkg/handler/git/handler.go +++ b/pkg/handler/git/handler.go @@ -33,7 +33,7 @@ type ( GetHead(name string) (*plumbing.Reference, error) GetTree(name, ref, path string) (*object.Tree, error) GetFileContent(name, ref, path string) (string, error) - ListTags(name string) ([]*object.Tag, error) + ListTags(name string) ([]*plumbing.Reference, error) ListBranches(name string) ([]*plumbing.Reference, error) } diff --git a/pkg/service/git.go b/pkg/service/git.go index 0907924..071e10d 100644 --- a/pkg/service/git.go +++ b/pkg/service/git.go @@ -128,7 +128,7 @@ func (g *GitService) GetFileContent(name, ref, path string) (string, error) { return repo.FileContent(path) } -func (g *GitService) ListTags(name string) ([]*object.Tag, error) { +func (g *GitService) ListTags(name string) ([]*plumbing.Reference, error) { r := g.configRepo.GetByName(name) if r == nil { return nil, RepositoryNotFoundErr diff --git a/scss/main.scss b/scss/main.scss index 5500a38..af8a002 100644 --- a/scss/main.scss +++ b/scss/main.scss @@ -58,8 +58,14 @@ $utilities: ( start: left, end: right, center: center, - ) -), + ) + ), + "margin-end": ( + responsive: true, + property: margin-right, + class: me, + values: map-merge($spacers, (auto: auto)) + ), ); @import "bootstrap/scss/utilities/_api.scss"; diff --git a/templates/gititemrefs.qtpl b/templates/gititemrefs.qtpl index 47a69e3..09d7446 100644 --- a/templates/gititemrefs.qtpl +++ b/templates/gititemrefs.qtpl @@ -1,9 +1,8 @@ {% import "github.com/go-git/go-git/v5/plumbing" %} -{% import "github.com/go-git/go-git/v5/plumbing/object" %} {% code type GitItemRefsPage struct { - Tags []*object.Tag + Tags []*plumbing.Reference Branches []*plumbing.Reference } %} @@ -13,21 +12,25 @@ type GitItemRefsPage struct { {% func (g *GitItemRefsPage) GitContent(name, ref string) %} <div class="row"> <div class="col-md-8"> + {% if len(g.Tags) > 0 %} <div class="event-list"> {% for _, t := range g.Tags %} - <div class="row event"> - <div class="col-xxl-2"> - {%s TimeFormat(t.Tagger.When) %} - </div> - <div class="col-xxl-7"> - <pre>{%s t.Message %}</pre> + <div class="row event me-md-2"> + <div class="col-4"> + {%s t.Name().Short() %} </div> - <div class="col-xxl-3"> - <small>{%s t.Tagger.Name %}</small> + <div class="col-8"> + <div class="float-end"> + <a href="/{%s name %}/tree/{%s t.Name().Short() %}">tree</a> + <a href="/{%s name %}/log/{%s t.Name().Short() %}">log</a> + </div> </div> </div> {% endfor %} </div> + {% else %} + <p> No tags </p> + {% endif %} </div> <div class="col-md-4"> <div class="event-list"> diff --git a/templates/gititemrefs.qtpl.go b/templates/gititemrefs.qtpl.go index 95dd31a..62c1725 100644 --- a/templates/gititemrefs.qtpl.go +++ b/templates/gititemrefs.qtpl.go @@ -7,175 +7,196 @@ package templates //line gititemrefs.qtpl:1 import "github.com/go-git/go-git/v5/plumbing" -//line gititemrefs.qtpl:2 -import "github.com/go-git/go-git/v5/plumbing/object" - -//line gititemrefs.qtpl:4 +//line gititemrefs.qtpl:3 import ( qtio422016 "io" qt422016 "github.com/valyala/quicktemplate" ) -//line gititemrefs.qtpl:4 +//line gititemrefs.qtpl:3 var ( _ = qtio422016.Copy _ = qt422016.AcquireByteBuffer ) -//line gititemrefs.qtpl:5 +//line gititemrefs.qtpl:4 type GitItemRefsPage struct { - Tags []*object.Tag + Tags []*plumbing.Reference Branches []*plumbing.Reference } -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 func (g *GitItemRefsPage) StreamNav(qw422016 *qt422016.Writer, name, ref string) { -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 StreamGitItemNav(qw422016, name, ref, Refs) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 } -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 func (g *GitItemRefsPage) WriteNav(qq422016 qtio422016.Writer, name, ref string) { -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qw422016 := qt422016.AcquireWriter(qq422016) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 g.StreamNav(qw422016, name, ref) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qt422016.ReleaseWriter(qw422016) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 } -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 func (g *GitItemRefsPage) Nav(name, ref string) string { -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qb422016 := qt422016.AcquireByteBuffer() -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 g.WriteNav(qb422016, name, ref) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qs422016 := string(qb422016.B) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 qt422016.ReleaseByteBuffer(qb422016) -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 return qs422016 -//line gititemrefs.qtpl:11 +//line gititemrefs.qtpl:10 } -//line gititemrefs.qtpl:13 +//line gititemrefs.qtpl:12 func (g *GitItemRefsPage) StreamGitContent(qw422016 *qt422016.Writer, name, ref string) { -//line gititemrefs.qtpl:13 +//line gititemrefs.qtpl:12 qw422016.N().S(` <div class="row"> <div class="col-md-8"> + `) +//line gititemrefs.qtpl:15 + if len(g.Tags) > 0 { +//line gititemrefs.qtpl:15 + qw422016.N().S(` <div class="event-list"> `) //line gititemrefs.qtpl:17 - for _, t := range g.Tags { + for _, t := range g.Tags { //line gititemrefs.qtpl:17 - qw422016.N().S(` - <div class="row event"> - <div class="col-xxl-2"> + qw422016.N().S(` + <div class="row event me-md-2"> + <div class="col-4"> `) //line gititemrefs.qtpl:20 - qw422016.E().S(TimeFormat(t.Tagger.When)) + qw422016.E().S(t.Name().Short()) //line gititemrefs.qtpl:20 - qw422016.N().S(` - </div> - <div class="col-xxl-7"> - <pre>`) -//line gititemrefs.qtpl:23 - qw422016.E().S(t.Message) -//line gititemrefs.qtpl:23 - qw422016.N().S(`</pre> + qw422016.N().S(` </div> - <div class="col-xxl-3"> - <small>`) -//line gititemrefs.qtpl:26 - qw422016.E().S(t.Tagger.Name) -//line gititemrefs.qtpl:26 - qw422016.N().S(`</small> + <div class="col-8"> + <div class="float-end"> + <a href="/`) +//line gititemrefs.qtpl:24 + qw422016.E().S(name) +//line gititemrefs.qtpl:24 + qw422016.N().S(`/tree/`) +//line gititemrefs.qtpl:24 + qw422016.E().S(t.Name().Short()) +//line gititemrefs.qtpl:24 + qw422016.N().S(`">tree</a> + <a href="/`) +//line gititemrefs.qtpl:25 + qw422016.E().S(name) +//line gititemrefs.qtpl:25 + qw422016.N().S(`/log/`) +//line gititemrefs.qtpl:25 + qw422016.E().S(t.Name().Short()) +//line gititemrefs.qtpl:25 + qw422016.N().S(`">log</a> + </div> </div> </div> `) //line gititemrefs.qtpl:29 - } + } //line gititemrefs.qtpl:29 - qw422016.N().S(` + qw422016.N().S(` </div> + `) +//line gititemrefs.qtpl:31 + } else { +//line gititemrefs.qtpl:31 + qw422016.N().S(` + <p> No tags </p> + `) +//line gititemrefs.qtpl:33 + } +//line gititemrefs.qtpl:33 + qw422016.N().S(` </div> <div class="col-md-4"> <div class="event-list"> `) -//line gititemrefs.qtpl:34 +//line gititemrefs.qtpl:37 for _, b := range g.Branches { -//line gititemrefs.qtpl:34 +//line gititemrefs.qtpl:37 qw422016.N().S(` <div class="row event"> <div class="col-4"> `) -//line gititemrefs.qtpl:37 +//line gititemrefs.qtpl:40 qw422016.E().S(b.Name().Short()) -//line gititemrefs.qtpl:37 +//line gititemrefs.qtpl:40 qw422016.N().S(` </div> <div class="col-8"> <div class="float-end"> <a href="/`) -//line gititemrefs.qtpl:41 +//line gititemrefs.qtpl:44 qw422016.E().S(name) -//line gititemrefs.qtpl:41 +//line gititemrefs.qtpl:44 qw422016.N().S(`/tree/`) -//line gititemrefs.qtpl:41 +//line gititemrefs.qtpl:44 qw422016.E().S(b.Name().Short()) -//line gititemrefs.qtpl:41 +//line gititemrefs.qtpl:44 qw422016.N().S(`">tree</a> <a href="/`) -//line gititemrefs.qtpl:42 +//line gititemrefs.qtpl:45 qw422016.E().S(name) -//line gititemrefs.qtpl:42 +//line gititemrefs.qtpl:45 qw422016.N().S(`/log/`) -//line gititemrefs.qtpl:42 +//line gititemrefs.qtpl:45 qw422016.E().S(b.Name().Short()) -//line gititemrefs.qtpl:42 +//line gititemrefs.qtpl:45 qw422016.N().S(`">log</a> </div> </div> </div> `) -//line gititemrefs.qtpl:46 +//line gititemrefs.qtpl:49 } -//line gititemrefs.qtpl:46 +//line gititemrefs.qtpl:49 qw422016.N().S(` </div> </div> </div> `) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 } -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 func (g *GitItemRefsPage) WriteGitContent(qq422016 qtio422016.Writer, name, ref string) { -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qw422016 := qt422016.AcquireWriter(qq422016) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 g.StreamGitContent(qw422016, name, ref) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qt422016.ReleaseWriter(qw422016) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 } -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 func (g *GitItemRefsPage) GitContent(name, ref string) string { -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qb422016 := qt422016.AcquireByteBuffer() -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 g.WriteGitContent(qb422016, name, ref) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qs422016 := string(qb422016.B) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 qt422016.ReleaseByteBuffer(qb422016) -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 return qs422016 -//line gititemrefs.qtpl:50 +//line gititemrefs.qtpl:53 } |