生成大型(ish)多语言API的文档

时间:2012-05-03 12:39:50

标签: documentation documentation-generation multilingual

我是一个规模相当大(并且不断增长)的框架的作者。它主要公开JavaScript API,但也有Ruby中的公共API和不断增长的CoffeeScript段。 (CoffeeScript最终将涵盖大部分项目,但总会有一个重要的纯JavaScript存在。)

到目前为止,我一直在用PDoc和Ruby with RDoc记录JavaScript。虽然我对RDoc没有任何问题,但不幸的是PDoc老化,高维护,并且需要大量的打字,感觉就像多余的混乱。此外,将大多数代码转换为CoffeeScript使得PDoc的使用效果远不如它。

Example of the project's current documentation

我在本地分支中尝试了Rocco,它比我预期的更好。真正好的是它适用于所有我的代码,从Ruby到Coffee到JS。很高兴在一个地方看到所有文档。看到文档旁边的源代码也很酷,这使得特定代码段实际上正在做什么非常清楚。

但是,我对整体结构有点担心。 Docco / Rocco似乎非常适合那些公共API很少的小众项目,但是它的整个项目风格让我觉得它是一把双刃剑。虽然它提供了非常丰富的信息,但是必须在没有内容列表的情况下垂直滚动文件(更不用说,知道首先要去哪个文件!)看起来好像很难实际找到

我现在正在考虑CoffeeDoc。仅仅通过这个例子判断,看起来很有希望,但它当然是以咖啡为中心的,它让我回到运行3个独立的文档工具:RDoc,CoffeeDoc和 - 什么? JSDoc?

我并不完全不喜欢为单独的源运行单独的工具,但是很难将其协调为一个不像3个独立网站的连贯结果。

所以我想我的问题是:你使用或建议使用什么工具?它支持哪种语言?是否易于浏览,阅读并实际在您的项目的大海捞针中找到针?我甚至考虑在这一点上推出自己的工具,除了我无法相信没有其他人遇到这样的问题(如果我不需要,我真的不想浪费时间)。< / p>

1 个答案:

答案 0 :(得分:1)

Sphinx直接支持javascript。通过扩展(https://bitbucket.org/birkenfeld/sphinx-contrib/)支持Ruby和CoffeeScript的文档。

来自网站:

以下功能存在,工作正常,可以在Python文档中看到“在行动中”:

  • 输出格式:HTML(包括Windows HTML帮助),LaTeX(适用于可打印的PDF版本),手册页,纯文本
  • 广泛的交叉引用:语义标记和函数,类,引文,术语表和类似信息的自动链接
  • 分层结构:轻松定义文档树,自动链接到兄弟姐妹,父母和孩子
  • 自动索引:常规索引以及模块索引
  • 代码处理:使用Pygments荧光笔自动突出显示
  • 扩展:自动测试代码段,包含Python模块(API文档)中的文档字符串等