VERSION

2.14

DESCRIPTION

AutoDia takes source files as input and using a handler parses them to create documentation through templates. The handlers allow AutoDia to parse any language by providing a handler and registering in in autodia.pm. The templates allow the output to be heavily customised from Dia \s-1XML\s0 to simple \s-1HTML\s0 and seperates the logic of the application from the presentation of the results.

AutoDia is written in perl and defaults to the perl handler and file extension matching unless a language is specified using the -l switch.

AutoDia requires Template Toolkit and Perl 5. Some handlers and templates may require additional software.

Helpful information, links and news can be found at the autodia website - http://www.aarontrevena.co.uk/opensource/autodia/

METHODS

getHandlers =item getPattern =item setConfig

Configuring AutoDia via Autodia.pm

To add handlers or languages edit this file.

To add a handler/parser

Add the language or name of the parser and the name of the module to the %handlers hash in the getHandlers function. for example : \*(L"perl\*(R" => 'HandlerPerl', Documentation on writing your own handler can be found in the HandlerPerl and Handler perl modules

To add a new language or file extension or file matching patter

Add the name of the pattern and a hashreference to its properties to %patterns in the get_patterns function. for example : \*(L"perl\*(R" => \%perl, Create a hash of its properties that will be pointed to by the above hashref for example : my %perl = (

              regex     => '\w+\.p[ml]$',
              wildcards => [
                            \*(L"pl\*(R", \*(L"pm\*(R",
                           ],
             );

USAGE

use the autodia script to run autodia.

autodia ([-i filename [-p path] ] or [-d directory [-r] ]) [options]
autodia -i filename : use filename as input
autodia -i 'filea fileb filec' : use filea, fileb and filec as input
autodia -i filename -p .. : use ../filename as input file
autodia -d directoryname : use *.pl/pm in directoryname as input files
autodia -d 'foo bar quz' : use *pl/pm in directories foo, bar and quz as input files
autodia -d directory -r : use *pl/pm in directory and its subdirectories as input files
autodia -o outfile.xml : use outfile.xml as output file (otherwise uses autodial.out.xml)
autodia -m [file|directory] : use multiple output files split by file or directory (creates an autodia-files directory containing files)
autodia -O : output to stdout
autodia -l language : parse source as language (ie: C) and look for appropriate filename extensions if also -d
autodia -t templatefile : use templatefile as template (otherwise uses template.xml)
autodia -S : silent mode, no output to stdout except with -O
autodia -h : display this help message

AUTHOR

Aaron Trevena, <[email protected]>

COPYRIGHT AND LICENSE

Copyright (C) 2001 - 2007 by Aaron Trevena

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.1 or, at your option, any later version of Perl 5 you may have available.