Как сделать вступительную страницу с Doxygen - PullRequest
90 голосов
/ 29 февраля 2012

Я сделал документацию для моего SDK, используя Doxygen. Он содержит список файлов, пространств имен, классов, типов и т. Д. - все, что я разместил в коде как комментарии Doxygen. Теперь я хочу написать некоторую общую информацию о SDK (своего рода введение), которая не связана напрямую ни с одним элементом кода. Я хочу разместить это введение на стартовой странице документации. Как я могу это сделать?

Ответы [ 6 ]

83 голосов
/ 29 февраля 2012

Посмотрите на команду mainpage.

Также посмотрите этот ответ в другой ветке: Как включить пользовательские файлы в Doxygen . В нем говорится, что есть три расширения, которые делают классы кислорода в качестве дополнительных файлов документации: .dox, .txt и .doc. Файлы с этими расширениями не отображаются в индексе файлов, но их можно использовать для включения дополнительной информации в итоговую документацию. Это очень полезно для документации, которая необходима, но не совсем подходит для включения в исходный код (например, FAQ).

Поэтому я бы порекомендовал иметь файл mainpage.dox (или с аналогичным именем) в каталоге вашего проекта, чтобы представить вам SDK. Обратите внимание, что внутри этого файла вам нужно поместить один или несколько блоков комментариев в стиле C / C ++.

53 голосов
/ 01 марта 2012

Обратите внимание, что в версии Doxygen 1.8.0 вы также можете добавлять отформатированные страницы Markdown.Чтобы это работало, вам нужно создать страницы с расширением .md или .markdown и добавить в файл конфигурации следующее:

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

Подробнее см. http://www.doxygen.nl/manual/markdown.html#md_page_header.

48 голосов
/ 08 октября 2014

Начиная с v1.8.8 есть также опция USE_MDFILE_AS_MAINPAGE. Поэтому обязательно добавьте свой индексный файл, например, README.md , INPUT и установите его в качестве значения этой опции:

INPUT += README.md
USE_MDFILE_AS_MAINPAGE = README.md
5 голосов
/ 12 апреля 2013

Добавьте в документ любой файл, который будет включать ваш контент, например toc.h :

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

И в вашем Doxyfile:

INPUT = toc.h \

Пример (на русском языке):

4 голосов
/ 13 февраля 2017

Следующий синтаксис может помочь при добавлении главной страницы и связанных подстраниц для 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.
 */

AnПример можно найти здесь

2 голосов
/ 27 ноября 2017

Я пробовал все вышеперечисленное с v 1.8.13 безрезультатно.Для меня (в macOS) было полезно использовать тег doxywizard-> Expert для заполнения параметра USE_MD_FILE_AS_MAINPAGE.

В мой Doxy-файл были внесены следующие изменения:

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

Примечаниеконец строки для INPUT, я только что использовал пробел в качестве разделителя, как указано в документации.AFAICT это единственное изменение между неработающей и рабочей версией Doxyfile.

...