docs: extract goget manpage to standalone troff source
This commit is contained in:
@@ -9,6 +9,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Added
|
||||
|
||||
**Documentation**
|
||||
|
||||
- **Standalone troff manpage** — `man/goget.1` is now the single source
|
||||
of truth for the goget(1) manual. The previous embedded manpage listed
|
||||
only ~30 of the 138 CLI flags and was missing every standard section;
|
||||
the new file documents every flag with a dedicated entry, the
|
||||
full set of conventional `.SH` sections (NAME, SYNOPSIS, DESCRIPTION,
|
||||
OPTIONS, EXAMPLES, EXIT STATUS, FILES, ENVIRONMENT, SEE ALSO, HISTORY,
|
||||
AUTHORS, REPORTING BUGS, COPYRIGHT), curl/wget compatibility notes, and
|
||||
a release-history entry. The manpage is embedded into the binary via
|
||||
`//go:embed`, so `--generate-man-page` and `man goget` now agree.
|
||||
- **`just man`** — new task that runs `groff -man -ww -Kutf-8 -z` over
|
||||
`man/goget.1` to validate the troff source. Skips cleanly when `groff`
|
||||
is not installed (CI on minimal images still passes).
|
||||
- **`just install-man`** and **`just uninstall-man`** — install the
|
||||
manpage to `$HOME/.local/share/man/man1/goget.1.gz` (XDG rootless,
|
||||
gzipped, reinstall-safe). After `just install-man`, `man goget`
|
||||
resolves the page automatically via the user's `MANPATH`.
|
||||
|
||||
**Core engine**
|
||||
|
||||
- **Unified worker pool** — single protocol-agnostic worker pool (`internal/pool`)
|
||||
@@ -53,6 +72,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
output when combined with `--json`. Credentials embedded in the stored
|
||||
URL are masked before display (the password placeholder is `xxxxx`).
|
||||
|
||||
### Testing
|
||||
|
||||
- `cmd/goget/man_page_test.go` — new test file. Asserts the embedded
|
||||
manpage is non-empty, carries a `.TH GOGET 1` header, contains every
|
||||
mandatory `.SH` section, and documents every flag registered by
|
||||
`defineFlags` (so adding a new flag without documenting it now breaks
|
||||
the build). When `groff` is installed, also runs `groff -man -ww
|
||||
-Kutf-8 -z` over the embedded source and fails on any warning.
|
||||
|
||||
## [1.0.0] — 2026-06-26
|
||||
|
||||
First public release: a modern IPv6-first command-line download utility built on
|
||||
|
||||
Reference in New Issue
Block a user