如何在Sphinx autodoc中的函数签名之间创建水平线和空白

问题描述 投票:0回答:1

我已经找到了我想执行的大多数操作的狮身人面像选项,但是使用autodoc时,我看不到如何在函数签名之间插入空格和水平线。

这是autodoc产生的内容:

get_all_edges(network=None, base_url='http://localhost:1234/v1')
   docstring for get_all_edges

get_all_nodes(network=None, base_url='http://localhost:1234/v1')
   docstring for get_all_nodes

get_edge_count(network=None, base_url='http://localhost:1234/v1')
   docstring for get_edge_count

这是我想要得到的:

get_all_edges(network=None, base_url='http://localhost:1234/v1')
   docstring for get_all_edges

   ------------------------------------------------------------

get_all_nodes(network=None, base_url='http://localhost:1234/v1')
   docstring for get_all_nodes

   ------------------------------------------------------------

get_edge_count(network=None, base_url='http://localhost:1234/v1')
   docstring for get_edge_count

...或与此相似的东西。我对最后一个函数签名是否具有尾随分隔符不满。也许这很简单,但我没有看到。谢谢!

FYI,这是产生我的函数签名的autodoc指令:

PyCy3.networks module
---------------------

.. automodule:: PyCy3.networks
    :members:
    :undoc-members:
    :show-inheritance:
python formatting python-sphinx read-the-docs autodoc
1个回答
0
投票

事实证明,在进行了一天的研究之后,这并不难... :)

关键见解是:

  1. autodoc创建HTML,以便每个函数都具有class =“ function”
  2. 类“函数”没有在任何地方定义……它只是一个钩子这个目的
  3. 可以结合使用_template来定义“功能”和_static文件夹放在我的doc文件夹中

#3的灵感在这里:Modifying content width of the Sphinx theme 'Read the Docs'

((我am使用readthedocs,所以我不确定是否可以在命令行狮身人面像上使用。)

就我而言,“ docs”文件夹包含我所有的狮身人面像文件。我创建了新的子文件夹:“ _ templates”和“ _static / css”。

在_templates中,我创建了一个新文件“ layout.html”:

{% extends "!layout.html" %}
{% set css_files = css_files + [ "_static/css/functions.css" ] %}

在_static / css中,我创建了一个新文件“ functions.css”:

.function {
    border-bottom: 3px solid #d0d0d0;
    padding-bottom: 10px;
    padding-top: 10px;
}

因此,layout.html扩展了默认的layout.html并注入了我的新CSS。

我认为autodoc为此目的为函数签名的各个元素创建了其他钩子(例如sig-name,sig-paren和sig-param)。您可以通过使用网页调试器中的Chrome的页面源检查器自己找到它。

© www.soinside.com 2019 - 2024. All rights reserved.