gpt4 book ai didi

python - 以编程方式使用特定于 Sphinx 的指令解析 .rst 文件

转载 作者:太空狗 更新时间:2023-10-29 21:40:53 25 4
gpt4 key购买 nike

我希望能够在 Python 中解析基于 sphinx 的 rst 以便进一步处理和检查。像这样的东西:

import sphinx
p = sphinx.parse("/path/to/file.rst")
do_something_with(p)

使用 docutils.core.publish_file 似乎可以在 docutils 中实现:

publish_file(open("/path/to/file.rst")

但这对 sphinx 特定指令等一无所知......

最佳答案

您可以使用 Sphinx Extensions在最终写入之前进行自定义处理。文档中有一个非常好的入门示例项目,其中讨论了允许您自定义 Sphinx 的各种 Hook 。

根据您尝试执行的操作,您可能需要提供您的 do_something 函数作为这些事件之一的回调参数。

doctree-resolved(app, doctree, docname)
html-page-context(app, pagename, templatename, context, doctree)

然后你可以如下扩展sphinx

def setup(app):
app.connect('doctree-resolved', do_something)

如果Sphinx教程中的例子不够详细,Doug Hellmann还有一个blog post关于为 Sphinx 创建拼写检查器。我发现它是我不久前不得不写的 Sphinx 扩展的有用引用。

关于python - 以编程方式使用特定于 Sphinx 的指令解析 .rst 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8125238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com