How to make an introduction page with Doxygen

Related searches

I made documentation for my SDK, using Doxygen. It contains the list of files, namespaces, classes, types etc. - everything that I placed as Doxygen comments in the code. Now I want to write some general information about SDK (kind of introduction), which is not related directly to any code element. I want to place this introduction on the documentation start page. How can I do this?

Have a look at the mainpage command.

Also, have a look this answer to another thread: How to include custom files in Doxygen. It states that there are three extensions which doxygen classes as additional documentation files: .dox, .txt and .doc. Files with these extensions do not appear in the file index but can be used to include additional information into your final documentation - very useful for documentation that is necessary but that is not really appropriate to include with your source code (for example, an FAQ)

So I would recommend having a mainpage.dox (or similarly named) file in your project directory to introduce you SDK. Note that inside this file you need to put one or more C/C++ style comment blocks.

How to make an introduction page with Doxygen?, It states that there are three extensions which doxygen classes as additional documentation files: .dox, .txt and .doc. Files with these extensions do not appear in� Within a terminal or command window, go into the documentation directory and create a default Doxygen configuration file by running the following command. $ doxygen -g. This will create a Doxyfile configuration file within the current directory. If you look at the file, each configurable setting is prepended by a comment letting us know what the setting does, how changing it will affect your generated documentation, and the default value.

As of v1.8.8 there is also the option USE_MDFILE_AS_MAINPAGE. So make sure to add your index file, e.g. README.md, to INPUT and set it as this option's value:

INPUT += README.md
USE_MDFILE_AS_MAINPAGE = README.md

[PDF] Introduction to Doxygen, Introduction to. Doxygen PDF, compressed HTML, and Unix man pages. We need to create a config file to create documentation. Doxygen. Place this inside of a file called `mainpage.dox` and use doxygen. If you specified `INPUT` or `FILE_PATTERNS` in your Doxyfile please add `.dox` to your file patterns or `mainpage.dox` to your INPUT files. */ There should be only one \mainpage per project (see Doxygen: multiple \mainpage blocks in a C++ project).

Note that with Doxygen release 1.8.0 you can also add Markdown formated pages. For this to work you need to create pages with a .md or .markdown extension, and add the following to the config file:

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

See http://www.doxygen.nl/manual/markdown.html#md_page_header for details.

How to make an introduction page with Doxygen - doxygen - html, Note that with Doxygen release 1.8.0 you can also add Markdown formated pages. For this to work you need to create pages with a .md or .markdown extension,� The first word after @page is the word that will need to be type in a @ref command to link the page. Doxygen will replace any references to the page with the string that appears after the word.

Following syntax may help for adding a main page and related subpages for 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"
 */

Creating groups as following also help for designing pages:

/** \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 example can be found here

Getting started, HTML output; LaTeX output; RTF output; XML output; Man page output; DocBook The configuration file has a format that is similar to that of a (simple) Makefile. How to make an introduction page with Doxygen. 1. Same line documentation of typedefs with Doxygen. 1. doxygen - documentation after members (///<) does not work. 1.

Special Commands, \page advanced Advanced Usage This page is for advanced users. Make sure you have first read \ref intro "the introduction". */� How to make an introduction page with Doxygen. 0. Doxygen Alias to Ignore Line. 0. Doxygen; Customize header output file. 1. Create a custom index in doxygen. 0.

A project can consist of a single source file, but can also be an entire source tree that is recursively scanned. To simplify the creation of a configuration file, doxygen can create a template configuration file for you. To do this call doxygen from the command line with the -g option: doxygen -g <config-file>.

This command can be used to create a hierarchy of pages. The same structure can be made using the \defgroup and \ingroup commands, but for pages the \subpage command is often more convenient. The main page (see \mainpage) is typically the root of hierarchy.

How to make an introduction page with Doxygen. 1. Issue with doxygen .dox files. 4. Get class hierarchy dot file from doxygen. 0.

Comments
  • stackoverflow.com/a/13442157/4361073
  • At least markdown files (.md and .markdown) are considered as additional documentation files as well. I prefer them over .dox because they don't need surrounding code comments and can be nicely edited with a markdown editor - without drawbacks.
  • In addition to this, if you're going to use README.md as the main page, make sure it comes first in the INPUT list. When there are multiple mainpage candidates, the first encountered while parsing is selected, or so it seems.
  • By the way, in doxygen gui you only have to include your .md file under expert > input > input.
  • USE_MDFILE_AS_MAINPAGE did not work for me. According to the documentation, you have to include {#mainpage} after the title of the markdown document. This did work.
  • @samvv I did not add any extra to the markdown document. I just used the INPUT = README.md then INPUT += src (to follow @Lester's suggestion) and the USE_MDFILE_AS_MAINPAGE = README.md and it worked like a charm. Version: $ doxygen --version returns 1.8.11 to me.
  • In Doxygen 1.8.2, the only thing that did work is adding \mainpage inside (can do that in a comment (see this link about comments in MarkDown). This still created Related Pages area, with a placeholder (empty). That's annoying, but at least I got the main page
  • Actually the current 1.8.0 version support markdown BUT doesn't treat them as documentation. So you'll end up with markdown classes listed in Files and Directories section. Solution is to add dox=md as an EXTENSION_MAPPING and rename your markdown extensions to .dox.So the config will look like: INPUT += your_page.dox EXTENSION_MAPPING += dox=md
  • Good point. I'll correct this such that .md and .markdown are treated similar to .dox.
  • Unfortunately, this ends up under Related Pages, not as the main page
  • @FelixSFD thank you for your feedback. I updated my answer according to your answer.
  • The scale-tech links are dead now.
  • clarification - doxywizard is the GUI front end that installs on macOS.
  • I had to add \mainpage to get README.md to be recognized as the mainpage