我正在用 C++ 记录一个项目。 工作流程设置如下:我在 .h 文件中编写文档。然后将标头加载到 Doxygen 中并生成 html 文件。然后将这些文件加载到 sphinx 中并生成最终的 html。我已经设置了Doxyfile和conf.py(用于Sphinx),这样我就可以通过简单的调用
make html
来自动获得结果。
结果,我在构建文件夹中得到了一堆 html(由 doxygen 提供)以及 index.rst(由 Sphinx 提供)。后者是空的。我想用 doxygen 中的文件填充它。 根据 Sphinx 文档,将 html_extra_path 设置为 doxygen htmls 文件存储的路径似乎是合法的方法。但是,要将文件添加到index.rst,必须输入相对于源目录的路径,这是我无法实现的,因为html位于构建目录中而不是源目录中。 此外,当我简单地将 html 复制到源目录并在 index.rst 中输入其名称时,当我调用
make html
时,我收到“文件不存在”错误
我的conf.py:
import subprocess
project = 'TestDocumentation'
copyright = '2024, Nikita'
author = 'Nikita'
extensions = [
# 'sphinx.ext.autodoc'
]
templates_path = ['_templates']
exclude_patterns = []
html_theme = 'alabaster'
html_static_path = ['_static']
subprocess.call('make clean', shell=True)
subprocess.call('doxygen ../Doxyfile', shell=True)
html_extra_path = ['doxygen/html']
我的索引.rst
.. toctree::
:maxdepth: 2
files
(“files”是 doxygen 中的文件名)。
我想在这里简要介绍一下如何将预生成的 html 集成到我的 Sphinx 项目中。谢谢你。
附注如果有人能向我解释这个计划中狮身人面像的必要性,我也将不胜感激。这是在我接到这项任务之前就已经确定的,所以我想了解所有的来龙去脉。虽然 doxygen 本身能够生成 html,但据我所知,Sphinx 需要用于视觉效果和对文档结构的更多控制。
没关系,我只是使用了呼吸。并迅速整理好一切