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.
Simplify the home page around the instance introduction
ff9870f1a26a17d54c21d411000a6c7d58ab5c0d · Keenan Nemetz · 1d ago · parent 6ce635a8
Simplify the home page around the instance introduction Drop the page header and its hero actions. The instance name and sign-in links already live in the top bar, and the introduction is the place to say what the forge is. Move New repository into the Repositories heading, where it sits with the list it creates. Remove the introduction card header and its in-page editor. The introduction is profile/README.md in the instance repository, so it is read and pushed like every other customization. The POST / handler and its editor code go with it; an instance admin without an instance repository still gets the setup hint.
server/routes.go −3
| @@ -41,9 +41,6 @@ func (s *Server) assetRoutes(mux *http.ServeMux) { | |||
| 41 | 41 | func (s *Server) globalRoutes(mux *http.ServeMux) { | |
| 42 | 42 | w := s.Web | |
| 43 | 43 | mux.HandleFunc("GET /{$}", w.IndexPage) | |
| 44 | // The introduction card edits in place on the home page; the save is an | ||
| 45 | // instance-admin form and lands back on the page it changed. | ||
| 46 | mux.HandleFunc("POST /{$}", w.SaveHomeIntro) | ||
| 47 | 44 | mux.HandleFunc("GET /activity", w.InstanceActivity) | |
| 48 | 45 | // Accounts are public on this instance: the directory lists everybody, and a | |
| 49 | 46 | // profile answers for any name in it. Their activity is not public — every | |