Version 25 (modified by Blackhex, 10 years ago) (diff)


Doxygen Plugin for Trac


Integrates doxygen documentation into Trac.

Bugs/Feature Requests

Existing bugs and feature requests for DoxygenPlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from [download:doxygenplugin here].


You can check out the source for DoxygenPlugin from Subversion at



Download the source code for the DoxygenPlugin from [download:doxygenplugin here] or checkout the source from the trac hacks subversion repository at:

Change to the doxygenplugin/0.9 directory and run:

python bdist_egg

This will generate a python egg in the dist directory. Copy the egg file into the trac/plugins directory and follow the Configuration steps outlined below.

Configuring Trac

Set path where you have your doxygen documentations and specify what documentation or wiki page should be displayed as a index. Setting wiki_index variable has higher priority. You can create your own content using [doxygen:<page_name>] macro on specified wiki page and so provide easy multiple documentation support.

path = <path_to_the_doxygen_documentation>
index = <name_of_mainpage_file>
wiki_index = <name_of_wiki_page>

Doxygen generated documentation cointains html, png and sometime other files. To tell plugin which file extentions can be handled put to ![doxygen] section in trac.ini this:

ext = htm html png # Default values

If you want to change main navigation menu button label put this to ![doxygen] section in trac.ini:

title = Documentation

If you install the plugin globally, you'll also need to enable it in trac.ini as follows:

doxygentrac.* = enabled

Configuring Doxygen

The only configuration tags that are required in to make this plugin work are 'GENERATE_HTML' and 'GENERATE_TREEVIEW'. Since this plugin just embeds the html pages generated by doxygen you will probably want to define a custom header and footer.

HTML_HEADER            = TracHeader.html
HTML_FOOTER            = TracFooter.html

These files must contain something, a blank line is sufficient, or doxygen will put in the defaults. My TracHeader.html contains the following:

<style type="text/css">
        h1 { text-align: center; }

and my TracFooter.html contains a blank line.

To enable the search option the SEARCHENGINE tag must be set to 'YES'.

Wiki Macros

Using provided wiki macro you can make a link to doxygen documentation page wherever you want. Specified links are related to setted up doxygen path:

[doxygen:main.html Documentation] # Simple documentation in doxygen path.
[doxygen:FirstProject/main.html First]   # Multiple documentation in separate
[doxygen:SecondProject/main.html Second] # directories in doxygen path.


Are you using this plugin?
  • Yes, it's usefull.
  • No, it's useless.
  • No, I don't need it.

  • You don't have permission to vote. You may need to login.

Change Log

15430 by Committo-Ergo-Sum on 2016-03-13 22:24:10
DoxygenPlugin: as r15427: conforms to PEP8 for logger. And some more documentation.
15427 by rjollos on 2016-03-13 06:13:15
0.7.2: Pass arguments to logger rather than interpolating string

This change conforms to PEP8.

Refs #1882.

15425 by Committo-Ergo-Sum on 2016-03-11 18:46:42
DoxygenPlugin: split the main file in several parts to enhance readability.
15422 by Committo-Ergo-Sum on 2016-03-11 12:41:17
DoxygenPlugin: if a search for a Traclink fails, try again as a suffix with "." ":" or "\" in front: may be it is the name of a method. If this search gives only one match, take it.

Also: use "display:inline" rather than "block" in certains parts of Doygen pages, mostly where the use of Traclinks is expected to reduce the size of the text.

15413 by Committo-Ergo-Sum on 2016-03-08 17:18:41
DoxygenPlugin: partial answer to #1882. In the Doxygen pages, search for P and DD HTML tags and apply the Wiki processor on their content if there is no sub-tags in it.

The correct way should use SAX rather than RegExp to avoid such restrictions, but Doxygen gives no documentation about its XHTML output, so we don't know where exactly are located the comments to be parsed.



Author: jparks
Contributors: Blackhex