9front - general discussion about 9front
 help / color / mirror / Atom feed
From: sirjofri <sirjofri+ml-9front@sirjofri.de>
To: 9front@9front.org
Subject: Re: [9front] 9front man pages
Date: Sat, 9 Mar 2024 12:01:21 +0100 (GMT+01:00)	[thread overview]
Message-ID: <845a3bf2-df8b-45f7-8f1a-4d09f2688a77@sirjofri.de> (raw)
In-Reply-To: <B0B71425-C338-42F7-954E-3A655C01B937@stanleylieber.com>

Hi all,

as one who did some man page editing earlier and who likes writing documentation in general, I also have to raise my voice at some point.

I personally see two use cases for man pages, both are drastically different:

(1) You read a man page to understand how a program is working and how you should use it. For this use case it's important to read the man page, not only skim for arguments. Of course, some details can still be in the list/table layout, for example all the flags and attributes for print(2). For this use case, I also prefer to have most things as prose, only to prevent new people from using the program before reading the man page thoroughly (users tend to pick the flags, run the program, and wonder why nothing works, only to ask other users who can respond with rtfm).

(2) If you already know how a program works and how to use it, but you just want to know about a single flag or something. In this case, you usually don't want to read a full book, a simple list with description is often enough.

I don't think the man pages as they currently are fit both use cases to perfection, and I don't think they can. We have docs that are more towards (1) (or even surpassing that case), and some programs have a usage function which is just too little for (2).

I like the idea of having an additional .FL troff macro for flags, though I think it's still impossible to get a good format using it, because of the nature of how the man pages are written. It can be much easier to find the flag though.

I also like the idea of having an additional program that parses the source file for everything in between ARGBEGIN/ARGEND, combined with comments for description. Flags without comment could be omitted to have the option of omitting debug functionality, and it's easy enough to document with that. On the other hand, that puts part of the documentation into the source code, which is very much different from how man pages work.

I would probably use both solutions, but both are a lot of work on existing files. Regarding the flag macro, I think it's still a question of how to use it. Page can't jump to a specific line, and how would you parse the whole thing? The naive solution would probably be to only print this paragraph, or (in case of troff) highlight it differently in some case to make it easier to find.

I would certainly help edit the man pages to fit the new scheme, and I'd also help adjust the comments in ARGBEGIN/ARGEND as far as I can. I can also write a src-like program that extracts the details from the programs (wtf), but that's probably so trivial that any developer could do that.

Another point that ori mentioned: the theory of how things work. I see that there's lots of stuff missing in that regard. It would certainly be nice to have some documents in the sense of /sys/doc, though I can perfectly see that we don't want to change the historical artwork there and clutter it with thousands of modern pages. I can imagine some separate repo for that (similar to how fqa is separate), something that can be seen as a part of the system, but is separate. On the other hand, we won't have too much so we could as well include it into /sys/doc, extending the historical artwork. Nevertheless, the biggest issue is: who's gonna write all that? It's a lot of work.

I know there's the wiki, but tbh many people don't know about it, and the quality is ... varying. Also, the current implementation is very flat (unlike wikifs), so it's also hard to structure it in the sense of what's commonly known as a wiki.

sirjofri

  reply	other threads:[~2024-03-09 11:04 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-08  4:47 eso
2024-03-08  5:07 ` Jacob Moody
2024-03-08  5:28   ` Roberto E. Vargas Caballero
2024-03-08  9:01     ` qwx
2024-03-08 11:30       ` hiro
2024-03-08 11:34         ` hiro
2024-03-08 11:35           ` hiro
2024-03-08 16:01           ` eso
2024-03-08 16:24             ` qwx
2024-03-08  5:23 ` ori
2024-03-08 17:40   ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2024-03-08 18:30     ` hiro
2024-03-08 23:20       ` umbraticus
2024-03-08 23:50         ` ori
2024-03-09  0:40           ` sl
2024-03-09  1:08             ` hiro
2024-03-09  1:36               ` Stanley Lieber
2024-03-09 11:01                 ` sirjofri [this message]
2024-03-10 19:16                   ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2024-03-10 21:05                     ` sirjofri
2024-03-10 21:11                     ` hiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=845a3bf2-df8b-45f7-8f1a-4d09f2688a77@sirjofri.de \
    --to=sirjofri+ml-9front@sirjofri.de \
    --cc=9front@9front.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).