1diff --git a/pkg/handler/git/handler.go b/pkg/handler/git/handler.go
2index b825ea41ccf284e52a2b4ca7da91dd06670041e0..034d5c26ae2de0d48a5d46c47bde77da4735c2fa 100644
3--- a/pkg/handler/git/handler.go
4+++ b/pkg/handler/git/handler.go
5@@ -138,6 +138,10 @@ if err != nil {
6 return err
7 }
8
9+ if len(tags) > 3 {
10+ tags = tags[:3]
11+ }
12+
13 gitList := &templates.GitItemPage{
14 Name: name,
15 Ref: ref.Name().Short(),
16diff --git a/scss/main.scss b/scss/main.scss
17index a6c973fc5708772ee36c312c404c8711e6efd36b..2ebdbe87fc4991339812fd8220e81d617e686116 100644
18--- a/scss/main.scss
19+++ b/scss/main.scss
20@@ -198,3 +198,13 @@ &.tag {
21 background: #5874e2;
22 }
23 }
24+
25+.more {
26+ margin: -15px 4px 10px 0;
27+ padding: 5px 5px 5px 0;
28+ text-decoration: none;
29+
30+ &:hover {
31+ text-decoration: underline;
32+ }
33+}
34diff --git a/templates/gititemsummary.qtpl b/templates/gititemsummary.qtpl
35index e00c37d1d7d52dbbd1e6bbe4fb975838684ed57a..f39a6131b5e71a509165e3938c1990be3a1c3ea9 100644
36--- a/templates/gititemsummary.qtpl
37+++ b/templates/gititemsummary.qtpl
38@@ -34,6 +34,7 @@ </div>
39 {% endfor %}
40 </div>
41 </div>
42+ <a class="more" href="/{%s name %}/refs/">[ see refs... ]</a>
43 </div>
44 <div class="row">
45 <div class="event-list">
46@@ -41,5 +42,6 @@ {% for _, c := range g.Commits %}
47 {%= Commit(name, c, false) %}
48 {% endfor %}
49 </div>
50+ <a class="more" href="/{%s name %}/log/{%s ref %}/">[ see log... ]</a>
51 </div>
52 {% endfunc %}
53diff --git a/templates/gititemsummary.qtpl.go b/templates/gititemsummary.qtpl.go
54index 0a78258f8e8854a3eaa4d4d34a9e229642045383..d6d20cb4ea2566dc6a136444ff934e14dc20f85d 100644
55--- a/templates/gititemsummary.qtpl.go
56+++ b/templates/gititemsummary.qtpl.go
57@@ -129,52 +129,66 @@ //line templates/gititemsummary.qtpl:34
58 qw422016.N().S(`
59 </div>
60 </div>
61+ <a class="more" href="/`)
62+//line templates/gititemsummary.qtpl:37
63+ qw422016.E().S(name)
64+//line templates/gititemsummary.qtpl:37
65+ qw422016.N().S(`/refs/">[ see refs... ]</a>
66 </div>
67 <div class="row">
68 <div class="event-list">
69 `)
70-//line templates/gititemsummary.qtpl:40
71+//line templates/gititemsummary.qtpl:41
72 for _, c := range g.Commits {
73-//line templates/gititemsummary.qtpl:40
74+//line templates/gititemsummary.qtpl:41
75 qw422016.N().S(`
76 `)
77-//line templates/gititemsummary.qtpl:41
78+//line templates/gititemsummary.qtpl:42
79 StreamCommit(qw422016, name, c, false)
80-//line templates/gititemsummary.qtpl:41
81+//line templates/gititemsummary.qtpl:42
82 qw422016.N().S(`
83 `)
84-//line templates/gititemsummary.qtpl:42
85+//line templates/gititemsummary.qtpl:43
86 }
87-//line templates/gititemsummary.qtpl:42
88+//line templates/gititemsummary.qtpl:43
89 qw422016.N().S(`
90 </div>
91+ <a class="more" href="/`)
92+//line templates/gititemsummary.qtpl:45
93+ qw422016.E().S(name)
94+//line templates/gititemsummary.qtpl:45
95+ qw422016.N().S(`/log/`)
96+//line templates/gititemsummary.qtpl:45
97+ qw422016.E().S(ref)
98+//line templates/gititemsummary.qtpl:45
99+ qw422016.N().S(`/">[ see log... ]</a>
100 </div>
101 `)
102-//line templates/gititemsummary.qtpl:45
103+//line templates/gititemsummary.qtpl:47
104 }
105
106-//line templates/gititemsummary.qtpl:45
107+//line templates/gititemsummary.qtpl:47
108 func (g *GitItemSummaryPage) WriteGitContent(qq422016 qtio422016.Writer, name, ref string) {
109-//line templates/gititemsummary.qtpl:45
110+//line templates/gititemsummary.qtpl:47
111 qw422016 := qt422016.AcquireWriter(qq422016)
112-//line templates/gititemsummary.qtpl:45
113+//line templates/gititemsummary.qtpl:47
114 g.StreamGitContent(qw422016, name, ref)
115-//line templates/gititemsummary.qtpl:45
116+//line templates/gititemsummary.qtpl:47
117 qt422016.ReleaseWriter(qw422016)
118-//line templates/gititemsummary.qtpl:45
119+//line templates/gititemsummary.qtpl:47
120 }
121
122-//line templates/gititemsummary.qtpl:45
123+//line templates/gititemsummary.qtpl:47
124 func (g *GitItemSummaryPage) GitContent(name, ref string) string {
125-//line templates/gititemsummary.qtpl:45
126+//line templates/gititemsummary.qtpl:47
127 qb422016 := qt422016.AcquireByteBuffer()
128-//line templates/gititemsummary.qtpl:45
129+//line templates/gititemsummary.qtpl:47
130 g.WriteGitContent(qb422016, name, ref)
131-//line templates/gititemsummary.qtpl:45
132+//line templates/gititemsummary.qtpl:47
133 qs422016 := string(qb422016.B)
134-//line templates/gititemsummary.qtpl:45
135+//line templates/gititemsummary.qtpl:47
136 qt422016.ReleaseByteBuffer(qb422016)
137-//line templates/gititemsummary.qtpl:45
138+//line templates/gititemsummary.qtpl:47
139 return qs422016
140-//line templates/gititemsummary.qtpl:45
141+//line templates/gititemsummary.qtpl:47
142 }