59 lines
970 B
Perl
59 lines
970 B
Perl
package HiD::Generator::Markdown;
|
|
#ABSTRACT: Markdown Processor for HiD
|
|
use Moose;
|
|
with 'HiD::Generator';
|
|
use File::Find;
|
|
use File::Basename;
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This generator searches for all markdown files within the HiD working
|
|
directory and generates html pages from them.
|
|
|
|
=cut
|
|
|
|
=attr markdown files
|
|
|
|
all found markdown files
|
|
|
|
=cut
|
|
has 'markdown_files' => (is=>'rw', defaults => sub{return [];});
|
|
|
|
|
|
sub generate {
|
|
my( $self , $site ) = @_;
|
|
my $follow = $site->config->{markdown}{follow_symlinks} || "false";
|
|
|
|
return unless $site->config->{markdown}{generate};
|
|
|
|
if ($follow=~/true/)
|
|
{
|
|
$follow=1;
|
|
}
|
|
else
|
|
{
|
|
$follow=0;
|
|
}
|
|
|
|
# find all markdown files
|
|
find(sub {
|
|
return unless substr($_,0,1) != "_";
|
|
|
|
my($filename, $dirs, $suffix) = fileparse($File::Find::name);
|
|
|
|
return unless $suffix=="md";
|
|
|
|
push(@{$self->markdown_files()},$File::Find::name);
|
|
|
|
},
|
|
[$site->config->{source}]
|
|
);
|
|
|
|
# generate pages
|
|
|
|
|
|
}
|
|
|
|
|
|
1;
|