我想使用 Sphinx 和重组文本写一本书。由于大部分内容都是用 Python 编写的解决方案,我想将文本和代码分开。
是否有命令可以将外部 python 脚本添加到我的重组文本文档中?
我尝试使用
.. code-block:: python
.. include:: unittest_exp1.py
Run Code Online (Sandbox Code Playgroud)
和
.. code-block:: python
.. file:: unittest_exp1.py
Run Code Online (Sandbox Code Playgroud) 我在conf.py中更改了项目的版本号:
version = '0.0.2'
Run Code Online (Sandbox Code Playgroud)
但是当我生成一个新的html(make html)时,版本始终是:0.0.1。
有什么建议么?
方案如下。有一个名为foo(正在大力开发的 API,处于第一个 alpha 阶段)的包,其rst文件是使用sphinx-apidoc.
为了在foo生成这些文件后有更好的文档,需要进行一些编辑。比如说,foo.bar.rst在生成的内容中添加了一些段落sphinx-apidoc
sphinx-apidoc当进行新的呼叫时,如何才能不丢失所有这些信息?当然,我希望反映 API 中的潜在更改,并保留添加的手动信息。
是否可以在 Sphinx 生成的文档中为方法组添加文档字符串?
例如,我想要这样的东西:
class MyClass():
"""Doc of the class"""
def __init__(self):
pass
"""----- The following part is about imports -----"""
def import_from_source_1(self):
"""Doc of import_from_source_1"""
pass
def import_from_source_2(self):
"""Doc of import_from_source_2"""
pass
"""----- The following part is about exports-----"""
def export_to_dest_1(self):
"""Doc of export_to_dest_1"""
pass
def export_to_dest_2(self):
"""Doc of export_to_dest_2"""
pass
Run Code Online (Sandbox Code Playgroud)
预期输出将是:
MyClass
Doc of the class
----- The following part is about imports -----
import_from_source_1
Doc of import_from_source_1
import_from_source_2
Doc of import_from_source_2
----- The following part is about …Run Code Online (Sandbox Code Playgroud) 我只需要在 reStructuredText (sphinx) 中嵌入一小段 html 或 xml,以便浏览器可以在生成的 HTML 文件中呈现它们,如下面的小块
.. raw:: html
<a href="testurl">testurl</a>
Run Code Online (Sandbox Code Playgroud)
或者
.. raw:: html
<math><apply><plus/><ci>a</ci><apply><minus/><ci>b</ci><ci>c</ci></apply></apply></math>
Run Code Online (Sandbox Code Playgroud)
无论我尝试过像“literal”、“raw”、“container”、“code”这样的指令,html代码都显示为某些“p”块的内部文本(因此浏览器显示代码而不是渲染它) ,或者代码从输出中消失。
在 reStructuredText (sphinx) 中嵌入 html 或 xml 以便浏览器可以呈现它们的正确方法是什么?我只想将 html 或 xml 原封不动地放在那里。
我有一个关于 Sphinx 自动文档生成的问题。我觉得我想做的事情应该很简单,但由于某种原因,它不起作用。
我有一个 Python 项目,其目录名为slotting_tool。该目录位于C:\Users\Sam\Desktop\picnic-data-shared-tools\standalone\slotting_tool
我使用sphinx-quickstart. 那么我的目录结构(简化)如下:
slotting_tool/
|_ build/
|_ source/
|___ conf.py
|___ index.rst
|_ main/
|___ run_me.py
Run Code Online (Sandbox Code Playgroud)
现在,我slotting_tool通过将以下内容添加到conf.py文件中来设置项目的根目录。
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
Run Code Online (Sandbox Code Playgroud)
接下来,我将我的index.rst文件更新为如下所示:
.. toctree::
:maxdepth: 2
:caption: Contents:
.. automodule:: main.run_me
:members:
Run Code Online (Sandbox Code Playgroud)
尝试使用该sphinx-build -b html source .\build命令构建我的 html 时,我得到以下输出,并显示no module named错误:
(base) C:\Users\Sam\Desktop\picnic-data-shared-tools\standalone\slotting_tool>sphinx-build -b html source .\build
Running Sphinx v1.8.1
loading pickled environment... done
building [mo]: targets for …Run Code Online (Sandbox Code Playgroud) 是否可以更改 Sphinx AutoDoc 生成的输出顺序?
特别是,我使用:private-members:指令包括私有成员。我想要的是私有成员出现在输出的最后而不是第一个,这是默认值,由字母顺序和“A”之前的“_”字符引起。
我想在我的文档中创建多个列。
在全球范围内,我想做一些与此主页类似的事情,其中有 3 列:一列是当前版本,一列是新闻和更新,以及基本信息。
当我在 google 上搜索 Sphinx 中的多列时,我发现将列表分成 2 列,这不是我的情况
在维基上,我发现多列的唯一内容是表格,但我认为这不适用于这里?
这在使用 Sphinx 的 rst 文件中是可能的吗?
非常感谢
如何配置 Sphinx 以使用美元符号作为 MathJax 扩展的数学分隔符?
我尝试添加
mathjax_config = {
'tex2jax': {
'inlineMath': [ ['$','$']],
'displayMath': [ ['$$','$$']],
},
}
Run Code Online (Sandbox Code Playgroud)
to conf.py,但这有两个问题:
$\\sin(x)$。Sphinx 似乎去掉了单个反斜杠。..math页面上的某处包含普通指令,它就不会加载 MathJax Javascript。我想专门使用$和$$分隔数学。