web: profile order and rendered table borders !416

merged merged by cmc on 2026-09-19 01:39 UTC · krz/gitbay:profile-order into main

3 files changed, +8 −7

Layout: unified · split

e2e/profile_test.go +2 −2
@@ -214,8 +214,8 @@ func TestOwnerProfiles(t *testing.T) {
214 if strings.Index(body, "<em>small tools</em>") > strings.Index(body, `class="activity"`) { 214 if strings.Index(body, "<em>small tools</em>") > strings.Index(body, `class="activity"`) {
215 t.Error("about renders below the activity graph") 215 t.Error("about renders below the activity graph")
216 } 216 }
217 if strings.Index(body, `<ul class="repolist"`) > strings.Index(body, "<em>small tools</em>") { 217 if strings.Index(body, `<ul class="repolist"`) < strings.Index(body, `class="activity"`) {
218 t.Error("repositories render below the about section") 218 t.Error("repositories render above the activity graph")
219 } 219 }
220 220
221 // Clearing works the same way as the other fields. 221 // Clearing works the same way as the other fields.
internal/web/static/style.css +1
@@ -985,6 +985,7 @@ pre.message {
985 overflow-wrap: normal; /* scroll the table, don't shatter words */ 985 overflow-wrap: normal; /* scroll the table, don't shatter words */
986} 986}
987.rendered th { background: var(--surface); font-weight: 600; } 987.rendered th { background: var(--surface); font-weight: 600; }
988.rendered tr:last-child td { border-bottom: 1px solid var(--line); }
988/* GFM task lists: the box sits in the line, sized to the prose */ 989/* GFM task lists: the box sits in the line, sized to the prose */
989.rendered li input[type="checkbox"] { width: 0.9em; height: 0.9em; margin: 0 0.35em 0 0; vertical-align: -0.05em; background-size: 0.7em; } 990.rendered li input[type="checkbox"] { width: 0.9em; height: 0.9em; margin: 0 0.35em 0 0; vertical-align: -0.05em; background-size: 0.7em; }
990.rendered li:has(> input[type="checkbox"]) { list-style: none; margin-left: -1.2em; } 991.rendered li:has(> input[type="checkbox"]) { list-style: none; margin-left: -1.2em; }
internal/web/templates/owner.html +5 −5
@@ -9,11 +9,6 @@
9{{if .Members}}<p class="meta">members {{range .Members}}<a class="memberchip" href="/{{.Name}}">{{.Name}} <span class="role">{{.Role}}</span></a> {{end}}</p>{{end}} 9{{if .Members}}<p class="meta">members {{range .Members}}<a class="memberchip" href="/{{.Name}}">{{.Name}} <span class="role">{{.Role}}</span></a> {{end}}</p>{{end}}
10{{if and (eq .Kind "org") .Repos}}<p class="meta"><a href="/{{.Owner}}/-/labels">labels</a> · <a href="/{{.Owner}}/-/milestones">milestones</a></p>{{end}} 10{{if and (eq .Kind "org") .Repos}}<p class="meta"><a href="/{{.Owner}}/-/labels">labels</a> · <a href="/{{.Owner}}/-/milestones">milestones</a></p>{{end}}
11</section> 11</section>
12<h2>repositories <span class="count">{{len .Repos}}</span></h2>
13<ul class="repolist">
14{{range .Repos}}{{template "reporow" .}}
15{{else}}<li class="empty">no visible repositories</li>{{end}}
16</ul>
17{{if .AboutHTML}}<section class="readme"><div class="rendered">{{.AboutHTML}}</div></section>{{end}} 12{{if .AboutHTML}}<section class="readme"><div class="rendered">{{.AboutHTML}}</div></section>{{end}}
18<section class="activity"> 13<section class="activity">
19<h2>activity <span class="count">{{.ActivityTotal}} in the last year</span></h2> 14<h2>activity <span class="count">{{.ActivityTotal}} in the last year</span></h2>
@@ -24,6 +19,11 @@
24</div> 19</div>
25<p class="actlegend"><span>Less</span><span class="actday l0"></span><span class="actday l1"></span><span class="actday l2"></span><span class="actday l3"></span><span class="actday l4"></span><span>More</span></p> 20<p class="actlegend"><span>Less</span><span class="actday l0"></span><span class="actday l1"></span><span class="actday l2"></span><span class="actday l3"></span><span class="actday l4"></span><span>More</span></p>
26</section> 21</section>
22<h2>repositories <span class="count">{{len .Repos}}</span></h2>
23<ul class="repolist">
24{{range .Repos}}{{template "reporow" .}}
25{{else}}<li class="empty">no visible repositories</li>{{end}}
26</ul>
27{{if or .Snippets .Self}}<p class="meta"><a href="/{{.Owner}}/-/snippets">snippets{{if .Snippets}} <span class="count">{{.Snippets}}</span>{{end}}</a></p>{{end}} 27{{if or .Snippets .Self}}<p class="meta"><a href="/{{.Owner}}/-/snippets">snippets{{if .Snippets}} <span class="count">{{.Snippets}}</span>{{end}}</a></p>{{end}}
28 28
29{{if .Self}} 29{{if .Self}}