Autodia(3pm)

πŸ“¦
version 2.14 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu noble

✨ NAME ✨

okay so welcome to the Autodia show πŸ’– this is the manual for Autodia.pm, aka the configuration and Utility perl module for AutoDia. that's the whole vibe. she configures, she utilitys, she does it all 🫢


🌸 VERSION 🌸

2.14 β€” that's the number bestie, write it down πŸ“


πŸŽ€ DESCRIPTION πŸŽ€

so here's the tea β˜• AutoDia takes source files as input, and then β€” using a handler β€” parses them to create documentation through templates. that's the core loop, that's the whole girlboss pipeline πŸ’…

the handlers are what let AutoDia parse any language, as long as you give it a handler and register it in autodia.pm. and the templates? they let the output be heavily customised, like from Dia XML all the way down to plain simple HTML. the whole point is that it separates the logic of the application from the presentation of the results. slay, honestly ✨

AutoDia is written in perl and defaults to the perl handler and file extension matching β€” unless a language is specified using the -l switch. iykyk πŸ‘‘

AutoDia requires Template Toolkit and Perl 5. some handlers and templates may require additional software, so keep that in mind bestie πŸ™ˆ

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

that's it, that's the list, no notes 🫢


πŸ¦‹ Configuring AutoDia via Autodia.pm πŸ¦‹

to add handlers or languages, edit this file. yes, this file. the one you're reading about. main character energy fr fr πŸ’…

✨ 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:

"perl"      => '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:

"perl" => \%perl,

then create a hash of its properties that will be pointed to by the above hashref πŸ’–

for example:

my %perl = (
              regex     => '\w+\.p[ml]$',
              wildcards => [
                            "pl", "pm",
                           ],
             );

look at her. so organized. so iconic πŸŽ€


⭐ USAGE ⭐

use the autodia script to run autodia. that's the move 🫢

autodia ([-i filename [-p path] ] or [-d directory [-r] ]) [options]

okay now the receipts, one by one, no skipping πŸ‘‡

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
ngl that output filename in the -o note really is spelled autodial.out.xml β€” i'm not fixing it, i'm just the messenger bestie 😭

πŸ‘‘ AUTHOR πŸ‘‘

Aaron Trevena, <aaron.trevena@gmail.com> πŸ’Œ


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.


and that's the whole page bestie, no cap 🫢 this was Autodia(3pm), from perl v5.36.0, dated 2022-11-02 β€” stay iconic, read your manpages, mwah πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from