【问题标题】:Omit module names from cross-reference to classes从对类的交叉引用中省略模块名称
【发布时间】:2014-05-01 10:22:05
【问题描述】:

背景

我有一个名为ciscoconfparse 的项目,它记录在Sphinx 中;该项目的文档是here

source code directory 有多个文件:

  • ciscoconfparse.py 包含类 CiscoConfParseIOSConfigList
  • models_cisco.py 包含一个名为 IOSCfgLine 的类

这是我如何记录 IOSCfgLine...

的示例
.. module:: models_cisco

IOSCfgLine Object
-----------------

.. autoclass:: IOSCfgLine
      :members:
      :inherited-members:

现有的 Sphinx 文档包含可怕的类超链接,包括文件名和类名;一个例子是models_cisco.IOSCfgLine

示例文档截图:

问题

如何使用autoclass 记录各种 Python 文件中的类,并且在呈现的文档中看到类名,而不是类中包含的文件名?换句话说,我只想看到指向IOSCfgLine 而不是models_cisco.IOSCfgLine 的超链接。

【问题讨论】:

    标签: python python-sphinx cross-reference


    【解决方案1】:

    要在链接中只看到名称本身,您可以在链接中使用~

    :class:`~models_cisco.IOSCfgLine`
    

    这将呈现为IOSCfgLine 而不是models_cisco.IOSCfgLine


    但是,如果我在您的代码库中正确地看到它,那么所有类都在顶级包名称空间中可用。所以你也可以这样记录它们(所以没有.. module:: models_cisco,但是.. module:: ciscoconfparse)。

    【讨论】:

      猜你喜欢
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 1970-01-01
      相关资源
      最近更新 更多