有没有办法让 sphinx 调用脚本或可执行文件作为预构建任务?

red*_*888 4 doxygen python-sphinx

我正在尝试使用呼吸将 doxygen 和 sphinx 缝合在一起。

Breath 要求您首先生成 doxygen xml 输出:https ://breathe.readthedocs.io/en/latest/quickstart.html

我不想在单独的步骤中执行此操作。我可以在构建时为我sphinx-build执行吗?doxygen我只需要它先使用一些参数运行此命令。无需编写自定义 sphinx 插件就可以实现这一点吗?

编辑

这有效

# Need to sleep because sometimes doxygen doesnt finish writing files before sphinx runs 
cwd = os.path.dirname(os.path.realpath(__file__))
os.system('doxygen')
time.sleep(3)
Run Code Online (Sandbox Code Playgroud)

ano*_*non 5

当然,Sphinx 将执行您添加到其配置文件中的任何 Python 代码conf.py当然,Sphinx 将在开始文档构建过程之前

\n

来自狮身人面像文档

\n
\n

配置文件在构建时作为 Python 代码执行(使用importlib.import_module(), 并将当前目录设置为其包含目录),因此可以执行任意复杂的代码。然后,Sphinx 从 file\xe2\x80\x99s 命名空间中读取简单名称作为其配置。

\n
\n

这意味着预构建任务可以简单地通过运行外部程序(例如您的情况下的 Doxygen)作为子进程来实现conf.py.

\n