vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0: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/issues.html +3−3
| @@ -3,11 +3,11 @@ | |||
| 3 | 3 | {{template "repohead" (nav .Name "issues")}} | |
| 4 | 4 | ||
| 5 | 5 | <div class="page-head"> | |
| 6 | <div> | ||
| 6 | <div class="page-head-main"> | ||
| 7 | 7 | <h1>Issues</h1> | |
| 8 | 8 | <p class="page-sub">{{.Open}} open · {{.Closed}} closed · {{.Total}} total</p> | |
| 9 | 9 | </div> | |
| 10 | {{if .CanDiscuss}}<a class="button" href="/r/{{.Name}}/issues/new">{{icon "plus"}}New issue</a>{{end}} | ||
| 10 | {{if .CanDiscuss}}<div class="page-head-actions"><a class="button" href="/r/{{.Name}}/issues/new">{{icon "plus"}}New issue</a></div>{{end}} | ||
| 11 | 11 | </div> | |
| 12 | 12 | ||
| 13 | 13 | {{template "issue_list" .}} | |
| @@ -184,7 +184,7 @@ | |||
| 184 | 184 | {{template "repohead" (nav .Name "issues")}} | |
| 185 | 185 | ||
| 186 | 186 | <div class="page-head"> | |
| 187 | <div> | ||
| 187 | <div class="page-head-main"> | ||
| 188 | 188 | <h1>{{.Issue.Title}}</h1> | |
| 189 | 189 | <p class="page-sub"> | |
| 190 | 190 | <span class="state {{.Issue.State}}">{{.Issue.State}}</span> | |