Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you order Doxygen Custom Pages

Tags:

doxygen

I have created a number of custom pages within Doxygen. I would like to customize the the order of the pages in the main menu. Below is a picture of my current navigation menu. I would like to change the order so Overview is first, Installation second, Introduction third, etc. Is there a way to do this?

enter image description here

like image 908
SchwartzE Avatar asked Aug 01 '13 18:08

SchwartzE


People also ask

How do I add a main page in Doxygen?

To add content to the mainpage, use the doxygen special command \mainpage. To enhance the documentation you produce, there are a variety of doxygen special commands placed inside doxygen comments. For example, in the class description, note the doxygen special command \author.

Can Doxygen generate markdown?

Including Markdown files as pagesDoxygen can process files with Markdown formatting.

Are Doxygen commands case sensitive?

It is parsed by doxygen . The file may contain tabs and newlines for formatting purposes. The statements in the file are case-sensitive. Comments may be placed anywhere within the file (except within quotes). Comments begin with the # character and end at the end of the line.


2 Answers

After some investigation, it seems Doxygen currently does not support the ordering of pages in a custom (or any) fashion.

Just as @Toby mentions, the current way to ensure a desired order of pages in Doxygen is to ensure the page conditions (\page) are parsed in the same order. For instance, you can achieve the desired order by specifying your files manually such as:

INPUT = Developers.dox \
        Hive_Training.dox \
        Installation.dox \
        Introduction.dox \
        Models.dox \
        Overview.dox \
        Users.dox \
        Files.dox

This is not ideal at all, but it works. What I found is that if you wish to maintain using directory paths in your Doxygen configuration file, you can create an 'page order' file to parse first before any other content. For instance:

INPUT += PageOrder.dox
INPUT += ../my_module_1/content/
INPUT += ../my_module_2/content/

And you add all the page references in a PageOrder.dox file:

\page developers Developers
\page hive_training Hive Training
\page installation Installation
\page introduction Introduction
\page models Models
\page overview Overview
\page users Users
\page files Files

This again, is not ideal; however, your maintenance process now resides in a single page order file (instead of touching one (1) or more Doxygen configuration files).

like image 168
jdknight Avatar answered Oct 21 '22 09:10

jdknight


Doxygen processes the custom pages files names in alphabetical order.

Therefore you can name your custom pages files like :

  • _1_file1.dox
  • _2_file2.dox
  • etc...

As a result they will appear in the same order in the generated document. This solutions avoids modifying any configuration file!

like image 41
sdive Avatar answered Oct 21 '22 07:10

sdive