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.
Name the instance in the tab and the brand link
3d707ea78961adff55cb7b3cb8a61c5697e726a4 · Keenan Nemetz · 1d ago · parent 2c988ecd
Name the instance in the tab and the brand link instance_name reached the home heading only, so a renamed instance still put "Vole" in the one place a reader always looks and in the brand link's accessible name. Put the name on the shared page data and read it in the chrome. An instance that never set one still says Vole, and the separator never renders on its own. Prose about the software, such as the status page's restart instruction, keeps the product name: it names the program, not the organisation's forge.
server/web/home.go +3−5
| @@ -52,8 +52,6 @@ type repoCard struct { | |||
| 52 | 52 | ||
| 53 | 53 | type homeData struct { | |
| 54 | 54 | Page | |
| 55 | // InstanceName is the landing page heading. | ||
| 56 | InstanceName string | ||
| 57 | 55 | // Intro is the rendered, sanitized introduction. Empty means there is no | |
| 58 | 56 | // introduction to show. | |
| 59 | 57 | Intro template.HTML | |
| @@ -96,7 +94,6 @@ func (w *Web) homeView(r *http.Request, query string) (homeData, error) { | |||
| 96 | 94 | page.Query = query | |
| 97 | 95 | data := homeData{ | |
| 98 | 96 | Page: page, | |
| 99 | InstanceName: w.instanceName(), | ||
| 100 | 97 | OpenRegistration: w.Cfg != nil && w.Cfg.OpenRegistration, | |
| 101 | 98 | } | |
| 102 | 99 | var snap *instancerepo.Snapshot | |
| @@ -378,8 +375,9 @@ func sortCards(cards []repoCard) { | |||
| 378 | 375 | }) | |
| 379 | 376 | } | |
| 380 | 377 | ||
| 381 | // instanceName is the heading the home page shows. The config file names the | ||
| 382 | // forge; an instance that never set it is "Vole". | ||
| 378 | // instanceName is what the instance calls itself. The config file names the | ||
| 379 | // forge; an instance that never set it is "Vole". Every page's document title and | ||
| 380 | // brand link carry it, and the home page shows it as its heading. | ||
| 383 | 381 | func (w *Web) instanceName() string { | |
| 384 | 382 | if w.Cfg != nil { | |
| 385 | 383 | if v := strings.TrimSpace(w.Cfg.InstanceName); v != "" { | |