Some time ago because of "Corporate Documentation Standards" the sources were converted into some XML-based markup, from which nroff/troff markup was produced -- not entirely successfully. More recently because of "Revised Corporate Documentation Standards" the XML sources were converted into yet another format, and the team responsible has given up maintaining the tool that converted that format into nroff/troff. So the plan now is to deliver straight HTML, with the rationale being "nobody looks at man pages anymore."
As an old UNIX hack I opposed this, to no avail.
Are man pages really irrelevant?
If you need to know which command-line option to use for a particular behavior, consider the relative amount of time needed to find out via a browser and search engine, versus installed documentation, versus a manpage. And if the search engine comes close, half the time it does so by finding the relevant manpage (or excerpting the relevant manpage snippet).
The troff markup language remains terribly baroque, and in truth it hardly matters except as "the thing that existing manpages all use so the man tool handles it". Nothing but inertia and existing infrastructure keeps that format necessary, but learning the small subset of it needed for manpages doesn't take long, especially if you copy an existing manpage as a starting point.
Groff knows how to produce HTML from a manpage, and the result can help if you want to provide documentation that works on other platforms.
The conventions of manpages matter far more than the markup details. If "man sometool" popped up with troff-formatted documentation that didn't have the expected sections and section order, it wouldn't have anywhere near the same value.
On the other hand, I avoid Java as much as possible, so I might not be the best test market.
The most important thing is how detailed they are. Man pages contain everything one needs to know for unix programming. If applicable, they specify standards conformance and document behavior that standards leave undefined or implementation-defined. They document system calls, functions, files, programs... Everything a capable user could ever want information on. They provide detailed technical information.
Another nice thing about man pages is how they don't require an internet connection. They're usually installed alongside the packages they document. This is useful if the system is disconnected from the internet.
I don't think the man command itself is essential to unix man pages. I think the detailed documentation they provide are the most important thing. One could install documentation in HTML format and use a browser for viewing -- wouldn't that be just as good?
In fact, git has an option¹ for doing just that. Passing --web instructs git to display the manual page in HTML format in the user's browser of choice. It could be a graphical web browser or a text browser such as Lynx.
Many situations they are much more convenient and accessible than online or html docs.
Sometimes I feel that contemporary markup languages like Markdown, Textile, etc. fall short compared to the syntax that was just as readable and quite a bit more powerful in troff...
https://rkrishnan.org/posts/2016-03-07-how-is-gopl-typeset.h...
HN discussion: https://news.ycombinator.com/item?id=11470905
I've never used troff myself, but your comment prompted me to look at the spec for it. I also searched for a "markdown vs troff" comparison, but didn't have much luck. Do you know of a head-to-head comparison? I've been using markdown for the past year or so when I don't need the full power of LaTeX. But your comment has me wondering if I'd be better off just using troff?
Example input follows. Defining a paragraph style in meta:
.STYLE TITLE
. FONT SANS
. FACE B
. FONTSIZE 30
. ALIGNMENT CENTER
./STYLE
...and using it: .TITLE
The meta macro package
./TITLE
This is a very simple, noddy example of how to use the meta
macro package. It's not intended to be a reference (there currently isn't one).
But the core language is kinda horrible, needing a really hacky implementation, and you can't define inline macros --- the \fB and \fP above are built-ins. Macro invocations have to start on new lines. In fact, this isn't a bad limitation in practice for anything even slightly heavyweight, but for italics, bold and underline it's still nice to have inline markup.Sure, but that doesn't address my question about whether I should use troff versus markdown for things where I don't need the power and complexity of LaTeX.
http://www.troff.org/prog.html#pic
And the basic inline markup tags are, at least in my opinion, just as simple as Markdown, Textile, or AsciiDoc.
It's been a secret promise to myself for a while now that if ever I fall headlong into Shuttleworth levels of cash, one of the first things I would do is to throw some money at a project for the express purpose of writing missing pages, keeping existing ones up to date, bridging the man/info divide, and to singlehandedly push for weening the world off of roff onto a more human-readable format.
Didn't have Word, didn't want to learn LaTeX, printed html looked worse.
I love this retrospective explanation of nroff in terms of HTML.
https://www.gnu.org/software/groff/manual/html_node/History....