如何使用sphinx生成python文档时保留换行符
我正在使用Sphinx生成一个python项目的文档。 输出的html不保留文档string中存在的换行符。 例:
码
def testMethod(arg1,arg2): """ This is a test method Arguments: arg1: arg1 description arg2: arg2 description Returns: None """ print "I am a test method"
狮身人面像O / P:
TestModule.testMethod(arg1, arg2) This is a test method Arguments: arg1: arg1 description arg2: arg2 description Returns: None
任何想法如何解决它?
一般在重组文本中使用
| Vertical bars | like this
保持换行
如果将以下内容添加到主.rst文件中:
.. |br| raw:: html <br />
然后在你的标记中你可以添加|br|
为HTML创build换行符。
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
这个答案来得晚,但也许对别人有用。
您可以在文档string中使用reStructuredText
。 这看起来像
:param arg1: arg1 description :type arg1: str :param arg2: arg2 description :type arg2: str
从示例的外观看来,您似乎正在使用Google样式文档( http://google-styleguide.googlecode.com/svn/trunk/pyguide.html?showone=Comments#Comments )。
狮身人面像本身不支持这些。 然而,有一个名为napoleon
的扩展,它可以在https://pypi.python.org/pypi/sphinxcontrib-napoleonparsingGoogle和Numpy风格的文档。;
要使用扩展名,你必须将'sphinxcontrib.napoleon'
添加到你的Sphinx conf.py
(通常是doc/source/conf.py
)的extension
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读取文档string( """ my doc string """
)。 我最终在所有需要添加换行符的地方使用\n
:
This is the first line\n and this is the second line\n