Doxygen navigation path (breadcrumbs) instructions & group table of content - doxygen

I'm trying to achieve the same functionality as Qt is having for their documentation with navigation path working same as Windows 7-8 (maybe also vista) i.e. showing whole path from root (module M) to component C and class X. M->C->X
Good example:
http://doc.qt.io/qt-4.8/qnetworksession.html
Must I put some kind of doxygen tags for root and it's child's their subchild's? I checked all the doxygen tags without seeing anything related to navigation path.
I am working with doxygen 1.8.7 which generates navigation path in footer, but everything i click is being displayed as root. Also, how can i put navigation on top of the page/header?
And is it possible to have group table of content displayed? I am having separated model.dox file for each module, which defines new group and contains sections/subsections. Any ideas why table of contents isn't displayed? Everything works well on (main) page using \mainpage \page tag.
Example of my group:
/*! \defgroup module1 CommonModule
*
* \tableofcontents
*
* Module description ..
* \section first Init
*/
Update 14.7.2014:
Didn't realize Qt documentation is build using qdoc tool, not doxygen so Edit section can be ignored. Questions still remain the same. From what I've experienced it is impossible to group pages and groups together therefor making it impossible to generate module page with list of all classes/namespaces/enums etc. Hopefully I am wrong.
Update 11.9.2014:
Page can not contain autogenerated list of all classes/namespaces/enums etc.
Doxygen navigation only shows file path when browsing over file list which isn't that useful since i am mostly browsing the documentation by class/namespace not by file and wish to have file list generation disabled.
Edit:
From checking Qt documentation (source) i see that Qt modules are all doxygen pages and modules page is manually written and not auto generated by doxygen since they probably couldn't get module description with table of content using \defgroup. Will do he same if needed.
Navigation path on the other hand is still a big mystery, they might have used some kind of internal scripting as i see custom tags such as \nextpage. It's strange how it's so difficult to find anything related to doxygen navigation on google!

Related

TYPO3 Static template not being included in Template hierarchy?

I have a site package that I need to include in Static Templates.
It has been added as the last template under Includes > Selected Items, but if I then go to the Template Analyzer it is not listed.
In another offline installation of TYPO3 I use to test on, the static template is added and working perfectly. What could be going wrong here?
For Includes > Selected Items you are registering a label-value-pair for the select field only. To be shown, it is only necessary that your extension is installed/active. The content of this registration is not checked.
In contrast to this, the specified file is read during parsing. I.e. errors in the pathname take effect here. So here it is crucial that the registered path matches the actual path of the file - if necessary, including the consideration of the upper and lower case (or camelCase).

How do I get rid of the empty related pages tab in doxygen?

When using markdown with doxygen, the documentation generates fine. However, I have one problem, which is that my documentation generates a related pages tab which is empty. For example, here is my main page:
# Project Name
Contents
This documentation is divided into the following sections:
- \subpage page_one
- \subpage page_two
And here is a sample subpage:
# Page One {#page_one}
Content
When I generate my documentation, I get the expected tree structure. However, when I click Related Pages, this is what I get:
Obviously, I have no benefit from an empty related pages tab. Thus, is there any way to get rid of this empty tab? If so, how should I change my Doxyfile?
You have defined the top page as USE_MDFILE_AS_MAINPAGE and all other pages are direct or indirect sub-pages of this page.
The display of the Related Pages is steered by means of the DoxygenLayout.xml (can be generated by means of doxygen -l, see also LAYOUT_FILE) and in here there is an item pages, when setting this item to no the Related Pages tab is not generated.

Doxygen Separate Navigation/Hierarchy Page

I'm setting up Doxygen in my codebase and want to use the Markdown support to produce a number of different 'how to' and 'design' types page in a logical hierarchy, e.g.
index.md
design/
architecture.md
database.md
how-to/
build.md
restore-backups.md
...etc...
Using the Markdown support, I can give labels to each page and then use those to link to other pages and create a page hierarchy, e.g.
Design {#design}
======
This section contains design documentation.
#subpage architecture
#subpage database
The problem I've got is that this means every level in the hierarchy needs to define which pages are its sub-pages. This litters the documentation with lots of links which I don't really need. When the hierarchy gets 3+ levels deep you end up with lots of dummy pages which only exist to define the subpages.
My question is, is it possible to define the entire navigation hierarchy in one external page so that I only have one place to define and update when new pages are added? Something like:
Navigation {#navigation}
=========
This page defines the navigation tree for the whole project.
#page design
#subpage architecture
#subpage database
#page how-to
#subpage build
... etc ...

How to create an independant page in Doxygen that is not in the menu

I have a library for which I am generating doxygen documentation.
There is a module (module_A) in that library which contains a description of various details in relation to this module (on generated page group_moduleA.html).
I want to add several pages to give additional details about that module, which I will then link to from the module page. However, I do not want those pages to be visible in any of the left hand menu. I only want them to be linked to from the group_moduleA.html page and nowhere else.
Is there any way to do that?
I cannot use \page, as a page will be added in the left hand menu if I do that.

How to get man page output for the main page?

Doxygen lets you produce man page output, but as far as I can tell it only generates man pages for the actual code (functions, classes, etc). I have a great deal of information, such as examples, in a doxygen #mainpage comment that is not showing up anywhere in the man page output. I'd like to have it in that format so that I'll also have a man page that serves as an overall introduction. Is there a way of doing this with doxygen?
So far I have not found a way and the alternatives that I've explored don't work very well with the index.html file that doxygen creates for me. For example, I tried several different html2man scripts on the index.html file without success.
I came up with this work-around, which puts the pseudo-mainpage text in the man page, and puts a nice link to it from the HTML mainpage:
/**
* #mainpage
* Summary of my simple project. Please see #ref foo.h for more details.
*
* #file foo.h
* #brief Summary of my simple project.
*
* Here is the much more detailed description of my project,
* originally intended for the main page. Since I value the quality
* of man page output the most, this will end up on the individual
* file man page, and will be linked to from the HTML main page.
* I can rattle on with other things like...
* #todo find a better solution to the mainpage problem.
*/
As far as I can tell, this is not possible. HTML output covers the entire project, whereas man page output covers a single #file. The #mainpage applies to an entire project, not any particular #file. Therefore doxygen doesn't output the #mainpage for man output.
I downloaded the source, and browsed src/layout.cpp. Search (for example) for BriefDesc, and you will see how each "layout handler" is put together. I don't yet understand what #mainpage maps to, but clearly it's not something that's added in the "file layout handlers" section.
I tried adding #mainpage or #page, and using #ref to reference it, to see if I could create 2 man pages and manually tie them together and yet still have a nice HTML front page. For example, I tried to get 2 man pages, foo and foo-intro. To do this, I needed #page. But for HTML output, the intro shows up under "Related Pages", not "Main Page". And yet #mainpage can't seem to trigger a separate man page. Not ideal.
Have you included a #file <filename> comment in the file that holds the #main documentation and does <filename> definitely match the actual file name?
Doxygen will not include documentation from a file that does not have at least this.`
http://www.doxygen.nl/manual/commands.html#cmdfile