chore(release): v0.2.7 - Cut 0.2.7 release with Swiss redesign, config overhaul, project restructure, and template/layout fixes - Consolidate .commit-hash styles to uniform red/bold/mono - Fix .log grid clipping: 1fr auto columns, consistent commit-info styling across rows, email hidden in all rows - Fix index grid: reorder to name → idle → desc so idle aligns with repo name on the same row 💘 Generated with Crush
Maxwell Jensen maxwelljensen@posteo.net
Tue, 12 May 2026 17:57:00 +0200
4 files changed,
35 insertions(+),
16 deletions(-)
M
CHANGELOG.md
→
CHANGELOG.md
@@ -8,6 +8,8 @@ Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] +## [0.2.7] - 2026-05-12 + ### Added - Viper config loading with environment variable overrides (`LEGIT_*` prefix)
A
configs/config_example.yaml
@@ -0,0 +1,19 @@
+repo: + scanPath: /var/git + readme: + - readme + - README + - readme.md + - README.md + mainBranch: + - master +dirs: + templates: ./templates + static: ./static +meta: + title: legit + description: Oui, il est le git! +server: + name: example.org + host: 0.0.0.0 + port: 5555
M
static/style.css
→
static/style.css
@@ -224,7 +224,6 @@ .index-name {
font-weight: 600; font-size: 1.05rem; padding: 0.4rem 0; - grid-column: 1; } .index-name a {@@ -261,11 +260,11 @@ min-height: 1.2em;
} .index > div:nth-child(3n) { - grid-column: 2; + grid-column: 1 / -1; } .index > div:nth-child(3n-1) { - grid-column: 1 / -1; + grid-column: 2; } .index > div:nth-child(1) {@@ -273,7 +272,7 @@ grid-column: 1;
} .index > div:nth-child(2) { - grid-column: 1 / -1; + grid-column: 2; } /* clone url */@@ -354,7 +353,7 @@ /* ── Commit Log ── */
.log { display: grid; - grid-template-columns: minmax(0, 1.3fr) minmax(14rem, 1fr); + grid-template-columns: 1fr auto; grid-row-gap: 0; }@@ -387,14 +386,14 @@ .log > div:nth-child(2) {
padding-top: 0; } -.log > div:nth-child(4n+1) .commit-hash { +.commit-hash { font-family: var(--mono-font); font-size: 0.85rem; font-weight: 600; color: var(--red); } -.log > div:nth-child(4n+1) .commit-hash:hover { +.commit-hash:hover { text-decoration: underline; }@@ -407,24 +406,23 @@ white-space: pre-wrap;
overflow: hidden; } -.log > div:nth-child(4n+2) { +.log > div:nth-child(4n+2), +.log > div:nth-child(4n+4) { text-align: right; font-size: 0.8rem; color: var(--gray); padding-top: 0.1rem; line-height: 1.4; + max-width: 22rem; + overflow-wrap: break-word; } -.log > div:nth-child(4n+2) .commit-email { +.log > div:nth-child(4n+2) .commit-email, +.log > div:nth-child(4n+4) .commit-email { display: none; } -.log > div:nth-child(4n+4) { - font-size: 0.8rem; - color: var(--gray); - padding-top: 0.2rem; - line-height: 1.4; -} + /* ── Readme ── */
M
templates/index.html
→
templates/index.html
@@ -12,8 +12,8 @@ <main>
<div class="index"> {{ range .info }} <div class="index-name"><a href="/{{ .Name }}">{{ .DisplayName }}</a></div> - <div class="desc">{{ if .Desc }}{{ .Desc }}{{ else }} {{ end }}</div> <div class="index-idle">{{ .Idle }}</div> + <div class="desc">{{ if .Desc }}{{ .Desc }}{{ else }} {{ end }}</div> {{ end }} </div> </main>