我对氧气中的页面和组有疑问。我有一个项目,在这里我将类等与@defgroup和@ingroup cmds分组。到目前为止,这很好。
现在,我想为带有降价页面的项目添加特殊文档。这些页面应显示在专用模块(组)中。我尝试使用@page和@subpage cmds创建页面。效果很好,但是页面在菜单中显示为空白。
因此,我尝试使用@ingroup将它们添加到组中。但这不起作用,正如我猜到的那样。是否可以将页面添加到模块(组)?
结果应如下所示:
Project
|-- Modules
| |-- "Module1"
| | |-- documentation page1 (from *.md file)
| | |-- class documentation
| |-- "Module2"
| | |-- documentation page2
| | |-- class documentation
希望您能帮助我!
在描述的情况下,我们为团体提供两种类型的文档:
并且我们需要为此组创建树结构。
例如,我们创建2个组:
Main Application组源代码(对于C ++)可能看起来像这样:
/** @defgroup app Main Application */
/** @addtogroup app
* @brief Main application description.
*
* @{
*/
int main() { return 0; } //do nothing
/** @} */
MarkDown文件library.md包含简单文本:
Library File {#library}
============
Library Page Content from library.md.
现在定义结构,我们创建具有内容的mainpage.md文件:
Pages {#mainpage}
============
Content:
- @subpage library
@defgroup Library
@addtogroup Library
@copydoc library
@{
@}
@subpage
标记在mainpage.md中,用于将所有页面从树隐藏到一个根项目(页面)。@defgroup
标签为降价文档创建新的组。@copydoc
标记将内容从库页面复制到库组。
在屏幕截图上,您可以看到结果结构:
注意,在这种情况下,Module Group名称和Page名称可能不同。您还可以使用@copydoc
标签将MarkDown文件中的内容粘贴到源代码文档中。
我已经使用@ {和@}命令完成了,它的工作原理如下-
/**
* @defgroup module_name Sample Module
* @{
* @page page_name [Optional Page Heading]
* here will be the texts for the page ...
* @}
*/
如果模块已在某些位置定义,则可能需要使用@addtogroup而不是@defgroup。
希望这会有所帮助。