Sphinx和重组文本:单个块中突出显示多个代码



我是新手的sphinx。我正在为嵌入式UDF编写一些文档,该文档需要一个代码块包含2种语言(例如SQL和Python)。目前,我只能看到如何在一个块中拥有单个亮点语言。

是否可以在块中"切换"语言?以下是重组文本的一个示例,它导致了我想合并为一个的3个代码块。只需删除第二和第三个" ::"不起作用。

.. highlight:: sql
::
    SELECT * FROM
    EXTERNAL SCRIPT(
.. highlight:: R
::
    #Some R markup
    MEANS = matrix(runif(nclust*ndim)*sqrt(nclust)*sep, nrow = nclust)
    VARS = matrix(runif(nclust)*ndim, nrow = nclust)
    ps = 1:nclust
    ps = ps/sum(ps)
.. highlight:: sql
::
    )
    FROM myshema.mySQLtable

我是99%肯定不能按默认情况下完成,并且您使用单独的"突出显示"块的解决方案是显示多种语言的标准过程。

我相信这是最好的,因为在一个块中混合代码通常是一个坏主意,因为它会使读者感到困惑。

另外,当将重组文本转换为HTML时,使用样式表使所有内容看起来都很漂亮,并且包括默认样式表。如果您进行一些研究,我敢肯定,您可以编辑该样式表或制作自己的样式表,也许可以使"边界"不可见,而"边缘最低"零像素用于"突出显示"块。

您可以尝试此扩展名以在选项卡中具有不同的语言:

https://bitbucket.org/birkenfeld/sphinx-contrib/src/c30b46a0a1b5c21ec9977e6abc598d06543166ac2/examplecode/examplecode/?

最新更新