(使用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中,只是用它来完成,但这看起来像是一个彻底的黑客,而且很难看.
我刚开始使用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文件.
谢谢.
我正在使用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文件的情况下执行此操作?
感谢您阅读本文,如果您能提供帮助,我们将不胜感激.
我正在使用Sphinx为我在Windows中的Python项目创建文档.我需要生成PDF文档.我在Linux中找到了很多解释如何做到这一点,但没有很好的解释如何在Windows中执行此操作.据我所知,我需要使用Sphinx创建Latex格式,而不是使用Texworks将Latex转换为PDF.假设我创建了Latex格式的文档并安装了Texworks,那么有人可以一步一步解释我该怎么做?
我正在使用Sphinx的autodoc插件自动记录一组模块.我有一个接受的函数,*args我想覆盖文档以显示funcname(arg1[, arg2[, ...]])Python stdlib文档使用的稍微好一点的样式.
是否可以覆盖特定功能的autodoc输出?
当我使用狮身人面像车博士来记录一类,为属性的值总是报道,(因为它说,它应该在这里,在#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)
有没有办法让"=无"报告真正的价值,或让它消失?
我正在使用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.
在我的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以字面样式出现,但我对此很新.谁能帮我吗?
我正在尝试使用 sphinx-autosummary 为我的 python 代码创建自动摘要,如下所示:
\n\nmain\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\nRun Code Online (Sandbox Code Playgroud)\n\n正如 Sphinx 文档中提到的,我插入了工作目录的绝对路径,添加sphinx.ext.autodoc到扩展列表中,并autosummary_generate在conf.py.
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\nRun Code Online (Sandbox Code Playgroud)\n\n接下来,在 中docs/index.rst,我添加了对该文件夹的引用refs/。
.. …Run Code Online (Sandbox Code Playgroud) 我已经开始使用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)
对于模块中的每个类.
这主要是有效的,但我得到的是单页文档,这有点奇怪.
我应该如何组织文档以获取超链接文件树?也就是说,主程序包应该包含自己的文档和每个子包的链接,依此类推,直到每个模块都有自己的页面.