19

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

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

其他颜色的 Read The Docs 示例

4

4 回答 4

24

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

为了证明这一点,您可以尝试简单地覆盖该layout.html文件:首先,_templates在您的 docs 文件夹中创建它(如果它尚不存在),然后在其中创建一个名为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 %}

重建文档后,您应该会看到一个花哨的侧边栏和标题。(我在我们的 Sphinx / Read The Docs 主题实现中使用了类似的技术。查看源代码等以查看我们覆盖了哪些位。)

于 2018-01-16T12:52:44.823 回答
10

您可以通过将自定义 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;
}
于 2019-01-22T09:23:29.830 回答
5

如果您只想更改导航标题的颜色,您可以使用 in 中的html_theme_options变量来实现conf.py。有一个参数叫做'style_nav_header_background'

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

于 2019-03-15T23:51:59.097 回答
4

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

# 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

于 2020-09-28T17:25:41.857 回答