Documentation 多编程语言API的文档

Documentation 多编程语言API的文档,documentation,python-sphinx,Documentation,Python Sphinx,我是开发SDK团队的一员,SDK使用了多种编程语言——目前有ObjC、C#、ActionScript、Java(Android)等,以后我们还会有更多的语言 我们需要由两部分组成的文件: 可读文档 API参考 这两个部分之间有链接:从人类可读的文档中,我们有到特定类或方法的链接;从API引用中,我们可以链接到解释类或方法使用的上下文的文档 目前,我们将sphinx与API的特定语言工具结合使用,如或 我从中看到,他们能够为多种编程语言(不是人类语言)生成一个完整的文档,并在编程语言之间建立交叉链

我是开发SDK团队的一员,SDK使用了多种编程语言——目前有ObjC、C#、ActionScript、Java(Android)等,以后我们还会有更多的语言

我们需要由两部分组成的文件:

  • 可读文档
  • API参考
  • 这两个部分之间有链接:从人类可读的文档中,我们有到特定类或方法的链接;从API引用中,我们可以链接到解释类或方法使用的上下文的文档

    目前,我们将sphinx与API的特定语言工具结合使用,如或

    我从中看到,他们能够为多种编程语言(不是人类语言)生成一个完整的文档,并在编程语言之间建立交叉链接

    问题

    有人知道如何实现这样的文档系统吗?我们不必将人类可读文档中的每一个更改复制到每一种语言,也不必在语言之间建立交叉链接,
    您指定的工具是业界最好的文档工具,恐怕还没有这样的工具可以提供人工和API参考。在我个人最好的工具中,doxygen是多用途的(人工和API)…希望这能有所帮助

    我整理了Leap运动文档。我使用Sphinx创建文档包和Sphinx插件Breathe,基本上将Doxygen生成的XML文件导入Sphinx项目中,用于doxygenated API引用(C++、C#、Java和Objective-C)。对于从所谓的“人类可读”页面到API引用的链接,我从Doxygen将为您生成的.tag文件生成RST替换。从API引用到“人类可读”页面的链接是正常的、相对的超链接(我应该添加更多)

    我使用Sphinx的条件内容特性为每种编程语言生成一组单独的文档(包括“人类可读”和API)。因此,这些文章可以根据需要针对每种编程语言进行定制,并提供当前语言的正确代码示例。因为每个文档集都有相同的结构,所以从一种语言切换到另一种语言并不困难

    我确实向页面模板添加了一些自定义JavaScript,以帮助在语言之间切换

    tl;dr:Sphinx、Breathe、Doxygen和少量自定义JavaScript

    如果您想进一步讨论这个问题,您可以在我们的(Leap Motion)开发者论坛上发布一个问题。我来看看(Stackoverflow不是进行讨论的合适场所)