在我尝试过的每个渲染器中,code
和code-block
似乎都有完全相同的结果:一段代码。两者都生成完全相同的html - 包括类和标签类型(使用我认为它是docutils?):
<pre class="code [language] literal-block">
那么,有什么区别?为什么我们两个都有?是否有任何渲染器以不同的方式呈现它们?是否存在语义差异?
答案 0 :(得分:11)
code
是一个reStructuredText指令。
code-block
是Sphinx指令。
code-block
有一组与code
指令不同的选项。
例如。 :emphasize-lines:
在使用Sphinx时,我建议使用code-block
指令。
使用code-block
时,我总能得到正确的突出显示。使用code
时,我有时会获得颜色,有时只会获得文字代码块。我还没弄清楚conf.py中可预测产生彩色输出的设置组合。
code
指令确实具有以下优点:文档既可以在Sphinx文档树中使用,也可以在独立的reStructuredText文档中使用。