Re: [PATCH v4 0/4] docs: add better support for Sphinx themes and CSS

From: Randy Dunlap
Date: Fri Dec 10 2021 - 23:25:30 EST


Hi Mauro-

On 12/7/21 01:52, Mauro Carvalho Chehab wrote:
> Hi Jon,
>
> This series comes after my patch fixing Sphinx support for RTD 1.0.0:
> https://lore.kernel.org/lkml/80009f0d17ea0840d81e7e16fff6e7677919fdfc.1638004294.git.mchehab+huawei@xxxxxxxxxx/
>
> On this version, I renamed the vars to DOCS_CSS and DOCS_THEME,
> based on our previous discussion.
>
> I also changed the description of patch 4, better explaining how to
> override the CSS theme and giving an example that looks fine,
> at least for my eyes.
>
> -
>
> Sphinx allows using different output templates for HTML (and e-pub).
>
> Right now, the Kernel was hardcoded to use the Read the Docs theme,
> falling back to whatever default is setup on a given Sphinx version.
>
> Well, themes and templates are actually an user preference.
>
> This patch set allows selecting different themes and even provide
> extra CSS override files.
>
> With that, one could, for instance, do things like:
>
> $ echo "body { color: darkgreen; } div.body { color: darkgreen; } " >my_css.css && make SPHINXDIRS=input DOCS_CSS=my_css.css DOCS_THEME=nature htmldocs

When testing this one, I get:

make DOCS_THEME=nature DOCS_CSS=my_css.css O=DOCS SPHINXDIRS=x86 -j9 htmldocs
make[1]: Entering directory '/work/lnx/next/next-2021-1210/DOCS'
SPHINX htmldocs --> file:///work/lnx/next/next-2021-1210/DOCS/Documentation/output/x86
make[3]: Nothing to be done for 'html'.
Using nature theme
WARNING: Unknown configure key: latex_elements['extrapackages']. ignored.
source directory: x86
cp: cannot stat 'my_css.css': No such file or directory
make[2]: *** [../Documentation/Makefile:96: htmldocs] Error 1
make[1]: *** [/work/lnx/next/next-2021-1210/Makefile:1783: htmldocs] Error 2
make[1]: Leaving directory '/work/lnx/next/next-2021-1210/DOCS'


'my_css.css' is in the top level of the kernel source tree:

$ ls -l my_css.css
-rw-r--r-- 1 rdunlap users 59 Dec 10 20:16 my_css.css


> In order to use the Sphinx nature theme with the normal font in green.
>
> patch 1 adds a theme selection make variable (DOCS_THEME);
> patch 2 adds a css selection variable (DOCS_CSS);
> patch 3 sets the classic theme to look a little better, as this will be
> used if the RTD theme is not installed;
> patch 4 adds support for the RTD dark mode theme, which seems to
> be currently the only theme that allows the user to switch between
> dark/light mode when visualizing the documentation.


Overall this is looking very good. Thanks for your work on it.

--
~Randy