如何做一个介绍页与 Doxy

我为我的 SDK 编写了文档,使用的是 Doxy。它包含文件、名称空间、类、类型等的列表——所有我在代码中放置为 Dox 注释的内容。现在我想写一些关于 SDK 的一般信息(类似介绍) ,它与任何代码元素都没有直接关系。我想把这个介绍放在文档开始页面上。我怎么能这么做?

131275 次浏览

看一下 mainpage命令。

另外,看看另一个帖子的答案: 如何在 Doxygen 加入自订档案。它指出,有三个扩展,doxygen 类作为附加文档文件: .dox.txt.doc。具有这些扩展名的文件不会出现在文件索引中,但是可以用来将附加信息包含到最终文档中——对于必要的文档非常有用,但是不适合包含在源代码中(例如,FAQ)

因此,我建议在项目目录中使用 mainpage.dox(或类似名称)文件来介绍 SDK。注意,在这个文件中需要放置一个或多个 C/C + + 样式的注释块。

请注意,在 Doxyrelease 1.8.0中,您还可以添加 Markdown 格式的页面。为此,您需要创建具有 .md.markdown扩展名的页面,并将以下内容添加到配置文件中:

INPUT += your_page.md
FILE_PATTERNS += *.md *.markdown

详情请参阅 http://www.doxygen.nl/manual/markdown.html#md_page_header

在文档中添加任何包含您的内容的文件,例如 说得好:

@ mainpage Manual SDK
<hr/>
@ section pageTOC Content
-# @ref Description
-# @ref License
-# @ref Item
...

在你的 Doxyfile里:

INPUT = toc.h \

例子(俄语) :

在1.8.8版本中,还有选项 USE_MDFILE_AS_MAINPAGE。因此,一定要把你的索引文件,例如 README.md,添加到 INPUT,并把它设置为这个选项的值:

INPUT += README.md
USE_MDFILE_AS_MAINPAGE = README.md

下面的语法可能有助于添加 doxygen 的主页和相关子页:

/*! \mainpage Drawing Shapes
*
* This project helps user to draw shapes.
* Currently two types of shapes can be drawn:
* - \subpage drawingRectanglePage "How to draw rectangle?"
*
* - \subpage drawingCirclePage "How to draw circle?"
*
*/


/*! \page drawingRectanglePage How to draw rectangle?
*
* Lorem ipsum dolor sit amet
*
*/


/*! \page drawingCirclePage How to draw circle?
*
* This page is about how to draw a circle.
* Following sections describe circle:
* - \ref groupCircleDefinition "Definition of Circle"
* - \ref groupCircleClass "Circle Class"
*/

如下所示创建组也有助于页面设计:

/** \defgroup groupCircleDefinition Circle Definition
* A circle is a simple shape in Euclidean geometry.
* It is the set of all points in a plane that are at a given distance from a given point, the centre;
* equivalently it is the curve traced out by a point that moves so that its distance from a given point is constant.
* The distance between any of the points and the centre is called the radius.
*/

这里可以找到一个例子

我尝试了以上所有的 v 1.8。13没有结果。 对我(在 macOS 上)有效的方法是使用 doxyWizard-> Expert 标记来填充 USE_MD_FILE_AS_MAINPAGE设置。

它对我的 Doxyfile 做了以下修改:

USE_MDFILE_AS_MAINPAGE = ../README.md
...
INPUT                  = ../README.md \
../sdk/include \
../sdk/src

请注意 INPUT的行终止,我只是使用空格作为文档中指定的分隔符。AFAICT 这是 Doxyfile 的非工作版本和工作版本之间的唯一变化。