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.
Outline only the silhouette of the light-theme brand mark
ed667a0e5b0c099cbf9bf10b4ee0ac87a4f99bc0 · Keenan Nemetz · 1d ago · parent e3b9c83c
Outline only the silhouette of the light-theme brand mark The drop shadows followed every cutout, so the outline traced the eyes, nose, and whisker gaps. Use a separate ring asset generated from the outer silhouette instead: it is thinner (about 0.75px at 30px), ignores the interior detail, and keeps the light fill.
server/ui_test.go +3−3
| @@ -344,7 +344,7 @@ func TestTheEmblemShipsAndTheShellNamesIt(t *testing.T) { | |||
| 344 | 344 | t.Parallel() | |
| 345 | 345 | f := newFixture(t) | |
| 346 | 346 | ||
| 347 | for _, name := range []string{"logo.png", "vole-head.png", "favicon-32.png", "favicon-32-dark.png", "favicon-16.png", "favicon-16-dark.png"} { | ||
| 347 | for _, name := range []string{"logo.png", "vole-head.png", "vole-head-outline.png", "favicon-32.png", "favicon-32-dark.png", "favicon-16.png", "favicon-16-dark.png"} { | ||
| 348 | 348 | resp, err := http.Get(f.http.URL + "/static/" + name) | |
| 349 | 349 | if err != nil { | |
| 350 | 350 | t.Fatal(err) | |
| @@ -386,11 +386,11 @@ func TestTheEmblemShipsAndTheShellNamesIt(t *testing.T) { | |||
| 386 | 386 | t.Fatalf("stylesheet = %d", code) | |
| 387 | 387 | } | |
| 388 | 388 | if !strings.Contains(css, `url("/static/vole-head.png")`) || | |
| 389 | !strings.Contains(css, `url("/static/vole-head-outline.png")`) || | ||
| 389 | 390 | !strings.Contains(css, "--mark-fill: currentColor") || | |
| 390 | 391 | !strings.Contains(css, "--mark-outline: transparent") || | |
| 391 | 392 | !strings.Contains(css, "--mark-fill: var(--bg)") || | |
| 392 | !strings.Contains(css, "--mark-outline: var(--fg)") || | ||
| 393 | !strings.Contains(css, "drop-shadow(1px 0 0 var(--mark-outline))") { | ||
| 393 | !strings.Contains(css, "--mark-outline: var(--fg)") { | ||
| 394 | 394 | t.Error("the head mark does not carry the emblem and light-outline treatment") | |
| 395 | 395 | } | |
| 396 | 396 | ||