docs: add support for RTD dark mode
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 7 Dec 2021 09:53:02 +0000 (10:53 +0100)
committerJonathan Corbet <corbet@lwn.net>
Fri, 10 Dec 2021 21:05:55 +0000 (14:05 -0700)
commita6fb8b5acf47c5e621ae919b94c3f54e277f5039
treed832d5f67874f266a31bc3e7bb53d2b3ffd48f58
parentffc901b4d19fc50a6de7ef395436319ae2b3d708
docs: add support for RTD dark mode

This is actually an overlay on the top of the RTD theme, which
requires to include first the RTD theme.

It should be noticed that, when the dark theme is used, the
DOCS_CSS files won't be the last CSS themes. So, it won't
override the dark.css style by default. So, it is needed
to force the them override with "!important".

This small script, for instance, produces a nice output with
the RTD dark theme:

DOCS_THEME=sphinx_rtd_dark_mode
cat << EOF > dark_override.css
  html body {
    font-family: arial,helvetica,sans-serif;
  }
  html[data-theme='dark'] body {
    color: white !important;
  }
  html[data-theme='dark'] .sig-name {
    color: green !important;
  }
  html[data-theme='dark'] .wy-menu-vertical a {
    color: #ffcc00 !important;
  }
  html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3 {
    color: #ffcc00 !important;
  }
  html[data-theme="dark"] h4, html[data-theme="dark"] h5, html[data-theme="dark"] h6 {
    color: #ffcc00 !important;
  }
  html[data-theme="dark"] h7, html[data-theme="dark"] h8, html[data-theme="dark"] h9 {
    color: #ffcc00 !important;
  }
  html[data-theme="dark"] .wy-nav-content a, html[data-theme="dark"] .wy-nav-content a:visited {
    color: #ffcc00 !important;
  }
EOF

make DOCS_CSS=dark_override.css DOCS_THEME=sphinx_rtd_dark_mode htmldocs

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/90d316e055ef7f4c9021b9eada8f8d3b2e750a66.1638870323.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/conf.py
Documentation/sphinx-static/theme_overrides.css
Documentation/sphinx-static/theme_rtd_colors.css [new file with mode: 0644]