Sphinx - 在 code-block 片段中使用省略号 (...)

Sphinx - Use ellipses (…) in code-block snippets

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

这是 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 snippet/code,概括并猜测 "Becky" 和 [=25= 之间的模式]"Zoe" 由省略号 (...) 表示。

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

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

我可以在 code-block 中使用省略号(带语法高亮显示)吗?请注意示例不必在 JSON 中。您也会在 Python 等其他语言中看到此问题。

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

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