Specially when the RTD theme is not used, it makes sense to allow specifying extra CSS files via a make variable. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> --- See [PATCH v2 0/4] at: https://lore.kernel.org/all/cover.1638366497.git.mchehab+huawei@xxxxxxxxxx/ Documentation/Makefile | 6 +++++- Documentation/conf.py | 7 +++++++ Documentation/doc-guide/sphinx.rst | 3 +++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Documentation/Makefile b/Documentation/Makefile index d4039d77b32a..fb4a047ca36c 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -20,6 +20,7 @@ SPHINXBUILD = sphinx-build SPHINXOPTS = SPHINXDIRS = . THEME = +CSS = _SPHINXDIRS = $(sort $(patsubst $(srctree)/Documentation/%/index.rst,%,$(wildcard $(srctree)/Documentation/*/index.rst))) SPHINX_CONF = conf.py PAPER = @@ -85,7 +86,8 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4) -D version=$(KERNELVERSION) -D release=$(KERNELRELEASE) \ $(ALLSPHINXOPTS) \ $(abspath $(srctree)/$(src)/$5) \ - $(abspath $(BUILDDIR)/$3/$4) + $(abspath $(BUILDDIR)/$3/$4) && \ + $(foreach var,$(CSS),cp $(CSS) $(BUILDDIR)/$3/_static/) htmldocs: @$(srctree)/scripts/sphinx-pre-install --version-check @@ -157,4 +159,6 @@ dochelp: @echo @echo ' make THEME={sphinx-theme} selects a different Sphinx theme.' @echo + @echo ' make CSS={a .css file} adds a CSS override file for html/epub output.' + @echo @echo ' Default location for the generated documents is Documentation/output' diff --git a/Documentation/conf.py b/Documentation/conf.py index 082c3ac9dd33..0e2593e4d357 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -210,6 +210,7 @@ highlight_language = 'none' # Default theme html_theme = 'sphinx_rtd_theme' +html_css_files = [] if "THEME" in os.environ: html_theme = os.environ["THEME"] @@ -229,6 +230,12 @@ if html_theme == 'sphinx_rtd_theme': except ImportError: html_theme = 'classic' +if "CSS" in os.environ: + css = os.environ["CSS"].split(" ") + + for l in css: + html_css_files.append(l) + if major <= 1 and minor < 8: html_context = { 'css_files': [], diff --git a/Documentation/doc-guide/sphinx.rst b/Documentation/doc-guide/sphinx.rst index 33a527f5ae64..e25bc033aad3 100644 --- a/Documentation/doc-guide/sphinx.rst +++ b/Documentation/doc-guide/sphinx.rst @@ -138,6 +138,9 @@ To pass extra options to Sphinx, you can use the ``SPHINXOPTS`` make variable. For example, use ``make SPHINXOPTS=-v htmldocs`` to get more verbose output. +It is also possible to pass an extra CSS overlay file, in order to customize +the html layout, by using the ``CSS`` make variable. + By default, the build will try to use the Read the Docs sphinx theme: https://github.com/readthedocs/sphinx_rtd_theme -- 2.33.1