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.

Build a landing page and simplify the forge chrome

074ae1605e177e99533af02d8c69ccd1a6a947bb · Keenan Nemetz · 15d ago · parent 62576fa8

Build a landing page and simplify the forge chrome

The instance root is now a landing page rather than the full activity feed:
forge identity, project cards with top language, last commit, issue/change
counts and latest release, a short activity rail, and a first-run empty state.
The full feed moves to /activity with type filters and pagination.

Feeds now cover issues, changes, comments, and releases only; commits and CI
runs already have their own pages. Configuration gains instance_name and
instance_tagline.

Navigation: the crowded global bar becomes Runners, Activity, search, and an
account menu holding Admin, Status, and Log out. Repository pages show the name
and description above the tabs at the home-page header scale, while tab-page
titles stay small. Top-level pages keep the larger header. Drop the workflow
run chip, assigned-issues strip, repository size stat, and footer Status link.

forge/config/config.go +10

@@ -68,6 +68,12 @@ type Config struct {
68 68 // Off by default: an instance with no public contribution policy should not
69 69 // grow accounts just because it is reachable.
70 70 OpenRegistration bool `toml:"open_registration"`
71 // InstanceName is what the forge calls itself in the landing page heading and
72 // the page title. Empty uses "Vole".
73 InstanceName string `toml:"instance_name"`
74 // InstanceTagline is the one line under the name on the landing page. Empty
75 // uses a neutral description of what the instance is for.
76 InstanceTagline string `toml:"instance_tagline"`
71 77 // PublicURL is where this instance is reachable from a browser:
72 78 // "https://forge.example.com" behind a proxy, normally. It is optional for a
73 79 // read-only instance; browser login is enabled only when it is an https URL,
@@ -229,6 +235,10 @@ ssh_addr = "127.0.0.1:2222"
229 235 # print the page for something it just created. Trailing slash is ignored.
230 236 # public_url = "https://forge.example.com"
231 237
238 # What the landing page calls this forge. Empty uses "Vole" and a neutral line.
239 # instance_name = "Acme Forge"
240 # instance_tagline = "Code, issues, changes, and CI for the Acme team."
241
232 242 # Development only: sign loopback browser requests in as this account. Refused
233 243 # unless http_addr is a loopback address. Never enable this on a shared instance.
234 244 # dev_login = "you"