Module::Install::ReadmeFromPod(3pm)

NAME
Module::Install::ReadmeFromPod - A Module::Install extension to automatically convert POD to a README

SYNOPSIS
  # In Makefile.PL

  use inc::Module::Install;
  author 'Vestan Pants';
  license 'perl';
  readme_from 'lib/Some/Module.pm';
  readme_from 'lib/Some/Module.pm', { clean => 1, format => 'htm', output_file => 'SomeModule.html' };

A "README" file will be generated from the POD of the indicated module file.

Note that the author will need to make sure "Module::Install::ReadmeFromPod" is installed before running the "Makefile.PL". (The extension will be bundled into the user-side distribution).

DESCRIPTION
Module::Install::ReadmeFromPod is a Module::Install extension that generates a "README" file automatically from an indicated file containing POD, whenever the author runs "Makefile.PL". Several output formats are supported: plain-text, HTML, PDF or manpage.

COMMANDS
This plugin adds the following Module::Install command:

"readme_from"
    Does nothing on the user-side. On the author-side it will generate a "README" file.

      readme_from 'lib/Some/Module.pm';

    If a second parameter is set to a true value then the "README" will be removed at "make distclean".

      readme_from 'lib/Some/Module.pm', 1;

    A third parameter can be used to determine the format of the "README" file.

      readme_from 'lib/Some/Module.pm', 1, 'htm';

    Valid formats for this third parameter are:

    txt, text
        Produce a plain-text "README" file using Pod::Text. The 'txt' format is the default.

    htm, html
        Produce an HTML "README.htm" file using Pod::Html.

    man Produce a "README.1" manpage using Pod::Man.

    md  Produce a "README.md" file using Pod::Markdown.

    pdf Produce a PDF "README.pdf" file with App::pod2pdf if this module is installed.

    A fourth parameter can be used to supply an output filename.

      readme_from 'lib/Some/Module.pm', 0, 'pdf', 'SomeModule.pdf';

    Finally, you can pass additional arguments to the POD formatter that handles the requested format.

      my @options = ( 'release' => 1.03, 'section' => 8 ); # options for Pod::Man
      readme_from 'lib/Some/Module.pm', 1, 'man', undef, @options;

    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.

      my @options = ( 'release' => 1.03, 'section' => 8 );
      readme_from 'lib/Some/Module.pm', {clean => 1, format => 'man', output_file => undef, options => @options};

    If you use the "all_from" command, "readme_from" will default to that value.

      all_from 'lib/Some/Module.pm';
      readme_from;              # Create README from lib/Some/Module.pm
      readme_from '','clean';   # Put a empty string before 'clean'

AUTHOR
Chris "BinGOs" Williams

LICENSE
Copyright © Chris Williams

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.

SEE ALSO
Module::Install

Pod::Text

Pod::Html

Pod::Man

Pod::Markdown

App::pod2pdf