使用Doxygen生成JavaScript文档

19 浏览
0 Comments

使用Doxygen生成JavaScript文档

我在我的项目中使用PHP和JavaScript,我完全使用NetBeans 7.0.1编写代码。我非常喜欢NetBeans包含和使用JavaDoc注释风格,无论是对PHP还是JS代码都适用。

现在,我想要从PHP和JS代码生成代码文档。我知道有几种方法可以实现,但我的主要目标是将两部分的文档放在一个文档中。

进一步解释一下:例如,我可以使用Doxygen处理PHP文件,使用JsDoc处理JS文件。结果是,我现在有两个不同的文档放在两个不同的文件夹中,这个结果我不喜欢。正如我所提到的,我希望两者都在一个文档中。

所以,首先我尝试使用doxygen助手js2doxy.pl(http://jsunit.berlios.de/internal.html),但那个不够灵活。它对“普通”定义的函数很有效,但对于匿名js函数就不行。

经过一番尝试之后,我想为什么不改变document的FILE_PATTERNS选项来处理.js文件,因为注释的JavaDoc风格与PHP使用的风格几乎相同。嗯,结果看起来很有希望,但是一些函数在文档中丢失了。

这里有一些例子:

/**
 * Definitions for the languages.
 * @memberof Language
 */
Language.Definitions = (function()
{
...
}

这非常好用,我可以看到文档。但是:

**
 * Definitions for the languages
 * @memberof Language
 */
Language.Definitions = (function()
{
    var Translations = {};
    /**
     * Replaces strings.
     * @memberof Language
     * @param string translation Translation string 
     * @param array parameters (optional) List of parameters
     * 
     * @return string replaced string
     */
    function replaceStrings(translation, parameters)
    {
       ...
    }

在这个例子中,我看到了Language.Definitions的文档,但没有看到replaceStrings()的文档。你有任何想法,我做错了什么吗?JsDoc对同样的结构处理得很好。

另外(Language.Definitions的一部分)...

... 
return {
        /**
         * Initialize translations
         * 
         * @memberof Language
         */
        initTranslations: function()
        {
           ...
        } 
... 
}

...在文档中没有显示。

如果有人能告诉我如何将doxygen和JsDoc的两个输出最好地合并到一个文档中,我也不会介意。

非常感谢!

问候!

0