允许sphinx函数/方法描述中的参数链接是可链接的

sphinx-paramlinks的Python项目详细描述


允许^{tt1}的Sphinx扩展$ python文档中的指令是可链接的。

这是一个实验性的,可能没有用的扩展,被 SQLAlchemy项目和相关项目。

配置

只要在conf.py

extensions = [
            'sphinx_paramlinks',

            # your other sphinx extensions
            # ...
        ]

样式表

段落链接包含一个简短的样式表,允许链接 悬停时可见。这张纸叫做 sphinx_paramlinks.css插件会将其复制到_static 自动输出的目录。样式表被添加到 css_fileslist通过 Sphinx.add_stylesheet()钩子。

功能

  • :param:指令在sphinx函数/方法描述中 将给它们一个段落链接以便它们可以链接 到外部。

  • 添加了一个新的文本角色:paramref:,其工作方式类似于:meth::func:等。只需附加参数名作为附加标记:

    :paramref:`.EnvironmentContext.configure.transactional_ddl`
    

    指令使用现有的Python角色来执行方法/函数 查找,首先搜索:meth:,然后搜索:class:,然后搜索 :func:role;然后分别应用参数名以生成 最终参考链接。(0.3.4中的新功能,搜索:meth:/:func:/ :class:单独使用,而不是使用:obj:来捕获大量 没有参数的东西)

  • paramlinks也被添加到主索引和列表中 域对象,它允许通过 搜索索引.js系统。(0.3.0中的新功能)

兼容性

python兼容性

该扩展是在Python2.7上开发的,但至少与 python 3.3也是。它包含一个u''literal-再次支持这些 从Python3.3开始。

斯芬克斯相容性

我试过very对狮身人面像做尽可能少的假设 并且只使用非常简单的公共api,以便将来的架构更改 sphinx版本不会破坏这个插件。为了开发这个插件 花了很多时间和狮身人面像的来源和尝试了许多不同的方法 功能的各种元素;希望这里是简单的 基于狮身人面像目前的扩展能力,尽可能稳定。

一个涉及到使用一些内部构件的元素是 sphinx.domains.python.PyXRefRole类,它当前是 sphinx类,它定义诸如:meth:之类的角色, :func:等。对象按原样使用,以便定义 :paramref:role;此角色的产品稍后被转换 使用标准挂钩。

另一个假设是,为了定位rst节点sphinx 为:param:标记创建,我们查看nodes.strong, 假设这是当前用于渲染的节点类型 :param:在rst中。如果此更改,或需要扩展到 支持其他域,此遍历可以根据需要打开。 这部分很难,因为狮身人面像真的没有提供任何挂钩。 如何处理域的“信息字段列表”方面。

总的来说,这里的方法是将额外的信息应用于构造 进入狮身人面像系统,然后做一些数据转换 回来了。这几乎不依赖于狮身人面像 尽可能的,而不是自定义域和大量使用 可能在将来的版本中更改的注入的API。

未来的增强功能/缺少的功能

扩展当前仅在 python角色,但也可以扩展为支持其他python角色 元素,如:returns::raises:等,也许还有 可以在其他角色中支持类似的功能。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javagae/JPA/Datastore如何查询无主列表   java从xml中读取未知元素   java如何在控制台上显示MavReplugin单元测试覆盖率报告   java什么被认为是遍历LDAP DIT的正确方法?   Eclipse(Java)在创建了一个新包之后,我无法向其中添加源文件   java new REngine启动并立即停止   java Android:如何从保存在SQLite数据库中的listview中删除项目?   找不到java Gradle DSL方法:“compile()”错误   java使用POI获取具有特定列名的每一行中的值   java解析JSON文件   java中断for循环,返回4个结果,而不是2个   LDAP处理过程中发生java未分类异常;嵌套的异常是javax。命名。NamingException   当表单在基于spring3注释的控制器中验证失败时,java引用数据将丢失   java Android,从web获取数据并更新UI(多线程和MVC设计模式)   用于OS X Yosemite的java优化Swing程序