.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Module::Starter::Plugin::CGIApp 3pm" .TH Module::Starter::Plugin::CGIApp 3pm "2012-05-26" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Module::Starter::Plugin::CGIApp \- template based module starter for CGI apps. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& use Module::Starter qw( \& Module::Starter::Plugin::CGIApp \& ); \& \& Module::Starter\->create_distro(%args); .Ve .SH "ABSTRACT" .IX Header "ABSTRACT" This is a plugin for Module::Starter that builds you a skeleton CGI::Application module with all the extra files needed to package it for \&\s-1CPAN\s0. You can customize the output using HTML::Template. .SH "VERSION" .IX Header "VERSION" This document describes version 0.41 .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module subclasses Module::Starter::Simple and includes functionality similar to Module::Starter::Plugin::Template. This document only describes the methods which are overriden from those modules or are new. .PP Only developers looking to extend this module need to read this. If you just want to use Module::Starter::Plugin::CGIApp, read the docs for cgiapp-starter or titanium-starter instead. .SH "METHODS" .IX Header "METHODS" .ie n .SS "new ( %args )" .el .SS "new ( \f(CW%args\fP )" .IX Subsection "new ( %args )" This method calls the \f(CW\*(C`new\*(C'\fR supermethod from Module::Starter::Plugin::Simple and then initializes the template store. (See \f(CW\*(C`templates\*(C'\fR.) .ie n .SS "create_distro ( %args )" .el .SS "create_distro ( \f(CW%args\fP )" .IX Subsection "create_distro ( %args )" This method works as advertised in Module::Starter. .SS "create_LICENSE( )" .IX Subsection "create_LICENSE( )" This method creates a \f(CW\*(C`LICENSE\*(C'\fR file in the distribution's directory which can hold the distribution's license terms. .SS "create_MANIFEST_SKIP( )" .IX Subsection "create_MANIFEST_SKIP( )" This method creates a \f(CW\*(C`MANIFEST.SKIP\*(C'\fR file in the distribution's directory so that unneeded files can be skipped from inclusion in the distribution. .ie n .SS "create_modules( @modules )" .el .SS "create_modules( \f(CW@modules\fP )" .IX Subsection "create_modules( @modules )" This method will create a starter module file for each module named in \&\fI\f(CI@modules\fI\fR. It is only subclassed from Module::Starter::Simple here so we can change the \fIrtname\fR tmpl_var to be the distro name instead of the module name. .SS "create_perlcriticrc( )" .IX Subsection "create_perlcriticrc( )" This method creates a \f(CW\*(C`perlcriticrc\*(C'\fR in the distribution's author test directory so that the behavior of \f(CW\*(C`perl\-critic.t\*(C'\fR can be modified. .SS "create_server_pl( )" .IX Subsection "create_server_pl( )" This method creates \f(CW\*(C`server.pl\*(C'\fR in the distribution's root directory. .ie n .SS "create_t( @modules )" .el .SS "create_t( \f(CW@modules\fP )" .IX Subsection "create_t( @modules )" This method creates a bunch of *.t files. \fI\f(CI@modules\fI\fR is a list of all modules in the distribution. .SS "create_tmpl( )" .IX Subsection "create_tmpl( )" This method takes all the template files ending in .html (representing HTML::Template's and installs them into a directory under the distro tree. For instance if the distro was called \f(CW\*(C`Foo\-Bar\*(C'\fR, the templates would be installed in \f(CW\*(C`lib/Foo/Bar/templates\*(C'\fR. .PP Note the files will just be copied over not rendered. .ie n .SS "create_xt( @modules )" .el .SS "create_xt( \f(CW@modules\fP )" .IX Subsection "create_xt( @modules )" This method creates a bunch of *.t files for author tests. \fI\f(CI@modules\fI\fR is a list of all modules in the distribution. .ie n .SS "render( $template, \e%options )" .el .SS "render( \f(CW$template\fP, \e%options )" .IX Subsection "render( $template, %options )" This method is given an HTML::Template and options and returns the resulting document. .PP Data in the \f(CW\*(C`Module::Starter\*(C'\fR object which represents a reference to an array \&\f(CW@foo\fR is transformed into an array of hashes with one key called \&\f(CW$foo_item\fR in order to make it usable in an HTML::Template \f(CW\*(C`TMPL_LOOP\*(C'\fR. For example: .PP .Vb 1 \& $data = [\*(Aqa\*(Aq. \*(Aqb\*(Aq, \*(Aqc\*(Aq]; .Ve .PP would become: .PP .Vb 5 \& $data = [ \& { data_item => \*(Aqa\*(Aq }, \& { data_item => \*(Aqb\*(Aq }, \& { data_item => \*(Aqc\*(Aq }, \& ]; .Ve .PP so that in the template you could say: .PP .Vb 3 \& \& \& .Ve .SS "templates ( )" .IX Subsection "templates ( )" This method reads in the template files and populates the object's templates attribute. The module template directory is found by checking the \&\f(CW\*(C`MODULE_TEMPLATE_DIR\*(C'\fR environment variable and then the config option \&\f(CW\*(C`template_dir\*(C'\fR. .ie n .SS "Build_PL_guts($main_module, $main_pm_file)" .el .SS "Build_PL_guts($main_module, \f(CW$main_pm_file\fP)" .IX Subsection "Build_PL_guts($main_module, $main_pm_file)" This method is called by create_Build_PL and returns text used to populate Build.PL when the builder is Module::Build; \fI\f(CI$main_pm_file\fI\fR is the filename of the distribution's main module, \fI\f(CI$main_module\fI\fR. .SS "Changes_guts" .IX Subsection "Changes_guts" Implements the creation of a \f(CW\*(C`Changes\*(C'\fR file. .SS "LICENSE_guts" .IX Subsection "LICENSE_guts" Implements the creation of a \f(CW\*(C`LICENSE\*(C'\fR file. .ie n .SS "Makefile_PL_guts($main_module, $main_pm_file)" .el .SS "Makefile_PL_guts($main_module, \f(CW$main_pm_file\fP)" .IX Subsection "Makefile_PL_guts($main_module, $main_pm_file)" This method is called by create_Makefile_PL and returns text used to populate Makefile.PL when the builder is ExtUtils::MakeMaker; \&\fI\f(CI$main_pm_file\fI\fR is the filename of the distribution's main module, \&\fI\f(CI$main_module\fI\fR. .SS "MANIFEST_SKIP_guts" .IX Subsection "MANIFEST_SKIP_guts" Implements the creation of a \f(CW\*(C`MANIFEST.SKIP\*(C'\fR file. .ie n .SS "MI_Makefile_PL_guts($main_module, $main_pm_file)" .el .SS "MI_Makefile_PL_guts($main_module, \f(CW$main_pm_file\fP)" .IX Subsection "MI_Makefile_PL_guts($main_module, $main_pm_file)" This method is called by create_MI_Makefile_PL and returns text used to populate Makefile.PL when the builder is Module::Install; \&\fI\f(CI$main_pm_file\fI\fR is the filename of the distribution's main module, \&\fI\f(CI$main_module\fI\fR. .ie n .SS "module_guts($module, $rtname)" .el .SS "module_guts($module, \f(CW$rtname\fP)" .IX Subsection "module_guts($module, $rtname)" Implements the creation of a \f(CW\*(C`README\*(C'\fR file. .SS "README_guts($build_instructions)" .IX Subsection "README_guts($build_instructions)" Implements the creation of a \f(CW\*(C`README\*(C'\fR file. .SS "perlcriticrc_guts" .IX Subsection "perlcriticrc_guts" Implements the creation of a \f(CW\*(C`perlcriticrc\*(C'\fR file. .SS "server_pl_guts" .IX Subsection "server_pl_guts" Implements the creation of a \f(CW\*(C`server.pl\*(C'\fR file. .SS "t_guts(@modules)" .IX Subsection "t_guts(@modules)" Implements the creation of test files. \fI\f(CI@modules\fI\fR is a list of all the modules in the distribution. .SS "tmpl_guts" .IX Subsection "tmpl_guts" Implements the creation of template files. .SS "xt_guts(@modules)" .IX Subsection "xt_guts(@modules)" Implements the creation of test files for author tests. \fI\f(CI@modules\fI\fR is a list of all the modules in the distribution. .SH "BUGS" .IX Header "BUGS" Please report any bugs or feature requests to \&\f(CW\*(C`bug\-module\-starter\-plugin\-cgiapp at rt.cpan.org\*(C'\fR, or through the web interface at rt.cpan.org . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. .SH "AUTHOR" .IX Header "AUTHOR" Jaldhar H. Vyas, .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2012, Consolidated Braincells Inc. All Rights Reserved. .PP This distribution is free software; you can redistribute it and/or modify it under the terms of either: .PP a) the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or .PP b) the Artistic License version 1.0 or a later version. .PP The full text of the license can be found in the \s-1LICENSE\s0 file included with this distribution. .SH "SEE ALSO" .IX Header "SEE ALSO" cgiapp-starter, titanium-starter, Module::Starter, Module::Starter::Simple, Module::Starter::Plugin::Template. CGI::Application, Titanium, HTML::Template