Doxygen和许可证/版权信息

时间:2012-09-10 14:07:08

标签: php documentation doxygen

我有一个简单的问题,我找不到挖掘谷歌。

我正在将我的项目文档从 phpDoc 移动到 Doxygen ,但我不知道如何编写 @license @copyright 在一起。

在我的构思中, @copyright 是为我的“公司”(不是真实的:P)名称和 @license 设计的,我正在开发的方式可以使用:许多CreativeCommons组合之一,GNU,MIT,BSD,“许可”......

2 个答案:

答案 0 :(得分:10)

Chris' answer上构建,您可以使用\par命令创建类似于内置\copyright命令的块。例如,别名如:

ALIASES += "license=@par License:\n"

将允许此评论:

/** My main function.

    \copyright Copyright 2012 Chris Enterprises. All rights reserved.
    \license This project is released under the GNU Public License.
*/
int main(void){
    return 0;
}

产生这个输出:

enter image description here

请注意,使用此解决方案时,\license之前不需要空白行,并且不需要{}语法。如果您尝试为HTML以外的格式生成文档,这也不太可能导致问题。

答案 1 :(得分:2)

虽然我同意您对版权和许可信息的区分,但似乎doxygen并没有为这些提供单独的命令。实际上,从\author command的文档中,命令\copyright用于指示许可证信息。

你可以在这里做(至少)两件事:

  1. 只需将版权和许可信息合并到\copyright命令的参数中:

    /** My main function.
    
        \copyright Copyright 2012 Chris Enterprises. All rights reserved.
        This project is released under the GNU Public License.
    */
    int main(void){
        return 0;
    }
    

    这会生成HTML

    Screenshot of the documentation generated by doxygen using first solution

    这几乎可以肯定是你能做的最简单的事情。

  2. 或者,为了产生上述图像而编写的HTML是

    <dl class="section copyright"><dt>Copyright</dt><dd>Copyright 2012 Chris Enterprises. All rights reserved. This project is released under the GNU Public License. </dd></dl>
    

    我们可以使用define a new command来调用{{3}},例如license,其行为方式与copyright命令类似。将以下内容放入doxygen配置文件的ALIASES字段

    ALIASES += license{1}="<dl class=\"section copyright\"><dt>License</dt><dd>\1 </dd></dl>"
    

    并将上述文档块更改为

    /** My main function.
    
        \copyright Copyright 2012 Chris Enterprises. All rights reserved.
    
        \license{This project is released under the GNU Public License.}
    */
    

    我们得到了doxygen生成的输出

    Screenshot of the documentation generated by doxygen using second solution

    请注意,第二个解决方案中存在一些怪癖:\license{...}命令前面必须有一个空行,\license命令必须用花括号括起它的参数。您可以选择使用\copyright命令执行此操作,但通过ALIASES定义的参数的命令必须具有大括号。

相关问题