Как мне вложить директиву в другую директиву, такую ​​как .. code-block :: - PullRequest
0 голосов
/ 17 октября 2018

Итак, я пытаюсь использовать sphinx для создания документации на python.У меня есть расширение (https://github.com/lunaryorn/sphinxcontrib-programoutput), которое я использую для вызова одного из моих исходных файлов Python, чтобы показать текст использования, такой как .. command-output:: python ../src/something.py --help, который работает нормально, проблема в том, что я хочу раскрасить код вывода.

Я пытался поместить .. code-block:: sh поверх него, но я не могу понять, есть ли способ наложить их так.

Возможно ли это вообще?

Редактировать: Дополнительная информация

Итак, вот часть моего первого исходного файла:

..command-output:: python ../project/module.py --help

В результате будет создан HTML, например, так:

<code><div class="highlight-text notranslate">
    <div class="highlight">
        <pre>
            <span></span>
            $ python ../project/module.py --help
            usage: module.py [-h][-d | -q]

            This is a project

            optional arguments:
              -h, --help            show this help message and exit

            logging arguments:
              Control what log level the log outputs (default: logger.INFO)

              -d, --debug           Set log level to DEBUG for more verbose output
              -q, --quiet           Suppress all logs except ERROR and CRITICAL
        

Проблема здесь в том, что выходные данные об использовании просто черно-белые, но я хотел бы, чтобы синтаксис был выделен, как если бы это был шелл-код, или любой другойязык (так как этот вывод команды может использоваться для других видов вывода).

Как отмечено ниже https://stackoverflow.com/users/2214933/steve-piercy отмечает, что .. code-block:: не может иметь под собой другую директиву, которая является чем-тоЯ пытался получить работу. Так что я искал, чтобы как-то быть в состояниираскрасить вывод command-output, как если бы он был изменен директивой .. code-block::.

1 Ответ

0 голосов
/ 18 октября 2018

Прежде всего, sphinxcontrib-programoutput больше не поддерживается.Я бы предложил использовать sphinxcontrib-autoprogram.

Оба расширения генерируют похожий блок использования (пример https://docs.pylonsproject.org/projects/pyramid/en/latest/pscripts/pcreate.html),, поэтому в настоящее время нет способа стилизовать биты в этом разделеВывод. Вы можете стилизовать последующий список опций.

Вы можете подать вопрос как запрос на добавление функции или изменить источник самостоятельно и отправить PR.

...