如何更改警告警告的格式或在Sphinx HTML输出中添加警告

时间:2015-12-28 17:34:58

标签: html python-sphinx

这似乎应该是直截了当的,但我一直在浏览文档和网络,并且找不到答案。

我想从Sphinx输出HTML文档。理想情况下,我希望有三个级别的"注意"键入突出显示的文本框ReST定义了几个" admeitions" :( http://docutils.sourceforge.net/docs/ref/rst/directives.html#admonitions)但是大多数Sphinx HTML主题仅包括Note和Warning的特殊格式。 (我正在使用其中一个预装的主题,Classic。)

我有两个问题:

1)如何在文档中自定义警告背后的颜色?

2)如何为警告添加格式样式?

我发现这些都会在HTML输出中以$.ajax({ url : "<?php echo site_url('jeans/ajax_lihat/')?>/" + id_jeans, type: "GET", dataType: "JSON", success: function(data) { $('[name="tpotongan"]').val(data.tpotongan); $('[name="potongan"]').val((data.cutting*100)/data.tpotongan); $('#modal_formlihat').modal('show'); $('.modal-title').text('Edit Person'); }, error: function (jqXHR, textStatus, errorThrown) { alert('Error get data from ajax'); }, }); 之类的标签结尾。但我无法找到定义该类格式的位置。它是在样式表中吗?是在layout.html文件还是其他文件中?

有没有什么可以解释主题中的各种文件实际上是如何相互影响的?我还没找到好的入门书。 (我也不是基于CSS的HTML的专家,所以也许这就是问题的一部分。)

1 个答案:

答案 0 :(得分:1)

好的,我想出了更多,并有一个工作的解决方法。 (我仍然不确定我应该如何处理这个问题。)

看起来我的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主题),但我认为我现在很安全。

我还应该知道什么?