-
-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automate documentation refresh #244
Comments
@janstary As mentioned in the mailing list thread by @oerdnj, using RST and Sphinx is quite nice. It's what NLnet Labs uses for the Routinator manpage and we're leaning towards this workflow for Unbound as well. For example, the canonical source for the Routinator manpage is here and is published with Sphinx/ReadTheDocs here. We use |
FTR we use:
to update the paths, versions, etc. in the manpages. This is |
If https://github.com/NLnetLabs/routinator/blob/main/doc/routinator.1 is considered "quite nice" then I can only rest my case ... |
@janstary I would recommend you to use less sarcasms and less foul language when you are talking about other people’s work. |
Apparently, you can use mandoc to convert to Markdown. Not as ideal as RST directly, but Sphinx can render Markdown too. Not to say that we must use it, simply an option to consider. |
Snark aside, I'd really like to understand what the problem is with a manpage generated from RST. Sure, the current routinator.1 file may not be the prettiest in formatting, but it's no longer a file that you directly edit so human readability is not as important. Here's the manpage of Routinator 0.7.0 using hand-crafted groff/troff: Compared to the same manpage of Routinator 0.12.0 generated by I think we're shipping a perfectly usable manpage with this methodology and optimises the limited resources we have as open-source maintainers. This workflow lets us manage documentation in a much friendlier markup language as a single canonical source. Additionally, in the online documentation we can easily link to options described in the manpage, which users really appreciate. |
Alex, ... using hand-crafted groff/troff But nroff/troff was always hand edited back in the day! For some of us, old habits die hard! |
When I needed a manpage for routinator I used the man(7) macros because that was quick. How it currently is maintained I don't know and actually don't care.
Yes, but it is not the point the way the source is generated (I used an editor). A proper manual page generation system will prevent such a practice. It has some added benefits that they can often generate input for other systems as well. |
The problem with these semi-structured macros packages is that it asks for discipline by the writer not to throw in raw formatting requests as shortcuts. Exactly: the man(7) pages that currently ship with nsd* are full of these low-level roff formating requests, |
I'm not saying there's a problem with them. I'm saying they would be better That's a matter of taste to an extent of course. So consider this:
Yes, first define what it means to "indent". That's manpage formatting at its worst.
Sure, the man(7)page still renders fine to the user, meaning man(1) (using groff or mandoc of whatever) |
Just to finish up, the NSD and Unbound developers have collectively decided to go with Sphinx. The announcement can be read in more detail on the mailing list. Thanks to everyone who kindly took time to provide input. I'll leave this open to serve as the reminder it was intended to be 🙂 |
Sort-of fixed once #371 is merged (if approved)(?). Chose not to move to |
So, we generate the online documentation from the |
As noted by @janstary on the nsd-users mailing list, the documentation is slightly outdated. The obvious fix is to automate the process.
The text was updated successfully, but these errors were encountered: