
나는 스핑크스와 함께 *.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은 댓글을 허용하지 않습니다.
- 문자열을 따옴표로 묶어야 함
- 사전 값은
{
및}
- 마지막 키-값 쌍 뒤의 쉼표는 허용되지 않습니다.
어휘 분석기를 사용할 수 없는 경우 경고 메시지가 달라집니다.
WARNING: Pygments lexer name 'xyz' is not known