首页 > 解决方案 > Sphinx - 在代码块片段中使用省略号 (...)

问题描述

假设您记录了一个长代码片段,并且您想用省略号 ... ( …) 和垂直省略号 ⋮ ( ⋮) 来表示其中的重复值和行。

这是 JSON 格式的示例记录。有 26 个孩子,你不想把他们都展示出来。

.. code-block:: json

   {
       "total": 26,
       "kids" [
           {
               "_id":  1,
               "name": "Alice",
               "age":  3
           },
           {
               "_id":  2,
               "name": "Becky",
               "age":  3
           },
           ...,
           {
               "_id":  26,
               "name": "Zoe",
               "age":  4
           }
       ]
   }

人类读者仍然可以将其视为 JSON 片段/代码,概括并猜测省略号 (...) 表示的“Becky”“Zoe”之间的模式。

但是 Sphinx 会返回错误,因为此代码段的语法无效。

$ make html
...
/.../docs/source/sample.rst:3: WARNING: Could not lex literal_block as "json". Highlighting skipped.

我可以在代码块中使用省略号(带有语法突出显示)吗?请注意,示例不一定是 JSON。您也会在其他语言(例如 Python)中看到此问题。

标签: python-sphinx

解决方案


添加选项:force:并添加自定义 CSS 以禁用错误突出显示:

.highlight .err {
    border: inherit;
    box-sizing: inherit;
}

渲染结果


推荐阅读