From 135707d3765ec3734437864ec91667dc29f0cdec Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 7 Dec 2021 10:53:00 +0100 Subject: docs: allow to pass extra DOCS_CSS themes via make 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 Link: https://lore.kernel.org/r/03d09bf41ad39aa0abfe2ea3c879b09aa3a0948d.1638870323.git.mchehab+huawei@kernel.org Signed-off-by: Jonathan Corbet --- Documentation/Makefile | 8 +++++++- Documentation/conf.py | 7 +++++++ Documentation/doc-guide/sphinx.rst | 3 +++ 3 files changed, 17 insertions(+), 1 deletion(-) (limited to 'Documentation') diff --git a/Documentation/Makefile b/Documentation/Makefile index 11f8b3b9a7ef..9f0f53db2f10 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -20,6 +20,7 @@ SPHINXBUILD = sphinx-build SPHINXOPTS = SPHINXDIRS = . DOCS_THEME = +DOCS_CSS = _SPHINXDIRS = $(sort $(patsubst $(srctree)/Documentation/%/index.rst,%,$(wildcard $(srctree)/Documentation/*/index.rst))) SPHINX_CONF = conf.py PAPER = @@ -85,7 +86,10 @@ 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) && \ + if [ "x$(DOCS_CSS)" != "x" ]; then \ + cp $(DOCS_CSS) $(BUILDDIR)/$3/_static/; \ + fi htmldocs: @$(srctree)/scripts/sphinx-pre-install --version-check @@ -157,4 +161,6 @@ dochelp: @echo @echo ' make DOCS_THEME={sphinx-theme} selects a different Sphinx theme.' @echo + @echo ' make DOCS_CSS={a .css file} adds a DOCS_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 9a6a1009c2c4..923496396c3f 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 "DOCS_THEME" in os.environ: html_theme = os.environ["DOCS_THEME"] @@ -229,6 +230,12 @@ if html_theme == 'sphinx_rtd_theme': except ImportError: html_theme = 'classic' +if "DOCS_CSS" in os.environ: + css = os.environ["DOCS_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 bef276c58ebe..7fb6e6168bbb 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 DOCS_CSS overlay file, in order to customize +the html layout, by using the ``DOCS_CSS`` make variable. + By default, the build will try to use the Read the Docs sphinx theme: https://github.com/readthedocs/sphinx_rtd_theme -- cgit v1.2.3