Doxygen分组

时间:2013-03-04 13:40:45

标签: documentation doxygen

我对doxygen中的页面和组有疑问。我有一个项目,我用@defgroup和@ingroup cmds对类进行分组。到目前为止,这个工作正常。

现在我想通过降价页面向项目添加特殊文档。这些页面应出现在专用模块(组)中。我尝试使用@page和@subpage cmds创建页面。这样可以正常工作,但页面显示在菜单中。

所以我尝试用@ingroup将它们添加到组中。但是,正如我猜测的那样,这并不奏效。是否可以将页面添加到模块(组)?

结果应如下所示:

Project
|-- Modules
| |-- "Module1"
| | |-- documentation page1 (from *.md file)
| | |-- class documentation
| |-- "Module2"
| | |-- documentation page2
| | |-- class documentation

我希望你能帮助我!

2 个答案:

答案 0 :(得分:4)

在描述的情况下,我们为组提供了两种类型的文档:

  1. 源文件中的文档
  2. 来自markdown文件的文档
  3. 我们需要为这个goups创建树结构。

    例如,我们创建了两个组:

    1. 主要应用程序,包含源代码文档
    2. 图书馆,文件 library.md
    3. 主要应用程序组源代码(对于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
      @{
      @}
      
      mainpage.md中的

      @subpage标记用于隐藏从树到一个根项(Pages)的所有页面。 @defgroup标记为markdown文档创建新组。 @copydoc标记从库页面到库组的内容。

      在屏幕截图中,您可以看到结果结构:

      Doxygen groups and pages

      请注意,在这种情况下, Module Grou p名称和 Page 名称可能会有所不同。您还可以使用@copydoc标记将MarkDown文件中的内容粘贴到源代码文档中。

答案 1 :(得分:0)

我使用@ {和@}命令完成它,它的工作原理如下 -

/**  
 * @defgroup module_name Sample Module   
 * @{   
 *     @page page_name [Optional Page Heading]   
 *     here will be the texts for the page ...    
 * @}   
 */   

如果你已经在某些地方定义了模块,可能需要使用@addtogroup而不是@defgroup。

希望这有帮助。