
我嘗試在 sphinx 的 *.rst 文件中使用 json 詞法分析器。這個有效:
.. code-block:: console
//Comment
key1: value,
key2: value2,
但是當我嘗試像這樣使用 json 時:
.. code-block:: json
//Comment
key1: value,
key2: value2,
我收到一個錯誤
WARNING: Could not lex literal_block as "json". Highlighting skipped.
我查了一下pygmentize -L lexers | grep json
,但返回的是 json 已在船上。這裡有什麼問題?
答案1
我也想知道這個警告!
我調查了一下,發現 JSON 詞法分析器可用,但我的程式碼實際上不是有效的 JSON,因此 Sphinx 停用了此程式碼片段的詞法分析器。
如果您將程式碼區塊更改為有效的 JSON,突出顯示應該會再次起作用!
請注意(IIRC):
- JSON 不允許註釋
- 字串必須加引號
- 字典值必須包含在
{
and中}
- 最後的鍵值對後面不允許有逗號
請注意,如果詞法分析器不可用,則警告訊息會有所不同:
WARNING: Pygments lexer name 'xyz' is not known