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/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