Doxygen: \include test.dox in mainpage.dox adds as a text

831 Views Asked by At

I have created a Doxygne documentation for a python project. In-order to add a high level introduction about the project with a high level class architecture, I created a mainpage.dox file which has the following format.

/* \mainpage
# Introduction
Description about the project
# Class Architecture
CLass architecture using plantuml.
# Additional Links
\ref addLinks "Additional Links Name"

\page addLinks
# Link information

*/

The issue with having all of the above content in one mainpage.dox is that, it is too long and feels not readable.

I actually want to separate everything into separate additional dox files and link it from the mainpage.dox file. For example:

  • Create a separate .dox file for Introduction

  • Create a separate .dox file for Class Architecture

And add then these linked files will show the content in the mainpage.dox file as below.

/*! \mainpage
# Introduction
\include introduction.dox
# Architecture
\include architecture.dox
*/

introduction.dox file contains: I haven't added any comments in here.

Introduction
===========
This is an introduction about this project. 

Unfortunately adding .dox file as above only add the information in text format. It does not display the content in a Doxygen formatted manner. I have tried \include introduction.dox and \include { introduction.dox} and \includedoc introduction.dox as well.

I am using Doxygen 1.8.17. Any idea what could be the reason?

Thanks a lot!!

1

There are 1 best solutions below

1
On BEST ANSWER

When using:

mainpage.dox

\mainpage
# Introduction
\include{doc} introduction.dox
# Architecture
\include{doc} architecture.dox

architecture.dox

This is an architecture description

introduction.dox

This is an introduction about this package description

Doxyfile

INPUT=mainpage.dox
EXTENSION_MAPPING = dox=md
QUIET=YES
EXAMPLE_PATH=.

I get as output:

enter image description here

As far as I understood this is the type of output you would like to have.