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}} |