sphinx - 如何包含 Python 函数作为源代码

Col*_*edy 7 python python-sphinx

Sphinx 非常擅长链接到特定的 Python 对象。

例如,写

:func:`foo.bar`
Run Code Online (Sandbox Code Playgroud)

将直接链接到bar中的函数foo.py。我想要相同的功能,但是我不希望创建可点击的链接,而是希望它是bar(), 的代码。

.. code-block:: language指令要求您手动编写要添加的代码。但我想使用intersphinx链接到外部 Sphinx 项目中已存在的代码,而不是自己编写代码。:mod::func:、 和其他仅创建链接,实际上并不包含源代码。

还有,.. literalinclude:: filename但就我而言,我无法使用它,因为该函数来自 Sphinx 项目外部(它是使用 intersphinx 链接的,不是实际项目的一部分)。即使.. literalinclude:: filename可以以某种方式跨项目工作,我认为我仍然需要使用:lines:来过滤每个功能,这将是一个巨大的痛苦来跟踪。

如何通过名称空间路径引用函数/类并使用它将其源代码直接添加到 sphinx 第一个文件中?(不是可点击的链接,而是文字代码)。

Col*_*edy 3

没有人回复,所以我自己做了:https ://github.com/ColinKennedy/sphinx-code-include