如何更改警告警告的格式或在 Sphinx HTML 输出中添加警告
How to change format of Warning admonition or add Caution in Sphinx HTML output
这看起来应该很简单,但我一直在查阅文档和网络,但没有找到答案。
我想从 Sphinx 输出 HTML 文档。理想情况下,我想要三个级别的 "note" 类型突出显示的文本框。 ReST 定义了几个 "admonitions": (http://docutils.sourceforge.net/docs/ref/rst/directives.html#admonitions) 但大多数 Sphinx HTML 主题包括仅用于注释和警告的特殊格式。 (我使用的是预装主题之一,Classic。)
我有两个问题:
1) 如何自定义文档警告后面的颜色?
2) 如何为警告添加格式样式?
我看到这些都以 HTML 输出中的 <div class="admonition warning"> ...
之类的标签结尾。但是我找不到 class 的格式定义在哪里。它在样式表中吗?它是在 layout.html 文件还是其他文件中?
有什么可以解释主题中的各种文件实际上是如何相互作用的吗?我还没有找到好的入门书。 (我也不是基于 css 的 HTML 方面的专家,所以这可能是问题的一部分。)
好的,我了解了更多信息并找到了可行的解决方法。 (我仍然不确定该如何处理。)
看起来我的 HTML 代码是直接从与输出一起存储在名为 _static 的目录中的一些级联样式表中读取的。有 classic.css,它继承自 basic.css。
我不明白这些与 Python Sphinx 安装中名为 basic.css_t 的文件有什么关系。
要更改内容,我应该 (A) 尝试更改 _t 文件吗?或 (B) 创建位于我的源目录中的 classic.css 的更改本地副本?
如果我选择 B,更多问题。
- 它会在构建时被 css_t 模板中的值覆盖吗? (我想这很容易测试)
- 为该样式表的修改版本使用相同的文件名是一种好习惯吗?
这里有一个解决方法可以避免这些问题,并且似乎正在做我想做的事情——来自:https://github.com/snide/sphinx_rtd_theme/issues/117
- 我创建了一个覆盖样式表,其中仅包含我要更改的格式。
- 我将它存储在源目录的_static 中。
我在我的conf.py中定义如下:
html_context = {
'css_files': [
'_static/theme_overrides.css',
],
}
现在,那个 github 讨论说这不是适用于所有主题(包括问题中提到的 RTD 主题)的解决方案,但我认为我现在是安全的。
我还应该知道什么?
这看起来应该很简单,但我一直在查阅文档和网络,但没有找到答案。
我想从 Sphinx 输出 HTML 文档。理想情况下,我想要三个级别的 "note" 类型突出显示的文本框。 ReST 定义了几个 "admonitions": (http://docutils.sourceforge.net/docs/ref/rst/directives.html#admonitions) 但大多数 Sphinx HTML 主题包括仅用于注释和警告的特殊格式。 (我使用的是预装主题之一,Classic。)
我有两个问题:
1) 如何自定义文档警告后面的颜色?
2) 如何为警告添加格式样式?
我看到这些都以 HTML 输出中的 <div class="admonition warning"> ...
之类的标签结尾。但是我找不到 class 的格式定义在哪里。它在样式表中吗?它是在 layout.html 文件还是其他文件中?
有什么可以解释主题中的各种文件实际上是如何相互作用的吗?我还没有找到好的入门书。 (我也不是基于 css 的 HTML 方面的专家,所以这可能是问题的一部分。)
好的,我了解了更多信息并找到了可行的解决方法。 (我仍然不确定该如何处理。)
看起来我的 HTML 代码是直接从与输出一起存储在名为 _static 的目录中的一些级联样式表中读取的。有 classic.css,它继承自 basic.css。
我不明白这些与 Python Sphinx 安装中名为 basic.css_t 的文件有什么关系。
要更改内容,我应该 (A) 尝试更改 _t 文件吗?或 (B) 创建位于我的源目录中的 classic.css 的更改本地副本?
如果我选择 B,更多问题。
- 它会在构建时被 css_t 模板中的值覆盖吗? (我想这很容易测试)
- 为该样式表的修改版本使用相同的文件名是一种好习惯吗?
这里有一个解决方法可以避免这些问题,并且似乎正在做我想做的事情——来自:https://github.com/snide/sphinx_rtd_theme/issues/117
- 我创建了一个覆盖样式表,其中仅包含我要更改的格式。
- 我将它存储在源目录的_static 中。
我在我的conf.py中定义如下:
html_context = { 'css_files': [ '_static/theme_overrides.css', ], }
现在,那个 github 讨论说这不是适用于所有主题(包括问题中提到的 RTD 主题)的解决方案,但我认为我现在是安全的。
我还应该知道什么?