小编mzj*_*zjn的帖子

在(Python)Sphinx Docs中包含文本文件*

(使用Python-Sphinx文档工具)

我有一个.txt日志文件,我想建立成_build/html 未改变的.我需要做什么来改变conf.py,index.rst等等.

这是布局:

src/
    index.rst
    some_doc.rst
    somefile.txt
Run Code Online (Sandbox Code Playgroud)

我如何somefile.txt进入html构建?我尝试添加这样一行index.rst:

Contents:

.. toctree::
   :maxdepth: 2

   some_doc
   "somefile.txt"
Run Code Online (Sandbox Code Playgroud)

希望它可以通过魔法工作,但这里没有魔法!

假设这甚至可能,我会把它some_doc.rst引用/链接到该文件?

注意 是的,我知道我可以把它放在/ static中,只是用它来完成,但这看起来像是一个彻底的黑客,而且很难看.

python python-sphinx

14
推荐指数
2
解决办法
9839
查看次数

狮身人面像,最佳做法

我刚开始使用Sphinx工具为我的代码生成文档.但我有点困惑,因为它并不像我预期的那么容易.我使用以下方法创建Sphinx文档:

sphinx-quickstart
Run Code Online (Sandbox Code Playgroud)

然后我将我的*.rst文件创建到"source"文件夹中.好像我需要为我想要为其创建文档的每个模块创建一个*.rst文件.对于test.py,我创建了test.rst.在test.rst中,我有:

.. automodule:: test
    :members:
    :show-inheritance:
Run Code Online (Sandbox Code Playgroud)

然后在test.py里面,我有:

"""
.. module:: test
   :platform: Unix, Windows
   :synopsis: A useful module indeed.
"""
Run Code Online (Sandbox Code Playgroud)

然后我使用以下方法生成文档:

sphinx-build -b html source/ build/
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作,但问题是它并不像我预期的那么容易.我想必须有一个更简单的方法来跳过其中的一些步骤.我想知道是否有任何方法可以为包内的所有模块生成文档,而不是为每个模块生成*.rst文件.

谢谢.

python python-sphinx

14
推荐指数
2
解决办法
5221
查看次数

在某些地方添加javascript脚本标记,以便它适用于sphinx文档中的每个文件

我正在使用Sphinx写一些笔记.我在笔记中使用Mathjax扩展数学.数学的默认大小比我想要的大一点.在Mathjax页面上,我发现可以通过将以下脚本添加到HTML文件来更改该大小.

MathJax.Hub.Config({
  "HTML-CSS": {scale: 90}
});
Run Code Online (Sandbox Code Playgroud)

所以,我尝试在.rst文件中添加以下内容:

.. raw:: html

    <script type="text/javascript" >
        MathJax.Hub.Config({
            "HTML-CSS": {
                scale: 90
            }
        });
    </script>

==========
Objective
==========

To change math size \\( \\alpha \\).
Run Code Online (Sandbox Code Playgroud)

以上工作非常适合该特定.rst文件中的数学运算.但我想为许多不同的.rst文件执行此操作,这些文件都是同一个sphinx文档的一部分.是否可以在不将上述脚本添加到每个.rst文件的情况下执行此操作?

感谢您阅读本文,如果您能提供帮助,我们将不胜感激.

javascript python python-sphinx

13
推荐指数
1
解决办法
3326
查看次数

如何在Windows中使用Sphinx创建PDF文档

我正在使用Sphinx为我在Windows中的Python项目创建文档.我需要生成PDF文档.我在Linux中找到了很多解释如何做到这一点,但没有很好的解释如何在Windows中执行此操作.据我所知,我需要使用Sphinx创建Latex格式,而不是使用Texworks将Latex转换为PDF.假设我创建了Latex格式的文档并安装了Texworks,那么有人可以一步一步解释我该怎么做?

windows pdf python-sphinx

13
推荐指数
2
解决办法
6323
查看次数

是否可以为特定功能覆盖Sphinx autodoc?

我正在使用Sphinx的autodoc插件自动记录一组模块.我有一个接受的函数,*args我想覆盖文档以显示funcname(arg1[, arg2[, ...]])Python stdlib文档使用的稍微好一点的样式.

是否可以覆盖特定功能的autodoc输出?

python python-sphinx autodoc

12
推荐指数
1
解决办法
6223
查看次数

报告为"无"的属性的Sphinx值

当我使用狮身人面像车博士来记录一类,为属性的值总是报道,(因为它说,它应该在这里,在#437),但始终是"=无"

Attribute = None
    Some Documentation
Run Code Online (Sandbox Code Playgroud)

我把它包括在内

.. autoclass:: core.SomeClass
   :members:
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像

class SomeClass(object):
    def __init__(self):
        self.attribute = "value" #: Some Documentation
Run Code Online (Sandbox Code Playgroud)

有没有办法让"=无"报告真正的价值,或让它消失?

python python-sphinx

12
推荐指数
2
解决办法
3223
查看次数

Sphinx Autodoc从docstring中跳过成员

我正在使用Sphinx记录一个类,并且想要跳过其中一个类成员:

class StatusUpdateAdapter(logging.LoggerAdapter):
    """
    """
    def __init__(self, status_update_func, logger, extra={}):
        """
        """
        pass

    def log(self, *args, **kwargs):
        pass
Run Code Online (Sandbox Code Playgroud)

如何让sphinx不记录日志成员?我想在StatusUpdateAdapter中执行此操作,或者如果可能,请记录docstring.

python python-sphinx

12
推荐指数
4
解决办法
4563
查看次数

在reStructuredText中,如何将内联文字放在超链接中?

在我的reStructuredText文档中,我有一个像这样定义的部分:

Update the ``PATH`` Environment Variable
----------------------------------------
Run Code Online (Sandbox Code Playgroud)

我想像这样链接到这一部分:

* `Update the ``PATH`` Environment Variable`_
Run Code Online (Sandbox Code Playgroud)

但是,当此代码呈现为HTML时,它看起来像这样:

  • 更新``PATH`环境变量`

我真的很喜欢环境变量PATH以字面样式出现,但我对此很新.谁能帮我吗?

restructuredtext python-sphinx

12
推荐指数
2
解决办法
703
查看次数

Python Sphinx Autosummary:导入模块失败

我正在尝试使用 sphinx-autosummary 为我的 python 代码创建自动摘要,如下所示:

\n\n
main\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80modA\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80__init__.py\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80modA.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80modB\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80__init__.py\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80modB.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80docs\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80build\n|   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80source\n|       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80refs\n|       |   |\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80_autosummary\n|       |   |\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80index.rst\n|       |   |\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80modA.rst\n|       |   |\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80modB.rst\n|       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80index.rst\n|       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80conf.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

正如 Sphinx 文档中提到的,我插入了工作目录的绝对路径,添加sphinx.ext.autodoc到扩展列表中,并autosummary_generateconf.py.

\n\n
import os\nimport sys\nsys.path.insert(0, os.path.abspath(\'../..\'))\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named \'sphinx.ext.*\') or your custom\n# ones.\nextensions = [\n    \'sphinx.ext.autodoc\',\n    "sphinx.ext.autosummary", \n    \'sphinx.ext.coverage\', \n    \'sphinx.ext.napoleon\'\n]\n\nautosummary_generate = True\n
Run Code Online (Sandbox Code Playgroud)\n\n

接下来,在 中docs/index.rst,我添加了对该文件夹的引用refs/

\n\n
.. …
Run Code Online (Sandbox Code Playgroud)

python python-sphinx

12
推荐指数
3
解决办法
7369
查看次数

构建Sphinx文档

我已经开始使用Sphinx记录Python项目.这是我第一次使用它 - 我习惯使用类似JavaDoc语法的工具,我有些疑惑.

因为我想要的文档出现在代码的旁边,我利用的.. automodule::,.. autoclass::.. automethod::指令.所以我的文档结构如下:index.rst包含TOC和

.. automodule:: my_main_package
Run Code Online (Sandbox Code Playgroud)

然后顶级__init__.py包含指令

.. automodule:: some_subpackage
Run Code Online (Sandbox Code Playgroud)

对于每个子包等等.最后,每个模块都包含指令

.. autoclass:: some_class
    :members:
Run Code Online (Sandbox Code Playgroud)

对于模块中的每个类.

这主要是有效的,但我得到的是单页文档,这有点奇怪.

我应该如何组织文档以获取超链接文件树?也就是说,主程序包应该包含自己的文档和每个子包的链接,依此类推,直到每个模块都有自己的页面.

python python-sphinx

11
推荐指数
1
解决办法
7775
查看次数