当使用 Github 页面托管 Sphinx 文档时,可能需要为代码的不同分支或标签托管同一文档的多个版本。但是,两者sphinxcontrib-multiversion都sphinxcontrib-versioning没有得到积极维护,并且不能与最新版本的 Sphinx 一起使用。
如果不想使用 ReadTheDocs,并且想坚持 Alabaster 主题,那么正确的解决方案是什么?
我正在尝试使用Sphinx for Python制作彩色盒子.
例如,这个网站有很多灰色div或框(不是Note):http://sphinx.pocoo.org/ext/autodoc.html
我想知道他们是如何设法制作盒子的,因为这个网站也是用sphinx创建的.
我找到的一件事是,Sphinx内置彩色框,如下所示:http://openalea.gforge.inria.fr/doc/openalea/doc/_build/html/source/sphinx/rest_syntax.html#colored-boxes -note-seealso-todo-and-warnings.如果他们在开头没有"Note:","SeeAlso"或"Warning"这两个字,那么这些盒子对我来说非常合适.
任何帮助是极大的赞赏.
我刚刚使用Sphinx创建了我的文档,这是我的问题:最初在Toc树指令中是空的,然后我在下面添加"教程",它看起来像这样:
.. toctree::
:maxdepth: 2
tutorial
Run Code Online (Sandbox Code Playgroud)
当我"制作HTML"时,我没有在索引页面上获得"教程".然后我在与index.rst相同的dircetory中创建了一个tutorial.rst.我再次"制作html"并收到此错误消息:"toctree包含对不存在的文档的引用".
我该如何解决 ?谢谢.
我正在使用自动生成的Makefile通过Sphinx生成PDF 。我通常使用以下命令生成它:
make latexpdf
Run Code Online (Sandbox Code Playgroud)
但是,我现在包括唯一的指令,以便某些部分有条件地显示(如果我在命令行中包含相关标签,则应该发生这种情况)。
我在源文件中添加了以下reST标记:
Hello world
.. only:: draft
This is some draft content.
Run Code Online (Sandbox Code Playgroud)
我尝试生成PDF,如下所示:
SPHINXOPTS="-t draft" make latexpdf
Run Code Online (Sandbox Code Playgroud)
...但是输出与我将make latexpdf正常运行时的输出相同,因此不会显示“ only”部分。我的reST或命令行调用是否存在问题?
(此外,如果可能的话,我想指定多个标签,例如draft和admin。)
我想打印在我的项目中的所有 sphinx 文档中定义的所有标签的列表,包括我像这样手动定义的标签
.. _mylabel:
Run Code Online (Sandbox Code Playgroud)
以及 sphinx 自动生成的标签,例如 :ref:`genindex` 和 :ref:`search`。
对于大型项目,我经常忘记我如何拼写某些标签(我称它为“示例”、“示例”还是“宗派示例”?)。如果我可以打印出任何文件中定义的所有标签,我可以查看该列表并识别名称,而无需每次我想引用某些文件时都检查单个文件。
我们从Sphinx切换为样式NumPy文档字符串,并且.. sectionauthor::似乎无法正确呈现。但是,我们需要能够为一个类的每个方法分配一个作者。
有没有一种方法可以适当地向NumPy文档字符串添加作者身份?
一个简单的例子:
class A:
def f(self):
""" My function
It does this and that.
Returns
-------
object
.. sectionauthor:: name of the author
Examples
--------
>>> A().f()
"""
pass
Run Code Online (Sandbox Code Playgroud)
编译到此帮助文档中(注意问题返回:部分):
PS .. sectionauthor::在NumPy docstring中建议在其他地方使用(无法回忆起源代码),因此也许根本就没有正确使用/放置它。
我正在为我的一个项目使用Sphinx Doc创建文档,并且我在整个文档中使用了很多次单词,例如 - IP地址,端口号和许多其他可能随时间变化的内容.如果由于某种原因,其中一个将被更改,我想在一个地方简单地改变它,而不是在每个文件中手动改变它.我正在寻找的是一种创建某种资源文件/变量的简单方法,可以从我的所有.rst文件中轻松访问.
我找到了这个:
my_config_value = 'test'
rst_epilog = '.. |my_conf_val| replace:: %s' % my_config_value
Run Code Online (Sandbox Code Playgroud)
它几乎是完美的,但我想要有很多变数.使用上面的方法,我只能使用一个 - 这还不够.
我也找到了使用方法sphinx.ext.extlinks.它工作正常,但并不完全符合我的想法.我在我的使用中conf.py:
extlinks = {'test': ('bla_bla_bla', None)}
Run Code Online (Sandbox Code Playgroud)
然后,在某些情况下:
:test:`1`
Run Code Online (Sandbox Code Playgroud)
结果 bla_bla_bla1
首先,这是无处的超链接.第二,我不能写
:test:` `
Run Code Online (Sandbox Code Playgroud)
甚至只是:test:,因为它不起作用.
我的问题出现了:是否有任何简单的方法来创建变量,可以在整个doc中使用?
我从sphinx-doc扩展了基本主题,我注意到基本主题宏中的以下代码块layout.html script
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
Run Code Online (Sandbox Code Playgroud)
这是否意味着我可以html_theme_options在我的内部添加如下内容theme.conf:
[options]
script_files =
Run Code Online (Sandbox Code Playgroud)
在我的内部conf.py,我添加:
html_theme_options = {'script_files': '_static'}
Run Code Online (Sandbox Code Playgroud)
但是,使用此设置,构建完全被搞砸了,并产生了以下垃圾页面:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>...</head>
<body>
-->
<!-- my js code but is automatically commented out-->
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
哪一部分出错了?我应该怎么做才能加载自己的自定义javascript?非常感谢!
Sphinx知道条件内容的两个指令:
他们之间有什么区别?
我遵循以下指南。
$ pip install sphinx sphinx-autobuild
$ pip freeze | grep "sphinx"
sphinx-autobuild==0.6.0
sphinxcontrib-websupport==1.0.0
$ cd docs
$ sphinx-quickstart
$ make html
Run Code Online (Sandbox Code Playgroud)
make html 给出以下错误:
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No module named sphinx
make: *** [help] Error 1
Run Code Online (Sandbox Code Playgroud)
[问]如何防止发生此错误?
感谢您的宝贵时间和帮助。