Re: [PATCH v2 0/6] docs: Improvements to our HTML output
From: Bagas Sanjaya
Date: Tue Oct 11 2022 - 22:11:13 EST
On 10/12/22 02:00, Jonathan Corbet wrote:
> For a long time we have rejoiced that our HTML output from Sphinx is far
> better than what we got from the old DocBook toolchain. But it still
> leaves a lot to be desired; the following is an attempt to improve the
> situation somewhat.
>
> Sphinx has a theming mechanism for HTML rendering. Since the kernel's
> adoption of Sphinx, we have been using the "Read The Docs" theme — a choice
> made in a bit of a hurry to have *something* while figuring out the rest.
> RTD is OK, but it is not hugely attractive, requires the installation of an
> extra package, and does not observe all of the Sphinx configuration
> parameters. Among other things, that makes it hard to put reasonable
> contents into the left column in the HTML output.
>
> The Alabaster theme is the default for Sphinx installations, and is bundled
> with Sphinx itself. It has (IMO) nicer output and gives us the control
> that we need.
>
> So: switch to Alabaster. Additional patches adjust the documentation and
> remove the RTD references from scripts/sphinx-pre-install.
>
> The penultimate patch changes the way that kerneldoc declarations are
> rendered to (IMO) improve readability. That requires some changes to
> kernel-doc to output a new container block and some CSS tweaks to improve
> things overall.
>
> It should be noted that I have a long history of inflicting ugly web
> designs on the net; this work is a start, but I think we could do far
> better yet. It would be great if somebody who actually enjoys working with
> CSS and such would help to improve what we have.
>
> As before, I've put a copy of the rendered docs at:
>
> https://static.lwn.net/kerneldoc/
>
> To compare the kerneldoc changes specifically, pick a page that includes a
> lot of definitions; for example:
>
> https://static.lwn.net/kerneldoc/driver-api/media/drivers/frontends.html
> vs.
> https://www.kernel.org/doc/html/latest/driver-api/media/drivers/frontends.html
>
> -------
> Changes from the initial version:
>
> - Tweak more alabaster style parameters, including the maximum page width.
> There will surely be disagreement over what the right value should be,
> but at least it's defined in units independent of screen resolution.
>
> - Remove "classic" theme configuration and a bunch of other conf.py cruft.
>
> - I've tried to answer all of the other comments, but a couple remain. The
> sidebar contents are unchanged; making that more useful will require some
> thought and work. The gray background on function prototypes that Jani
> pointed out is actually something I did intentionally, with the idea of
> making each declaration stand out better in the wall of text. I still
> think it's better but am not married to it if the world disagrees.
>
> - I've tested PDF and epub builds (no changes) and Sphinx back to v1.7.
>
> In the absence of objections I'll be putting this into docs-next after the
> merge window closes. We can (and surely will) tweak this forever, but at
> least it, I hope, shows a direction in which we can go.
>
Hmm, I can't cleanly apply this patch series on top of either Linus's tree
or linux-next due to conflicts on [1/6]. On what commit this series is based
on?
--
An old man doll... just what I always wanted! - Clara