.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" 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" '' . ds C` . ds C' '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. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" 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::Install::ReadmeFromPod 3pm" .TH Module::Install::ReadmeFromPod 3pm "2013-08-23" "perl v5.18.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::Install::ReadmeFromPod \- A Module::Install extension to automatically convert POD to a README .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& # In Makefile.PL \& \& use inc::Module::Install; \& author \*(AqVestan Pants\*(Aq; \& license \*(Aqperl\*(Aq; \& readme_from \*(Aqlib/Some/Module.pm\*(Aq; \& readme_from \*(Aqlib/Some/Module.pm\*(Aq, { clean => 1, format => \*(Aqhtm\*(Aq, output_file => \*(AqSomeModule.html\*(Aq }; .Ve .PP A \f(CW\*(C`README\*(C'\fR file will be generated from the \s-1POD\s0 of the indicated module file. .PP Note that the author will need to make sure \&\f(CW\*(C`Module::Install::ReadmeFromPod\*(C'\fR is installed before running the \f(CW\*(C`Makefile.PL\*(C'\fR. (The extension will be bundled into the user-side distribution). .SH "DESCRIPTION" .IX Header "DESCRIPTION" Module::Install::ReadmeFromPod is a Module::Install extension that generates a \f(CW\*(C`README\*(C'\fR file automatically from an indicated file containing \s-1POD,\s0 whenever the author runs \f(CW\*(C`Makefile.PL\*(C'\fR. Several output formats are supported: plain-text, \&\s-1HTML, PDF\s0 or manpage. .SH "COMMANDS" .IX Header "COMMANDS" This plugin adds the following Module::Install command: .ie n .IP """readme_from""" 4 .el .IP "\f(CWreadme_from\fR" 4 .IX Item "readme_from" Does nothing on the user-side. On the author-side it will generate a \f(CW\*(C`README\*(C'\fR file. .Sp .Vb 1 \& readme_from \*(Aqlib/Some/Module.pm\*(Aq; .Ve .Sp If a second parameter is set to a true value then the \f(CW\*(C`README\*(C'\fR will be removed at \f(CW\*(C`make distclean\*(C'\fR. .Sp .Vb 1 \& readme_from \*(Aqlib/Some/Module.pm\*(Aq, 1; .Ve .Sp A third parameter can be used to determine the format of the \f(CW\*(C`README\*(C'\fR file. .Sp .Vb 1 \& readme_from \*(Aqlib/Some/Module.pm\*(Aq, 1, \*(Aqhtm\*(Aq; .Ve .Sp Valid formats for this third parameter are: .RS 4 .IP "txt, text" 4 .IX Item "txt, text" Produce a plain-text \f(CW\*(C`README\*(C'\fR file using Pod::Text. The 'txt' format is the default. .IP "htm, html" 4 .IX Item "htm, html" Produce an \s-1HTML \s0\f(CW\*(C`README.htm\*(C'\fR file using Pod::Html. .IP "man" 4 .IX Item "man" Produce a \f(CW\*(C`README.1\*(C'\fR manpage using Pod::Man. .IP "pdf" 4 .IX Item "pdf" Produce a \s-1PDF \s0\f(CW\*(C`README.pdf\*(C'\fR file with App::pod2pdf if this module is installed. .RE .RS 4 .Sp A fourth parameter can be used to supply an output filename. .Sp .Vb 1 \& readme_from \*(Aqlib/Some/Module.pm\*(Aq, 0, \*(Aqpdf\*(Aq, \*(AqSomeModule.pdf\*(Aq; .Ve .Sp Finally, you can pass additional arguments to the \s-1POD\s0 formatter that handles the requested format. .Sp .Vb 2 \& my @options = ( \*(Aqrelease\*(Aq => 1.03, \*(Aqsection\*(Aq => 8 ); # options for Pod::Man \& readme_from \*(Aqlib/Some/Module.pm\*(Aq, 1, \*(Aqman\*(Aq, undef, @options; .Ve .Sp But instead of passing this long list of optional arguments to readme_from, you should probably pass these arguments as a named hashref for clarity. .Sp .Vb 2 \& my @options = ( \*(Aqrelease\*(Aq => 1.03, \*(Aqsection\*(Aq => 8 ); \& readme_from \*(Aqlib/Some/Module.pm\*(Aq, {clean => 1, format => \*(Aqman\*(Aq, output_file => undef, options => @options}; .Ve .Sp If you use the \f(CW\*(C`all_from\*(C'\fR command, \f(CW\*(C`readme_from\*(C'\fR will default to that value. .Sp .Vb 3 \& all_from \*(Aqlib/Some/Module.pm\*(Aq; \& readme_from; # Create README from lib/Some/Module.pm \& readme_from \*(Aq\*(Aq,\*(Aqclean\*(Aq; # Put a empty string before \*(Aqclean\*(Aq .Ve .RE .SH "AUTHOR" .IX Header "AUTHOR" Chris \f(CW\*(C`BinGOs\*(C'\fR Williams .SH "LICENSE" .IX Header "LICENSE" Copyright X Chris Williams .PP This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details. .SH "SEE ALSO" .IX Header "SEE ALSO" Module::Install .PP Pod::Text .PP Pod::Html .PP Pod::Man .PP App::pod2pdf