更改 Sphinx Read The Docs 主题的颜色?

Change the colors of the Sphinx Read The Docs theme?

我正在为我的 API 库构建文档,我让 readthedocs.io 托管文档,并由 Sphinx 提供支持。我使用 pip install 为 Sphinx 安装了 Read The Docs 主题,Read the Docs 网站目前有文档 运行.

我想更改文档的颜色。我已经通过他们的 GitHub 存储库 GitHub.com 进行了一些搜索,并且看到了一些关于编辑 sass 文件的讨论。但是,我似乎找不到这些文件所在的位置。

我认为规范的方法是创建一个 _static 文件夹,在其中包含 CSS 文件,然后在模板中引用 CSS 并在 _templates文件夹。

为了证明这一点,您可以尝试简单地覆盖 layout.html 文件:首先,如果 _templates 不存在,则在您的文档文件夹中创建它,然后在那里创建一个名为layout.html.

用以下内容填充:

{% extends "!layout.html" %}
  {% block footer %} {{ super() }}

  <style>
    /* Sidebar header (and topbar for mobile) */
    .wy-side-nav-search, .wy-nav-top {
      background: #00ff00;
    }
    /* Sidebar */
    .wy-nav-side {
      background: #ff0000;
    }
  </style>
{% endblock %}

重建文档后,您应该会看到花哨的 side-bar 和 header。 (我对我们的 Sphinx / Read The Docs 主题使用了类似的技术 implementation。查看源代码等以查看我们覆盖了哪些位。)

您可以通过将自定义 CSS 文件添加到 _static 来更改主题颜色。要真正让 Sphinx 使用该文件,请将其添加到您的 conf.py:

def setup(app):
    app.add_css_file('custom.css')

样本 CSS (custom.css) 将边栏颜色更改为深绿色(基于@afit 的回答):

.wy-side-nav-search, .wy-nav-top {
    background: #0b750a;
}

如果您只想更改导航的颜色 header,您可以使用 conf.py 中的 html_theme_options 变量来实现。有一个名为 'style_nav_header_background'.

的参数

https://sphinx-rtd-theme.readthedocs.io/en/stable/configuring.html#theme-options

添加 CSS 文件的更简单方法是在 conf.py 中设置 html_css_files:

# custom.css is inside one of the html_static_path folders (e.g. _static)
html_css_files = ["custom.css"]

参见:https://docs.readthedocs.io/en/latest/guides/adding-custom-css.html