cerrado @ v0.3

 1{% import "net/url" %}
 2{% import "github.com/go-git/go-git/v5/plumbing" %}
 3{% import "git.gabrielgio.me/cerrado/pkg/git" %}
 4
 5{% code
 6type GitItemSummaryPage struct {
 7    Tags []*git.TagReference
 8    Branches []*plumbing.Reference
 9    Commits []*git.CommitReference
10    Hostname string
11}
12%}
13
14{% code
15
16func mergeURL(hostname, name string) string {
17    s, _ := url.JoinPath(hostname, name)
18    return s
19}
20
21%}
22
23{% func (g *GitItemSummaryPage) Nav(name, ref string) %}{%= GitItemNav(name, ref, Summary) %}{% endfunc %}
24
25{% func (g *GitItemSummaryPage) GitContent(name, ref string) %}
26<div class="row event">
27  <div class="col-auto">clone:&emsp;</div>
28  <div class="col-md">{%s mergeURL(g.Hostname, name) %}</div>
29</div>
30<div class="row">
31  <div class="col-md-8">
32    {%= ListTags(name, g.Tags) %}
33  </div>
34  <div class="col-md-4">
35    <div class="event-list">
36      {% for _, b := range g.Branches %}
37      <div class="row event">
38          <div class="col-4">
39           {%s b.Name().Short() %}
40          </div>
41          <div class="col-8">
42            <div class="float-end">
43              <a href="/{%s name %}/archive/{%s b.Name().Short() %}.tar.gz">tar.gz</a>
44              <a href="/{%s name %}/tree/{%s b.Name().Short() %}/">tree</a>
45              <a href="/{%s name %}/log/{%s b.Name().Short() %}/">log</a>
46            </div>
47          </div>
48      </div>
49      {% endfor %}
50    </div>
51  </div>
52  <a class="more" href="/{%s name %}/refs/">[ see refs... ]</a>
53</div>
54<div class="row">
55  <div class="event-list">
56    {% for _, c := range g.Commits %}
57    {%= Commit(name, c, false) %}
58    {% endfor %}
59  </div>
60  <a class="more" href="/{%s name %}/log/{%s ref %}/">[ see log... ]</a>
61</div>
62{% endfunc %}