#line 1 package Module::Install::ReadmeMarkdownFromPod; use 5.006; use strict; use warnings; our $VERSION = '0.03'; use base qw(Module::Install::Base); sub readme_markdown_from { my ($self, $file, $clean) = @_; return unless $Module::Install::AUTHOR; die "syntax: readme_markdown_from $file, [$clean]\n" unless $file; # require, not use because otherwise Makefile.PL will complain if # non-authors don't have Pod::Markdown, which would be bad. require Pod::Markdown; $self->admin->copy_package('Pod::Markdown', $INC{'Pod/Markdown.pm'}); my $parser = Pod::Markdown->new; $parser->parse_from_file($file); open my $fh, '>', 'README.mkdn' or die "$!\n"; print $fh $parser->as_markdown; close $fh or die "$!\n"; return 1 unless $clean; $self->postamble(<<"END"); distclean :: license_clean license_clean: \t\$(RM_F) README.mkdn END 1; } sub readme_markdown_from_pod { my ($self, $clean) = @_; return unless $Module::Install::AUTHOR; unless ($self->Meta->{values}{all_from}) { die "set 'all_from' or use 'readme_markdown_from'\n"; } $self->readme_markdown_from($self->Meta->{values}{all_from}, $clean); } sub readme_from_pod { my ($self, $clean) = @_; return unless $Module::Install::AUTHOR; unless ($self->Meta->{values}{all_from}) { die "set 'all_from' or use 'readme_from'\n"; } $self->readme_from($self->Meta->{values}{all_from}, $clean); } sub reference_module { my ($self, $file) = @_; die "syntax: reference_module $file\n" unless $file; $self->all_from($file); $self->readme_from($file); $self->readme_markdown_from($file); } 1; __END__ #line 188