Sphinx не может включить мой файл определения JSON из-за указателей json - PullRequest
0 голосов
/ 14 февраля 2019

Я документирую мою схему JSON, используя Sphinx для размещения ее в ReadTheDocs.

Когда у меня есть определения в моем файле основной схемы, все хорошо.Но я хочу переместить мои определения во внешний файл json.

Мой код меняется с

"$ref": "#/definitions/positiveNumber"

на

"$ref": "./general.definitions.json#/definitions/positiveNumber"

Мой general.definitions.json файл выглядит следующим образом:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/andrejellema/GlobalCoffeeDataStandard/master/schema/general.definitions.json",
  "title": "General definitions",
  "definitions": {
    "percentage": {
      "title": "The percentage, 0-100",
      "description": "The percentage, from 0 to 100 with decimals allowed",
      "$comment": "Duplicate in /productionCosts.json",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "positiveNumber": {
      "title": "A positive number > 0",
      "description": "A positive number starting at 0 with decimals allowed",
      "type": "number",
      "minimum": 0
    },
    "greaterThanZero": {
      "title": "The positive number, greater than 0",
      "description": "A positive number starting at greater than 0 with decimals allowed",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "yesNo": {
      "title": "Yes-No enumeration",
      "type": "string",
      "enum": [
        "Yes",
        "No"
      ]
    }
  }
}

Мой первый контент, который не работает:

.. literalinclude:: ../../schema/general.definitions.json#/definitions/positiveNumber
   :language: json
   :linenos:
   :caption: Object description

Мой первый контент, который работает:

.. literalinclude:: ../../schema/global-unique-id.json
   :language: json
   :linenos:
   :caption: Object description

Когда я звоню make html, я получаюэта ошибка:

[...]\docs\source\explanation.rst:1360: WARNING: Include file '[...]\\schema\\general.definitions.json#\\definitions\\positiveNumber' not found or reading it failed

Файл существует в этом месте.Кажется, Sphinx неправильно обрабатывает указатель JSON.

Что я могу сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 15 февраля 2019

Sphinx не понимает синтаксис указателя JSON.

Чтобы выделить определенную строку во включенном файле JSON, вы можете использовать параметр :emphasize-lines:.Пример:

.. literalinclude:: ./general.definitions.json
   :language: json
   :linenos:
   :emphasize-lines: 14
   :caption: Object description
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...