The gemtext renderer prints a bare => line for a paragraph holding nothing but
links, which is what lets a generator emit a navigable menu. is_only_links
tolerated soft breaks but not hard ones, so a generator had to choose: soft
breaks and a clean gemtext menu, or hard breaks and a menu that does not run
together on the formats that lay a paragraph out inline.
That was a false choice. A hard break between links is still a run of nothing
but links, and the inline formats already turn it into <br/>. Without this,
asking for the break made gemtext read the paragraph as prose and print its
flattened text alongside the => lines, listing every entry twice.
Found serving a real capsule: six area links rendered as one run-on line in a
browser and on a handset while gemtext looked perfect.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
packages.default builds natively and runs the suite: 357 tests pass in the
sandbox, including the 60 socket integration tests, which settles the open
question of whether they can bind in a Nix build. The sandbox's private
network namespace has loopback up and the tests take port 0, so there is
nothing to collide with.
packages.static is the published artifact, fully static against musl, so a
consumer needs neither autoPatchelfHook nor a matching glibc. There is no C
dependency anywhere in the tree, not even a TLS library, so unlike bunshin's
sqlite there is nothing to cross-provide. 2.3 MB stripped.
nixpkgs is pinned to unstable and deliberately not followed from a consumer:
every crate here declares rust-version 1.97 and nixos-25.11 ships 1.91.1, so
bucur's nixpkgs could not build this. It does not need to, since it fetches
the release asset.
wml is built in. It is opt-in upstream, and the bundled itsybitsy.toml names
it, so a default build refuses to boot the config shipped beside it.
apps.release-static publishes to Forgejo tagged by short rev, following
bunshin's. Note the asymmetry that bit bunshin: assets upload to
/releases/<id>/assets but download from /releases/download/<tag>/<name>.
THIRD_PARTY_NOTICES.md covers the static link closure, 73 crates across five
license families, plus the two vendored FIGlet fonts, which carry their terms
in the FIGfont comment header and which no crate scan can see. They are behind
the non-default figlet feature and so are not in this binary, but they are
redistributed with the source.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>