holger-front 0.1.3

holger.rs's public front page: the page itself, the three-column release row, and the whole door as one pure function
Documentation

holger.rs's front page — the whole public door, as one pure function.

holger-server is a hand-rolled hyper dispatcher with no router, no template engine and no static-asset tree; until now GET / answered 404 Unknown repository. So this crate is not a framework and does not try to be one: it is [route], a function from a method and a path to a [Reply], and mounting it in server/lib/src/exposed/http.rs is four lines next to the /-/search arm.

That shape is the point. Everything the page is — the bytes, the JSON, the cache headers, the refusals — is decided here, where it can be tested in a crate that builds in seconds, rather than inside a request handler that needs the whole server to compile.

The two doors

path what it answers
GET / the page (one self-contained HTML file)
GET /holger.webp the picture on its left half
GET /-/front who this server is, and whether it has a browser login
GET /-/releases the catalogue: the public repositories, and the latest version of each package

★ The one rule about version numbers

This crate never decides which version is newest. [latest_by] groups and folds, but the comparison is a function the caller passes in, and the caller is server/lib, which passes retention::cmp_version — the comparator holger already uses to decide which artifact a retention sweep must not delete.

That is not indirection for its own sake. A front page that ranked versions with its own comparator would be a SECOND source of truth for "the latest release", and the first time somebody published 1.10.0 beside 1.9.0 the page and holger retention would name different artifacts as the newest — with no way to tell which of them was wrong.