- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 python 模块,它定义了一个多行字符串常量。我想在基于 Sphinx 的文档中很好地显示多行字符串。
下面是一些 Python 代码示例,RST 以及它如何使用 sphinx-build
呈现.但是,我宁愿得到类似“所需的狮身人面像文档”之类的东西。
这可能吗?
我的模块.py
#: Default configuration
DEFAULT_CONFIG = r"""
{ "foo": "bar",
"baz": "rex" }
"""
...
--------------
Default Config
--------------
.. autodata:: mymodule.DEFAULT_CONFIG
mymodule.DEFAULT_CONFIG
= "{ \"foo\": \"bar\",\n \"bar\": \"rex\" }"
str(object=’‘) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object.
If encoding or errors is specified, then the object
must expose a data buffer that will be decoded using
the given encoding and error handler. Otherwise, returns
the result of object.__str__() (if defined) or repr(object).
encoding defaults to sys.getdefaultencoding(). errors defaults to ‘strict’.
mymodule.DEFAULT_CONFIG = Default configuration
{ "foo": "bar",
"baz": "rex" }
最佳答案
这不能直接得到支持,但由于您使用的是 Sphinx 和 Python,因此我决定采用以下 hack:
import
你想要的变量。这应该已经工作了,因为 autodoc
能够产生输出。 \n
字符)。 exhale
我放入的文件是
exhale/configs.py
,所以这就是那些东西的来源。所以这是布局:
exhale/configs.py
__name__ = "configs"
__docformat__ = "reStructuredText"
DEFAULT_CONFIG = r"""
{ "foo": "bar",
"baz": "rex" }
"""
'''
This is some description of the use of / intended purpose of the variable.
The contents of this variable are a multi-line string with value:
.. include:: DEFAULT_CONFIG_value.rst
.. note::
The above value is presented for readability, take special care in use of
this variable that the real value has both a leading and trailing ``\\n``.
'''
autodata
的任何文件中上面(我用过
automodule
,没关系)。文档看起来像这样(要清楚,你已经得到了这个,
不需要更改它 )。您需要更改的是您的实际 python 文档字符串和下一部分。这是为了完整的答案。
Exhale Configs Module
=====================
.. automodule:: exhale.configs
:members:
:undoc-members:
conf.py
.. include
指示。疯狂的部分是我们可以动态地编写这个文件。在您的
conf.py
底部,你可以添加类似的东西
# Import the variable from wherever it lives
from exhale.configs import DEFAULT_CONFIG
default_parts = DEFAULT_CONFIG.strip().splitlines()
# Because I am deliberately putting this underneath a '.. code-block:: py',
# we need to indent by **THREE** spaces.
#
# Similarly, when writing to the file, the "\n\n " before
# {default_config_value} (the three spaces) is also important ;)
default_config_value = "\n ".join(p for p in default_parts)
with open("DEFAULT_CONFIG_value.rst", "w") as dcv:
dcv.write(".. code-block:: py\n\n {default_config_value}\n\n".format(
default_config_value=default_config_value
))
textwrap.indent
.我这样做只是为了确保 Python 2 用户可以复制。
make html
,它将重新生成文件
DEFAULT_CONFIG_value.rst
每次!因此,即使您更改了变量的值,也应该很好。作为引用,为我生成的文件如下所示
.. code-block:: py
{ "foo": "bar",
"baz": "rex" }
.. include::
使用。 !
\n
值中的版本。我们只是把它放在文档字符串中。拥有
非常有用两个 .原因是因为
.. code-block:: py
方法,Sphinx 将去除前导/尾随换行符(因此
.. note::
在文档字符串中)。因此,拥有人类可读的版本非常有帮助,但了解原始值也很有用。
.. code-block:: py
出于我的目的,但是由于您实际上是自己编写文件,因此您可以做任何您想做的事情。您可以编写文件,以便它生成
.. code-block:: py
DEFAULT_CONFIG = r"""
{ "foo": "bar",
"baz": "rex" }
"""
conf.py
中的部分.由你决定!更改输出时可能会出现错误,请打开生成的
.rst
记录并确保其有效:)
关于python - Sphinx autodoc 和多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41791395/
在 Sphinx 2.0.6 中尝试启用通配符 (*) 的搜索时出现以下错误 index products: syntax error, unexpected $undefined near '*'
如果我更新 sphinx.conf 文件中的资源,我可以使用 --rotate 重新索引,一切正常。如果我更新 sphinx.conf 中的索引或添加新索引 --rotate 无效,我必须重新启动 s
问题 我一直在用(Python) Sphinx doc ,以及 CommonMark解析器,编写包含用 reStructuredText 和 Markdown 编写的文件的 Sphinx 文档。到目前
我正在使用漂亮的 sphinx-bootstrap-theme 0.3.4 并尝试将它应用到 Sphinx Python 文档生成器 1.2 版之上。 当我通过 make html 构建文档时,我没有
关于此主题,有几篇“未答复”的帖子与无法找到“sphinx-build”有关: sphinx-build -h command not found in Mac OS Sphinx 是在 OSX 上使
我正在使用 Sphinx 搜索引擎,我遇到一个问题,即一些文件没有显示在搜索结果中,但绝对应该显示。我已经检查以确保没有信息。缺少会阻止这些文件出现的信息。 有什么方法可以直接查询索引,看看有没有这些
如何使用 Sphinx 从索引中获取所有记录?就像 SELECT * FROM index 一样?我知道我可以做这样的事情来获取与特定关键字匹配的所有记录:/usr/local/sphinx/bin/
我对 Sphinx 很陌生,在服务器上记录我的项目。现在一位同事看到了我一直在做的事情,她想做同样的事情——在同一台服务器上记录她的项目。 这些项目不相关(它们不属于单个 TOCtree),我不知道如
我有一个很大的索引定义,索引需要很长时间。我怀疑主要问题是由生成的许多 LEFT OUTER JOIN 引起的。 我看到了 this question ,但找不到有关使用 source: :query
写作的python工具,awscli-bastion , 具有以下由 cookiecutter 构建的目录结构. . ├── awscli_bastion │ ├── __init__.py │
Sphinx 文档生成器提供 only markup .例如,以下将仅包含外部文件“仅”如果其 html 生成器: .. only:: html .. include:: a.rst 但是我将如
我在我的Rails应用程序中实现了 sphinx 搜索。 我想模糊搜索。它应该搜索拼写错误,例如,如果输入搜索查询charact * a * ristics,则应该搜索charact * e * ri
Sphinx-autodoc 将字典、列表和元组扁平化 - 使长的几乎不可读。也并不总是需要 pretty-print 格式,因为一些嵌套的容器比分列更好地保持扁平化。有没有办法显示源代码中输入的可迭
我正在使用 Sphinx 为我的项目编写文档,并且发现下面给出的两个相似的 reStructuredText 段的呈现方式有所不同。 示例 1 Some text: * Item 0 * Item
考虑ReStructuredText中的以下列表: Broken list example ------------------- #. First do spam #. Then do ``eggs
我正在使用 Sphinx Doc 为我的一个项目创建文档,并且我在整个文档中多次使用了一些词,例如 - IP 地址、端口号和许多其他可能会随时间变化的内容。如果由于某种原因,其中一个将被更改,我只想在
我在 .rst 文件中有以下文本: Some text. * Heading | The first topic. | Another topic which is very verbose
我有很多 Sphinx 页面,它们都有相同的链接。像那些: .. _CC-BY: https://creativecommons.org/licenses/by/3.0/ .. _MIT: http:
我想链接到我的狮身人面像文档中的一些URL: blah 我在文档中发现了类似的内容:http://sphinx-doc.org/ext/extlinks.html-而是按照约定用链接替换自定义语法。
使用 sphinx 的自动模块 (https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) 时, 我只是写在一个 .rst
我是一名优秀的程序员,十分优秀!