2016-03-17 61 views
8

我已经使用Doxygen和Markdown一起编写了一个中型C++软件的文档。我与它很高兴,因为改变XML层后,我结束了这样的事情: http://docs.mitk.org/nightly/index.html在阅读文档中使用Doxygen

我想在网上把这个文件,最好使用像ReadtheDocs,那里的文件将后会自动建立一个“git commit”,并托管以供浏览。

ReadtheDocs看起来像理想的站点,但使用Sphinx和reStructuredText作为默认值。 Doxygen也可以使用,但AFAIK只能通过呼吸。如果我不想将所有API文档转储到单个页面(http://librelist.com/browser//breathe/2011/8/6/fwd-guidance-for-usage-breathe-with-existing-doxygen-set-up-on-a-large-project/#cab3f36b1e4bb2294e2507acad71775f),则通过该路线本质上意味着我需要重新构建所有文档。

矛盾的是,Doxygen安装在read-the-docs服务器上,但在挣扎之后我找不到一个解决方法来跳过它的Sphinx或Mkdocs。

回答

5

我已经尝试了以下解决方案中使用的Doxygen上阅读文档,它似乎工作:

  1. 建立空狮身人面像的项目(参见官方狮身人面像DOC)
  2. 在狮身人面像的conf。 py添加命令来构建doxygen文档,
  3. 使用conf.py html_extra_path配置指令覆盖生成的sphinx文档生成的doxygen文档。

我已经与下面的源代码树测试这个:

.../doc/Doxyfile 
     /build/html 
     /sphinx/conf.py 
     /sphinx/index.rst 
     /sphinx/... 

一些解释:

    在我的设置doxygen的
  1. 在 “DOC /编译/ HTML” 生成它的文档,
  2. ReadTheDocs在其找到conf.py文件的目录中运行其命令。

怎么办:

  1. 附加按照conf.py行生成doxygen的文档:

    import subprocess 
    subprocess.call('cd .. ; doxygen', shell=True) 
    
  2. 更新conf.py html_extra_path指令:

    html_extra_path = ['../build/html'] 
    

在此配置中,ReadTheDocs应正确生成并存储Doxygen html文档。

TODO:

  • 其他文件格式,例如:PDF。
+0

是的,它像魅力一样工作,非常感谢。另一方面,我使用CMake来配置多个文件,如果它安装在readthedocs服务器中,会很好。目前,我在conf.py中重新编写了这个配置,尽管CMake很好,不会让两个软件保持一致。 – solernou

+1

上面的方法也记录在这里:https://breathe.readthedocs.io/en/latest/readthedocs.html – TimSC