wiki:DoxygenPlugin

Version 21 (modified by jeffhung, 9 years ago) (diff)

Add trac.ini sample for globally installed plugin.

Doxygen Plugin for Trac

Description

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

Download the zipped source from here.

Source

You can check out the source for DoxygenPlugin from Subversion at http://trac-hacks.org/svn/doxygenplugin.

Example

Installation

Download the source code for the DoxygenPlugin from here or checkout the source from the trac hacks subversion repository at: http://trac-hacks.org/svn/doxygenplugin.

Change to the doxygenplugin/0.9 directory and run:

python setup.py 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

The path to the documentation points to the directory, in which the main.html resides.

[doxygen]
path = <path_to_the_doxygen_documentation>

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

[components]
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; }
</style>

and my TracFooter.html contains a blank line.

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

Request for Comment by SunSailor

Currently, I'm not able to get this plugin running (Trac 0.9.3), the tab is displayed, but without any content. I tried it on two very different machines, which makes wrong paths very unlikly. Anyone else expierence such problems? Any development to be expected in the near future?

Comment by Blackhex on 02/18/2006

I'm curently running this plugin and did some changes to support images in documetation. See ticket 119. I'm planning add multiple documentation support see ticket 171

Fix by SunSailor on 02/27/2006

So, digged a bit into, why it wouldn't run here at all. I found out, that in process_request, the conversion req.argspath? fails, as it is an instance of MiniFieldStorage, not a string. Changing it into req.args.getvalue('path') works then. Would be nice, if you could anticipate it in your code base. Further, it would be nice to get another config option "index", which identifies the initial index file, as it can be index.html or main.html, depending on the doxygen settings. Support for images would be cool, too. Add a comment, if you apreciate me to help you.

Edit: Opened a ticket #194 for the issues and attached a patch, which fixes it. The patch also adds an more compatible aproach for displaying the embedded png images and a new attribute "index", defining the root file of the documentation.

Comment by Blackhex on 02/28/2006

req.args should be a dictionary so req.argspath? should be right way to get value. I searched for any MiniFieldStorage occurence in trac code and found only some in cgi_frontend.py. I'm running Trac with mod_python so that is why I'm not experience theese problems. I started working on multiple documentation support. My idea is to have one Wiki page which will be index page and provide DoxygenPlugins macros for specifying links to doxygen documentations. There should be configurable option to specify which extension should be handled because png is not only format you can have in doxygen's documentation.

Here is little example of trac.ini

[doxygen]
path = <path_to_directory_with_doxygen_documentations>
title = <title_of_button_in_mainnav>
ext = <list_of_extensions_to_handle>
wiki_index = <name_of_wiki_page>

And on wiki_index (or any other wiki page) you could specify index using macros:

= Doxygen Documentations =

[doxygen:project_1/main.html First project documentation]
[doxygen:project_2/main.html Second project documentation]

where project_1 and project_2 are directories in path. Feel free to contact me on my e-mail on my wiki page.

Comment by Blackhex on 02/28/2006

In ticket 171 I added pach agaings SVN version which provide multiple documentation support (as I wrote before), configurable file extensions for handling, configurable button title in mainnav, search.php redirectin, wiki links macro and fix of little bug in searching. Unfortunately displaying of wiki_index switches button in mainnav to wiki button. Is there any option to simple display wiki page (with edit form) directly? Is this plugin already maintained by Jason Parks?

Author/Contributors

Author: jparks
Contributors:

TagIt(plugin,jparks,alpha,0.9)?