小编mzj*_*zjn的帖子

如何在Sphinx文档中添加自定义页脚?(reStructuredText的)

如果我有一些文档,例如Galleria的文档,我该如何设置它以便在运行make html命令时它会在每个页面上添加一个自定义页脚?

我看到如果我将它输出为pdf格式,我可能会使用conf.py 的latex前言部分.

谢谢!

unix linux restructuredtext makefile python-sphinx

22
推荐指数
1
解决办法
5570
查看次数

如何配置Sphinx有条件地排除某些页面?

使用Sphinx生成文档时,我希望能够生成两个版本的文档:一个包含所有内容,另一个只包含一组特定页面.实现这一目标的最佳方法是什么?

我可以编写一个构建脚本来移动文件来实现这一点,但如果有一种方法可以告诉sphinx在特定构建期间排除或包含特定文档,那将会非常好.

python documentation python-sphinx

22
推荐指数
3
解决办法
6468
查看次数

使用Sphinx apidoc从C++代码生成文档

过去在这个主题上有几个主题,声称Sphinx根本不支持这个.我有疑虑,但要么它已经更新,或者它的文档被很好地隐藏了,因为这里有一个链接在网站上另外说明: http://sphinx.pocoo.org/latest/domains.html#array:牛逼:::标-operatorC

无论如何,我是Sphinx的新手,但我正在尝试使用它(最终)使用来自某些源C++代码的一些文本来自动化文档.到目前为止,当使用sphinx-apidoc -o .......命令时,我无法到达任何地方.创建了几乎空白的文档.我可能没有使用正确的指令,因为我不知道如何 - 支持文档无法帮助我.

任何人都可以提供一些帮助来完成它的工作所需的基本步骤吗?如果无法从C++自动生成文档,那么C++域是什么以及如何使用它们?

c++ documentation python-sphinx

22
推荐指数
1
解决办法
2万
查看次数

使用类型注释记录类属性

我想从docstrings自动生成文档到我的代码.我有一些基本类用于存储一些数据:

class DataHolder:
    """
    Class to hold some data

    Attributes:
        batch: Run without GUI
        debug (bool): Show debug messages
    """
    batch: bool = False
    debug: bool = False
    name: str = 'default'
    """Object name"""
    version: int = 0
    """int: Object version"""
Run Code Online (Sandbox Code Playgroud)

我的rst档案:

DataHolder
==========

.. autoclass:: data_holder.DataHolder
   :members:
Run Code Online (Sandbox Code Playgroud)

我以不同的方式记录了每个属性以显示差异,这里是输出:
在此输入图像描述

看起来Sphinx无法将该Attributes部分与真实属性连接起来,这就是为什么它无法显示其默认值.

我想要实现的最终输出是对于version定义了docstring 的字段的结果batch.我想显示具有默认值和类型的属性名称,但是从类型注释中获取.看起来Sphinx在这种情况下忽略了类型注释.

我的狮身人面像扩展:

extensions = [
    'sphinx.ext.viewcode',
    'sphinx.ext.autodoc',
    'sphinxcontrib.napoleon',
]
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能实现这种行为?我找不到这种用例的好例子.

python python-sphinx autodoc python-3.6 sphinx-napoleon

22
推荐指数
1
解决办法
820
查看次数

是否有一个Sphinx reST Python docstring字段用于收益?

我正在尝试使用reST风格的文档字符串,即

def foo(bar):
    """a method that takes a bar

    :param bar: a Bar instance
    :type bar: Bar
Run Code Online (Sandbox Code Playgroud)

是否有标准的文件记录方式yields?我查看了http://sphinx-doc.org/domains.html#info-field-lists,a-la这个问题[ 使用javadoc for Python文档 ],但没有运气.我想象的是,

    :yields: transformed bars
    :yield type: Baz
Run Code Online (Sandbox Code Playgroud)

谢谢!

python documentation restructuredtext python-sphinx

21
推荐指数
2
解决办法
5636
查看次数

Sphinx PDF主题

Sphinx文档工具是否提供不同的PDF主题,例如它提供不同的HTML主题?

我用谷歌搜索了这个问题,但找不到答案,这让我相信答案是'不'.不过,我以为我会问这里.

谢谢.

pdf themes python-sphinx

20
推荐指数
2
解决办法
1万
查看次数

狮身人面像拿破仑文件函数可以返回多个参数吗?

我正在尝试使用Google代码样式来记录函数,然后我使用带有拿破仑扩展的sphinx来创建文档.该函数是不寻常的,因为它返回两个参数.我认为拿破仑不会这样做.如果是这样,有人可以告诉我他们是如何处理的吗?

def foo(a):
'''one line summary

longer explanation

Args:
  a (int): parameter description

Returns:
  servers (list): list of servers to use
  msg (str): logging message string 
'''
pass
Run Code Online (Sandbox Code Playgroud)

也许我收到的消息是,返回多个参数并不是很好的编码风格,但是你可以这样做吗?生成的html将这两行视为一个参数的描述的一部分.如果我在服务器和msg行之间添加换行符,它会有所帮助,但它仍然记录了一个arg.

python documentation-generation python-sphinx

20
推荐指数
3
解决办法
6879
查看次数

sphinx定制的latexpdf输出?

只是好奇是否有人知道如何在使用latexpdf目标时自定义sphinx输出?我已经看到很多用于html输出的自定义内容,但似乎无法找到自定义pdf输出的任何示例.

具体来说,我有兴趣自定义标题页,页眉,页脚,并可能在内容之前添加几页前面的内容.

有没有人见过这种定制的例子,或者人们在生成pdf时几乎只使用"股票"sphinx输出?谢谢!

latex pdflatex python-sphinx

19
推荐指数
1
解决办法
7386
查看次数

reST/Sphinx中链接内的替换

我正在使用Sphinx来记录将部署在不同服务器中的Web服务.该文档中包含用户单击的URL示例,它们应该可以正常工作.我的问题是主机,端口和部署根目录会有所不同,必须为每个部署重新生成文档.

我尝试定义这样的替换:

|base_url|/path
.. |base_url| replace:: http://localhost:8080
Run Code Online (Sandbox Code Playgroud)

但生成的HTML不是我想要的(在生成的链接中不包括"/ path"):

<a href="http://localhost:8080">http://localhost:8080</a>/path
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?

python documentation restructuredtext substitution python-sphinx

18
推荐指数
2
解决办法
4378
查看次数

tag0名称空间为默认名称空间中的元素添加

我正在尝试使用Groovy的XmlSlurper解析和修改Maven的pom.xml.我的pom.xml声明了名称空间xsi.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
     http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>a-group-id</groupId>
<artifactId>an-artifact-id</artifactId>
Run Code Online (Sandbox Code Playgroud)

我的Groovy源代码如下:

import groovy.xml.XmlUtil
def pom = new XmlSlurper().parse('pom.xml')
   .declareNamespace('': 'http://maven.apache.org/POM/4.0.0',
      xsi: 'http://www.w3.org/2001/XMLSchema-instance')
//manipulate the pom
println XmlUtil.serialize(pom)
Run Code Online (Sandbox Code Playgroud)

正如您所注意到的,我已将第一个命名空间声明为空.但是在输出中,tag0随处可见.

<?xml version="1.0" encoding="UTF-8"?>
<tag0:project xmlns:tag0="http://maven.apache.org/POM/4.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
      http://maven.apache.org/maven-v4_0_0.xsd">
<tag0:modelVersion>4.0.0</tag0:modelVersion>
<tag0:groupId>a-group-id</tag0:groupId>
<tag0:artifactId>an-artifact-id</tag0:artifactId>
Run Code Online (Sandbox Code Playgroud)

怎么避免呢?

目前我的解决方法是手动删除标签:

println XmlUtil.serialize(pom).replaceAll('tag0:', '').replaceAll(':tag0', '')
Run Code Online (Sandbox Code Playgroud)

xml groovy parsing xmlslurper

17
推荐指数
1
解决办法
5475
查看次数