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