Currently, the NSD manpages are written in the legacy man(7) language. I propose to rewrite them into the markup of the mdoc(7) language. Both languages are sets of roff macros, supported for decades by mostly groff (on linuxes) and mandoc (on the BSD's). The main difference is that mdoc(7) does _semantic_ markup, so the macros mean e.g. "this is a command line option" as opposed to e.g. "make it italics and put brackets around it". See http://mdocml.bsd.lv/ about the whole story. See below for nsd-checkconf.8 as an example. Jan .Dd August 25, 2015 .Dt NSD-CHECKZONE 8 .Os .Sh NAME .Nm nsd-checkzone .Nd check syntax of NSD zone files .Sh SYNOPSIS .Nm .Op Fl h .Ar zonename .Ar zonefile .Sh DESCRIPTION .Nm reads a DNS zone file and checks it for errors. It prints errors to stderr. This is used to check files before feeding them to the .Xr nsd 8 daemon. The arguments are as follows: .Pp .Bl -tag -width "zonefile" -compact .It Fl h Print usage help and exit. .It Ar zonename The name of the zone to check. .It Ar zonefile The zone file to read. .El .Sh EXIT STATUS .Ex -std .Sh EXAMPLES .Dl # nsd-checkzone example.com zones/example.com.zone.signed .Sh SEE ALSO .Xr nsd 8 , .Xr nsd-checkconf 8 .Sh AUTHORS .An The NSD team Aq Mt nsd-team at nlnetlabs.nl
Jan Stary (2015-08-25 17:27 +0200):> Currently, the NSD manpages are written in the legacy man(7) language. > I propose to rewrite them into the markup of the mdoc(7) language. > > Both languages are sets of roff macros, supported for decades > by mostly groff (on linuxes) and mandoc (on the BSD's). > The main difference is that mdoc(7) does _semantic_ markup, > so the macros mean e.g. "this is a command line option" > as opposed to e.g. "make it italics and put brackets around it". > See http://mdocml.bsd.lv/ about the whole story.The only disadvantage of mdoc, however, is that some systems still don't support it. I believe Solaris is one of them. So, for portability, you'd have to be able to provide man pages in both mdoc and man format.