我有一个简单的问题,我找不到挖掘谷歌。
我正在将我的项目文档从 phpDoc 移动到 Doxygen ,但我不知道如何编写 @license 和 @copyright 在一起。
在我的构思中, @copyright 是为我的“公司”(不是真实的:P)名称和 @license 设计的,我正在开发的方式可以使用:许多CreativeCommons组合之一,GNU,MIT,BSD,“许可”......
答案 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;
}
产生这个输出:
请注意,使用此解决方案时,\license
之前不需要空白行,并且不需要{}
语法。如果您尝试为HTML以外的格式生成文档,这也不太可能导致问题。
答案 1 :(得分:2)
虽然我同意您对版权和许可信息的区分,但似乎doxygen并没有为这些提供单独的命令。实际上,从\author
command的文档中,命令\copyright
用于指示许可证信息。
你可以在这里做(至少)两件事:
只需将版权和许可信息合并到\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
这几乎可以肯定是你能做的最简单的事情。
或者,为了产生上述图像而编写的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生成的输出
请注意,第二个解决方案中存在一些怪癖:\license{...}
命令前面必须有一个空行,\license
命令必须用花括号括起它的参数。您可以选择使用\copyright
命令执行此操作,但通过ALIASES
定义的参数的命令必须具有大括号。