sphinx:格式化多行文档字符串

时间:2012-08-18 09:55:18

标签: python documentation python-sphinx

使用sphinx autodoc,有没有办法以特殊方式格式化多行文档字符串的第一行?

考虑:

def whatever():
    """This function does something.

    This really should have a full function definition, but I am too lazy.
    Some more stuff.
    """

正在生成的html代码:

<dd>
<p>This function does something.</p>
<p>This really should have a full function definition, but I am too lazy. Some more stuff.</p>
</dd>

我希望它像:

<dd>
<p class='headline'>This function does something.</p>
<p>This really should have a full function definition, but I am too lazy. Some more stuff.</p>
</dd>

1 个答案:

答案 0 :(得分:3)

据我所知,autodoc并没有给你很多标记文档字符串的能力,尤其是在向文档字符串添加自定义样式方面。有两种方法可以解决这个问题:1)将第一行包裹在**This function does something**中,这样它就会加粗。 2)编写一个自定义的sphinx扩展,它在autodoc解析之前拦截文档字符串,并相应地修改内容。

(我最终走上了选项2的道路,以便在我的文档字符串中包含节标题...这是该扩展程序的source。它不能满足您的需求,但它可能是作为起点有用,特别是_remove_oneline函数对模块文档字符串的作用。