= Doxygen Plugin for Trac = == Description == Integrates [http://www.stack.nl/~dimitri/doxygen/ doxygen] documentation into Trac. == Bugs/Feature Requests == Existing bugs and feature requests for DoxygenPlugin are [report:9?COMPONENT=DoxygenPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=DoxygenPlugin&owner=jparks new ticket]. == Download == Download the zipped source from [download:doxygenplugin 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 [download:doxygenplugin 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 = }}} 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: {{{ }}} 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 [ticket:119]. I'm planning add multiple documentation support see ticket [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.args['path'] 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.args['path'] 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 = title = ext = wiki_index = }}} 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 [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:''' [wiki:jparks] [[BR]] '''Contributors:''' [[TagIt(plugin,jparks,alpha,0.9)]]