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.
Add Catppuccin, Nord, and Solarized as built-in themes
0584bb700c0b144752ddc29764d697551234f862 · Keenan Nemetz · 1d ago · parent c980fe53
Add Catppuccin, Nord, and Solarized as built-in themes Ship four more Appearance choices: Catppuccin Mocha, Catppuccin Latte, Nord, and Solarized Light. Each is a token block in static/palettes.css, scoped to its data-theme value and loaded after Everforest, before instance theme packs and profile/custom.css. The ids join theme.js's allowlist and the account picker, and the instance repository's reserved-name check now covers nord and the catppuccin-/solarized- prefixes so a theme pack cannot shadow a built-in. NOTICE and three MIT license files record the palettes.
forge/instancerepo/instancerepo_test.go +9
| @@ -92,6 +92,15 @@ func TestLoadRejectsABadThemeFileName(t *testing.T) { | |||
| 92 | 92 | "system id": { | |
| 93 | 93 | "profile/themes/system.css": []byte("body {}"), | |
| 94 | 94 | }, | |
| 95 | "nord id": { | ||
| 96 | "profile/themes/nord.css": []byte("body {}"), | ||
| 97 | }, | ||
| 98 | "catppuccin prefix": { | ||
| 99 | "profile/themes/catppuccin-custom.css": []byte("body {}"), | ||
| 100 | }, | ||
| 101 | "solarized prefix": { | ||
| 102 | "profile/themes/solarized-custom.css": []byte("body {}"), | ||
| 103 | }, | ||
| 95 | 104 | "invalid id": { | |
| 96 | 105 | "profile/themes/Acme Ocean.css": []byte("body {}"), | |
| 97 | 106 | }, | |