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.
Move Clone and Site into the repository header
816cc543d34ab52df01c62cfd8878ae70327a21f · Keenan Nemetz · 11d ago · parent a196e404
Move Clone and Site into the repository header The repository header now carries the controls that act on the repository as a whole. Clone appears once beside the name on every tab, with a copy button for the HTTPS URL and one for the SSH command. Site joins it only when a site would answer: pages are enabled, the repository is public, and its pages branch exists. The per-tab Clone popovers and the Overview/Code Site buttons are gone, so a tab's page header holds only that tab's own actions. Copy feedback now restores innerHTML, keeping the icon on an icon-only button and surviving a repeated click.
server/web/templates/overview.html +1−12
| @@ -1,6 +1,6 @@ | |||
| 1 | 1 | {{define "overview"}} | |
| 2 | 2 | {{template "header" .}} | |
| 3 | {{template "repohead" (nav .Name "overview" .CanAdmin)}} | ||
| 3 | {{template "repohead" (nav .Name "overview" .CanAdmin .CloneURL .SSHURL .Site)}} | ||
| 4 | 4 | ||
| 5 | 5 | <div class="page-head"> | |
| 6 | 6 | <div class="page-head-main"> | |
| @@ -9,17 +9,6 @@ | |||
| 9 | 9 | </div> | |
| 10 | 10 | <div class="page-head-actions"> | |
| 11 | 11 | <a class="button" href="/r/{{.Name}}/code">{{icon "code"}}Browse code</a> | |
| 12 | <details class="clone"> | ||
| 13 | <summary>{{icon "copy"}}Clone</summary> | ||
| 14 | <div class="clone-pop"> | ||
| 15 | <p class="muted">Read only, no credentials:</p> | ||
| 16 | <code>{{.CloneURL}}</code> | ||
| 17 | <p class="muted">Write over SSH with a registered key:</p> | ||
| 18 | <code>git clone {{.SSHURL}}</code> | ||
| 19 | <p><button class="secondary" type="button" data-copy="{{.CloneURL}}">{{icon "copy"}}Copy HTTPS URL</button></p> | ||
| 20 | </div> | ||
| 21 | </details> | ||
| 22 | {{if .Site}}<a class="button secondary" href="{{.Site}}">{{icon "external-link"}}Site</a>{{end}} | ||
| 23 | 12 | </div> | |
| 24 | 13 | </div> | |
| 25 | 14 | ||