Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Turn the code tab into an editor-style file browser

a464f8927bfb3edcf170694f120dc9b3f68320da · Keenan Nemetz · 15d ago · parent f09ef39e

Turn the code tab into an editor-style file browser

- Add a persistent nested file tree with HTMX file and folder swaps, active
  rows, expanded ancestors, and deep-link support.
- Share one page header across every repository tab: title and summary on the
  left, tab actions grouped on the right.
- Make the repository name the first tab and show visibility with a lock or
  globe icon derived from the ACL.
- Open markdown as syntax-highlighted source by default, with an explicit
  full-width preview toggle.
- Point the branch breadcrumb at the Code overview instead of a second root
  directory listing.
- Move contributor-branch CI approval from the code browser to the Runs tab.
- Extend UI tests for the file tree, fragments, repo visibility, markdown
  source/preview, shared headers, and the moved CI control.

server/web/templates/releases.html +19−7

@@ -1,6 +1,14 @@
1 1 {{define "releases"}}
2 2 {{template "header" .}}
3 3 {{template "repohead" (nav .Name "releases")}}
4
5 <div class="page-head">
6 <div class="page-head-main">
7 <h1>Releases</h1>
8 <p class="page-sub">{{if .Tags}}{{len .Tags}} tag(s){{if .Lightweight}} · {{.Lightweight}} lightweight{{end}}{{else}}Tags with notes, artifacts, and archives.{{end}}</p>
9 </div>
10 </div>
11
4 12 {{if .Tags}}
5 13 <table>
6 14 <tr><th>Tag</th><th>Notes</th><th>Tagger</th><th>Age</th><th>Source</th></tr>
@@ -29,13 +37,17 @@ records a tagger and a message, which is what makes a tag a release.</p>
29 37 {{define "release"}}
30 38 {{template "header" .}}
31 39 {{template "repohead" (nav .Name "releases")}}
32 <h1>{{.Tag.Name}}</h1>
33 <p class="muted">
34 {{if .Tag.Annotated}}annotated tag{{else}}lightweight tag{{end}}
35 {{if .Tag.Tagger}}by {{.Tag.Tagger}}{{end}}
36 · {{since .Tag.When}}
37 · commit <a class="sha" href="/r/{{.Name}}/commit/{{.Tag.Commit}}">{{short .Tag.Commit}}</a>
38 </p>
40 <div class="page-head">
41 <div class="page-head-main">
42 <h1>{{.Tag.Name}}</h1>
43 <p class="page-sub">
44 {{if .Tag.Annotated}}annotated tag{{else}}lightweight tag{{end}}
45 {{if .Tag.Tagger}}by {{.Tag.Tagger}}{{end}}
46 · {{since .Tag.When}}
47 · commit <a class="sha" href="/r/{{.Name}}/commit/{{.Tag.Commit}}">{{short .Tag.Commit}}</a>
48 </p>
49 </div>
50 </div>
39 51
40 52 {{if .Notes}}
41 53 <div class="md">{{.Notes}}</div>