Pure-Go implementation of the freedesktop.org Thumbnail Managing Standard — no cgo, no external tools.
go-thumbnail is a pure-Go (CGO_ENABLED=0) implementation of the
freedesktop.org Thumbnail Managing Standard.
It generates and caches file thumbnails exactly where and how the standard
prescribes, so thumbnails it writes are visible to other compliant tools —
file managers, image viewers — and vice-versa.
| Module | freedesktop specification | What it gives you |
|---|---|---|
thumbnail |
Thumbnail Managing Standard | Canonical cache under $XDG_CACHE_HOME/thumbnails/{normal,large,x-large,xx-large} (128 / 256 / 512 / 1024 px), the required PNG metadata (Thumb::URI, Thumb::MTime, …), fail markers, and shared-repository handling. |
- Pure Go,
CGO_ENABLED=0— a single portable module; cross-compiles to a static binary. - Spec-faithful cache — canonical directory layout, PNG
tEXtmetadata and fail-marker semantics, so the cache interoperates with existing desktop tools. - 100% test coverage is the bar, error branches included.
- BSD-3-Clause.
- 📖 Docs — https://go-thumbnail.github.io/docs/
- 🌐 Site — https://go-thumbnail.github.io/
- 🎨 Brand assets — https://github.com/go-thumbnail/brand
Branding in go-thumbnail/brand.