Как сохранить разрывы строк при создании документов python с использованием sphinx

Я использую Sphinx для генерации документов для проекта python. Выходной html не сохраняет разрывы строк, которые присутствуют в docstring. Пример:

Код

def testMethod(arg1,arg2): """ This is a test method Arguments: arg1: arg1 description arg2: arg2 description Returns: None """ print "I am a test method" 

Sphinx O / P:

 TestModule.testMethod(arg1, arg2) This is a test method Arguments: arg1: arg1 description arg2: arg2 description Returns: None 

Любая идея, как это исправить?

5 Solutions collect form web for “Как сохранить разрывы строк при создании документов python с использованием sphinx”

В целом при использовании реструктурированного текста

 | Vertical bars | like this 

держать разрывы строк

Если вы добавите следующее в свой основной файл .rst:

 .. |br| raw:: html <br /> 

Затем в вашей разметке вы можете добавить в |br| для создания строк только для HTML.

 I want to break this line here: |br| after the break. 

От: http://docutils.sourceforge.net/FAQ.html#how-to-indicate-a-line-break-or-a-significant-newline

Этот ответ приходит поздно, но, возможно, он будет полезен другим.

Вы можете использовать reStructuredText в своих документах. Это будет выглядеть примерно так:

 :param arg1: arg1 description :type arg1: str :param arg2: arg2 description :type arg2: str 

Однако из-за внешнего вида вашего примера кажется, что вы используете стиль Google для docstrings ( http://google-styleguide.googlecode.com/svn/trunk/pyguide.html?showone=Comments#Comments ).

Сфинкс не поддерживает их. Тем не менее существует расширение, называемое napoleon которое анализирует Docstrings стиля Google и Numpy на странице https://pypi.python.org/pypi/sphinxcontrib-napoleon .

Чтобы использовать расширение, вам нужно добавить 'sphinxcontrib.napoleon' в список extension в вашем Sphinx conf.py (обычно doc/source/conf.py ), поэтому он становится чем-то вроде

 extensions = [ 'sphinx.ext.autodoc', 'sphinxcontrib.napoleon', 'sphinx.ext.doctest', ] 

В вашем случае вы можете написать:

 def testMethod(arg1,arg2): """ This is a test method | Arguments: | arg1: arg1 description | arg2: arg2 description | Returns: | None """ print "I am a test method" 

В моем конкретном случае я пытался получить autodoc для чтения строки doc ( """ my doc string """ ). Я закончил использовать \n везде, где мне нужно было добавить разрыв строки:

 This is the first line\n and this is the second line\n 
  • Замены внутри ссылок в reST / Sphinx
  • Самый простой способ запустить Sphinx в одном файле python
  • Определение целей для межсинхронных ссылок на numpy, scipy и matplotlib
  • sphinx генерирует обзор модулей классов
  • Использование Sphinx для написания личных веб-сайтов и блогов
  • Расширение документации документации Sphinx работает по-разному для вывода HTML и LaTeX?
  • Как предварительно обрабатывать исходные файлы при запуске Sphinx?
  • Блокировка текста пустым строками в Sphinx (python)
  • Маркировка классов и / или методов, устаревших в Sphinx
  • Добавление пользовательского тега в Sphinx
  • Документ python с использованием Eclipse / Pydev
  •  
    Interesting Posts for Van-Lav

    Отправить команду DOS в виртуальных машинах cmd через скрипт python

    Python – получение всех изображений из html-файла

    Команда pip3: команда не найдена, но python3-pip уже установлен

    Использование «десятичного разряда» в Python

    Python: учитывая дату и день недели, найдите дату следующего появления заданного рабочего дня

    Django: Как получить разницу во времени с постом времени?

    Установка значения во вложенном словаре python с учетом списка индексов и значений

    объект .__ новый __ (thread.lock) небезопасен, используйте thread.lock .__ new __ ()

    преобразование текстового документа в текстовый документ с помощью словаря vocabulary_id и соответствующего tfidf

    Python с расширением ZIP64 при сжатии больших файлов

    ImportError: нет модуля с именем Crypto.Cipher

    В чем разница между SimpleNamespace и пустым определением класса?

    Атрибут PythonError на __del__

    Аргумент Python argparse: аргумент командной строки, который может быть либо именованным, либо позиционным

    Как найти «имя импорта» любого пакета в Python?

    Python - лучший язык программирования в мире.