Man pages are great, man readers are the problem
Formats: roff/mdoc vs HTML/Markdown
- Several comments argue roff/mdoc is already a “modern” semantic format compared to HTML, which is easy to parse but unpleasant to write, and Markdown, which is familiar but largely semantics‑free.
- Advocates of mdoc emphasize its explicit markup for flags, arguments, env vars, etc., which powers apropos/whatis queries, smart search, and hyperlinking. Converting to Markdown or plain HTML often discards this information.
- Others prefer authoring in Markdown/RST/AsciiDoc and generating man pages via tools (pandoc, Sphinx, Asciidoc, scdoc), but there is concern about:
- Many incompatible Markdown dialects.
- Loss of semantics and links.
- Needing increasingly complex “markdown schema” and tooling that just re‑creates roff’s complexity.
- GNU info/texinfo is mentioned as an earlier attempt at richer, linked docs; technically good but hampered by poor standalone viewers and unfamiliar UI.
Readers and UX: terminals, editors, and GUIs
- Many suggestions to fix the reader, not the format:
- Use
man --htmlor web manpage mirrors; OpenBSD’s mandoc HTML is praised. - Emacs (man/info/woman), Vim/Neovim as MANPAGER, KDE Help Center, Dash/Zeal, pinfo, xman, and bat‑based pagers add links, search, highlighting, or nicer layout.
- mandoc on BSD preserves semantics into less (ctags‑style jumps) and into HTML, including links directly to option definitions.
- Use
- Pain points with traditional
man | less:- Line wrapping destroys indentation; no semantic “jump to flag” (people rely on regex searches like
^\s+-p). - Long pages (e.g., bash, tar) are hard to navigate; some print to PostScript/PDF (
man -t) to see intended structure.
- Line wrapping destroys indentation; no semantic “jump to flag” (people rely on regex searches like
- Some highlight a skills gap: job control, less navigation, and info usage are not widely understood by newer users.
Content quality and examples
- Strong split:
- Some praise manpages (especially BSD) as cohesive, dense, and sufficient when well‑written.
- Others say manpages “suck”: too much dry option listing, too few examples and workflows, leading to tldr/cheat/bro pages, Stack Overflow, and now LLM wrappers.
- There is broad agreement that:
- The framework is fine; the art of writing good documentation is the real bottleneck.
- More examples, single‑page versions, and good printability would make man‑style docs much more useful.
Conventions and ecosystem
- Debate over relying on
--helpvs man:--helpis convenient but inconsistent, may require running the program, and often misuses stdout/stderr.- Manpages are more standardized across Unix systems, especially under distro policies.
- Underlying theme: the Unix/GNU/Linux documentation ecosystem is powerful but fragmented; attempts to “modernize” risk throwing away existing semantics unless they carefully preserve them.