Converting man pages to html with doclifter.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The best documentation on syscalls available to userspace is the man-pages 
package.  I converted these man pages to html with doclifter, and put the 
result up at http://kernel.org/doc/xmlman

The script I use to re-convert it when new versions are released is in the 
mercurial archive http://landley.net/hg/kdocs and the current version is at 
http://kernel.org/make/mkxmlman.sh (which uses fixlinks.py in the same 
directory).

Doclifter is a tool to convert man page markup (troff and lots of macro 
packages on top of it) to docbook.  In addition to allowing the conversion of 
man pages to html and pdf, this allows man page maintainers to switch to 
docbook versions as the master copies they maintain, and generate man pages 
from the docbook.  An explicit goal of the doclifter project is to eliminate 
man markup as a source format anything is maintained in.  Very few people 
understand it anymore (as evidenced by how many man pages have markup 
errors), it's difficult and unrewarding to learn, and there are better modern 
formats.

I worked with Eric Raymond to convert the Doclifter development repository to 
Mercurial, and put it online at http://thyrsus.com/hg/doclifter.  I fed 
several bug fixes upstream, but I've identified two more blocking bugs for 
the release of the next version that I haven't fully fixed yet: symlinks are 
created with incorrect paths (I submitted a partial fix), and the source 
directories for a conversion pass are not properly detected by manlifter. 
Both problems involve some internal assumptions (in the manlifter part of 
doclifter) about what man page paths will be.  I've worked around both bugs 
in my man-pages update script, but would ideally like to get manlifter to 
handle this conversion itself, without workarounds.

I'm also not happy with the output of doclifter; it can definitely be improved 
in places.  Some of it is that I need to dig up some css to make it look less 
ugly (Eric had some, I should ask him for it).  And there are some "just 
plain bugs" such as http://kernel.org/doc/xmlman/man5/elf.html saying "<Pa 
elf.h>" for some reason.  (Others are harder to figure out how to address 
such as the way http://kernel.org/doc/xmlman/man0/sched.h.html shows the 
original making extensive use of fixed width fonts for indentation in a way 
that just doesn't translate.  Possibly having the right stylesheet makes that 
less obvious?)  There's probably also a way to make "one big pdf" from all 
these little .xml files, which might look less awful...

However, my work on doclifter has gone on the back burner for the moment, 
because the man-pages maintainer (Michael Kerrisk) has expressed interest in 
maintaining his own HTML translations of the man-pages package.  I've given 
him the directory http://kernel.org/doc/man-pages, Peter Anvin's changed the 
permissions on that directory so it belongs to him, and my update scripts now 
exclude it from my update rsync.  But he hasn't put any content in it yet.

I'll happily link to that once he puts some content there, but so far he 
hasn't.  I was linking to the empty directory for a bit, but I'm back to 
linking to (and updating) mine until his directory has equivalent content.

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
-
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux