在Sphinx文档中将输出添加到交互式Python控制台块?

时间:2014-04-15 18:19:49

标签: python python-sphinx

如何在Sphinx文档中将输出添加到交互式Python控制台块?

例如,我可以这样做:

First set the variable::

    >>> x = 1

Then print the variable::

    >>> print x

让Sphinx自动将print x的输出插入到文档中吗?

我试过了:

还有什么可以做到的吗?

2 个答案:

答案 0 :(得分:3)

好的,我已经在这里建立了其中一个:https://bitbucket.org/wolever/sphinx-contrib/src/tip/autorun2/?at=default

答案 1 :(得分:1)

为Sphinx撰写扩展程序的文档位于http://sphinx-doc.org/extdev/index.html#dev-extensions

我要提出的唯一提示是使用self.state.nested_parse(..)将为您节省很多麻烦。这是我最简单的扩展:

class SvnRevisionDirective(Directive):
    """Directive to display subversion revision of the path.
    """
    has_content = True
    required_arguments = 1
    optional_arguments = 1
    final_argument_whitespace = False
    option_spec = {}

    def run(self):
        path = self.arguments[0]
        rev = svntools.Revision(path)   # uses subprocess etc.
        paragraph = nodes.paragraph()
        self.state.nested_parse(
            StringList([
                '**Revision:** r%d' % rev   # you can use regular rst syntax here(!)
            ]), 0, paragraph)
        return [paragraph]

...

def setup(app):
    ...
    app.add_directive('svnrevision', SvnRevisionDirective)

它像

一样使用
.. snvrevision: 'my/file.py'