Re: [PATCH] docs: conf.py: fix support for Readthedocs v 1.0.0

From: Laurent Pinchart
Date: Fri Nov 26 2021 - 08:09:22 EST


Hi Mauro,

Thank you for the patch.

On Fri, Nov 26, 2021 at 11:50:53AM +0100, Mauro Carvalho Chehab wrote:
> As described at:
> https://stackoverflow.com/questions/23211695/modifying-content-width-of-the-sphinx-theme-read-the-docs
>
> since Sphinx 1.8, the standard way to setup a custom theme is
> to use html_css_files. While using html_context is OK with RTD
> 0.5.2, it doesn't work with 1.0.0, causing the theme to not load,
> producing a very weird html.
>
> Tested with:
> - Sphinx 2.4.4 + sphinx-rtd-theme 0.5.2
> - Sphinx 2.4.4 + sphinx-rtd-theme 1.0.0
> - Sphinx 4.3.0 + sphinx-rtd-theme 1.0.0
>
> Reported-by: Hans Verkuil <hverkuil@xxxxxxxxx>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> ---
> Documentation/conf.py | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index 17f7cee56987..7bc72be63fd2 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -249,11 +249,16 @@ except ImportError:
>
> html_static_path = ['sphinx-static']
>
> -html_context = {
> - 'css_files': [
> +if major <= 1 and (minor < 8):

No need for parentheses.

> + html_context = {
> + 'css_files': [
> + '_static/theme_overrides.css',
> + ],
> + }
> +else:
> + html_css_files = [
> '_static/theme_overrides.css',
> - ],
> -}
> + ]

You could also write

html_css_files = [
'_static/theme_overrides.css',
]

if major <= 1 and minor < 8:
html_context = {
'css_files': html_css_files,
}

which would be slightly easier to drop when support for sphinx 1.7
(which is the minimum required version) is removed.

Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

> # Add any extra paths that contain custom files (such as robots.txt or
> # .htaccess) here, relative to this directory. These files are copied

--
Regards,

Laurent Pinchart