Re: Kernel docs: muddying the waters a bit

From: Jonathan Corbet
Date: Thu Mar 03 2016 - 10:17:16 EST


On Thu, 3 Mar 2016 14:34:25 +0000
One Thousand Gnomes <gnomes@xxxxxxxxxxxxxxxxxxx> wrote:

> We only have docbook because it was the tool of choice rather a lot of
> years ago to then get useful output formats. It was just inherited when
> borrowed the original scripts from Gnome/Gtk. It's still the most
> effective way IMHO of building big structured documents out of the kernel.

...except that we haven't used it that way. Instead, we make a whole
bunch of smaller, partially structured document silos.

> The Gtk people long ago rewrote the original document script into a real
> tool so they have some different and maintained tools that are close to
> equivalent and already have some markdown support. Before we go off and
> re-invent the wheel it might be worth just borrowing their wheel and
> tweaking it as needed ? In particular they can generate help indexes so
> that the entire output becomes nicely browsable with an HTML based help
> browser.

Well, not inventing the wheel was kind of the motivation behind much of
this effort; I got kind of worried watching us trying to cobble more
functionality into our existing house-of-cards documentation system.

Sphinx is a well-established, heavily used, and well supported system;
using it would not be an exercise in wheel reinvention. As far as I can
tell, it does everything we need (with some open questions about table
support), lets us drop the whole DocBook toolchain dependency, and move to
a much better-supported setup than we have now. Plus we get much nicer
output, index generation, cross-references between documents, and the
ability to write documents in a lightweight markup language. Seems like a
win.

I assume you're referring to gtk-doc? It's web page
(http://www.gtk.org/gtk-doc/) starts by noting that it's "a bit awkward to
setup and use"; they recommend looking at Doxygen instead. So I guess I'm
not really sure what it offers that merits throwing another option into
the mix now? What am I missing?

Thanks,

jon